-fet_beginchar("Numeral 2", "2", "two")
- set_char_box(0, 11/15height#*widen, 0, height#);
- message "w:"&decimal w;
- message "h:"&decimal h;
- clearxy;
- save alpha; alpha=-45*widen;
- save beta; beta=85;
- save gamma; gamma=beta-10;
- save theta; theta=20/widen;
- penpos1(hair,90+beta);
- z1=(0,0)+(1/2sqrt(2)*hair)*dir(45);
- penpos3(hair,90+gamma);
- z3=(w,thick)+(1/2sqrt(2)*hair)*dir(-135);
- penpos2(thick,90+alpha);
- x2-x1=x3-x2; y2=11/16thick/widen;
- fill z1r{dir(beta)}..{dir(alpha)}z2r..{dir(gamma)}z3r
- ..z3l{dir(180+gamma)}..{dir(180+alpha)}z2l
- ..{dir(180+beta)}z1l..cycle;
-
- penpos4(thick,0);
- z4r=(w-thin/2,.72h);
- penpos5(thin,90);
- z5r=(1/2hair+flare,h);
- penlabels(1,2,3,4);
- penlabels(5,6);
- save t; t=tense;
- fill z1l{dir(beta)}..tension t..z4r{up}
- ..tension t..z5r{left}..z5l{right}
- ..z4l{down}..tension t
- ..{dir(180+beta)}z1r..cycle;
- draw_flare(z5r,180,90,thin,flare);
-fet_endchar;
-
-fet_beginchar("Numeral 3", "3", "three")
- set_char_box(0, 2/3height#*widen, 0, height#);
- message "w:"&decimal w;
- message "h:"&decimal h;
- penpos1(hair,-90);
- z1l=(17/16thick,h);
- penpos2(7/8thick,180);
- z2l=(w-thick/8,3/4h+thick/16);
- penpos3(thin,90);
- z3=(w/2,h/2+1/8thick);
- penpos4(thin,90);
- z4=(5/8thick+1/2thin,y3);
- penpos5(thick,0);
- z5r=(w,1/4h+thick/16);
- penpos6(hair,-90);
- z6r=(9/8thick,0);
- penpos7(3/2thin,90);
- z7=(x5,y3);
- penlabels(1,2,3,4,5,6,7);
- save alpha; alpha=25;
- save t; t=tense;
- fill z1l{right}..tension t..z2l{down}..z7r{dir(180+alpha)}
- ..z7l{dir(-alpha)}..z5r{down}..tension t..z6r{left}
- ..z6l{right}..tension t..z5l{up}
- ..tension t..z3l{left}..z4l{left}
- ..z4r{right}..z3r{right}..tension t..z2r{up}
- ..tension t..z1r{left}..cycle;
- draw_flare(z1l,180,90,hair,7/8flare);
- draw_flare(z6r,180,-90,hair,flare);
-fet_endchar;
-
-fet_beginchar("Numeral 4", "4", "four")
- set_char_box(0, 4/5height#*widen, 0, height#);
- message "w:"&decimal w;
- message "h:"&decimal h;
-
- save alpha; alpha=0;
- calc_kuulleke(3/2thick,alpha);
- z1r=(w-3/4thick,height);
-
- z5=(thin,1/4height+thin);
- save beta; beta=angle(z3r-z5);
- penpos6(thin,-90);
- z6l=z5;
- penpos7(thin,-90);
- y7=y6; x7=w-1/2thin;
- penpos8(thin,-alpha);
- z8r=z5;
- penlabels(1,2,3,4,5,6,7);
- save gamma; gamma=angle(length(z1r-z1),+2kuulleke);
- fill z2r{dir(alpha-gamma)}..z4..{dir(alpha+gamma)}z3l
- ..z3r{dir(180+beta)}..{dir(180+beta)}z8r{right}
- ..{right}z7l..z7r{left}..{left}z6r..z8l{dir(beta)}
- ..{up}z2l..cycle;
-
- clearxy;
-
- save alpha; alpha=beta;
- calc_kuulleke(thick,alpha);
- z1r=(w-3/4thick,height-(3/2thin)/cosd(alpha));
-
- penpos5(thick,0);
- z5=(x1,foot_top);
-
- save gamma; gamma=angle(length(z1r-z1),+2kuulleke);
- fill z2r{dir(alpha-gamma)}..z4..{dir(alpha+gamma)}z3l
- ..z3r{down}..{down}z5r{left}..z5..{left}z5l{up}
- ..{up}z2l..cycle;
- penlabels(1,2,3,4,5);
-
- draw_foot(x5);
-fet_endchar;
-
-fet_beginchar("Numeral 5", "5", "five")
- set_char_box(0, 7/10height#*widen, 0, height#);
- message "w:"&decimal w;
- message "h:"&decimal h;
- calc_kuulleke(w-thin,0);
- z1=(w/2+1/8thick,h);
- save alpha; alpha=0;
- penpos5(thin,0);
- z5l=(x1l,h-15/16thick);
- penpos6(hair,90-45);
- z6=z5r+1/2hair*dir(-45);
- penpos7(thin,0);
- z7l=(x1l,h/2+thin-hair);
- penlabels(1,2,3,4,5,6,7);
- save gamma; gamma=angle(length(z1r-z1),+2kuulleke);
- fill z2r{dir(alpha-gamma)}..z4..{dir(alpha+gamma)}z3l
- ..z3r{dir(-135)}..{left}z6r..z6l{down}..z7r{down}
- ..z7l{up}..{up}z2l..cycle;
- penpos8(thin,90);
- z8l=(x7r,y7r-1/16thick);
- penpos9(thin,90);
- z9=(x11+3/16thick,10/16[y5,y7]);
- penpos10(thick,0);
- z10r=(w,1/2[y9r,y11r]);
- penpos11(hair,-90);
- z11r=(9/8thick,0);
- penlabels(8,9,10,11);
- save beta; beta=45;
- save t; t=tense;
- fill z8r{dir(beta)}..z9r{right}..tension t..z10r{down}
- ..tension t..z11r{left}
- ..z11l{right}..tension t..z10l{up}..tension t
- ..z9l{left}..z8l{dir(180+beta+10)}..cycle;
- draw_flare(z11r,180,-90,hair,flare);
-fet_endchar;
-
-fet_beginchar("Numeral 6", "6", "six")
- draw_six;
-fet_endchar;