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