4 % Computer Modern Italic lower case:
5 % This lowercase italic alphabet was prepared by D. E. Knuth in December, 1979,
6 % inspired by the Monotype faces used in {\sl The Art of Computer Programming}.
7 % The programs were revised for the new \MF\ conventions in 1985.
9 % Character codes \0141 through \0172 are generated.
12 % cmchar "Italic letter f";
13 % beginchar("f",max(1.5u#,stem#)+max(3.5u#,2flare#),asc_height#,desc_depth#);
15 beginchar(incr num,max(1.5u#,stem#)+max(3.5u#,2flare#),asc_height#,desc_depth#);
16 italcorr asc_height#*slant+.75u#;
17 adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
18 numeric theta; z88=(.5w-.5u,h); z89=(.5w+.5u,-d); theta=angle(z88-z89);
19 pos0(flare,0); pos1(hair,0); pos2(vair,90);
20 pos3(.5[hair,stem],180); pos4(stem,theta+90);
21 pos5(stem,theta-90); pos6(.5[hair,stem],0);
22 pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
23 rt x1r=hround(w+.25u); lft x8r=hround-.35u; x2=.6[x1,x4]; x7=.6[x8,x5];
24 y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
25 % y4=.25[x_height,h]; y5=.5[-d,y4];
26 y4=x_height-.5bar; y5=y4;
27 z4=whatever[z88,z89]; z5=whatever[z88,z89];
28 x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
29 bulb(2,1,0); bulb(7,8,9); % bulbs
30 filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
31 filldraw z4r--z5l--z5r--z4l--cycle; % stem
32 filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower arc
33 pickup crisp.nib; pos20(bar,90); pos21(bar,90);
34 top y20r=top y21r=x_height;
35 %lft x20=lft x4r-.5stem-u; rt x21=rt x4l+.5stem+1.5u;
36 lft x20=lft x4r-.5stem-xbar; rt x21=rt x4l+.5stem+1.5xbar;
37 filldraw stroke z20e--z21e; % crossbar
38 math_fit(desc_depth#*slant+u#,x_height#*slant);
39 penlabels(0,1,2,3,4,5,6,7,8,9,20,21,88,89); endchar;