kurier-math.lfg /size: 5756 b    last modification: 2025-02-21 11:03
1local common  = fonts.goodies.load("common-math-jmn.lfg")
2local helpers = common.mathematics.helpers
3
4local badones = {
5    summationtext       = .25,
6    producttext         = .25,
7    integraltext        = .25,
8    uniontext           = .25,
9    intersectiontext    = .25,
10    unionmultitext      = .25,
11    logicalandtext      = .25,
12    logicalortext       = .25,
13    summationdisplay    = .25,
14    productdisplay      = .25,
15    integraldisplay     = .25,
16    uniondisplay        = .25,
17    intersectiondisplay = .25,
18    unionmultidisplay   = .25,
19    logicalanddisplay   = .25,
20    logicalordisplay    = .25,
21    coproducttext       = .25,
22    coproductdisplay    = .25,
23}
24
25local uglyones = {
26 -- braceleft     = true,
27 -- braceright    = true,
28    vextendsingle = true,
29    vextenddouble = true,
30}
31
32local recipes = {
33    ["kurier-math"] = {
34        { name = "file:LatinModern-Math", features = "virtualmath-kurier", main = true, parameters = false },
35        --
36        { name = "rm-kurierr.tfm",  vector = "tex-mr", skewchar=0x7F },
37        { name = "mi-kurierri.tfm", vector = "tex-mi", skewchar=0x7F },
38        { name = "mi-kurierri.tfm", vector = "tex-it", skewchar=0x7F },
39        { name = "mi-kuriermi.tfm", vector = "tex-bi", skewchar=0x7F },
40        { name = "rm-kurierm.tfm",  vector = "tex-bf", skewchar=0x7F },
41        { name = "sy-kurierrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
42        { name = "ex-kurierr.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
43    },
44    ["kurier-light-math"] = {
45        { name = "file:LatinModern-Math", features = "virtualmath-kurier-light", main = true, parameters = false },
46        --
47        { name = "rm-kurierl.tfm",  vector = "tex-mr", skewchar=0x7F },
48        { name = "mi-kurierli.tfm", vector = "tex-mi", skewchar=0x7F },
49        { name = "mi-kurierli.tfm", vector = "tex-it", skewchar=0x7F },
50        { name = "mi-kurierri.tfm", vector = "tex-bi", skewchar=0x7F },
51        { name = "rm-kurierr.tfm",  vector = "tex-bf", skewchar=0x7F },
52        { name = "sy-kurierlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
53        { name = "ex-kurierl.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
54    },
55    ["kurier-medium-math"] = {
56        { name = "file:LatinModern-Math", features = "virtualmath-kurier-medium", main = true, parameters = false },
57        --
58        { name = "rm-kurierm.tfm",  vector = "tex-mr", skewchar=0x7F },
59        { name = "mi-kuriermi.tfm", vector = "tex-mi", skewchar=0x7F },
60        { name = "mi-kuriermi.tfm", vector = "tex-it", skewchar=0x7F },
61        { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F },
62        { name = "rm-kurierh.tfm",  vector = "tex-bf", skewchar=0x7F },
63        { name = "sy-kuriermz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
64        { name = "ex-kurierm.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
65    },
66    ["kurier-heavy-math"] = {
67        { name = "file:LatinModern-Math", features = "virtualmath-kurier-heavy", main = true, parameters = false },
68        --
69        { name = "rm-kurierh.tfm",  vector = "tex-mr", skewchar=0x7F },
70        { name = "mi-kurierhi.tfm", vector = "tex-mi", skewchar=0x7F },
71        { name = "mi-kurierhi.tfm", vector = "tex-it", skewchar=0x7F },
72        { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F },
73        { name = "rm-kurierh.tfm",  vector = "tex-bf", skewchar=0x7F },
74        { name = "sy-kurierhz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
75        { name = "ex-kurierh.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
76    }
77}
78
79local tweaks = nil
80local common = fonts.goodies.load("common-math-jmn.lfg")
81
82if common then
83
84    tweaks = {
85        {
86            tweak  = "addmissing",
87            action = common.mathematics.helpers.addmissing,
88        },
89        {
90            tweak = "setoptions",
91            set   = { "ignorekerndimensions" }
92        }, -- we have dp > ht fences
93        {
94            tweak = "wipecues",
95        },
96        {
97            tweak  = "fixprimes",
98            factor = 1.0, -- accent base height
99            fake   = 0.9, -- replace multiples with this width proportion
100        },
101        {
102            tweak = "addfourier",
103        },
104        {
105            tweak = "addequals",
106            force = true,
107        },
108    }
109
110    common.mathematics.helpers.copyrecipes(recipes)
111
112end
113
114return {
115    name = "kurier-math",
116    version = "1.00",
117    comment = "Goodies that complement kurier math.",
118    author = "Hans Hagen",
119    copyright = "ConTeXt development team",
120    mathematics = {
121        mapfiles = {
122            "kurier-rm.map",
123            "kurier-mi.map",
124            "kurier-sy.map",
125            "kurier-ex.map",
126         -- "mkiv-base.map",
127        },
128        virtuals = {
129            ["kurier-math"]           = { recipe = recipes["kurier-math"],        tweaks = tweaks },
130            ["kurier-light-math"]     = { recipe = recipes["kurier-light-math"],  tweaks = tweaks },
131            ["kurier-medium-math"]    = { recipe = recipes["kurier-medium-math"], tweaks = tweaks },
132            ["kurier-heavy-math"]     = { recipe = recipes["kurier-heavy-math"],  tweaks = tweaks },
133
134            ["kurier-math-nt"]        = { recipe = common and recipes["kurier-math-nt"]        or nil },
135            ["kurier-light-math-nt"]  = { recipe = common and recipes["kurier-light-math-nt"]  or nil },
136            ["kurier-medium-math-nt"] = { recipe = common and recipes["kurier-medium-math-nt"] or nil },
137            ["kurier-heavy-math-nt"]  = { recipe = common and recipes["kurier-heavy-math-nt"]  or nil },
138        },
139    },
140}
141