blob: 8e39c7f227ae4dd9e644ea5107ca5af5ff49b38c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
|