antykwa-math.lfg /size: 8993 b    last modification: 2024-01-16 09:03
1-- no longer ok for mkiv: digits are not antykwa
2
3local fraction = .25
4
5local badones = {
6    summationtext         = fraction,
7    producttext           = fraction,
8    integraltext          = fraction,
9    uniontext             = fraction,
10    intersectiontext      = fraction,
11    unionmultitext        = fraction,
12    logicalandtext        = fraction,
13    logicalortext         = fraction,
14    summationdisplay      = fraction,
15    productdisplay        = fraction,
16    integraldisplay       = fraction,
17    uniondisplay          = fraction,
18    intersectiondisplay   = fraction,
19    unionmultidisplay     = fraction,
20    logicalanddisplay     = fraction,
21    logicalordisplay      = fraction,
22    coproducttext         = fraction,
23    coproductdisplay      = fraction,
24
25    braceleftBig          = fraction,
26    braceleftBigg         = fraction,
27    braceleftbig          = fraction,
28    braceleftbigg         = fraction,
29    parenleftBig          = fraction,
30    parenleftBigg         = fraction,
31    parenleftbig          = fraction,
32    parenleftbigg         = fraction,
33    bracketleftBig        = fraction,
34    bracketleftBigg       = fraction,
35    bracketleftbig        = fraction,
36    bracketleftbigg       = fraction,
37    ceilingleftBig        = fraction,
38    ceilingleftBigg       = fraction,
39    ceilingleftbig        = fraction,
40    ceilingleftbigg       = fraction,
41    floorleftBig          = fraction,
42    floorleftBigg         = fraction,
43    floorleftbig          = fraction,
44    floorleftbigg         = fraction,
45    anglebracketleftBig   = fraction,
46    anglebracketleftBigg  = fraction,
47    anglebracketleftbig   = fraction,
48    anglebracketleftbigg  = fraction,
49
50    bracerightBig         = fraction,
51    bracerightBigg        = fraction,
52    bracerightbig         = fraction,
53    bracerightbigg        = fraction,
54    parenrightBig         = fraction,
55    parenrightBigg        = fraction,
56    parenrightbig         = fraction,
57    parenrightbigg        = fraction,
58    bracketrightBig       = fraction,
59    bracketrightBigg      = fraction,
60    bracketrightbig       = fraction,
61    bracketrightbigg      = fraction,
62    ceilingrightBig       = fraction,
63    ceilingrightBigg      = fraction,
64    ceilingrightbig       = fraction,
65    ceilingrightbigg      = fraction,
66    floorrightBig         = fraction,
67    floorrightBigg        = fraction,
68    floorrightbig         = fraction,
69    floorrightbigg        = fraction,
70    anglebracketrightBig  = fraction,
71    anglebracketrightBigg = fraction,
72    anglebracketrightbig  = fraction,
73    anglebracketrightbigg = fraction,
74
75    backslashBig          = fraction,
76    backslashBigg         = fraction,
77    backslashbig          = fraction,
78    backslashbigg         = fraction,
79}
80
81local uglyones = {
82    braceleft     = true,
83    braceright    = true,
84    vextendsingle = true,
85    vextenddouble = true,
86}
87
88local recipes = {
89    ["antykwa-math"] = {
90        { name = "file:LatinModern-Math", features = "virtualmath-antykwa", main = true, parameters = false },
91        --
92        { name = "rm-anttr.tfm",  vector = "tex-mr", skewchar=0x7F },
93        { name = "mi-anttri.tfm", vector = "tex-mi", skewchar=0x7F },
94        { name = "mi-anttri.tfm", vector = "tex-it", skewchar=0x7F },
95        { name = "mi-anttbi.tfm", vector = "tex-bi", skewchar=0x7F },
96        { name = "rm-anttb.tfm",  vector = "tex-bf", skewchar=0x7F },
97        { name = "sy-anttrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true
98        { name = "sy-anttrz.tfm", vector = "extensible-jmn-private", skewchar=0x30 },
99        { name = "file:AntykwaTorunska-Regular", vector = "tex-ex-braces", backmap = false },
100        { name = "ex-anttr.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
101    },
102    ["antykwa-light-math"] = {
103        { name = "file:LatinModern-Math", features = "virtualmath-antykwa-light", main = true, parameters = false },
104        --
105        { name = "rm-anttl.tfm",  vector = "tex-mr", skewchar=0x7F },
106        { name = "mi-anttli.tfm", vector = "tex-mi", skewchar=0x7F },
107        { name = "mi-anttli.tfm", vector = "tex-it", skewchar=0x7F },
108        { name = "mi-anttri.tfm", vector = "tex-bi", skewchar=0x7F },
109        { name = "rm-anttr.tfm",  vector = "tex-bf", skewchar=0x7F },
110        { name = "sy-anttlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true
111        { name = "sy-anttlz.tfm", vector = "extensible-jmn-private", skewchar=0x30 },
112        { name = "file:AntykwaTorunskaLight-Regular", vector = "tex-ex-braces", backmap = false },
113        { name = "ex-anttl.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
114    },
115    ["antykwa-cond-math"] = {
116        { name = "file:LatinModern-Math", features = "virtualmath-antykwa-cond", main = true, parameters = false },
117        --
118        { name = "rm-anttcr.tfm",  vector = "tex-mr", skewchar=0x7F },
119        { name = "mi-anttcri.tfm", vector = "tex-mi", skewchar=0x7F },
120        { name = "mi-anttcri.tfm", vector = "tex-it", skewchar=0x7F },
121        { name = "mi-anttcbi.tfm", vector = "tex-bi", skewchar=0x7F },
122        { name = "rm-anttcb.tfm",  vector = "tex-bf", skewchar=0x7F },
123        { name = "sy-anttcrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true
124        { name = "sy-anttcrz.tfm", vector = "extensible-jmn-private", skewchar=0x30 },
125        { name = "file:AntykwaTorunskaCond-Regular", vector = "tex-ex-braces", backmap = false },
126        { name = "ex-anttcr.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
127    },
128    ["antykwa-light-cond-math"] = {
129        { name = "file:LatinModern-Math", features = "virtualmath-antykwa-lightcond", main = true, parameters = false },
130        --
131        { name = "rm-anttcl.tfm",  vector = "tex-mr", skewchar=0x7F },
132        { name = "mi-anttcli.tfm", vector = "tex-mi", skewchar=0x7F },
133        { name = "mi-anttcli.tfm", vector = "tex-it", skewchar=0x7F },
134        { name = "mi-anttcri.tfm", vector = "tex-bi", skewchar=0x7F },
135        { name = "rm-anttcr.tfm",  vector = "tex-bf", skewchar=0x7F },
136        { name = "sy-anttclz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true
137        { name = "sy-anttclz.tfm", vector = "extensible-jmn-private", skewchar=0x30 },
138        { name = "file:AntykwaTorunskaCondLight-Regular", vector = "tex-ex-braces", backmap = false },
139        { name = "ex-anttcl.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
140    },
141}
142
143local tweaks = nil
144local common = fonts.goodies.load("common-math-jmn.lfg")
145
146if common then
147
148    tweaks = {
149        {
150            tweak  = "addmissing",
151            action = common.mathematics.helpers.addmissing,
152        },
153        {
154            tweak = "setoptions",
155            set   = { "ignorekerndimensions" }
156        }, -- we have dp > ht fences
157        {
158            tweak  = "fixprimes",
159            factor = 1.0, -- accent base height
160            fake   = 0.9, -- replace multiples with this width proportion
161        },
162        {
163            tweak = "addequals",
164            force = true,
165        },
166        {
167            tweak = "addfourier",
168        },
169        {
170            tweak = "keepbases",
171--             list  = { 0x302 }
172            list  = "default"
173        },
174    }
175
176    common.mathematics.helpers.copyrecipes(recipes)
177
178end
179
180return {
181    name = "antykwa-math",
182    version = "1.00",
183    comment = "Goodies that complement antykwa math.",
184    author = "Hans, Mojca, Aditya, Mikael",
185    copyright = "ConTeXt development team",
186    mathematics = {
187parameters = {
188    RadicalKernAfterExtensible = 100,
189    RadicalKernBeforeExtensible = 100,
190},
191        mapfiles = {
192            "antt-rm.map",
193            "antt-mi.map",
194            "antt-sy.map",
195            "antt-ex.map",
196         -- "mkiv-base.map",
197        },
198        variables = {
199            notshiftfactor = 0.075,
200        },
201        virtuals = {
202            ["antykwa-math"]               = { recipe = recipes["antykwa-math"],            tweaks = tweaks },
203            ["antykwa-light-math"]         = { recipe = recipes["antykwa-light-math"],      tweaks = tweaks },
204            ["antykwa-cond-math"]          = { recipe = recipes["antykwa-cond-math"],       tweaks = tweaks },
205            ["antykwa-light-cond-math"]    = { recipe = recipes["antykwa-light-cond-math"], tweaks = tweaks },
206
207            ["antykwa-math-nt"]            = common and { recipe = recipes["antykwa-math-nt"]            } or nil,
208            ["antykwa-light-math-nt"]      = common and { recipe = recipes["antykwa-light-math-nt"]      } or nil,
209            ["antykwa-cond-math-nt"]       = common and { recipe = recipes["antykwa-cond-math-nt"]       } or nil,
210            ["antykwa-light-cond-math-nt"] = common and { recipe = recipes["antykwa-light-cond-math-nt"] } or nil,
211        },
212    }
213}
214