You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See NTG-context mailing list: metapost and lua
Hi all!
[1] Is there a Lua interface for metapost? I'm thinking of something
like cld is for TeX here. All I figured out so far is how to
generate mp code (as strings) in Lua and then having it
processed by mplib, but as the metafun manual is from 2002 and
with context you never know how far it is ahead of your dreams …
[1a] If not [1], then: will there ever be something like this?
[2] There's an example for “metapost.process()” in mlib-ctx.mkiv but
I can't get it to work. I simply copypasted it as follows:
···8<····································
······································
\starttext
\startluacode
mpgraphic = [[
for i=1 upto 1000 :
beginfig(0);
draw halfcircle scaled 1cm withcolor green ;
picture p ; p := "oeps" infont defaultfont scaled .75 rotated 45 ;
p := p shifted - (xpart center p,0) ;
draw p ; draw boundingbox p ;
endfig ;
beginfig(0);
draw halfcircle scaled 1cm dashed evenly withcolor green ;
endfig ;
beginfig(0);
pickup pencircle xscaled .5mm yscaled .25mm rotated 45 ;
draw halfcircle scaled 1cm withcolor red ;
endfig ;
beginfig(0);
draw halfcircle scaled 1cm ;
endfig ;
beginfig(0);
pickup pencircle xscaled .5mm yscaled .25mm rotated 45 ;
for k:=1 upto 10 :
draw halfcircle scaled uniformdeviate(1cm) withcolor (red/(k/4)) ;
endfor ;
endfig ;
endfor ;
]]
metapost.process(metapost.format("metafun"),mpgraphic)
\stopluacode
\stoptext
------------------------------------------------------
how about:
\starttext
\startluacode
context.startMPcode()
context("draw fullcircle scaled 10cm;")
context.stopMPcode()
context.resetMPdrawing()
context.startMPdrawing()
context("fill fullcircle scaled 10cm;")
context.stopMPdrawing()
for i=1,100,5 do
context.startMPdrawing()
context("draw fullcircle scaled " ..i .. "mm withcolor white;")
context.stopMPdrawing()
end
context.MPdrawingdonetrue()
context.getMPdrawing()
\stopluacode
\stoptext
----------------------------------------------
Hi,
I've added \MPdrawing and \MPcode so that less calls are needed
for i=1,100,5 do
context.MPdrawing("draw fullsquare scaled " ..i .. "mm withcolor white;")
end
Hans
---------------------
Original issue reported on code.google.com by [email protected] on 6 Aug 2010 at 8:59
The text was updated successfully, but these errors were encountered:
Original issue reported on code.google.com by
[email protected]
on 6 Aug 2010 at 8:59The text was updated successfully, but these errors were encountered: