[NTG-context] MetaFun - "remove the paths of text" from a rectangle to let the background visible
Garulfo
garulfo at azules.eu
Thu Dec 24 18:04:08 CET 2020
Much more lean now thanks to your feedbacks.
I prefered to "remove the shapes of the letter"
rather than doubling the shading.
Wikified https://wiki.contextgarden.net/Cover_Pages#.22Empty.22_letters
\definecolor [ColorHighA] [h=c4a000]
\definecolor [ColorHighB] [h=602217]
\definecolor [ColorLow] [0.8(white)]
\startMPpage
%------------------------------------------------------------------------------
picture tt ;
tt := lmt_outline [
kind = "fillup",
text = "\definedfont[name:texgyrepagellabold*default]%
\framed[frame=off,offset=3mm,align=middle,strut=none]
{MetaPost\\is Fun !\\Aujourd'hui\\Today\\*§ 2020 §*}",
] xsized 12cm ;
path bb ; bb := boundingbox tt;
%------------------------------------------------------------------------------
path pp ; pp := bb enlarged 2cm ;
fill pp
withshademethod "linear"
withshadedirection (2.,0.)
withshadecolors (\MPcolor{ColorHighA}, \MPcolor{ColorHighB});
%------------------------------------------------------------------------------
picture Paddmissing; Paddmissing := nullpicture;
picture Pwoletters; Pwoletters := nullpicture;
numeric testwithin ;
%------------------------------------------------------------------------------
for i within tt :
if stroked i or filled i :
testwithin :=0;
for j within tt :
if stroked j or filled j:
if (((xpart llcorner i) > (xpart llcorner j)) and
((ypart llcorner i) > (ypart llcorner j)) and
((xpart urcorner i) < (xpart urcorner j)) and
((ypart urcorner i) < (ypart urcorner j))) :
testwithin :=1;
fi;
fi;
endfor;
if testwithin == 1:
addto Paddmissing contour
(pathpart i)
withcolor \MPcolor{ColorLow};
else:
addto Pwoletters contour
(pathpart i)
withpostscript "collect";
fi;
fi ;
endfor ;
%------------------------------------------------------------------------------
addto Pwoletters contour
bb
withpostscript "evenodd"
withcolor \MPcolor{ColorLow};
draw Pwoletters ;
draw Paddmissing ;
\stopMPpage
More information about the ntg-context
mailing list