summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/driv-shp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/driv-shp.lua')
-rw-r--r--tex/context/base/mkiv/driv-shp.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/driv-shp.lua b/tex/context/base/mkiv/driv-shp.lua
index 26bb06b39..b9298176a 100644
--- a/tex/context/base/mkiv/driv-shp.lua
+++ b/tex/context/base/mkiv/driv-shp.lua
@@ -338,7 +338,9 @@ flush_character = function(current,font,char,factor,vfcommands,pos_h,pos_v,pos_r
width, height, depth, factor = getwhd(current,true)
naturalwidth = width
if factor ~= 0 then
- width = (1.0 + factor/1000000.0) * width
+ -- width = (1.0 + factor/1000000.0) * width
+ width = width + width * factor/1000000.0
+ -- width = width + width * 0.000001 * factor
end
else
width = data.width or 0
@@ -369,10 +371,10 @@ flush_character = function(current,font,char,factor,vfcommands,pos_h,pos_v,pos_r
pos_v = pos_v + y
end
pushorientation(orientation,pos_h,pos_v)
- flushcharacter(current,pos_h,pos_v,pos_r,font,char,data,factor,naturalwidth,f,e)
+ flushcharacter(current,pos_h,pos_v,pos_r,font,char,data,naturalwidth,factor,width,f,e)
poporientation(orientation,pos_h,pos_v)
else
- flushcharacter(current,pos_h,pos_v,pos_r,font,char,data,factor,naturalwidth,f,e)
+ flushcharacter(current,pos_h,pos_v,pos_r,font,char,data,naturalwidth,factor,width,f,e)
end
end
return width, height, depth
@@ -1280,6 +1282,8 @@ function lpdf.convert(box,smode,objnum,specification) -- temp name
objectnumber = objnum,
}
+ lastfont = nil -- this forces a sync each page / object
+
if getid(box) == vlist_code then
vlist_out(box)
else