% +AMDG This document was begun on 15 August 2007, the % Feast of the Assumption of the Blessed Virgin Mary, and it % is humbly offered to her for her prayers, and to the % Sacred Heart of Jesus for His mercy. picture capo; picture capa; picture capl; picture capc; picture capd; picture cape; picture capg; picture capn; picture capu; picture capr; picture caps; picture capt; picture capy; picture capz; picture capi; def ulftbulb(suffix i,j,k,l,m) = z.j=z.i shifted (bulbsh,bulbsh); z.k=z.j shifted (bulbsh,-bulbsh); z.l=z.k shifted (-bulbsh,-bulbsh); enddef; %%%FFF Fix W, M, A from dependence on stroke widths FFF%%% %%%% Define Lower Right Serif on Caps %%%% def lrserif(suffix i,j,k,l,m)(expr strokewidth) = if strokewidth = 1: z.j=z.i+(lserw/3,-lserc/2); z.k=z.i+(lserw,-lserc); z.l=z.k-(0,lserstep); z.m=z.l-(lserw+thickstroke/2,0); elseif strokewidth = 2: z.j=z.i+(lserw/3,-lserc/2); z.k=z.i+(lserw+equalize/2,-lserc); z.l=z.k-(0,lserstep); z.m=z.l-(lserw+thickstroke/2,0); fi enddef; %%%% Define Lower Left Serif on Caps %%%% def llserif(suffix i,j,k,l,m)(expr strokewidth) = if strokewidth = 1: z.j=z.i-(lserw/3,lserc/2); z.k=z.i-(lserw,lserc); z.l=z.k-(0,lserstep); z.m=z.l+(lserw+thickstroke/2,0); elseif strokewidth = 2: z.j=z.i-(lserw/3,lserc/2); z.k=z.i-(lserw+equalize/2,lserc); z.l=z.k-(0,lserstep); z.m=z.l+(lserw+thickstroke/2,0); fi enddef; %%%% Define Upper Right Serif on Caps %%%% def urserif(suffix i,j,k,l,m)(expr strokewidth) = if strokewidth = 1: z.j=z.i+(userw/3,lserc/2); z.k=z.i+(userw,userc); z.l=z.k+(0,userstep); z.m=z.l-(userw+thickstroke/2,0); elseif strokewidth = 2: z.j=z.i+(userw/3,lserc/2); z.k=z.i+(userw+equalize/2,userc); z.l=z.k+(0,userstep); z.m=z.l-(userw+thickstroke/2,0); fi enddef; %%%% Define Upper Left Serif on Caps %%%% def ulserif(suffix i,j,k,l,m)(expr strokewidth) = if strokewidth = 1: z.j=z.i+(-userw/3,lserc/2); z.k=z.i+(-userw,userc); z.l=z.k+(0,userstep); z.m=z.l+(userw+thickstroke/2,0); elseif strokewidth = 2: z.j=z.i+(-userw/3,lserc/2); z.k=z.i+(-(userw+equalize/2),userc); z.l=z.k+(0,userstep); z.m=z.l+(userw+thickstroke/2,0); fi enddef; %%%% Define T Side Serifs on Caps %%%% def tlsideserif(suffix i,j,k,l,m) = z.j=z.i+(0,seriftail); z.k=z.j-((userh/2),0); z.l=z.k-(userh/2,1.5userw); z.m=z.l+(userh/2,0); enddef; def trsideserif(suffix i,j,k,l,m) = z.j=z.i+(0,seriftail); z.k=z.j+((userh/2),0); z.l=z.k+(userh/2,-1.5userw); z.m=z.l-(userh/2,0); enddef; %%%% Define C Side Serifs on Caps %%%% def ctsideserif(suffix i,j,k,l,m,n)(expr topbot) = z.j=z.i+(0,userw/2); z.k=z.j+(userh,0); z.l=z.k-(0,2userw); z.m=z.l-(userh,0); if topbot = 1: path topserif; topserif = z.i---z.j..tension 2..z.k---z.l..tension 2..z.m---z.n; elseif topbot = 2: path botserif; botserif = z.i---z.j..tension 2..z.k---z.l..tension 2..z.m---z.n; fi; enddef; def ctbackserif(suffix i,j,k,l,m,n)(expr topbot) = z.j=z.i+(0,userh/2); z.k=z.j-(userh,0); z.l=z.k+(0,-2userw); z.m=z.l+(userh,0); if topbot = 1: path toplftserif; toplftserif = z.i---z.j..tension 2..z.k---z.l..tension 2..z.m---z.n; elseif topbot = 2: path botlftserif; botlftserif = z.i---z.j..tension 2..z.k---z.l..tension 2..z.m---z.n; fi; enddef; %%%% Define L, E, Z, and F side serifs on Caps %%%% def upsideserif(suffix i,j,k) = z.j=z.i+(ssslant,2lserw); z.k=z.j-(lserh,lserw); enddef; def downsideserif(suffix i,j,k) = z.j=z.i+(ssslant,-2lserw); z.k=z.j+(-lserh,lserw); enddef; def lftdownsideserif(suffix i,j,k) = z.j=z.i-(ssslant,2lserw); z.k=z.j+(lserh,lserw); enddef; beginchar("I",thickstroke#+2lserw#+2ss#,cap#,0); "The Letter I"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+userw,h-userh); z4 = z3 shifted (thickstroke,0); lrserif(2,9,10,11,25)(1); llserif(1,12,13,14,26)(1); urserif(4,15,16,17,27)(1); ulserif(3,18,19,20,28)(1); path capeye; capeye = z14--z11--z10..z9..z2--z4..z15..z16--z17--z20--z19.. z18..z3--z1..z12..z13--z14--cycle; fill capeye; capi := currentpicture; penlabels(1,2,3,4,9,10,11,12,13,14,15,16,17,18,19,20,25); endchar; beginchar("O",5em#/6+2ss#,cap#,0); "The Letter O"; italcorr(ex#*slant); z1=(ss,h/2); z2=(w/2,h+o); z3=(w-ss,h/2); z4=(w/2,0-o); z5=z1 shifted (curvwid,0); z6=z2 shifted (0,-thinstroke); z7=z3 shifted (-curvwid,0); z8=z4 shifted (0,thinstroke); path fillo; path unfillo; fillo = z4..z3..z2..z1..cycle; unfillo = z5..z6..z7..z8..cycle; fill fillo; unfill unfillo; capo := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17); endchar; beginchar("A",em#+2ss#,cap#,0); "The Letter A"; italcorr(ex#*slant); crossh = 1/phi; z1 = (ss+lserw,lserh); z2 = z1 shifted (thinstroke,0); z3 = (w-ss-lserw,lserh); z4 = z3 shifted (-thickstroke,0); z5 = (w/2+thickstroke/2,h+o); z6 = z5 shifted (-thickstroke,0) rotatedaround (z5,30); lrserif(3,7,8,9,10)(1); llserif(4,11,12,13,14)(1); lrserif(2,15,16,17,18)(1); llserif(1,19,20,21,22)(1); z23 = crossh[z6,z1]; z24 = z23 shifted (thinstroke,0); z25 = (w,y23); z26 = letaa[z23,z25]; z26 = letab[z3,z5]; z27 = z26 shifted (-thickstroke,0); z28 = 0.9[z27,z6]; z29 = 0.1[z27,z28]; z30 = 0.1[z24,z28]; fill z3--z5--z6--z1..z19..z20--z21--z17--z16..z15..z2 --z24--z27--z4..z11..z12--z13--z9--z8..z7..cycle; unfill z30--z28--z29--cycle; capa := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36); endchar; beginchar("J",0.38em#+2ss#,cap#,dep#); "The Letter J"; italcorr(ex#*slant); z1 = ((w/2-(thickstroke/2)),-lserh); z2 = ((w/2+(thickstroke/2)),-lserh); z3 = ((w/2-(thickstroke/2)),(h-userh)); z4 = ((w/2+(thickstroke/2)),(h-userh)); z5 = (x3-userw,-dep); z6 = z5 shifted (0,thinstroke); z8 = z5 shifted (-userw,dep/2); z7 = z8 shifted (-thinstroke,0); z9 = (x8,-dep/4); z10 = 0.5[z8,z9] shifted (thickstroke/2,0); urserif(4,15,16,17,27)(1); ulserif(3,18,19,20,28)(1); fill z9..z7{down}..{right}z5{right}..{up}z2--z4..z15.. z16--z17--z20--z19..z18..z3--z1{down}..{left}z6{left}.. {up}z8{down}..{up}z10{up}..z9..cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,25); endchar; beginchar("Q",em#+2ss#,cap#,dep#+thickstroke#/2); "The Letter Q"; italcorr(ex#*slant); depth=6d/8; qtailunit=em/2.5; z1=(ss,h/2); z2=(w/2,h+o); z3=(w-ss,h/2); z4=(w/2,0); z5=z1+(curvwid,0); z6=z2-(0,thinstroke); z7=z3-(curvwid,0); z8=z4+(0,thinstroke); z9=z4+(curvwid/2,0); z10=z4-(curvwid/2,0); z11=(em+qtailunit+thickstroke,-depth); z12=(em+2qtailunit,-depth); z13=z12+(qtailunit,depth/2); z14=z12+(0,2thickstroke/3); z15=(em+qtailunit,-depth+thickstroke); pickup pencircle; path outerring; outerring=z9..z3..z2..z1..z10; path innerring; innerring=z8..z5..z6..z7..cycle; path bottomqtail; bottomqtail=z10..tension 1.7..z11{right}..{right}z12..z13; path topqtail; topqtail=z13..tension 1.5..z14..tension 1.5..z15..z9; unfill innerring; fill outerring & bottomqtail & topqtail..cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17); endchar; beginchar(oct"137",em#+2ss#,cap#,dep#+thickstroke#/2); "Short-tailed Q"; italcorr(ex#*slant); shortqtail := 0pt; z1=(ss,h/2); z2=(w/2,h+o); z3=(w-ss,h/2); z4=(w/2,0); z5=z1+(curvwid,0); z6=z2-(0,thinstroke); z7=z3-(curvwid,0); z8=z4+(0,thinstroke); z9=z4+(curvwid/2,0); z10=z4-(curvwid/2,0); z11 = (x9+thickstroke,-d); z12 = z11 shifted (0,thickstroke); z13 = (w-ss,-d/2); pickup pencircle; path souterring; souterring=z9..z3..z2..z1..z10; path sinnerring; sinnerring=z8..z5..z6..z7..cycle; path shortqtail; shortqtail=z10{down}..tension 1.7..z11{right}..{up}z13; path topsqtail; topsqtail=z13..tension 1.5..z12..tension 1.5..z9; unfill sinnerring; fill souterring & shortqtail & topsqtail..cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17); endchar; beginchar("H",em#+2ss#,cap#,0); "The Letter H"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+userw,h-userh); z4 = z3 shifted (thickstroke,0); z5 = (w-ss-lserw-thickstroke,lserh); z6 = z5 shifted (thickstroke,0); z7 = (w-ss-lserw-thickstroke,h-lserh); z8 = z7 shifted (thickstroke,0); z46=(0.5)[z4,z2]; z47=z46+(0,thinstroke/2); z48=z46-(0,thinstroke/2); z49=(0.5)[z7,z5]; z50=z49+(0,thinstroke/2); z51=z49-(0,thinstroke/2); lrserif(2,9,10,11,25)(1); llserif(1,12,13,14,26)(1); urserif(4,15,16,17,27)(1); ulserif(3,18,19,20,28)(1); lrserif(6,30,31,32,33)(1); llserif(5,34,35,36,37)(1); urserif(8,38,39,40,41)(1); ulserif(7,42,43,44,45)(1); fill z36--z32--z31..z30..z6--z8..z38..z39--z40--z44-- z43..z42..z7--z50--z47--z4..z15..z16--z17--z20-- z19..z18..z3--z1..z12..z13--z14--z11--z10..z9..z2 --z48--z51--z5..z34..z35--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("D",5em#/6+2ss#,cap#,0); "The Letter D"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+userw,h-userh); z4 = z3 shifted (thickstroke,0); z13 = (x4,h); z14 = (x4,h-thinstroke); z15 = (w-ss,h/2); z16 = z15-(curvwid,0); z17 = (x2,0); z18 = z17+(0,thinstroke); z19 = (w/2,h); z20 = z19-(0,thinstroke); z21 = (w/2,0); z22 = z21+(0,thinstroke); llserif(1,5,6,7,8)(1); ulserif(3,9,10,11,12)(1); fill z17{right}..{right}z21..z15..{left}z19{left}..{left}z13--z11--z10..z9..z3--z1..z5..z6--z7--z17--cycle; unfill z18{right}..{right}z22..z16..{left}z20{left}..{left}z14--z18--cycle; capd := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("P",2em#/3+2ss#,cap#,0); "The Letter P"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+userw,h-userh); z4 = (x3 + thickstroke,h-thinstroke); z17=((ss+(thickstroke/2)+lserw),h); z18=(w/2,h); z19=(w/2,h-thinstroke); z20 = (w-ss,3h/4); z21 = z20 shifted (-curvwid,0); z22=(x18,h/2); z23=z22+(0,thinstroke); z30=(x4,0); z26 = z2 shifted (0,-lserh); z27 = z4 shifted (0,thinstroke); z24 = 0.5[z26,z27]; z25 = z24 shifted (0,thinstroke); llserif(1,5,6,7,8)(1); lrserif(2,13,14,15,16)(1); ulserif(3,9,10,11,12)(1); fill z18--z17--z12--z11--z10..z9..z3--z1..z5..z6-- z7--z8--z15--z14..z13..z2--z24..z22..z20..{left}z18..cycle; unfill z25{right}..{right}z23..z21..z19{left}..{left}z4--z25--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,2223,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("B",3em#/4+2ss#,cap#,0); "The Letter B"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = (x1+thickstroke,thinstroke); z3 = (ss+userw,h-userh); z4 = (x3+thickstroke,h-thinstroke); z30=(x4,0); z40 = z4 shifted (0,thinstroke); z25 = 0.5[z30,z40] shifted (0,thinstroke); z32 = z25 shifted (0,-thinstroke); z24 = 0.5[z25,z32]; z17=((ss+(thickstroke/2)+lserw),h); z18=(w/2,h); z19=(w/2,h-thinstroke); z20 = (w-ss-2o,3h/4); z21=z20-(curvwid,0); z23=z22+(0,thinstroke/2); z26 = z32 shifted (loopgap,0); z27 = (w-ss,h/4); z28=z27-(1.1curvwid,0); z29=(x18,0); z31=z29+(0,thinstroke); z33=z22-(0,thinstroke/2); z34 = z25 shifted (loopgap,0); z22 = 0.5[z34,z26]; llserif(1,5,6,7,8)(1); ulserif(3,9,10,11,12)(1); path stemtoploop; stemtoploop = z33{right}..{up}z20{up}..{left}z18{left}..z40--z11--z10..z9..z3--z1..z5..z6--z7--z29; path stembotloop; stembotloop = z30..{right}z29{right}..{up}z27{up}..{left}z34--z33; path topinncirc; topinncirc = z25{right}..{right}z23..{up}z21{up}..{left}z19{left}..{left}z4--z25..cycle; path botinncirc; botinncirc = z2..{right}z31{right}..{up}z28{up}..z33{left}..{left}z32--cycle; fill stembotloop & stemtoploop..cycle; unfill topinncirc; unfill botinncirc; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("R",5em#/6+2ss#,cap#,0); "The Letter R"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+userw,h-userh); z4 = (x3+thickstroke,h-thinstroke); z17=((ss+(thickstroke/2)+lserw),h); z19 = z4 shifted (loopgap,0); z18 = z19 shifted (0,thinstroke); z20=(w-ss-thickstroke,3h/4); z21=z20-(curvwid,0); z22 = z24 shifted (loopgap,0); z23 = z22 shifted (0,thinstroke); z30=(x4,0); z24=0.5[z30,z17]; x24 := x4; z25=z24+(0,thinstroke); z26=(w-thickstroke-lserw/2,0); z27=z26+(lserw+lserstep,0); z28=z27+(0,lserstep); z29=z28-(lserstep,0); z32=z22+(thickstroke,0); z31=(1/thickstroke)[z32,z4]; llserif(1,5,6,7,8)(1); lrserif(2,13,14,15,16)(1); ulserif(3,9,10,11,12)(1); fill z18--z17--z12--z11--z10..z9..z3--z1..z5..z6--z7--z8--z15--z14..z13..z2--z24--z22---z26--z27--z28--z29--z31{right}..{up}z20{up}..{left}z18..cycle; unfill z25{right}..{right}z23..z21..z19{left}..{left}z4--z25--cycle; capr := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("M",em#+2ss#,cap#,0); "The Letter M"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thinstroke,0); z3 = (ss+userw,h-userh); z4 = z3 shifted (thinstroke,0); z5 = (w/2-thickstroke/3,0); z6 = (w-ss-lserw,lserh); z7 = z6 shifted (-thickstroke,0); z8 = (w-ss-userw,h-userh); z9 = z8 shifted (-thickstroke,0); z14 = z13 shifted (-2thickstroke/3,0); z23 = 0.22[z5,z9]; z28 = 0.1[z23,z29]; %z28 = z23 shifted (-thinstroke/2,thinstroke/2); z29=z27+(2curvwid/3,0); urserif(8,10,11,12,13)(1); lrserif(6,15,16,17,18)(1); llserif(7,19,20,21,22)(1); ulserif(3,24,25,26,27)(1); llserif(1,30,31,32,33)(2); lrserif(2,34,35,36,37)(2); fill z5--z9--z7..z19..z20--z21--z17--z16..z15..z6--z8..z10..z11--z12--z14--z28--z29--z26--z25..z24..z3--z1..z30..z31--z32--z36--z35..z34..z2--z4--z5--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("U",5em#/6+2ss#,cap#,0); "The Letter U"; italcorr(ex#*slant); z1=(ss+userw,h-userh); z2=z1+(thickstroke,0); z3=z1-(0,2h/3); z4=z3+(thickstroke,0); z5=(w-ss-userw,h-userh); z6=z5 shifted (-thinstroke,0); z7=z5-(0,2h/3); z8=z7-(thinstroke,0); z9=(w/2,0); z10=z9+(0,.5thickstroke); ulserif(1,11,12,13,14)(1); urserif(2,15,16,17,18)(1); ulserif(6,19,20,21,22)(1); urserif(5,23,24,25,26)(1); fill z3..{right}z9{right}..z7---z5..z23..z24--z25--z21--z20..z19..z6--z8{down}..{left}z10{left}..z4--z2..z15..z16--z17--z13--z12..z11..z1---z3---cycle; capu := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("V",5em#/6+2ss#,cap#,0); "The Letter V"; italcorr(ex#*slant); z1=(ss+userw,h-userh); z2=z1+(slantwid,0); z3=z1-(0,2h/3); z4=z3+(thickstroke,0); z5=(w-ss-userw,h-userh); z6=z5-(thinstroke,0); z7=z5-(0,2h/3); z8=z7-(thinstroke,0); z9=(w/2,-o); z30=0.25[z9,z5]; z40 = z9 shifted (-thinstroke,0); z41 = z9 shifted (thickstroke,0); z10 = (z2--z41) intersectionpoint (z6--z40); ulserif(1,11,12,13,14)(1); urserif(2,15,16,17,18)(1); ulserif(6,19,20,21,22)(1); urserif(5,23,24,25,26)(1); fill z9--z5..z23..z24--z25--z21--z20..z19..z6--z10--z2..z15..z16--z17--z13--z12--z11..z1--z9--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("T",5em#/6+2ss#,cap#,0);"The Letter T"; italcorr(ex#*slant); seriftail=userw/5; z1=(ss+userh,h); z2=z1-(0,thinstroke); z3=(w-ss-userh,h); z4=z3-(0,thinstroke); z5=(w/2-thickstroke/2,y2); z6=(w/2+thickstroke/2,y2); z7=(x5,lserh); z8=z7+(thickstroke,0); llserif(7,9,10,11,12)(1); lrserif(8,13,14,15,16)(1); tlsideserif(1,17,18,19,20); trsideserif(3,21,22,23,24); pickup cappen; path tpath; tpath = z7..z9..z10--z11--z15--z14..z13..z8--z6--z4---{down}z24..z23..tension 2..{up}z22{left}..{left}z21{down}..z3--z1..z17{left}..{left}z18{down}..tension 2..z19..z20{up}---z2--z5--z7--cycle; fill tpath; capt := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("W",2ss#+2thickstroke#+thinstroke#+6userw#+2hair#,cap#,0);"The Letter W"; italcorr(ex#*slant); bottompoints=(w-2ss)/3; z1 = (ss+userw,h-userh); z2 = z1 shifted (thickstroke,0); z3 = z2 shifted (userw+hair+userw,0); z4 = z3 shifted (thickstroke,0); z5 = z4 shifted (userw+hair+userw+thinstroke,0); z6 = z5 shifted (-thinstroke,0); z7 = (w/3+thinstroke/2,-o); z8 = (2w/3+thinstroke/2,-o); z33=(w/2,3h/4); z34=z8+(.4thinstroke,2.2thickstroke); z35=z7+(0.4thinstroke,2.2thickstroke); z36=0.96[z8,z3]; ulserif(1,9,10,11,12)(1); urserif(2,13,14,15,16)(1); ulserif(3,17,18,19,20)(1); urserif(4,21,22,23,24)(1); ulserif(6,25,26,27,28)(1); urserif(5,29,30,31,32)(1); fill z8--z5..z29..z30--z31--z27--z26..z25..z6--z34--z4..z21..z22--z23--z19--z18..z17..z3--z36--z35--z2..z13..z14--z15--z11--z10..z9..z1--z7--z33--z8--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("N",5em#/6+2ss#,cap#,0); "The Letter N"; italcorr(ex#*slant); z1 = (ss+userw,h-userh); z2=z1+(thinstroke,-0.3thickstroke); z3 = (ss+lserw,lserh); z4=z3+(thinstroke,0); z5=(w-ss-userw,h-userh); z6=z5-(thinstroke,0); z7=(w-ss-userw,-o); z29=z27+(thickstroke/2,0); llserif(3,8,9,10,11)(1); lrserif(4,12,13,14,15)(1); ulserif(6,16,17,18,19)(1); urserif(5,20,21,22,23)(1); ulserif(1,24,25,26,27)(1); z28 = (z6--(z7 shifted (-thinstroke,0))) intersectionpoint (z29--(x21,y7)); fill z7--z5..z20..z21--z22--z18--z17..z16..z6--z28--z29--z27--z26--z25..z24..z1--z3..z8..z9--z10--z14--z13..z12..z4--z2--z7--cycle; capn := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("C",5em#/6+ss#,cap#,0); "The Letter C"; italcorr(ex#*slant); z1=(w-ss-userh,h-userh); z2=z1-(0,thickstroke); z3=(w-ss-userh,userh); z4=z3+(0,thickstroke); z5=(w/2,h+o); z6=z5-(0,thinstroke); z7=(w/2,0); z8=z7+(0,thinstroke); z9=(ss,h/2+o); z10=z9+(curvwid,0); ctsideserif(1,11,12,13,14,2)(1); ctsideserif(4,15,16,17,18,3)(2); pickup cappen; path cbody; cbody=z3..{left}z7{left}..{up}z9{up}..{right}z5{right}..z1; path cinbody; cinbody=z2..z6..z10..z8..z4; fill cinbody & botserif & cbody & topserif & cycle; capc := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("G",em#+2ss#,cap#,0); "The Letter G"; italcorr(ex#*slant); z1=(w-ss-userw-thickstroke/2,h-userh); z2=z1-(0,thickstroke); z3=(w-ss-userw,2userh); z5=(w/2,h+o); z6=z5-(0,thinstroke); z7=(w/2,0); z8=z7+(0,thinstroke); z9=(ss,h/2); z10=z9+(curvwid,0); z4=z3-(thickstroke,0); z11=(x3,h/2-userh); z12=z11-(thickstroke,0); ulserif(12,15,16,17,18)(1); urserif(11,19,20,21,22)(1); ctsideserif(1,23,24,25,26,2)(1); path gbody; gbody = z17--z21--z20..z19..z11--z3..{left}z7{left}..{up}z9{up}..{right}z5{right}..z1; path ginbody; ginbody = z2..{left}z6{left}..{down}z10{down}..{right}z8{right}..z4--z12..z15..z16--z17; fill gbody & topserif & ginbody & cycle; capg := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("L",5em#/6+2ss#,cap#,0); "The Letter L"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = (x1+thickstroke,thinstroke); z3 = (ss+userw,h-userh); z4 = z3 shifted (thickstroke,0); z5=(x4,thinstroke); z6=(w-ss-ssslant,0); z30=z6+(-thickstroke,thinstroke); upsideserif(6,7,29); llserif(1,12,13,14,26)(1); urserif(4,15,16,17,27)(1); ulserif(3,18,19,20,28)(1); path capell; capell = z5--z4..z16..z16--z17--z20--z19..z18..z3-- z1..z12..z13--z14--z6--z7..z29..z30--z2--z5--z4--cycle; fill capell; capl := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("E",5em#/6+2ss#,cap#,0); "The Letter E"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+lserw,h-lserh); z4 = (x3+thickstroke,h-thinstroke); z5=(x4,thinstroke); z6=(w-ss-ssslant,0); z30=z6+(-thickstroke,thinstroke); z8=(x6,h); z9=(x30,h-thinstroke); upsideserif(6,7,29); downsideserif(8,10,11); z15=.5[z4,z5]; z16=z15+(0,thinstroke/2); z17=z16-(0,thinstroke); z21=(w/2,y16); z22=(w/2,y17); z23=z21+(1.5ssslant,lserw/2); z24=z23+(ssslant,lserw); z25=z22+(1.5ssslant,-lserw/2); z27=z25+(ssslant,-lserw); draw z21--z24; llserif(1,12,13,14,26)(1); ulserif(3,18,19,20,28)(1); fill z1--z3..z18..z19--z20--z8--z10---z11..{left}z9--z4--z16--z21..z23..z24--z27..z25..z22--z17--z5--z30{right}..z29---z7--z6--z14--z13..z12..z1..cycle; cape := currentpicture; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("F",5em#/6+2ss#,cap#,0); "The Letter F"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+userw,h-userh); z4 = (x3+thickstroke,h-thinstroke); z5=(x4,lserh); z6=(w-ss-ssslant,0); z30=z6+(-thickstroke,thinstroke); z8=(x6,h); z9=(x30,h-thinstroke); upsideserif(6,7,29); downsideserif(8,10,11); z15=.5[z4,z5]; z16=z15+(0,thinstroke/2); z17=z16-(0,thinstroke); z21=(w/2,y16); z22=(w/2,y17); z23=z21+(1.5ssslant,lserw/2); z24=z23+(ssslant,lserw); z25=z22+(1.5ssslant,-lserw/2); z27=z25+(ssslant,-lserw); draw z21--z24; llserif(1,12,13,14,26)(1); lrserif(5,31,32,33,34)(1); ulserif(3,18,19,20,28)(1); fill z5--z17--z22..z25..z27--z24..z23..z21--z16--z4--z9..z11..z10--z8--z20--z19..z18..z3--z1..z12..z13--z14--z33--z32..z31..z5..cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("K",5em#/6+2ss#,cap#,0); "The Letter K"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+userw,h-userh); z4 = z3 shifted (thickstroke,0); z17=z3 shifted (thickstrike,0); z22=z2 shifted (0,h/2+thinstroke-lserh); z23=z2 shifted (0,h/2-lserh); z24=(w-userw-ss,h); z25=z24 shifted (-thinstroke/2-thinstroke,-userh); z30=z25 shifted (thinstroke,0); z35=0.08[z23,z30]; z46=0.28[z23,z30]; z37 = (w-ss-lserw,lserh); z36 = z37 shifted (-thickstroke,0); llserif(1,5,6,7,8)(1); lrserif(2,13,14,15,16)(1); ulserif(3,9,10,11,12)(1); urserif(4,18,19,20,21)(1); ulserif(25,26,27,28,29)(1); urserif(30,31,32,33,34)(1); lrserif(37,38,39,40,41)(1); llserif(36,42,43,44,45)(1); fill z1..z5..z6--z7--z16--z15--z14..z13..z2--z23--z35--z36..z42..z43--z44--z40--z39..z38..z37--z46--z23--z30..z31..z32--z33--z28--z27..z26..z25--z22--z4..z18..z19--z20--z21--z11--z10..z9..z3--z1--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("Y",5em#/6+2ss#,cap#,0); "The Letter Y"; italcorr(ex#*slant); z0 = (w/2-thickstroke/2,h/2); z1 = (w/2+thickstroke/2,h/2); z2 = (ss+userw,h-userh); z3 = z2 shifted (thickstroke,0); z4 = (w-ss-userw,h-userh); z5 = z4 shifted (-thinstroke,0); z6 = (w/2-thickstroke/2,lserh); z7 = (w/2+thickstroke/2,lserh); z8 = 0.8[z0,z1] shifted (0,lserh/2); lrserif(7,14,15,16,17)(1); llserif(6,10,11,12,13)(1); ulserif(2,18,19,20,21)(1); urserif(3,22,23,24,25)(1); ulserif(5,26,27,28,29)(1); urserif(4,30,31,32,33)(1); penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); path capwhy; capwhy = z0--z6..z10..z11--z12--z16--z15..z14..z7--z1--z4..z30..z31--z32--z24--z28--z27..z26..z5--z8--z3..z22..z23--z24--z20--z19..z18..z2--z0--cycle; fill capwhy; capy := currentpicture; endchar; beginchar("Z",5em#/6+2ss#,cap#,0); "The Letter Z"; italcorr(ex#*slant); z0 = (ss+ssslant,h); z1 = (w-ss,h); z3 = (ss,0); z4 = (w-ss-ssslant,0); z9 = z0 shifted (lserw,-thinstroke); z10 = z1 shifted (-1.2curvwid,-thinstroke); z11 = z3 shifted (1.2curvwid,thinstroke); z12 = z4 shifted (-lserw,thinstroke); lftdownsideserif(0,5,6); upsideserif(4,7,8); fill z1--z0--z5..z6..z9--z10--z3--z4--z7..z8..z12--z11--z1--cycle; capz := currentpicture; penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("S",(3(em#+2ss#)/4),cap#,0); "The Letter S"; italcorr(ex#*slant); z0 = (w/2,h+o/2); z1 = (w/2,0-o/2); z2 = (w-ss-userh-o,h-userh); z3 = (w-ss,h/4); z4 = (ss,3h/4); z5 = (ss+userh-o,userh+thickstroke+o); z14 = z0 shifted (0,-thinstroke); z15 = z1 shifted (0,thinstroke); z16 = z4 shifted (curvwid,0); z17 = z3 shifted (-curvwid,0); z18 = z2 shifted (0,-thickstroke); z19 = z11 shifted (0,-thickstroke); z20 = z5 shifted (0,-thickstroke); z21 = z18 shifted (0,-userw/2); z22 = z21 shifted (userh,0); z23 = z22 shifted (0,2userw); z24 = z23 shifted (-userh,0); z25 = (w/2,h/2+1.2thinstroke/2); z26 = (w/2,h/2-1.2thinstroke/2); ctbackserif(5,10,11,12,13,20)(2); pickup pencircle scaled 1; path outcurves; path incurves; path toprt; outcurves = z2..tension 1.1..z0..tension 1.1..z4..z26..z17..z15..tension 1.1..z5; incurves = z20..tension 1.1..z1..tension 1.1..z3..z25..z16..z14..tension 1.1..z18; toprt = z18---z21..tension 2..z22---z23..tension 2..z24---z2; fill outcurves & botlftserif & incurves & toprt & cycle; caps := currentpicture; penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar("X",5em#/6+2ss#,cap#,0); "The Letter X"; italcorr(ex#*slant); z0 = (w/2,h/2); z1 = (ss+userw,h-userh); z2 = (w-ss-userw,h-userh); z3 = (ss+lserw,lserh); z4 = (w-ss-lserw,lserh); z5 = z1 shifted (slantwid,0); z6 = z4 shifted (-slantwid,0); z7 = z2 shifted (-thinstroke,0); z8 = z3 shifted (thinstroke,0); z41 = aa[z1,z6]; z41 = ab[z7,z3]; z42 = ac[z5,z4]; z42 = ad[z7,z3]; z43 = ae[z8,z2]; z43 = af[z6,z1]; z44 = ag[z8,z2]; z44 = ah[z5,z4]; ulserif(1,9,10,11,12)(1); urserif(5,13,14,15,16)(1); ulserif(7,17,18,19,20)(1); urserif(2,21,22,23,24)(1); llserif(3,25,26,27,28)(1); lrserif(8,29,30,31,32)(1); llserif(6,33,34,35,36)(1); lrserif(4,37,38,39,40)(1); fill z1--z41--z3..z25..z26--z27--z31--z30..z29..z8--z43--z6..z33..z34--z35--z39--z38..z37..z4--z44--z2..z21..z22--z23--z19--z18..z17..z7--z42--z5..z13..z14--z15--z11--z10..z9..z1--cycle; penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar(oct"306",6em#/6+ss#,cap#,0); "The ligature AE"; italcorr(ex#*slant); z1=((w/2-(thickstroke/2)),lserh); z2=((ss_userw+(thickstroke/2)),lserh); z3=((w/2-(thickstroke/2)),(h-userh)); z4=((w/2+(thickstroke/2)),(h-thinstroke)); z5=(x4,thinstroke); z6=(w-ss-ssslant,0); z30=z6+(-thickstroke,thinstroke); z8=(x6,h); z9=(x30,h-thinstroke); upsideserif(6,7,29); downsideserif(8,10,11); z15=.5[z4,z5]; z16=z15+(0,thinstroke/2); z17=z16-(0,thinstroke); z21=(0.6w,y16); z22=(0.6w,y17); z23=z21+(1.5ssslant,lserw/2); z24=z23+(ssslant,lserw); z25=z22+(1.5ssslant,-lserw/2); z27=z25+(ssslant,-lserw); z28 = z1 shifted (0,-lserh); z31 = z3 shifted (0,userh); z40 = (ss+lserw,lserh); z41 = z40 shifted (thinstroke,0); z50 = z31 shifted (0,-1.6thinstroke); z100 = (0,y15); z101 = (0,y16); z102 = (0,y17); z51 = aaa[z50,z41]; z51 = aab[z16,z101]; z52 = aac[z50,z41]; z52 = aad[z17,z102]; draw z21--z24; pickup pencircle scaled 2; llserif(40,42,43,44,45)(1); lrserif(41,46,47,48,49)(1); fill z1--z3--z31--z8--z10---z11..{left}z9--z4--z16--z21..z23..z24--z27..z25..z22--z17--z5--z30{right}..z29---z7--z6--z28--z1..cycle; fill z41..z46..z47--z48--z44--z43..z42..z40--z31--z50--cycle; fill z51--z16--z17--z52--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55); endchar; beginchar(oct"327",em#+ss#,cap#,0); "The ligature OE"; italcorr(ex#*slant); z1=((w/2-(thickstroke/2)),lserh); %z1=((w/2),lserh); z2=((ss_userw+(thickstroke/2)),lserh); z3=((w/2-(thickstroke/2)),(h-userh)); z4=((w/2+(thickstroke/2)),(h-thinstroke)); %z3=((w/2),(h-userh)); %z4=((w/2),(h-thinstroke)); z5=(x4,thinstroke); z6=(w-o-ssslant,0); z30=z6+(-thickstroke,thinstroke); z8=(x6,h); z9=(x30,h-thinstroke); upsideserif(6,7,29); downsideserif(8,10,11); z15=.5[z4,z5]; z16=z15+(0,thinstroke/2); z17=z16-(0,thinstroke); z21=(0.6w,y16); z22=(0.6w,y17); z23=z21+(1.5ssslant,lserw/2); z24=z23+(ssslant,lserw); z25=z22+(1.5ssslant,-lserw/2); z27=z25+(ssslant,-lserw); z28 = z1 shifted (0,-lserh); z31 = z3 shifted (0,userh); z50 = z31 shifted (0,-1.6thinstroke); z40 = 0.5[z31,z28]; z41 = (0,h/2); z42 = (o,h/2); z43 = z42 shifted (curvwid,0); z44 = 0.5[z40,z41] shifted (curvwid/2,h/2+o/2); z45 = 0.5[z40,z41] shifted (curvwid/2,-(h/2+o/2)); z46 = z15 shifted (-thickstroke,0); z47 = z44 shifted (0,-thinstroke); z48 = z45 shifted (0,thinstroke); fill z1--z3--z31--z8--z10---z11..{left}z9--z4--z16--z21..z23..z24--z27..z25..z22--z17--z5--z30{right}..z29---z7--z6--z28--z1..cycle; fill z44..z15..z45..z42..cycle; unfill z43..z47..z46..z48..cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55); endchar; beginchar(oct"330",5em#/6+2ss#,cap#,0); "The Letter slash O"; italcorr(ex#*slant); currentpicture := capo; pickup pencircle scaled thinstroke; bot lft z0 = (ss,0); top rt z1 = (w-ss,h); draw z0--z1; penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17); endchar; beginchar(oct"336",(3(em#)/4),cap#,0); "The Letter Thorn"; italcorr(ex#*slant); z1 = (ss+lserw,lserh); z2 = z1 shifted (thickstroke,0); z3 = (ss+lserw,h-lserh); z4 = z3 shifted (thickstroke,0); z13=(x4,4h/5); z14=z13 shifted (0,-thinstroke); z15=(w-ss,h/2); z16=z15-(curvwid,0); z17=(x2,h/5); z18=z17+(0,thinstroke); z19=(w/2,h); z20=z19-(0,thinstroke); z21=(w/2,0); z22=z21+(0,thinstroke); z40 = z13 shifted (thickstroke,0); z41 = z40 shifted (0,-thinstroke); z42 = z17 shifted (thickstroke,0); z43 = z42 shifted (0,thinstroke); llserif(1,5,6,7,8)(1); lrserif(2,30,31,32,33)(1); ulserif(3,9,10,11,12)(1); urserif(4,34,35,36,37)(1); fill z1..z5..z6--z7--z32--z31..z30..z2--z17--z42{right}..{up}z15{up}..{left}z40--z13--z4..z34..z35--z36--z11--z10..z9..z3--cycle; unfill z18--z14--z41{right}..{down}z16{down}..{left}z43--z18--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51); endchar; beginchar(oct"215",em#+ss#/2,cap#,dep#); "The Letter NG"; italcorr(ex#*slant); z0 = (ss+lserw,lserh); z1 = z0 shifted (thickstroke,0); z2 = z1 shifted (ss+4lserw,0); z3 = z2 shifted (thickstroke,0); z20 = (ss+userw,h-userh); z21 = z20 shifted (thickstroke,0); z22 = z21 shifted (0,userh); z23 = z21 shifted (ss+4userw,0); z24 = z23 shifted (thickstroke,-thinstroke); z29 = z20 shifted (0,userh); z30 = z24 shifted (0,userh+thinstroke); z31 = 0.5[z30,z29] shifted (0,o); z32 = z31 shifted (0,-thinstroke); z33 = z28 shifted (0,-userh); z40 = z2; z41 = z3; %z49 = (x40-2userw,-dep); z49 = (w/2,-dep); z50 = z49 shifted (0,thinstroke); z51 = (x8,-dep/3); z56 = z21 shifted (0,-thinstroke); z57 = z20 shifted (0,-thinstroke); z58 = z23 shifted (0,-thinstroke); z59 = z24 shifted (0,-thinstroke); llserif(0,4,5,6,7)(1); lrserif(1,8,9,10,11)(1); ulserif(20,25,26,27,28)(1); ulftbulb(51,52,53,54,55); fill z6--z5..z4..z0--z20..z25..z26--z27--z28--z33--z57{dir 50}..{right}z31{right}..{down}z59--z3{down}..{left}z49{left}..{up}z51..z52..z53..{left}z54{down}..{right}z50{right}..{up}z2--z58..z32..z56--z1..z8..z9--z10--z6--cycle; penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59); endchar; beginchar(oct"320",em#+2ss#,cap#,0); "The Letter Eth"; italcorr(ex#*slant); currentpicture := capd; pickup pencircle scaled thinstroke; lft z0 = (ss,h/2); rt z1 = (w/2-ss,h/2); draw z0--z1; penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59); endchar;