summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/minim-mp/minim-mp.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic/minim-mp/minim-mp.tex')
-rw-r--r--macros/luatex/generic/minim-mp/minim-mp.tex61
1 files changed, 61 insertions, 0 deletions
diff --git a/macros/luatex/generic/minim-mp/minim-mp.tex b/macros/luatex/generic/minim-mp/minim-mp.tex
new file mode 100644
index 0000000000..8e39c7f227
--- /dev/null
+++ b/macros/luatex/generic/minim-mp/minim-mp.tex
@@ -0,0 +1,61 @@
+
+\ifdefined\minimmploaded
+ \message{(skipped)}
+ \expandafter\endinput\fi
+\chardef\minimmploaded = \catcode`\:
+\catcode`\: = 11
+
+\input minim-alloc
+
+% a default catcode table
+\newcatcodetable \minim:mp:catcodes
+{\catcode`\:=12 \catcode`\@=12
+ \savecatcodetable\csname minim:mp:catcodes\endcsname}
+
+\directlua { require('minim-mp') }
+
+% The following are provided from the lua side.
+%
+% Note that only two of these are \protected – you are responsible for the
+% proper time and place of expansion of the others.
+%
+% \closemetapostinstance \instance
+% \runmetapost \instance { code } % \protected
+% \runmetapostimage \instance { code } % \protected
+% \getnextmpimage \instance
+% \getnamedmpimage \instance {name}
+% \remainingmpimages \instance
+% \boxnextmpimage \instance box-nr
+% \boxnamedmpimage \instance box-nr {name}
+
+% \directmetapost [ options ] { code }
+\protected\def\directmetapost{\withoptions[]\directmetapost:}
+\def\directmetapost:[#1]#2{%
+ \begingroup
+ \newmetapostinstance[#1]\:mpinst:
+ \runmetapost\:mpinst:{#2}%
+ \loop \ifnum\remainingmpimages\:mpinst:>0\relax
+ \getnextmpimage\:mpinst: \repeat
+ \closemetapostinstance\:mpinst:
+ \endgroup}
+
+% \newmetapostinstance [ options ] \instance
+\protected\def\newmetapostinstance{\withoptions[]\newmetapostinstance:}
+\def\newmetapostinstance:[#1]#2{%
+ \chardef#2=\directlua{
+ tex.sprint(require('minim-mp').open{#1})
+ }\relax}
+
+% colour conversion: 1 grayscale 2 cmyk 3 rgb 4 rgb as spot
+\newcount \convertmpcolours
+\convertmpcolours = 0
+
+\newcount\RtoG \RtoG = 2126
+\newcount\GtoG \GtoG = 7152
+\newcount\BtoG \BtoG = 0722
+
+\catcode`\: = \minimmploaded
+
+
+
+