summaryrefslogtreecommitdiff
path: root/tex/context/fonts/mkiv/pagella-math.lfg
blob: 4ace3e65075b5c02142e093bc3c7cf429ac2fb9f (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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
local dimensions, kerns  if CONTEXTLMTXMODE == 0 then

    local kern_V   = { bottomright = { { kern = -200 } } }
    local kern_W   = { bottomright = { { kern = -100 } } }

    dimensions = {
        default = {
         -- [0x1D453]     = { xoffset = 162, width = 278 + 162 },-- 𝑓
         -- [0x1D453]     = offset_f, -- 𝑓
         -- ["1:0x1D453"] = offset_f, -- needed for compact
         -- ["2:0x1D453"] = offset_f, -- needed for compact
--                 ["*:0x1D453"] = offset_f, -- 𝑓
        },
    }

    kerns = {
     -- [0x1D449]     = kern_V, -- 𝑉
     -- ["1:0x1D449"] = kern_V, -- needed for compact
     -- ["2:0x1D449"] = kern_V, -- needed for compact
     -- [0x1D44A]     = kern_W, -- 𝑊
     -- ["1:0x1D44A"] = kern_W, -- needed for compact
     -- ["2:0x1D44A"] = kern_W, -- needed for compact
     -- ["*:0x1D453"] = kern_f,
        ["*:0x1D449"] = kern_V, -- 𝑉
        ["*:0x1D44A"] = kern_W, -- 𝑊
    }

end

return {
    name = "pagella-math",
    version = "1.00",
    comment = "Goodies that complement pagella.",
    author = "Hans Hagen & Mikael Sundqvist",
    copyright = "ConTeXt development team",
    mathematics = {
        parameters = {
            NoLimitSupFactor                =    0,
            NoLimitSubFactor                =  900,
            AccentTopShiftUp                =   30,
         -- AccentBaseHeight                =    0,
            AccentBaseDepth                 =   80,
            RadicalDegreeBottomRaisePercent =   60,
            RadicalKernAfterDegree          = -500,
            RadicalRuleThickness            =   54, -- 60 in font
            DelimiterPercent                =   90,
            DelimiterShortfall              =  400,
            DisplayOperatorMinHeight        = 1800, -- 1500 in font
        },
        tweaks = {
            aftercopying = {
                {
                    tweak    = "version",
                    expected = "Version 1.632",
                },
             -- {
             --     comment = "example"
             --     tweak   = "action",
             --     action  = function(target,original,parameters) mathematics.tweaks.fixdimensions(target, original, parameters)
             --     list    = fixes, -- one of the parameters
             -- },
             -- {
             --     comment = "example"
             --     tweak   = "action",
             --     action  = mathematics.tweaks.fixdimensions,
             --     list    = fixes, -- one of the parameters
             -- },
                {
                    tweak = "dimensions",
                    list  = {      -- offset width italic
                     -- [0x002C6] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat
                     -- [0x00302] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat
                     -- [0x002C6] = { scale=.75, yoffset = .2, advance = .75, width = .75, height = .90 }, -- hat
                     -- [0x00302] = { scale=.75, yoffset = .2, advance = .75, width = .75, height = .90 }, -- hat

                        [0x00060] = { yoffset = -0.035 }, -- grave
                        [0x000B4] = { yoffset = -0.035 }, -- acute
                        [0x002C6] = { yoffset = -0.035 }, -- hat
                        [0x002DC] = { yoffset = -0.035 }, -- tilde
                        [0x000AF] = { yoffset = -0.05  }, -- bar
                        [0x002D8] = { yoffset = -0.035 }, -- breve
                        [0x002D9] = { yoffset = -0.035 }, -- dot
                        [0x000A8] = { yoffset = -0.05  }, -- ddot
                        [0x020DB] = { yoffset = -0.06  }, -- dddot
                     -- [0x002DA] = { yoffset = -0.05  }, -- ring
                     -- [0x002C7] = { yoffset = -0.05  }, -- check
                        [0x020D7] = { yoffset = -0.05  }, -- vec

                     -- [0x00300] = { yoffset = -0.07, all=true }, -- widegrave
                     -- [0x00301] = { yoffset = -0.07, all=true }, -- wideacute
                        [0x00302] = { yoffset = -0.02, all=true }, -- widehat
                        [0x00303] = { yoffset = -0.02, all=true }, -- widetilde
                        [0x00304] = { yoffset = -0.05, all=true }, -- widebar
                        [0x00306] = { yoffset = -0.03, all=true }, -- widebreve
                        [0x00307] = { yoffset = -0.03, all=true }, -- widedot
                        [0x00308] = { yoffset = -0.03, all=true }, -- wideddot
                     -- [0x020DB] = { yoffset =  0,    all=true }, -- widedddot
                     -- [0x0030A] = { yoffset = -0.05, all=true }, -- widering
                        [0x0030C] = { yoffset = -0.03, all=true }, -- widecheck

                        [0x1D44E] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 0.9  }, -- a
                        [0x1D44F] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.3  }, -- b
                        [0x1D450] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 0.9  }, -- c
                        [0x1D451] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 0.7  }, -- d
                        [0x1D452] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 0.9  }, -- e
                        [0x1D453] = { xoffset = 0.50,  width = 1.70, italic = 0.6                }, -- f
                        [0x1D454] = { xoffset = 0.10,  width = 1.15, italic = 0.2                }, -- g
                        [0x0210E] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.3  }, -- h
                        [0x1D458] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.3  }, -- k
                        [0x1D459] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 0.9  }, -- l
                        [0x1D45E] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 0.9  }, -- q
                        [0x1D463] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.25 }, -- v
                        [0x1D464] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.2  }, -- w
                        [0x1D6FE] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.2  }, -- \gamma
                        [0x1D706] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.05 }, -- \lambda
                        [0x1D70A] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.2  }, -- \omicron
                        [0x1D70D] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.2  }, -- \varsigma
                        [0x1D70E] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 1.1  }, -- \sigma
                        [0x1D70F] = { xoffset = -.10,  width = 1,    italic = 0,   anchor = 0.95 }, -- \tau
                        [0x1D712] = { xoffset = 0.1,   width = 1.2,  italic = 0.1                }, -- \chi
                        [0x1D713] = { xoffset = -0.05, width = 0.95, italic = 0.1                }, -- \psi
                        [0x1D71D] = { xoffset = 0,     width = 1,    italic = 0,   anchor = 0.7  }, -- \varpi
                    },
                },
                {
                    tweak = "kerns",
                    list  = {
                    -- ["*:0x2F"] = {
                        [0x2F] = {
                            topleft     = -0.2,
                         -- bottomleft  =  0,
                         -- topright    =  0,
                            bottomright = -0.2,
                       },
                    },
                },
                {
                    tweak   = "fixprimes",
                    factor  = 0.9,
                 -- smaller = true,
                    scale   = 0.9,
                 -- fake    = 0.65,
                },
                {
                    tweak = "checkspacing",
                },
                {
                    tweak = "addscripts",
                },
                {
                    tweak = "accentdimensions",
                },
                {
                    tweak = "addrules",
                },
            },
        },
        bigslots = {
            1, 3, 5, 7
        },
        alternates = {
            dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" },
        },
        --
        -- experimental fixes for mkiv:
        --
        dimensions = dimensions,
        kerns = kerns,
    },
}