diff options
Diffstat (limited to 'tex/context/fonts/mkiv/bonum-math.lfg')
-rw-r--r-- | tex/context/fonts/mkiv/bonum-math.lfg | 102 |
1 files changed, 91 insertions, 11 deletions
diff --git a/tex/context/fonts/mkiv/bonum-math.lfg b/tex/context/fonts/mkiv/bonum-math.lfg index 73a1efcaf..c09b55c20 100644 --- a/tex/context/fonts/mkiv/bonum-math.lfg +++ b/tex/context/fonts/mkiv/bonum-math.lfg @@ -32,6 +32,9 @@ return { parameters = { NoLimitSupFactor = 0, NoLimitSubFactor = 900, + AccentTopShiftUp = -15, + FlattenedAccentTopShiftUp = -15, + -- AccentExtendMargin = 50, AccentBaseDepth = 50, RadicalDegreeBottomRaisePercent = 60, RadicalRuleThickness = 66, -- 72 in font @@ -74,7 +77,7 @@ return { [0x1D450] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- c [0x1D451] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.75 }, -- d [0x1D452] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- e - [0x1D453] = { xoffset = 0.45, width = 1.9, italic = 0.45 }, -- f + [0x1D453] = { xoffset = 0.45, width = 1.9, italic = 0.45, anchor = 1.1 }, -- f [0x1D454] = { xoffset = 0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- g [0x0210E] = { xoffset = -0.1, width = 1.05, italic = 0, anchor = 1.15 }, -- h [0x1D456] = { xoffset = -0.2, width = 1.1, italic = 0 }, -- i @@ -180,11 +183,12 @@ return { }, ["lowercasescript"] = { - width = 1.2, - extend = 1.2, - height = 1.2, - depth = 1.2, - squeeze = 1.2, + factor = 1.2, + -- width = 1.2, + -- extend = 1.2, + -- height = 1.2, + -- depth = 1.2, + -- squeeze = 1.2, }, }, }, @@ -195,11 +199,10 @@ return { topleft = -0.2, bottomright = -0.2, }, --- [0x1D453] = { --- [0x0210E] = { --- topleft = 0.5, --- bottomright = -0.2, --- }, + ["0x2F.variants.*"] = { + topleft = -0.2, + bottomright = -0.2, + }, -- [0x28] = { -- left parenthesis. No! -- topleft = -0.1, -- bottomleft = -0.1, @@ -270,6 +273,55 @@ return { }, }, + + -- Accents are a mess. We migrate the extensibles from the combiners to the base accent + -- and then need to tweak the width (which is auto set because it was zero with a large + -- accent anchor offset). First we copy and fix. + { + tweak = "extendaccents", + }, + { + tweak = "fixaccents", + }, + -- First we set the dimensions of the initial accent which started out as zero but we want + -- a proper width. + { + tweak = "dimensions", + list = { + [0x00302] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widehat + [0x00303] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widetilde + [0x00306] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widebreve + [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck + }, + }, + -- Then we deal with all offsets and heights in one go. So we treat the initial accent + -- as well as the variants here. + { + tweak = "dimensions", + list = { + -- here we want to apply to all + -- [0x00300] = { yoffset = -0.02, height = .95, all = true }, -- widegrave : 0x0060 + -- [0x00301] = { yoffset = -0.02, height = .95, all = true }, -- wideacute : 0x00B4 + -- [0x00302] = { yoffset = -0.03, height = .95, all = true }, -- widehat : 0x02C6 + -- [0x00303] = { yoffset = -0.02, height = .95, all = true }, -- widetilde : 0x02DC + -- [0x00306] = { yoffset = -0.03, height = .95, all = true }, -- widebre : 0x02D8 + -- [0x0030A] = { yoffset = 0.00, height = .95, all = true }, -- widering : 0x02DA + -- [0x0030C] = { yoffset = -0.03, height = .95, all = true }, -- widecheck : 0x02C7 + + -- [0x00304] = { yoffset = -0.05, height = .95, all = true }, -- widebar : 0x00AF + + -- [0x00307] = { yoffset = -0.03, height = .95, all = true }, -- widedot : 0x02D9 + -- [0x00308] = { yoffset = -0.03, height = .95, all = true }, -- wideddot : 0x00A8 + -- [0x020DB] = { yoffset = -0.015, height = .95, all = true }, -- widedddot : 0x20DB (self) + }, + }, + -- We now copy these to the not wide slots so that we can set these to stretch as well, + -- if only because it is less confusing and more consistent. + { + tweak = "copyaccents", + }, + -- So far for the accents. + { -- For upright alphabets, we unset the anchor. -- This means that accents are placed @@ -466,6 +518,19 @@ return { tweak = "addrules", }, { + -- This tweak is only needed for the funny arrows and these now get properly + -- centered. (Could actually be done in the engine). + tweak = "addarrows", + -- These are for documentation purposed as they are the defaults anyway: + left = 0.05, + right = 0.05, + slack = 0.10, + -- The equal doesn't really match the double arrows, as in plain etc, so it still + -- looks somewhat bad when zoomed in. This is the best we could do. Anyway, this + -- in only used when testing (forced) so it doesn't kick in normally. + list = { [0x3D] = { squeeze = .85, yoffset = .0975 } } + }, + { tweak = "kernpairs", list = { [mathematics.tweaks.subsets.acenorsuvxz] = { @@ -521,6 +586,21 @@ return { -- tweak = "fixanchors", -- factor = .5, -- }, + { + tweak = "addbars", + advance = 0.275, + }, + { + tweak = "addactuarian", + }, + { + tweak = "addequals", + }, + { + tweak = "addfourier", + variant = 1, + }, + }, }, alternates = { |