So is there a way to circumvent these issues? Or an explanation for this behavior, so that I can try to find a solution by myself?
Dear Aditya and Fabrice,
thanks for your responses.
I included some of Fabrice's code into mine for testing purpose, and indeed the multipage works now.
What is bizarre is that issues appear now that didn't appear before:
Path A is drawn with color red on page 1, and in color black on all following pages, while it should stay red.
textext(<text>, <pair>) is overwriting <text> with "T="&decimal(currentime) which has been used previously in textext() before the for k=1 endfor loop. This overwriting happens only for the first textext() which occurs inside the for k=1 endfor loop. All other textext() inside the for k=1 endfor loop are not drawn at all. If the line « draw textext("T="&decimal(currentime)) scaled 2 shifted(0,2in) withcolor magenta ; » is commented out, the first textext() inside the for k=1 endfor loop is not drawn neither. It must be an issue with textext(), because when I replace textext() by lmt_outline[], the text is drawn.
Adjusted mwe:
\enableregime[utf] % enable unicoded input
\definefontfamily [RomanFont] [rm] [calluna]
\definefontfamily [KoreanFont] [rm] [applemyungjo]
\definefontfamily [JapaneseFont] [rm] [hannotatesc]
\definefontfeature
[fea]
[mode=node,language=dflt,script=arab,
init=yes,
medi=yes,
fina=yes,
isol=yes,
calt=yes,
rlig=yes,
tlig=yes,
trep=yes,
curs=yes,
kern=yes,
mark=yes
]
\starttypescript [serif] [notonaskharabic]
\definefontsynonym [notonaskharabic-Light] [name:notonaskharabic] [features=fea]
\definefontsynonym [notonaskharabic-Bold] [name:notonaskharabic] [features=fea]
\definefontsynonym [notonaskharabic-Italic] [name:notonaskharabic] [features=fea]
\definefontsynonym [notonaskharabic-Bold-Italic] [name:notonaskharabic] [features=fea]
\stoptypescript
\starttypescript [serif] [notonaskharabic]
\usetypescript[serif][fallback]
\definefontsynonym [Serif] [notonaskharabic-Light] [features=fea]
\definefontsynonym [SerifItalic] [notonaskharabic-Italic] [features=fea]
\definefontsynonym [SerifBold] [notonaskharabic-Bold] [features=fea]
\definefontsynonym [SerifBoldItalic] [notonaskharabic-Bold-Italic] [features=fea]
\stoptypescript
\starttypescript [notonaskharabic]
\definetypeface [notonaskharabic] [rm] [serif] [notonaskharabic] [default]
\stoptypescript
\usetypescript[notonaskharabic]
\setupbodyfont [RomanFont]
\usecolors[crayola]
\startMPinclusions
picture p[];
path TheFrame ;
TheFrame := fullsquare scaled 5in ;
z0 = (0,0);
z1 = (60,40);
z2 = (40,90);
z3 = (10,70);
z4 = (30,50);
z5 = (90,70);
z6 = (-10,70);
path A; A = z0..z1..z2..z3..z4 ;
pair AStartPoint; AStartPoint = point 0 of A;
pair AEndPoint; AEndPoint = point 4 of A;
path B; B = z5..z6;
pair BStartPoint; BStartPoint = point 0 of B;
pair BEndPoint; BEndPoint = point 1 of B;
path C; C = AStartPoint..AEndPoint;
p1:=image(
draw A withcolor red;
);
p2:=image(draw A; label(lmt_outline [
text = "\JapaneseFont 日本語"
], AEndPoint););
p3:=image(
label(textext("\notonaskharabic \textdir TRT دانگ") scaled 1.2, BStartPoint);
);
p4:=image(draw A; label(lmt_outline [
text = "\KoreanFont 한국어"
], AStartPoint););
p5:=image(
label(textext("bāng"), BEndPoint);
draw C withcolor green;
);
p6:=image(
draw B withcolor blue;
);
\stopMPinclusions
\starttext
\dorecurse{6}{ % Frame
\setupMPpage[background=color, backgroundcolor=SpringGreen]
\startMPpage[pagestate=start]
currentime := #1 ;
% Just for learning :
draw TheFrame withpen pencircle scaled .1in withcolor magenta ;
draw textext("T="&decimal(currentime)) scaled 2 shifted(0,2in) withcolor magenta ;
for k=1 upto currentime: draw p[k]; endfor
setbounds currentpicture to TheFrame ;
desiredformat := 1080;% In pixels (will be converted by default at 72dpi)
currentpicture := currentpicture xysized (desiredformat ,desiredformat );
\stopMPpage
}
\stoptext
On Mon, 27 Nov 2023, Fabrice L wrote:
> Hi,
>
> It is fun fact very easy to do. You just use \startMPpage (…) \stopMPpage multiple times. Here is an example which build an animation of a particle moving according to a Brownian motion.
A very similar option is to pass a variable to a metapost drawing. This is what I use:
It only works when viewed in acrobat, you can just comment out the animation part and wrap it in \startTEXpage .. \stopTEXpage to get multi-page animation.
Aditya___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
___________________________________________________________________________________
___________________________________________________________________________________