diff options
Diffstat (limited to 'tex/context/fonts/mkiv/libertinus-math.lfg')
-rw-r--r-- | tex/context/fonts/mkiv/libertinus-math.lfg | 112 |
1 files changed, 89 insertions, 23 deletions
diff --git a/tex/context/fonts/mkiv/libertinus-math.lfg b/tex/context/fonts/mkiv/libertinus-math.lfg index 4992b41be..77d0161e3 100644 --- a/tex/context/fonts/mkiv/libertinus-math.lfg +++ b/tex/context/fonts/mkiv/libertinus-math.lfg @@ -18,6 +18,9 @@ return { OverbarRuleThickness = 50, -- RadicalRuleThickness = 50, UnderbarRuleThickness = 50, + AccentTopShiftUp = -35, + FlattenedAccentTopShiftUp = -35, + -- AccentExtendMargin = 50, -- AccentTopShiftUp = 0, AccentBaseDepth = 10, RadicalDegreeBottomRaisePercent = 60, @@ -39,30 +42,30 @@ return { { tweak = "dimensions", list = { - [0x00060] = { yoffset = -0.075 }, -- grave - [0x000B4] = { yoffset = -0.075 }, -- acute - [0x002C6] = { yoffset = -0.075 }, -- hat - [0x002DC] = { yoffset = -0.075 }, -- tilde - -- [0x000AF] = { yoffset = -0.1 }, -- bar - [0x002D8] = { yoffset = -0.075 }, -- breve - [0x002D9] = { yoffset = -0.05 }, -- dot - [0x000A8] = { yoffset = -0.02 }, -- ddot - [0x020DB] = { yoffset = -0.02 }, -- dddot - [0x002DA] = { yoffset = -0.1 }, -- ring - -- [0x002C7] = { yoffset = -0.1 }, -- check - [0x020D7] = { yoffset = -0.1 }, -- vec + -- [0x00060] = { yoffset = -0.075 }, -- grave + -- [0x000B4] = { yoffset = -0.075 }, -- acute + -- [0x002C6] = { yoffset = -0.075 }, -- hat + -- [0x002DC] = { yoffset = -0.075 }, -- tilde + -- -- [0x000AF] = { yoffset = -0.1 }, -- bar + -- [0x002D8] = { yoffset = -0.075 }, -- breve + -- [0x002D9] = { yoffset = -0.05 }, -- dot + -- [0x000A8] = { yoffset = -0.02 }, -- ddot + -- [0x020DB] = { yoffset = -0.02 }, -- dddot + -- [0x002DA] = { yoffset = -0.1 }, -- ring + -- -- [0x002C7] = { yoffset = -0.1 }, -- check + -- [0x020D7] = { yoffset = -0.1 }, -- vec - [0x00300] = { yoffset = -0.1, all = true }, -- widegrave - [0x00301] = { yoffset = -0.1, all = true }, -- wideacute - [0x00302] = { yoffset = -0.1, all = true }, -- widehat - [0x00303] = { yoffset = -0.09, all = true }, -- widetilde - -- [0x00304] = { yoffset = -0.12, all = true }, -- widebar - [0x00306] = { yoffset = -0.05, all = true }, -- widebreve - [0x00307] = { yoffset = -0.02, all = true }, -- widedot - [0x00308] = { yoffset = -0.02, all = true }, -- wideddot - -- [0x020DB] = { yoffset = -0.1, all = true }, -- widedddot - [0x0030A] = { yoffset = -0.12, all = true }, -- widering - [0x0030C] = { yoffset = -0.04, all = true }, -- widecheck + -- [0x00300] = { yoffset = -0.1, all = true }, -- widegrave + -- [0x00301] = { yoffset = -0.1, all = true }, -- wideacute + -- [0x00302] = { yoffset = -0.1, all = true }, -- widehat + -- [0x00303] = { yoffset = -0.09, all = true }, -- widetilde + -- -- [0x00304] = { yoffset = -0.12, all = true }, -- widebar + -- [0x00306] = { yoffset = -0.05, all = true }, -- widebreve + -- [0x00307] = { yoffset = -0.02, all = true }, -- widedot + -- [0x00308] = { yoffset = -0.02, all = true }, -- wideddot + -- -- [0x020DB] = { yoffset = -0.1, all = true }, -- widedddot + -- [0x0030A] = { yoffset = -0.12, all = true }, -- widering + -- [0x0030C] = { yoffset = -0.04, all = true }, -- widecheck -- [0x1D44F] = { width = 1, italic = 0, anchor = 1.5 }, -- b (6.8) -- [0x1D451] = { width = 1, italic = 0, anchor = 1.2 }, -- d (6.8) @@ -119,6 +122,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.8, anchor = 1.40, xoffset = .20 }, -- widehat + [0x00303] = { width = 2.0, anchor = 1.50, xoffset = .30 }, -- widetilde + [0x00306] = { width = 1.6, anchor = 1.30, xoffset = .15 }, -- widebreve + [0x0030C] = { width = 1.3, anchor = 1.15, xoffset = .075 }, -- 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. + + { tweak = "fixprimes", scale = 0.9, @@ -137,6 +189,20 @@ return { { tweak = "addrules", }, + { + tweak = "addbars", + advance = 0.5, + }, + { + tweak = "addactuarian", + }, + { + tweak = "addequals", + }, + { + tweak = "addfourier", + variant = 1, + }, }, }, bigslots = { |