summaryrefslogtreecommitdiff
path: root/tex/context/fonts/mkiv/kurier-math.lfg
blob: 96154194ab3d534aa3a22f4f6052d8205806f77e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
local common  = fonts.goodies.load("common-math-jmn.lfg")
local helpers = common.mathematics.helpers

local badones = {
    summationtext       = .25,
    producttext         = .25,
    integraltext        = .25,
    uniontext           = .25,
    intersectiontext    = .25,
    unionmultitext      = .25,
    logicalandtext      = .25,
    logicalortext       = .25,
    summationdisplay    = .25,
    productdisplay      = .25,
    integraldisplay     = .25,
    uniondisplay        = .25,
    intersectiondisplay = .25,
    unionmultidisplay   = .25,
    logicalanddisplay   = .25,
    logicalordisplay    = .25,
    coproducttext       = .25,
    coproductdisplay    = .25,
}

local uglyones = {
 -- braceleft     = true,
 -- braceright    = true,
    vextendsingle = true,
    vextenddouble = true,
}

local recipes = {
    ["kurier-math"] = {
        { name = "file:LatinModern-Math", features = "virtualmath-kurier", main = true, parameters = false },
        --
        { name = "rm-kurierr.tfm",  vector = "tex-mr", skewchar=0x7F },
        { name = "mi-kurierri.tfm", vector = "tex-mi", skewchar=0x7F },
        { name = "mi-kurierri.tfm", vector = "tex-it", skewchar=0x7F },
        { name = "mi-kuriermi.tfm", vector = "tex-bi", skewchar=0x7F },
        { name = "rm-kurierm.tfm",  vector = "tex-bf", skewchar=0x7F },
        { name = "sy-kurierrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
        { name = "ex-kurierr.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
    },
    ["kurier-light-math"] = {
        { name = "file:LatinModern-Math", features = "virtualmath-kurier-light", main = true, parameters = false },
        --
        { name = "rm-kurierl.tfm",  vector = "tex-mr", skewchar=0x7F },
        { name = "mi-kurierli.tfm", vector = "tex-mi", skewchar=0x7F },
        { name = "mi-kurierli.tfm", vector = "tex-it", skewchar=0x7F },
        { name = "mi-kurierri.tfm", vector = "tex-bi", skewchar=0x7F },
        { name = "rm-kurierr.tfm",  vector = "tex-bf", skewchar=0x7F },
        { name = "sy-kurierlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
        { name = "ex-kurierl.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
    },
    ["kurier-medium-math"] = {
        { name = "file:LatinModern-Math", features = "virtualmath-kurier-medium", main = true, parameters = false },
        --
        { name = "rm-kurierm.tfm",  vector = "tex-mr", skewchar=0x7F },
        { name = "mi-kuriermi.tfm", vector = "tex-mi", skewchar=0x7F },
        { name = "mi-kuriermi.tfm", vector = "tex-it", skewchar=0x7F },
        { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F },
        { name = "rm-kurierh.tfm",  vector = "tex-bf", skewchar=0x7F },
        { name = "sy-kuriermz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
        { name = "ex-kurierm.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
    },
    ["kurier-heavy-math"] = {
        { name = "file:LatinModern-Math", features = "virtualmath-kurier-heavy", main = true, parameters = false },
        --
        { name = "rm-kurierh.tfm",  vector = "tex-mr", skewchar=0x7F },
        { name = "mi-kurierhi.tfm", vector = "tex-mi", skewchar=0x7F },
        { name = "mi-kurierhi.tfm", vector = "tex-it", skewchar=0x7F },
        { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F },
        { name = "rm-kurierh.tfm",  vector = "tex-bf", skewchar=0x7F },
        { name = "sy-kurierhz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true },
        { name = "ex-kurierh.tfm",  vector = "tex-ex", extension = true, badones = badones, ignore = uglyones },
    }
}

local tweaks = nil
local common = fonts.goodies.load("common-math-jmn.lfg")

if common then

    tweaks = {
        {
            tweak  = "addmissing",
            action = common.mathematics.helpers.addmissing,
        },
        {
            tweak = "setoptions",
            set   = { "ignorekerndimensions" }
        }, -- we have dp > ht fences
        {
            tweak  = "fixprimes",
            factor = 1.0, -- accent base height
            fake   = 0.9, -- replace multiples with this width proportion
        },
        {
            tweak = "addfourier",
        },
        {
            tweak = "addequals",
            force = true,
        },
    }

    common.mathematics.helpers.copyrecipes(recipes)

end

return {
    name = "kurier-math",
    version = "1.00",
    comment = "Goodies that complement kurier math.",
    author = "Hans Hagen",
    copyright = "ConTeXt development team",
    mathematics = {
        mapfiles = {
            "kurier-rm.map",
            "kurier-mi.map",
            "kurier-sy.map",
            "kurier-ex.map",
         -- "mkiv-base.map",
        },
        virtuals = {
            ["kurier-math"]           = { recipe = recipes["kurier-math"],        tweaks = tweaks },
            ["kurier-light-math"]     = { recipe = recipes["kurier-light-math"],  tweaks = tweaks },
            ["kurier-medium-math"]    = { recipe = recipes["kurier-medium-math"], tweaks = tweaks },
            ["kurier-heavy-math"]     = { recipe = recipes["kurier-heavy-math"],  tweaks = tweaks },

            ["kurier-math-nt"]        = { recipe = common and recipes["kurier-math-nt"]        or nil },
            ["kurier-light-math-nt"]  = { recipe = common and recipes["kurier-light-math-nt"]  or nil },
            ["kurier-medium-math-nt"] = { recipe = common and recipes["kurier-medium-math-nt"] or nil },
            ["kurier-heavy-math-nt"]  = { recipe = common and recipes["kurier-heavy-math-nt"]  or nil },
        },
    },
}