euler-math.lfg /size: 6086 b    last modification: 2025-02-21 11: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                {
82                    tweak = "addcomposites",
83                },
84                presets.scripttocalligraphic { },
85                presets.rsfstoscript         { },
86                presets.rsfsuprighttoscript  { },
87                presets.moderntocalligraphic { },
88                presets.eulertocalligraphic  { },
89                presets.xitsarabic           { rscale  = 1 },
90                presets.fallbacks            { },
91                presets.moveitalics          { correct = true },
92                presets.moveitalics          { correct = true, letters = true },
93                presets.moveintegrals        { },
94                presets.wipeitalics          { },
95                {
96                    tweak   = "fixoldschool",
97                },
98        -- add the accent fixes
99        -- fixslashes?
100                {
101                    tweak = "flattenaccents",
102                },
103                {
104                    tweak = "checkspacing",
105                },
106                {
107                    tweak = "addscripts",
108                },
109                {
110                    tweak = "addprivates",
111                },
112                {
113                    tweak = "accentdimensions",
114                },
115                {
116                    tweak = "addrules",
117                },
118                {
119                    tweak = "addarrows",
120                },
121                {
122                    tweak   = "addbars",
123                    advance = 0.2,
124                },
125                {
126                    tweak = "addactuarian",
127                },
128                {
129                    tweak = "addequals",
130                },
131                {
132                    tweak   = "addfourier",
133                    variant = 1,
134                },
135                -- this is the mkiv section
136                {
137                    tweak   = "emulatelmtx",
138                    feature = "emulatelmtx",
139                    comment = "this is for mkiv",
140                },
141            },
142        },
143        bigslots = {
144            1, 3, 5, 7
145        },
146        alternates = {
147            dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" },
148        },
149    },
150}
151