summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/mlib-lua.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/mlib-lua.lua')
-rw-r--r--tex/context/base/mkiv/mlib-lua.lua14
1 files changed, 13 insertions, 1 deletions
diff --git a/tex/context/base/mkiv/mlib-lua.lua b/tex/context/base/mkiv/mlib-lua.lua
index 9e3802396..29ef334f1 100644
--- a/tex/context/base/mkiv/mlib-lua.lua
+++ b/tex/context/base/mkiv/mlib-lua.lua
@@ -75,6 +75,7 @@ do
local scan_cmykcolor = mplib.scan_cmykcolor
local scan_transform = mplib.scan_transform
local scan_path = mplib.scan_path
+ local scan_pen = mplib.scan_pen
scan.next = function(k) return scan_next (currentmpx,k) end
scan.expression = function(k) return scan_expression(currentmpx,k) end
@@ -90,6 +91,7 @@ do
scan.cmykcolor = function(t) return scan_cmykcolor (currentmpx,t) end
scan.transform = function(t) return scan_transform (currentmpx,t) end
scan.path = function(t) return scan_path (currentmpx,t) end
+ scan.pen = function(t) return scan_pen (currentmpx,t) end
else
@@ -148,6 +150,7 @@ do
local f_triplet = formatters["(%F,%F,%F)"]
local f_quadruple = formatters["(%F,%F,%F,%F)"]
local f_transform = formatters["totransform(%F,%F,%F,%F,%F,%F)"]
+ local f_pen = formatters["(pencircle transformed totransform(%F,%F,%F,%F,%F,%F))"]
local f_points = formatters["%p"]
local f_pair_pt = formatters["(%p,%p)"]
@@ -516,7 +519,12 @@ do
local tn = #t
if tn == 1 then
local t1 = t[1]
- n = n + 1 ; buffer[n] = f2(t1[1],t1[2])
+ n = n + 1
+ if t.pen then
+ buffer[n] = f_pen(unpack(t1))
+ else
+ buffer[n] = f2(t1[1],t1[2])
+ end
elseif tn > 0 then
if connector == true or connector == nil then
connector = ".."
@@ -534,6 +542,8 @@ do
local a = t[1]
local b = t[2]
n = n + 1
+ buffer[n] = "("
+ n = n + 1
if six and #a == 6 and #b == 6 then
buffer[n] = f6(a[1],a[2],a[5],a[6],b[3],b[4])
controls = ".."
@@ -575,6 +585,8 @@ do
else
buffer[n] = f2(a[1],a[2])
end
+ n = n + 1
+ buffer[n] = ")"
end
end
end