summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/driv-shp.lmt
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/driv-shp.lmt')
-rw-r--r--tex/context/base/mkxl/driv-shp.lmt19
1 files changed, 10 insertions, 9 deletions
diff --git a/tex/context/base/mkxl/driv-shp.lmt b/tex/context/base/mkxl/driv-shp.lmt
index fed58dacf..a917d9501 100644
--- a/tex/context/base/mkxl/driv-shp.lmt
+++ b/tex/context/base/mkxl/driv-shp.lmt
@@ -519,16 +519,17 @@ local flush_character do
flush_vf_packet(current,pos_h,pos_v,pos_r,font,char,data,factor,vfcommands,sx,sy) -- also f ?
else
-- kind of messy that we do orientation here and offsets elsewhere .. this might change
- local orientation = data.orientation
+ 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
if orientation and (orientation == 1 or orientation == 3) then
- local x = data.xoffset
- local y = data.yoffset
- if x then
- pos_h = pos_h + x
- end
- if y then
- pos_v = pos_v + y
- end
+ -- we can get weird charactersbox tracing here
pushorientation(orientation,pos_h,pos_v)
flushcharacter(current,pos_h,pos_v,pos_r,font,char,data,f,e,factor,sx,sy) -- ,naturalwidth,width)
poporientation(orientation,pos_h,pos_v)