summaryrefslogtreecommitdiff
path: root/tex/context/fonts/mkiv/bonum-math.lfg
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/fonts/mkiv/bonum-math.lfg')
-rw-r--r--tex/context/fonts/mkiv/bonum-math.lfg102
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 = {