-define_pixels(height,thick,thick,thin,hair);
-foot_top#:=thick#;
-foot_width#:=9/4thick#;
-define_pixels(foot_top,foot_width);
-define_pixels(kuulleke);
-
-def calc_kuulleke(expr w,alpha) =
- begingroup;
- save beta; beta=(alpha-90)/2;
- save gamma; gamma=(90+alpha)/2;
-
- penpos1(w/cosd(alpha),alpha);
- penpos2(hair,90+beta);
- z2=z1l+(1/2hair/tand((alpha+90)/2))*dir(beta);
-
- penpos3(hair,gamma-90);
- z3=z1r-(1/2hair/tand((90-alpha)/2))*dir(gamma);
- z4=z1+kuulleke*dir(alpha-90);
- endgroup;
- enddef;
-
-% should make generic macro?
-%
-def draw_foot(expr xpos) =
- begingroup;
- clearxy;
- penpos1(thick,0);
- z1=(xpos,foot_top);
- penpos2(foot_width,0);
- z2=(x1,0);
- penpos3(hair,-90);
- z3r=z2r;
- penpos4(hair,90);
- z4l=z2l;
- z5=(x1,kuulleke);
- fill z1..{right}z1r{down}..{right}z3l..z3r{left}..z5
- ..{left}z4l..z4r{right}..{up}z1l{right}..z1..cycle;
- endgroup;
- enddef;
-
-def draw_six =
- set_char_box(0, 2/3height#*widen, 0, height#);
- message "w:"&decimal w;
- message "h:"&decimal h;
-
- penpos1(thin,90);
- z1=(thick,h/2+thin-hair/2);
- penpos2(hair,90);
- z2=(w/2,y1);
- penpos3(7/8thick,0);
- % yup, should use the path fract [] "everywhere"
- z3r=(w,1/2[0,y1]);
- penpos4(hair,-90);
- z4r=(x2,0);
- penpos5(7/8thick,180);
- z5r=(0,y1);
- penpos6(hair,90);
- z6r=(w-9/8thick*flaren,h);
- penpos7(7/8thick,180);
- z7r=(0,h/2);
- penpos10(7/8thick,180);
- z10r=(0,y3);
- penlabels(1,2,3,4,5,6,7,8,9,10,11);
- save t; t=0.833;
- fill z5{right}..z2r{right}..tension t..z3r{down}
- ..tension t..z4r{left}
- ..tension t..z7r{up}..tension t..z6r{right}
- ..z6l{left}..tension t..z7l{down}..z10l{up}..cycle;
- draw_flare(z6r,0,-90,hair,thick*flaren);
- unfill z2l{right}..tension t..z3l{down}..tension t
- ..z4l{left}..tension t..z10l{up}..tension t..cycle;
- enddef;
-
-fet_beginchar("Numeral 0", "0", "zero")
-% set_char_box(0, 4/5height#*widen, 0, height#);
- set_char_box(0, 11/15height#*widen, 0, height#);
- message "w:"&decimal w;
- message "h:"&decimal h;
- penpos1(thin,90);
- z1r=(w/2,h);
- penpos2(thick,0);
- z2r=(w,h/2);
- penpos3(thin,-90);
- z3r=(w/2,0);
- penpos4(thick,180);
- z4r=(0,h/2);
- fill z1r..z2r..z3r..z4r..cycle;
- save t; t=1.2;
- unfill z1l..tension t..z2l..tension t..z3l
- ..tension t..z4l..tension t..cycle;
-fet_endchar;
-
-fet_beginchar("Numeral 1", "1", "one")
-% set_char_box(0, 19/30height#*widen, 0, height#);
- set_char_box(0, 1/2foot_width#+3/2thick#+1/2hair#, 0, height#);
- message "w:"&decimal w;
- message "h:"&decimal h;