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
___________________________________________________________________________________

Reply via email to