diff options
Diffstat (limited to 'tex/context/base/mkiv/mlib-pdf.lua')
-rw-r--r-- | tex/context/base/mkiv/mlib-pdf.lua | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/tex/context/base/mkiv/mlib-pdf.lua b/tex/context/base/mkiv/mlib-pdf.lua index 7566d9310..5c1dc88b8 100644 --- a/tex/context/base/mkiv/mlib-pdf.lua +++ b/tex/context/base/mkiv/mlib-pdf.lua @@ -214,7 +214,7 @@ local function flushnormalpath(path, t, open) return t end -local function flushconcatpath(path, t, open) +local function flushconcatpath(path, t, open, transform) local pth, ith, nt local length = #path if t then @@ -223,8 +223,10 @@ local function flushconcatpath(path, t, open) t = { } nt = 0 end - nt = nt + 1 - t[nt] = f_cm(sx,rx,ry,sy,tx,ty) + if transform then + nt = nt + 1 + t[nt] = f_cm(sx,rx,ry,sy,tx,ty) + end for i=1,length do nt = nt + 1 pth = path[i] @@ -599,7 +601,7 @@ function metapost.flush(specification,result) for i=1,#savedpath do local path = savedpath[i] if transformed then - flushconcatpath(path,result,open) + flushconcatpath(path,result,open,i==1) else flushnormalpath(path,result,open) end @@ -609,7 +611,7 @@ function metapost.flush(specification,result) if flush then -- ignore this path elseif transformed then - flushconcatpath(path,result,open) + flushconcatpath(path,result,open,true) else flushnormalpath(path,result,open) end @@ -639,7 +641,7 @@ function metapost.flush(specification,result) for i=1,#savedhtap do local path = savedhtap[i] if transformed then - flushconcatpath(path,result,open) + flushconcatpath(path,result,open,i==1) else flushnormalpath(path,result,open) end @@ -648,7 +650,7 @@ function metapost.flush(specification,result) evenodd = true end if transformed then - flushconcatpath(path,result,open) + flushconcatpath(path,result,open,true) else flushnormalpath(path,result,open) end |