summaryrefslogtreecommitdiff
path: root/tex/context/fonts/mkiv/asana-math.lfg
blob: 379dd014f93fa2b21208e4fdf3efd90f42eda4c5 (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
-- This patch code is moved from font-pat.lua to this goodies
-- files as it does not belong in the core code.
--
-- local patches = fonts.handlers.otf.enhancers.patches
--
-- local function patch(data,filename,threshold)
--     local m = data.metadata.math
--     if m then
--         local d = m.DisplayOperatorMinHeight or 0
--         if d < threshold then
--             patches.report("DisplayOperatorMinHeight(%s -> %s)",d,threshold)
--             m.DisplayOperatorMinHeight = threshold
--         end
--     end
-- end
--
-- patches.register("after","analyze math","asana",function(data,filename) patch(data,filename,1350) end)
--
-- local function less(value,target,original)
--     -- officially we should check the original
--     return 0.25 * value
-- end

-- Just don't use this font. It's not good enough for production unless we patch it
-- a lot, which we will not do unless we need it.

-- When set this will bypass the italic correction hackery!

-- local integral_variants = {  bottomright = -0.20 }
-- local integral_top      = {  topright    =  0.05 }
-- local integral_bottom   = {  bottomright = -0.25 }

local common  = fonts.goodies.load("common-math.lfg")
local presets = common.mathematics.tweaks.presets

return {
    name = "asana-math",
    version = "1.00",
    comment = "Goodies that complement asana.",
    author = "Hans Hagen & Mikael Sundqvist",
    copyright = "ConTeXt development team",
    mathematics = {
        parameters = {
         -- StackBottomDisplayStyleShiftDown = less,
         -- StackBottomShiftDown             = less,
         -- StackDisplayStyleGapMin          = less,
         -- StackGapMin                      = less,
         -- StackTopDisplayStyleShiftUp      = less,
         -- StackTopShiftUp                  = less,
         -- StretchStackBottomShiftDown      = less,
         -- StretchStackGapAboveMin          = less,
         -- StretchStackGapBelowMin          = less,
         -- StretchStackTopShiftUp           = less,
            NoLimitSupFactor                 =  200,
            NoLimitSubFactor                 = 1200,
            AccentBaseDepth                  =  300,
            RadicalDegreeBottomRaisePercent  =   70,
            RadicalRuleThickness             =   66, -- 59 in font
            DelimiterPercent                 =   90,
            DelimiterShortfall               =  400,
            DisplayOperatorMinHeight         = 1800, -- 1250 in font
        },
        tweaks = {
            aftercopying = {
                {
                    tweak    = "version",
                    expected = "Version 000.958",
                    message  = "this font is not supported",
                },
                {
                    tweak = "addmirrors",
                },
                presets.matheulercalligraphic { rscale = 1    },
                presets.mathrsfscript         { rscale = 1    },
                presets.mathxitsarabic        { rscale = 0.95 },
                {
                    tweak = "dimensions",
                    list  = {
                        -- nothing yet
                    }
                },
                -- {
                --     tweak = "kerns",
                --     list  = {
                --         [0x2F] = {
                            -- topleft     = -0.2,
                            -- bottomleft  =  0,
                            -- topright    =  0,
                            -- bottomright =  -0.2,
                --        },
                --     },
                -- },
                -- {
                --     tweak   = "fixprimes",
                --     factor  = 0.85,
                --     scale   = 0.65,
                --     smaller = true,
                -- },
                {
                    tweak = "checkspacing",
                },
                {
                    tweak = "addscripts",
                },
                {
                    tweak = "accentdimensions",
                },
                {
                    tweak = "addrules",
                },
                {
                    tweak = "fixellipses",
                },
                {
                    tweak = "setoptions",
                    set   = { "ignorekerndimensions" }
                },
            },
        },
        bigslots = {
            1, 2, 3, 4
        },
    }
}