summaryrefslogtreecommitdiff
path: root/tex/context/fonts/mkiv/pagella-math.lfg
blob: d1e77e9bf4cc3cfae268ccd92c9cd8c02ef50ef9 (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
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,
        },
        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.0 , all=true }, -- widedddot
                        -- [0x0030A] = { yoffset = -0.05 , all=true }, -- widering
                        [0x0030C] = { yoffset = -0.03 , all=true }, -- widecheck
                        [0x1D44E] = { 0,     1,    0,   0.9  }, -- a
                        [0x1D44F] = { 0,     1,    0,   1.3  }, -- b
                        [0x1D450] = { 0,     1,    0,   0.9  }, -- c
                        [0x1D451] = { 0,     1,    0,   0.7  }, -- d
                        [0x1D452] = { 0,     1,    0,   0.9  }, -- e
                        [0x1D453] = { 0.50,  1.70, 0.6       }, -- f
                        [0x1D454] = { 0.10,  1.15, 0.2       }, -- g
                        [0x0210E] = { 0,     1,    0,   1.3  }, -- h
                        [0x1D458] = { 0,     1,    0,   1.3  }, -- k
                        [0x1D459] = { 0,     1,    0,   0.9  }, -- l
                        [0x1D45E] = { 0,     1,    0,   0.9  }, -- q
                        [0x1D463] = { 0,     1,    0,   1.25 }, -- v
                        [0x1D464] = { 0,     1,    0,   1.2  }, -- w
                        [0x1D6FE] = { 0,     1,    0,   1.2  }, -- \gamma
                        [0x1D706] = { 0,     1,    0,   1.05 }, -- \lambda
                        [0x1D70A] = { 0,     1,    0,   1.2  }, -- \omicron
                        [0x1D70D] = { 0,     1,    0,   1.2  }, -- \varsigma
                        [0x1D70E] = { 0,     1,    0,   1.1  }, -- \sigma
                        [0x1D70F] = { -.10,  1,    0,   0.95 }, -- \tau
                        [0x1D712] = { 0.1,   1.2,  0.1       }, -- \chi
                        [0x1D713] = { -0.05, 0.95, 0.1       }, -- \psi
                        [0x1D71D] = { 0,     1,    0,   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,
    },
}