diff options
Diffstat (limited to 'tex/context/fonts/mkiv/libertinus-math.lfg')
-rw-r--r-- | tex/context/fonts/mkiv/libertinus-math.lfg | 110 |
1 files changed, 71 insertions, 39 deletions
diff --git a/tex/context/fonts/mkiv/libertinus-math.lfg b/tex/context/fonts/mkiv/libertinus-math.lfg index b6621b946..c02f0506a 100644 --- a/tex/context/fonts/mkiv/libertinus-math.lfg +++ b/tex/context/fonts/mkiv/libertinus-math.lfg @@ -13,29 +13,67 @@ return { mathematics = { tweaks = { aftercopying = { + -- function(target,original) + -- local okay = 983068 + -- local crap = { + -- ["minute"] = "minute.ssty1", + -- ["second"] = "second.ssty1", + -- -- [8242] = 983068, + -- -- [8243] = 983069, + -- [8244] = 983070, + -- [8245] = 983071, + -- [8246] = 983072, + -- [8247] = 983073, + -- } + -- local characters = target.characters + -- local unicodes = original.resources.unicodes + -- if unicodes["minute.ssty1"] == okay then + -- for old, new in next, crap do + -- if type(old) == "string" then + -- old = unicodes[old] + -- end + -- if type(new) == "string" then + -- new = unicodes[new] + -- end + -- if old and new and characters[old] then + -- local c = characters[new] + -- if c then + -- characters[old] = c + -- c.commands = { { "up", .06 * c.height }, { "slot", 0, new, .7 } } + -- end + -- end + -- end + -- local four = characters[0x2057] + -- if four then + -- local one = characters[okay] + -- local owd = .75*one.width + -- local off = .6*one.height + -- four.width = 4*owd + -- four.commands = { + -- { "offset", 0, off, okay }, + -- { "offset", owd, off, okay }, + -- { "offset", 2*owd, off, okay }, + -- { "offset", 3*owd, off, okay }, + -- } + -- else + -- -- we don't add (but we could), just patch, and there's no + -- -- reverse quad either + -- end + -- else + -- logs.report("fonts","the libertinus tweaks need to be checked") + -- end + -- end, function(target,original) - local okay = 983068 - local crap = { - ["minute"] = "minute.ssty1", - ["second"] = "second.ssty1", - -- [8242] = 983068, - -- [8243] = 983069, - [8244] = 983070, - [8245] = 983071, - [8246] = 983072, - [8247] = 983073, - } + local crap = { 0x2032, 0x2033, 0x2034, 0x2036, 0x2037, 0x2038 } -- 0x2057 local characters = target.characters + local originals = original.characters local unicodes = original.resources.unicodes - if unicodes["minute.ssty1"] == okay then - for old, new in next, crap do - if type(old) == "string" then - old = unicodes[old] - end - if type(new) == "string" then - new = unicodes[new] - end - if old and new and characters[old] then + for i=1,#crap do + local old = crap[i] + local chr = characters[slot] + if chr then + local new = chr.smaller + if new then local c = characters[new] if c then characters[old] = c @@ -43,28 +81,22 @@ return { end end end - local four = characters[0x2057] - if four then - local one = characters[okay] - local owd = .75*one.width - local off = .6*one.height - four.width = 4*owd - four.commands = { - { "offset", 0, off, okay }, - { "offset", owd, off, okay }, - { "offset", 2*owd, off, okay }, - { "offset", 3*owd, off, okay }, - } - else - -- we don't add (but we could), just patch, and there's no - -- reverse quad either - end - else - logs.report("fonts","the libertinus tweaks need to be checked") + end + local four = characters[0x2057] + if four then + local one = characters[0x2032] + local owd = .75*one.width + local off = .6*one.height + four.width = 4*owd + four.commands = { + { "offset", 0, off, okay }, + { "offset", owd, off, okay }, + { "offset", 2*owd, off, okay }, + { "offset", 3*owd, off, okay }, + } end end, }, }, }, } - |