summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/font-imp-effects.lmt
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/font-imp-effects.lmt')
-rw-r--r--tex/context/base/mkxl/font-imp-effects.lmt17
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)