diff options
Diffstat (limited to 'tex/context/fonts/mkiv/stix-two-math.lfg')
-rw-r--r-- | tex/context/fonts/mkiv/stix-two-math.lfg | 97 |
1 files changed, 74 insertions, 23 deletions
diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stix-two-math.lfg index bd09c192b..b5e6daf29 100644 --- a/tex/context/fonts/mkiv/stix-two-math.lfg +++ b/tex/context/fonts/mkiv/stix-two-math.lfg @@ -1,5 +1,5 @@ -- When set this will bypass the italic correction hackery! -local integral_variants = { bottomright = -0.20 } +local integral_variants = { bottomright = -0.4 } -- local integral_top = { topright = 0.05 } local integral_bottom = { bottomright = -0.35 } @@ -31,6 +31,8 @@ return { NoLimitSubFactor = 1000, -- AccentBaseHeight = 0, AccentBaseDepth = 30, + FlattenedAccentTopShiftUp = 0, -- now also set, the wide ones (so we can move in one go) + -- AccentExtendMargin = 50, RadicalDegreeBottomRaisePercent = 65, -- RadicalKernBeforeDegree = 500, RadicalKernAfterDegree = -500, @@ -122,34 +124,54 @@ return { feature = "ss01",-- this changes to roundhand style for stixtwo selector = 0xFE01, }, + -- 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.2, anchor = 1.10, xoffset = .05 }, -- 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 = { - -- [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.02 }, -- dot - [0x000A8] = { yoffset = -0.02 }, -- ddot - [0x020DB] = { yoffset = 0.04 }, -- dddot - -- [0x002DA] = { yoffset = -0.05 }, -- ring - -- [0x002C7] = { yoffset = -0.05 }, -- check - [0x020D7] = { yoffset = -0.07 }, -- vec + -- 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 - -- [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, all=true }, -- widedddot - -- [0x0030A] = { yoffset = -0.05, all=true }, -- widering + -- [0x00307] = { yoffset = -0.03, height = .95, all = true }, -- widedot : 0x02D9 + -- [0x00308] = { yoffset = -0.03, height = .95, all = true }, -- wideddot : 0x00A8 + [0x020DB] = { yoffset = 0.025, 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. + { tweak = "fixprimes", scale = 1, @@ -168,6 +190,35 @@ return { { tweak = "addrules", }, + { + tweak = "addarrows", + }, + { + tweak = "fixslashes", + }, + { -- already exists, but not good spacing + tweak = "addbars", + advance = 0.4, + }, + { + tweak = "addfourier", + variant = 1, + }, +{ + tweak = "addparts", + list = { + [0x21F4] = { + horizontal = true, + template = 0x2192, + sequence = { + { glyph = "first", factor = 2 }, + { glyph = 0x2022, }, + { glyph = "first", factor = 2 }, + { glyph = "last" }, + } + } + } +}, }, }, bigslots = { |