% +AMDG  This document was begun on 1X September 11EX, the
% feast of St. Thomas of Villanova, EC, and the
% commemoration of Ss. Maurice and Companions, MM, and it is
% humbly dedicated to them and to the Immaculate Heart of
% Mary for their prayers, and to the Sacred Heart of Jesus
% for His mercy.

beginchar("1",0.7digwid#+ss#,cap#,0); "Superior digit 1";
italcorr(ex#*slant);

z0 = (w/2-thickstroke/2,h);
z1 = z0 shifted (thickstroke,0);
z2 = (w/2-thickstroke/2,h/2+lserh);
z3 = z2 shifted (thickstroke,0);
lrserif(3,4,5,6,7)(1);
llserif(2,9,10,11,12)(1);
z13 = (x10,y0-thinstroke);
z14 = z13 shifted (0,-thinstroke);
z15 = (z14--(w,y14)) intersectionpoint (z0--z2);
y6 := y11 := h/2;

path supone; supone = z13{right}..z0--z1--z3..z4..z5--z6--
	z11--z10..z9..z2--z15--z14--cycle;
fill supone shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("2",0.7digwid#+ss#,cap#,0); "Superior digit 2";
italcorr(ex#*slant);

z0 = (w/2,h);
z1 = z0 shifted (0,-thinstroke);
z2 = (w-ss/2,5h/6);
z3 = z2 shifted (-thickstroke,0);
z4 = (ss/2,5h/6);
ulftbulb(4,5,6,7,8);
z9 = (z5--z7) intersectionpoint (z6--z4) shifted
	(thinstroke/2,thinstroke/2);
z10 = (ss/2,h/2);
z11 = z10 shifted (0,thickstroke/2);
z12 = (w-ss/2,y10);
z13 = (x12,y11+thinstroke);
z14 = z13 shifted (-thinstroke,0);
z15 = (x14,y11);
z16 = z11 shifted (thickstroke,0);

path suptwo; suptwo = z15--z14--z13--z12--z10--z11{dir 45}..
	z3..z1{left}..{dir -135}z5{right}..z6..z7..z4..z0..z2..
	{dir -135}z16--cycle;
fill suptwo shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("3",0.7digwid#+ss#,cap#,0); "Superior digit 3";
italcorr(ex#*slant);

z0 = (w/2,h);
z1 = z0 shifted (0,-thinstroke);
z2 = (w/2,h/2);
z3 = z2 shifted (0,thinstroke);
z4 = (w-ss/2,7h/8);
z5 = z4 shifted (-thickstroke,0);
z6 = (w-ss/2,5h/8);
z7 = z6 shifted (-thickstroke,0);
z8 = (ss/2,7h/8);
z9 = (ss/2,5h/8);
ulftbulb(8,10,11,12,13);
y10 := y10 - bulbsh/2;
z14 = z9 shifted (bulbsh,bulbsh);
z15 = z9 shifted (2bulbsh,0);
z16 = z9 shifted (bulbsh,-bulbsh);
y16 := y16 + bulbsh/2;
z17 = (x0-thinstroke,3h/4+thinstroke/2);
z18 = z17 shifted (0,-thinstroke);
z19 = 0.5[z17,z18] shifted (thickstroke,0);

path supthree; supthree = z8{up}..{right}z0{right}..
	{down}z4{down}..{left}z19{right}..{down}z6{down}..
	{left}z2{left}..{up}z9..z14..z15{down}..
	{left}z16{dir -30}..z3..z7..{left}z18--z17{right}..
	z5..z1..{dir -135}z10{right}..{down}z11..z12..cycle;
pickup pencircle scaled 2;
fill supthree shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("4",0.7digwid#+ss#,cap#,0); "Superior digit 4";
italcorr(ex#*slant);

z0 = (5w/6,h+o);
z1 = (x0,h/2+lserh);
z2 = z1 shifted (-thickstroke,0);
lrserif(1,3,4,5,6)(1);
llserif(2,7,8,9,10)(1);
y9 := y5 := h/2;
x8 := x9 := (x8 + lserw/2);
x4 := x5 := (x4 - lserw/2);
z11 = (x2,4h/6);
z12 = (ss/2,y11);
z13 = z11 shifted (0,thinstroke);
z14 = z12 shifted (thinstroke,0);
z15 = z0 shifted (0,-thinstroke);
z16 = (z14--z15) intersectionpoint (z13--(0,y13));
z17 = (z14--z15) intersectionpoint (z13--(x13,h));

pickup pencircle scaled 2;
path supfour; supfour = z0--z1{down}..{right}z4--z5--z9--
	z8{right}..{up}z2--z11--z12--cycle;
path insidefour; insidefour = z16--z17--z13--cycle;
fill supfour shifted (0,-h/2);
unfill insidefour shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("5",0.7digwid#+ss#,cap#,0); "Superior digit 5";
italcorr(ex#*slant);

z0 = (7w/8,h);
z1 = (w/8,h);
z2 = z0 shifted (0,-3thinstroke);
z3 = z1 shifted (0,-4.5thinstroke);
z4 = z2 shifted (-thinstroke,0);
z5 = z4 shifted (0,thinstroke);
z6 = (w-ss/2,0.63h);
z7 = (w/2,h/2);
z8 = (ss/2,y6);
ulftbulb(8,9,10,11,12);
z13 = z7 shifted (0,thinstroke);
z14 = z6 shifted (-thickstroke,0);
z15 = z3 shifted (thinstroke,2.5thinstroke);
z16 = z3 shifted (thinstroke,thinstroke);

pickup pencircle scaled 2;
path supfive; supfive = z5--z4--z2--z0--z1--z3{right}..
	z14..z13..{dir 150}z11{right}..z10..z9..z8..z7..z6..
	{left}z16--z15--cycle;
fill supfive shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("7",0.7digwid#+ss#,cap#,0); "Superior digit 7";
italcorr(ex#*slant);

z0 = (ss/2,h);
z1 = (x0,y0-thickstroke-thinstroke);
z2 = z1 shifted (thinstroke,0);
z3 = z2 shifted (0,thinstroke);
z4 = (w-ss/2,y3);
z5 = (w-ss/2,h);
z6 = (w/2-thickstroke,h/2);
z7 = z6 shifted (thickstroke,0);
z8 = z4 shifted (-thinstroke,0);

path supsev; supsev = z6{up}..z8--z3--z2--z1--z0--z5--
	z4..{down}z7--cycle;
fill supsev shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("8",0.7digwid#+ss#,cap#,0); "Superior digit 8";
italcorr(ex#*slant);

z0 = (w/2,h);
z1 = z0 shifted (0,-thinstroke);
z2 = (w/2,3h/4+thinstroke);
z3 = z2 shifted (0,-thinstroke);
z4 = (w/2,h/2);
z5 = z4 shifted (0,thinstroke);
z6 = (w-ss/2,7h/8);
z7 = z6 shifted (-thickstroke,0);
z8 = (ss/2,7h/8);
z9 = z8 shifted (thickstroke,0);
z10 = (w-ss/2,5h/8);
z11 = z10 shifted (-thickstroke,0);
z12 = (ss/2,5h/8);
z13 = z12 shifted (thickstroke,0);

path upperloop; upperloop = z0..z6..z3..z8..cycle;
path unupperloop; unupperloop = z1..z7..z2..z9..cycle;
path lowerloop; lowerloop = z2..z10..z4..z12..cycle;
path unlowerloop; unlowerloop = z3..z11..z5..z13..cycle;

fill upperloop shifted (0,-h/2);
fill lowerloop shifted (0,-h/2);
unfill unupperloop shifted (0,-h/2);
unfill unlowerloop shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("0",0.7digwid#+1.4ss#,cap#,0); "Superior digit 0";
italcorr(ex#*slant);

z0 = (w/2,h);
z1 = (0.7ss,3h/4);
z2 = (w/2,h/2);
z3 = (w-0.7ss,3h/4);
z4 = z0 shifted (0,-thinstroke);
z5 = z3 shifted (-thickstroke,0);
z6 = z2 shifted (0,thinstroke);
z7 = z1 shifted (thickstroke,0);

path supzero; supzero = z0..z3..z2..z1..cycle;
path unsupzero; unsupzero = z4..z5..z6..z7..cycle;
fill supzero shifted (0,-h/2);
unfill unsupzero shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("6",0.7digwid#+ss#,cap#,0); "Superior digit 6";
italcorr(ex#*slant);

penpos0(thinl,90);
z0r = (2w/3,h);
penpos1(2thinl,180);
z1r = (ss+thinl,h/2+h/3);
penpos2(thickl,180);
z2r = (ss,5h/8);
penpos3(thinl,-90);
z3r = (w/2,h/2);
penpos4(thickl,0);
z4r = (w-ss,5h/8);
penpos5(thinl,90);
z5r = (w/2,0.8h);
penpos6(thinl,0);
z6l = z0l;
penpos7(thinl,-90);
z7l = z6l;
penpos8(thinl,180);
z8l = z7l;

penstroke (z5e..z2e..z3e..z4e..cycle) shifted (0,-h/2);
penstroke (z0e..z1e..z2e) shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("9",0.7digwid#+ss#,cap#,0); "Superior digit 9";
italcorr(ex#*slant);

penpos0(thinl,90);
z0r = (2w/3,h);
penpos1(2thinl,180);
z1r = (ss+thinl,h/2+h/3);
penpos2(thickl,180);
z2r = (ss,5h/8);
penpos3(thinl,-90);
z3r = (w/2,h/2);
penpos4(thickl,0);
z4r = (w-ss,5h/8);
penpos5(thinl,90);
z5r = (w/2,0.8h);
penpos6(thinl,0);
z6l = z0l;
penpos7(thinl,-90);
z7l = z6l;
penpos8(thinl,180);
z8l = z7l;

penstroke ((z5e..z2e..z3e..z4e..cycle) reflectedabout
	((0,3h/4),(w,3h/4))) shifted (0,-h/2);
penstroke ((z0e..z1e..z2e) reflectedabout
	((0,3h/4),(w,3h/4)) reflectedabout
	((w/2,h),(w/2,0))) shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("X",0.7digwid#+ss#,cap#,0); "Superior digit X";
italcorr(ex#*slant);

z0 = (w/2,h);
z1 = z0 shifted (0,-thinstroke);
z2 = (w-ss/2,5h/6);
z3 = z2 shifted (-thickstroke,0);
z4 = (ss/2,5h/6);
ulftbulb(4,5,6,7,8);
z9 = (z5--z7) intersectionpoint (z6--z4) shifted
	(thinstroke/2,thinstroke/2);
z10 = (ss/2,h/2);
z11 = z10 shifted (0,thickstroke/2);
z12 = (w-ss/2,y10);
z13 = (x12,y11+thinstroke);
z14 = z13 shifted (-thinstroke,0);
z15 = (x14,y11);
z16 = z11 shifted (thickstroke,0);

path suptwo; suptwo = z15--z14--z13--z12--z10--z11{dir 45}..
	z3..z1{left}..{dir -135}z5{right}..z6..z7..z4..z0..z2..
	{dir -135}z16--cycle;
fill suptwo rotatedaround ((w/2,3h/4),180) shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;

beginchar("E",0.7digwid#+ss#,cap#,0); "Superior digit E";
italcorr(ex#*slant);

z0 = (w/2,h);
z1 = z0 shifted (0,-thinstroke);
z2 = (w/2,h/2);
z3 = z2 shifted (0,thinstroke);
z4 = (w-ss/2,7h/8);
z5 = z4 shifted (-thickstroke,0);
z6 = (w-ss/2,5h/8);
z7 = z6 shifted (-thickstroke,0);
z8 = (ss/2,7h/8);
z9 = (ss/2,5h/8);
ulftbulb(8,10,11,12,13);
y10 := y10 - bulbsh/2;
z14 = z9 shifted (bulbsh,bulbsh);
z15 = z9 shifted (2bulbsh,0);
z16 = z9 shifted (bulbsh,-bulbsh);
y16 := y16 + bulbsh/2;
z17 = (x0-thinstroke,3h/4+thinstroke/2);
z18 = z17 shifted (0,-thinstroke);
z19 = 0.5[z17,z18] shifted (thickstroke,0);

path supthree; supthree = z8{up}..{right}z0{right}..
	{down}z4{down}..{left}z19{right}..{down}z6{down}..
	{left}z2{left}..{up}z9..z14..z15{down}..
	{left}z16{dir -30}..z3..z7..{left}z18--z17{right}..
	z5..z1..{dir -135}z10{right}..{down}z11..z12..cycle;
pickup pencircle scaled 2;
fill supthree rotatedaround ((w/2,3h/4),180) shifted (0,-h/2);

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51);
endchar;