modernc.org/knuth@v0.0.4/mft/testdata/test.mf (about) 1 2 cmchar "Lowercase thorn"; 3 beginchar(oct"015",10u#+serif_fit#,asc_height#,desc_depth#); 4 italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#); 5 adjust_fit(serif_fit#,0); 6 pickup tiny.nib; pos1(stem',0); pos2(stem,0); 7 pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2; 8 lft x1l=hround(2.5u-.5stem'); top y1=h; 9 numeric edge; edge=rt x2r; 10 pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180); 11 pos4(vair',90); pos5(curve,0); pos6(vair,-90); 12 rt x3l=1/3[rt x2,edge]; y3=1/8[bar_height,x_height]; 13 x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo; 14 rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height; 15 x6=x3; bot y6r=-oo; 16 (x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x5r,x4]); 17 filldraw stroke z3e{up}...{right}z4e&super_arc.e(4,5) 18 &z5e{down}...{5(x6-x5),y6-y5}z6e; % bowl 19 y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l)); 20 pickup tiny.nib; bot y2=-d; 21 filldraw stroke z1e--z0'e--z0e--z2e; % stem 22 pickup crisp.nib; pos8(hair,0); pos7'(stem,0); 23 z7'=z2; x8l=x7'l; bot y8=0; 24 filldraw stroke z7'e--z8e; % point 25 if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif 26 dish_serif(2,0,b,1/3,jut,c,1/3,0); fi % lower serif 27 penlabels(0,1,2,3,4,5,6,8); endchar; 28 29