diff options
Diffstat (limited to 'tex/context/base/mkxl/font-imp-effects.lmt')
-rw-r--r-- | tex/context/base/mkxl/font-imp-effects.lmt | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/tex/context/base/mkxl/font-imp-effects.lmt b/tex/context/base/mkxl/font-imp-effects.lmt index 1f9810f93..38d86498a 100644 --- a/tex/context/base/mkxl/font-imp-effects.lmt +++ b/tex/context/base/mkxl/font-imp-effects.lmt @@ -238,9 +238,11 @@ local function manipulateeffect(tfmdata) parameters.hshift = hshift parameters.vshift = vshift for unicode, character in next, characters do - local oldwidth = character.width - local oldheight = character.height - local olddepth = character.depth + local oldwidth = character.width + local oldheight = character.height + local olddepth = character.depth + local olditalic = character.italic + local oldtopaccent = character.topaccent if oldwidth and oldwidth > 0 then character.width = oldwidth + wdelta end @@ -250,6 +252,15 @@ local function manipulateeffect(tfmdata) if olddepth and olddepth > 0 then character.depth = olddepth + ddelta end + if olditalic or oldtopaccent then + local factor = character.width / oldwidth + if olditalic and olditalic > 0 then + character.italic = olditalic * factor + end + if oldtopaccent and oldtopaccent > 0 then + character.topaccent = oldtopaccent * factor + end + end end if mathparameters then setmathparameters(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier) |