diff options
Diffstat (limited to 'tex/context/base/mkxl/driv-shp.lmt')
-rw-r--r-- | tex/context/base/mkxl/driv-shp.lmt | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/tex/context/base/mkxl/driv-shp.lmt b/tex/context/base/mkxl/driv-shp.lmt index f24a4090f..ace259954 100644 --- a/tex/context/base/mkxl/driv-shp.lmt +++ b/tex/context/base/mkxl/driv-shp.lmt @@ -459,6 +459,8 @@ local flush_character do end end + -- hm, never seen outside here + pos_h = saved_h pos_v = saved_v pos_r = saved_r @@ -473,7 +475,7 @@ local flush_character do if font ~= lastfont then lastfont = font fontcharacters = characters[font] - updatefontstate(font) + updatefontstate(font) -- can move to lpdf-lmt, cleaner end local data = fontcharacters[char] @@ -517,6 +519,7 @@ local flush_character do sx = 1 sy = 1 end +-- print(width, height, depth, factor, sx, sy) if pos_r == righttoleft_code then pos_h = pos_h - width -- here ? end @@ -525,14 +528,14 @@ local flush_character do else -- kind of messy that we do orientation here and offsets elsewhere .. this might change local orientation = data.orientation -- 0 (none), 1, 2, 3 or 4 (none) - local x = data.xoffset - local y = data.yoffset - if x then - pos_h = pos_h + x * sx - end - if y then - pos_v = pos_v + y * sy - end +-- local x = data.xoffset +-- local y = data.yoffset +-- if x then +-- pos_h = pos_h + x * sx +-- end +-- if y then +-- pos_v = pos_v + y * sy +-- end if orientation and (orientation == 1 or orientation == 3) then -- we can get weird charactersbox tracing here pushorientation(orientation,pos_h,pos_v) @@ -541,6 +544,7 @@ local flush_character do else flushcharacter(current,pos_h,pos_v,pos_r,font,char,data,f,e,factor,sx,sy) -- ,naturalwidth,width) end + -- we use the real width so we have to go back again end return width, height, depth end |