[NTG-context] Metafun's utflen not working in certain contexts

2021-10-03 Thread Jairo A. del Rio via ntg-context
Hi, list. The following works for MkIV, but not LMTX (adapted from here:
https://tex.stackexchange.com/questions/617597/how-can-i-use-luas-string-len-inside-a-metapost-function
):

\startMPinclusions

vardef MotMystere(expr taille, speciale, index) =

save avant,apres,case;

numeric avant,apres;

path case;

case := fullsquare scaled 13;

avant := speciale-1;

%For Unicode, use "utflen" instead

apres := utflen(taille) - speciale;

if avant >= 1:

for j=1 upto avant:

draw (case rotated 180

cutafter point 3 of case rotated 180)

shifted (-13j,-13*index);

endfor;

fi;

label.lft (index,point 3.5 of

case shifted (-13*avant,-13*index));

draw case yshifted (-13*index);

fill case yshifted (-13*index)

withcolor \MPcolor{gray-8};

if apres > 0:

for j=1 upto apres:

draw (case cutafter point 3 of case)

shifted (13j,-13*index);

endfor;

fi;

enddef;

\stopMPinclusions

\starttext

An example with "enigma"


\startMPcode

MotMystere("enigma",4,1)

\stopMPcode

\stoptext
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Metafun's utflen not working in certain contexts

2021-10-04 Thread Hans Hagen via ntg-context

On 10/3/2021 9:28 PM, Jairo A. del Rio via ntg-context wrote:
Hi, list. The following works for MkIV, but not LMTX (adapted from here: 
https://tex.stackexchange.com/questions/617597/how-can-i-use-luas-string-len-inside-a-metapost-function 
):


\startMPinclusions

vardef MotMystere(expr taille, speciale, index) =

save avant,apres,case;

numeric avant,apres;

path case;

case := fullsquare scaled 13;

avant := speciale-1;

%For Unicode, use "utflen" instead

apres := utflen(taille) - speciale;

if avant >= 1:

for j=1 upto avant:

draw (case rotated 180

cutafter point 3 of case rotated 180)

shifted (-13j,-13*index);

endfor;

fi;

label.lft (index,point 3.5 of

case shifted (-13*avant,-13*index));

draw case yshifted (-13*index);

fill case yshifted (-13*index)

withcolor \MPcolor{gray-8};

if apres > 0:

for j=1 upto apres:

draw (case cutafter point 3 of case)

shifted (13j,-13*index);

endfor;

fi;

enddef;

\stopMPinclusions

\starttext

An example with "enigma"


\startMPcode

MotMystere("enigma",4,1)

\stopMPcode

\stoptext

for the moment use ()

apres := (utflen(taille)) - speciale;



-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Metafun's utflen not working in certain contexts

2021-10-04 Thread Jairo A. del Rio via ntg-context
Nice, thanks.

Jairo

El lun, 4 de oct. de 2021 a la(s) 13:23, Hans Hagen (j.ha...@xs4all.nl)
escribió:

> On 10/3/2021 9:28 PM, Jairo A. del Rio via ntg-context wrote:
> > Hi, list. The following works for MkIV, but not LMTX (adapted from here:
> >
> https://tex.stackexchange.com/questions/617597/how-can-i-use-luas-string-len-inside-a-metapost-function
> > <
> https://tex.stackexchange.com/questions/617597/how-can-i-use-luas-string-len-inside-a-metapost-function
> >):
> >
> > \startMPinclusions
> >
> > vardef MotMystere(expr taille, speciale, index) =
> >
> > save avant,apres,case;
> >
> > numeric avant,apres;
> >
> > path case;
> >
> > case := fullsquare scaled 13;
> >
> > avant := speciale-1;
> >
> > %For Unicode, use "utflen" instead
> >
> > apres := utflen(taille) - speciale;
> >
> > if avant >= 1:
> >
> > for j=1 upto avant:
> >
> > draw (case rotated 180
> >
> > cutafter point 3 of case rotated 180)
> >
> > shifted (-13j,-13*index);
> >
> > endfor;
> >
> > fi;
> >
> > label.lft (index,point 3.5 of
> >
> > case shifted (-13*avant,-13*index));
> >
> > draw case yshifted (-13*index);
> >
> > fill case yshifted (-13*index)
> >
> > withcolor \MPcolor{gray-8};
> >
> > if apres > 0:
> >
> > for j=1 upto apres:
> >
> > draw (case cutafter point 3 of case)
> >
> > shifted (13j,-13*index);
> >
> > endfor;
> >
> > fi;
> >
> > enddef;
> >
> > \stopMPinclusions
> >
> > \starttext
> >
> > An example with "enigma"
> >
> >
> > \startMPcode
> >
> > MotMystere("enigma",4,1)
> >
> > \stopMPcode
> >
> > \stoptext
> for the moment use ()
>
> apres := (utflen(taille)) - speciale;
>
>
>
> -
>Hans Hagen | PRAGMA ADE
>Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
> tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
> -
>
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___