font_size 10pt#; mode_setup; cap#:=8pt#; % height of bounding boxes em#:=9/7cap#; % M-width boldness:=1.2; % "boldness" line-weight factor ex#:=0.55cap#; % x-height o#:=1/4pt#; % distance curves extend above and below the bounding box curve_sidebar#:=1/18em#; % distance between edge of curve and bounding box stem_sidebar#:=1/15em#; % distance between center of stem and bounding box stem#:=1/12cap#*boldness; % width of vertical stems thick#:=1.1stem#; % width of thick curved segments thin#:=0.5thick#; % width of thin curved segments define_pixels(em,cap); define_blacker_pixels(thin,thick,stem); define_corrected_pixels(o); define_pixels(curve_sidebar,stem_sidebar); beginchar(1,6pt#, 6pt#, 0); "A squiggle"; pickup pencircle scaled 0.5pt; z1=(0,0); z2=(0,3/4h); z3=(w,3/4h); z4=(.5w,h); z5=(w,0); draw z4{dir -60}..tension 1/2..z5{left}..z3{dir 45} ..tension 2..z2{dir -45}..z1{left}..{dir 60}z4; penlabels(1,2,3,4,5); endchar; lll_spread:=1/3; lll_ctry:=2/5; lll_heavy:=0.5pt; lll_sep:=0.4pt; beginchar("<", 6pt#, 6pt#, 0); "Nested less-than sign"; pickup pencircle scaled lll_heavy; z1=(0+.5pt,lll_ctry*h); z2=z1+(w-1pt,lll_spread*h); z3=z1+(w-1pt,-lll_spread*h); draw z1--z2; draw z1--z3; y4=y1; x5=x6=x2; y5-y2=y3-y6; y5=y2-lll_heavy-lll_sep; x4=x1-(y5-y2)*(w-1pt)/(lll_spread*h); draw z4--z5; draw z4--z6; endchar; beginchar("I",stem#+2*stem_sidebar#,cap#,0); "The letter I"; penpos1(stem,15); penpos2(stem,12); penpos3(stem,10); x1=x2=x3=.5w; y1=h; y2=.55h; y3=0; x2l:=1/6[x2l,x2]; penstroke z1e..z2e{down}..z3e; penlabels(1,2,3); endchar; beginchar("g",em#,cap#,0); "A black rectangle"; z1=(0,0); z2=(em,0); z3=(em,cap); z4=(0,cap); fill z1--z2--z3--z4--cycle; penlabels(1,2,3,4); endchar; beginchar("M",em#,cap#,0); "The letter M"; penpos1(stem,15); penpos2(stem,12); penpos3(stem,10); penpos5(stem,15); penpos6(stem,12); penpos7(stem,10); penpos4(stem,10); penpos8(stem,45); x1=x2=x3; x5=x6=x7; x1l=w-x5r=stem_sidebar; y1=y5=h; y2=y6=.55h; y3=y7=0; x4=1/2[x3,x7]; y4=0; z8=0.55[z4,z1]; x2l:=1/6[x2l,x2]; x6l:=1/6[x6l,x6]; x8l:=1/6[x8l,x8]; penstroke z1e..z2e{down}..z3e; penstroke z5e..z6e{down}..z7e; penstroke z1e..z8e..z4e; penstroke z4e..z5e; penlabels(range 1 thru 8); endchar; beginchar("N",0.8em#,cap#,0); "The letter N"; penpos1(stem,15); penpos2(stem,12); penpos3(stem,10); penpos5(stem,15); penpos6(stem,12); penpos7(stem,10); penpos4(stem,45); x1=x2=x3; x5=x6=x7; x1l=w-x5r=stem_sidebar; y1=y5=h; y2=y6=.55h; y3=y7=0; z4=0.55[z7,z1]; x2l:=1/6[x2l,x2]; x6l:=1/6[x6l,x6]; x4l:=1/6[x4l,x4]; penstroke z1e..z2e{down}..z3e; penstroke z5e..z6e{down}..z7e; penstroke z1e..z4e..z7e; penlabels(range 1 thru 7); endchar; beginchar("O",0.9em#,cap#,0); "The letter O"; penpos1(thick,10); penpos2(.1[thin,thick],90-10); penpos3(thick,180+10); penpos4(thin,270-10); x1l=w-x3l=curve_sidebar; x2=x4=.5w; y1=.49h; y2l=-o; y3=.51h; y4l=h+o; penstroke z1e{down}..z2e{right} ..z3e{up}..z4e{left}..cycle; penlabels(1,2,3,4); endchar; font_quad em#; font_normal_space 1/3em#; font_normal_stretch 1/9em#; font_normal_shrink 1/12em#;