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 = { | 
