summaryrefslogtreecommitdiff
path: root/tex/context/fonts/mkiv/asana-math.lfg
blob: 6177cb8311e05c5c660b8cc2728016e6637dbfe6 (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
-- 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

local function more(value,target,original)
    local o = original.mathparameters.DisplayOperatorMinHeight
    if o < 2800 then
        return 2800 * target.parameters.factor
    else
        return value -- already scaled
    end
end

return {
    name = "asana-math",
    version = "1.00",
    comment = "Goodies that complement asana.",
    author = "Hans Hagen & Mikael Sundqvist",
    copyright = "ConTeXt development team",
    mathematics = {
        parameters = {
         -- DisplayOperatorMinHeight         = 0, -- more
         -- StackBottomDisplayStyleShiftDown = 0,
         -- StackBottomShiftDown             = 0,
         -- StackDisplayStyleGapMin          = 0,
         -- StackGapMin                      = 0,
         -- StackTopDisplayStyleShiftUp      = 0,
         -- StackTopShiftUp                  = 0,
         -- StretchStackBottomShiftDown      = 0,
         -- StretchStackGapAboveMin          = 0,
         -- StretchStackGapBelowMin          = 0,
         -- StretchStackTopShiftUp           = 0,
            StackBottomDisplayStyleShiftDown = less,
            StackBottomShiftDown             = less,
            StackDisplayStyleGapMin          = less,
            StackGapMin                      = less,
            StackTopDisplayStyleShiftUp      = less,
            StackTopShiftUp                  = less,
            StretchStackBottomShiftDown      = less,
            StretchStackGapAboveMin          = less,
            StretchStackGapBelowMin          = less,
            StretchStackTopShiftUp           = less,
            NoLimitSupFactor                 =    0,
            NoLimitSubFactor                 = 1200,
            AccentBaseDepth                  =  300,
        },
        tweaks = {
            aftercopying = {
                {
                    tweak    = "version",
                    expected = "Version 000.958",
                    message  = "this font is not supported",
                },
                {
                    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",
                },
            },
        },
        bigslots = {
            1, 2, 3, 4
        },
    }
}