euler-math.lfg /size: 6004 b    last modification: 2024-01-16 09:03
1local common  = fonts.goodies.load("common-math.lfg")
2local presets = common.mathematics.tweaks.presets
3
4return {
5    name = "euler-math",
6    version = "1.00",
7    comment = "Goodies that complement euler math.",
8    author = "Hans Hagen",
9    copyright = "ConTeXt development team",
10    mathematics = {
11        parameters = {
12            -- DelimiterPercent                 =  90,
13            -- DelimiterShortfall               =  500,
14            -- taken from pagella:
15            NoLimitSupFactor                =    0,
16            NoLimitSubFactor                =  900,
17            AccentTopShiftUp                =   10,
18            FlattenedAccentTopShiftUp       =   10,
19         -- AccentExtendMargin              =   50,
20         -- AccentBaseHeight                =    0,
21            AccentBaseDepth                 =   80,
22         -- SpaceAfterScript                =   0,
23         -- SpaceAfterScript                =   30,
24            RadicalDegreeBottomRaisePercent =   60,
25            RadicalKernAfterDegree          = -500,
26            RadicalRuleThickness            =   60, --   60 in font
27            DelimiterPercent                =   85,
28            DelimiterShortfall              =  400,
29            DelimiterDisplayPercent         =   90,
30            DelimiterDisplayShortfall       =  400,
31            DisplayOperatorMinHeight        = 1800, -- 1500 in font
32            PrimeRaisePercent               =   75, --   50 default
33            PrimeRaiseComposedPercent       =   10, --   25 default
34         -- RadicalKernAfterExtensible      =    0, --    0 default
35         -- RadicalKernBeforeExtensible     =    0, --    0 default
36            RadicalDisplayStyleVerticalGap  = "RadicalVerticalGap", --148, 50
37        },
38        tweaks = {
39            aftercopying = {
40                {
41                    tweak    = "version",
42                    expected = "Version 000.002 ",
43                },
44                {
45                    tweak   = "fixprimes",
46                    factor  =  1.2,
47                    smaller = true,
48                    scale   = 0.80,
49                    fake    = 0.80,
50                },
51                {
52                    tweak    = "replacealphabets",
53                    feature  = "pagellaovereuler",
54                    filename = "texgyrepagella-math.otf",
55                    list    = {
56                     -- { source = { first = 0x02100, last = 0x0210D } }, -- no 0x2210E
57                     -- { source = { first = 0x0210F, last = 0x02BFF } },
58                     -- { source = { first = 0x02100, last = 0x02BFF } },
59                     -- { source = { first = 0x1D400, last = 0x1D7FF } },
60                     -- { source = { first = 0x1D538, last = 0x1D550 } },
61
62                     -- { source = { first = 0x0007B, last = 0x0007D } }, -- { }
63                     -- { source = { first = 0x0005B, last = 0x0005D } }, -- [ ]
64                     -- { source = { first = 0x00028, last = 0x00029 } }, -- ( )
65                     -- { source = { first = 0x02100, last = 0x02BFF } }, -- symbols -- has snippets of {} () []
66                        --
67                        -- or (probably even more)
68                        --
69                        -- Maybe not needed, Daniel have added some symbols and alphabets. If you need more
70                        -- (read: miss shapes) let us know.
71                        --
72                     -- { source = { first = 0x02100, last = 0x0239A } }, -- symbols -- has snippets of {} () []
73                     -- { source = { first = 0x023B5, last = 0x02BFF } }, -- symbols -- has snippets of {} () []
74                     --
75                     -- { source = { first = 0x1D400, last = 0x1D7FF } }, -- various alphabets
76                    },
77                },
78                {
79                    tweak = "addmirrors",
80                },
81                presets.scripttocalligraphic { },
82                presets.rsfstoscript         { },
83                presets.rsfsuprighttoscript  { },
84                presets.moderntocalligraphic { },
85                presets.eulertocalligraphic  { },
86                presets.xitsarabic           { rscale  = 1 },
87                presets.fallbacks            { },
88                presets.moveitalics          { correct = true },
89                presets.moveitalics          { correct = true, letters = true },
90                presets.moveintegrals        { },
91                presets.wipeitalics          { },
92                {
93                    tweak   = "fixoldschool",
94                },
95        -- add the accent fixes
96        -- fixslashes?
97                {
98                    tweak = "flattenaccents",
99                },
100                {
101                    tweak = "checkspacing",
102                },
103                {
104                    tweak = "addscripts",
105                },
106                {
107                    tweak = "addprivates",
108                },
109                {
110                    tweak = "accentdimensions",
111                },
112                {
113                    tweak = "addrules",
114                },
115                {
116                    tweak = "addarrows",
117                },
118                {
119                    tweak   = "addbars",
120                    advance = 0.2,
121                },
122                {
123                    tweak = "addactuarian",
124                },
125                {
126                    tweak = "addequals",
127                },
128                {
129                    tweak   = "addfourier",
130                    variant = 1,
131                },
132                -- this is the mkiv section
133                {
134                    tweak   = "emulatelmtx",
135                    feature = "emulatelmtx",
136                    comment = "this is for mkiv",
137                },
138            },
139        },
140        bigslots = {
141            1, 3, 5, 7
142        },
143        alternates = {
144            dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" },
145        },
146    },
147}
148