% Formal Script upper case letters: % These letters were coded by R. A. Smith in the Fall of 1991, % based upon the Formal Script designed by R. Hunter Middleton. % Computer Modern parameters and macros are used. % Character codes \0101 through \0132 and \0177 are generated. % Initial version (1.0) September 1991. def bulb(suffix $,$$,$$$) = z$$$r=z$$r; numeric dist; dist=y$r-y$$r; path_.l:=z$l{x$$r-x$r,0}...{0,y$$r-y$r}z$$l; filldraw path_.l--z$$r{0,y$r-y$$r}...{x$r-x$$r,0}z$r--cycle; % link path_.r:=z$$$l{-slant*dist,dist}..z$$$r{slant*dist,-dist}; % near-circle filldraw subpath(0,xpart(path_.r intersectiontimes path_.l)) of path_.r --z$$r{0,y$$r-y$r}..cycle; % bulb enddef; cmchar "Script letter A"; beginchar("A",14u#,cap_height#,0); italcorr h#*slant-3u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,110); pos3(vair,90); pos5(cap_curve,-20); x1l=hround w-u; y1=.2h; x3=w-3u; y3=.08h; x5l=hround u; y5=.55h; pos7(vair,-90); pos9(cap_hair,-180); x7=2.5u; top y7l=.65h; x11l=10u; bot y9=0; pos11(cap_stem,0); pos13(cap_hair,0); x11r=x9l; bot y11=0; x13l=x11l; top y13=h+apex_o; filldraw stroke z1e..{left}z3e...z5e{up} ...z7e{right}...{.5 slant,-1}z9e; % crossbar filldraw stroke z11e--z13e; % right ascender pos15(.5[vair,cap_curve],-90); pos17(cap_hair,0); pos19(cap_hair,0); rt x15l=rt x13r; y15l=y13r; x17=8.5u; y17=.8h; x19=6u; y19=.25h; pos21(vair,-90); pos23(vair,-180); pos25(flare,-180); bot y21r=-oo; x21=3.5u; y25=.15h; lft x25r=hround u; filldraw stroke z15e..z17e...{down}z19e...{left}z21e; % left ascender bulb(21,23,25); penlabels(1,3,5,7,9,11,13,15,17,19,21,23,25); math_fit(-.15h#*slant,.2h#*slant); endchar; cmchar "Script letter B"; beginchar("B",17u#,cap_height#,0); italcorr h#*slant-5.5u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,-45); x1r=11u; top y1l=h; pos2(cap_stem,0); pos3(vair,-90); pos4(hair,-180); pos5(flare,-180); x2r=10u; y2=.3h; bot y3l=-oo; x3=6.5u; x5r=hround 3u; y5=.17h; filldraw stroke z1e{-1,-1}...z2e{down}...{left}z3e; % stem bulb(3,4,5); pos6(vair,-270); pos8(vair,-180); pos10(vair,-90); pos12(cap_curve,0); %-15 pos14(vair,90); pos16(.5[cap_curve,cap_stem],180); pos18(vair,270); pos20(cap_curve,360); pos22(vair,450); pos24(cap_hair,540); pos26(vair,630); pos28(cap_curve,720); pos30(vair,750); x6=13u; y6=.3h; x8r=11u; y8=.2h; x10=13.5u; bot y10r=-oo; rt x12r=hround w-u; y12=.2h; x14=11u; y14=.52h; x16l=10.5u; y16=.48h; x18=11u; y18=.44h; x20r=13.5u; y20=.65h; x22=6u; top y22r=h+oo; lft x24r=hround u; y24=.7h; x26=4.5u; y26=.4h; x28=6.5u; y28=.55h; x30=5.5u; y30=.8h; filldraw stroke pulled_arc.e(6,8)&pulled_arc.e(8,10)&pulled_arc.e(10,12) &pulled_arc.e(12,14)&pulled_arc.e(14,16)&pulled_arc.e(16,18) &pulled_arc.e(18,20)&pulled_arc.e(20,22)&pulled_arc.e(22,24) &pulled_arc.e(24,26)&pulled_arc.e(26,28)..{dir(130)}z30e; %z6e{left}...z8e{down}...z10e{right} %...z12e..z14e{left}...z16e{down}...z18e{right} %...z20e{up}...z22e{left}...z24e{down}...z26e{right} %...z28e{up}..z30e; penlabels(1,2,3,4,5,6,8,10,12,14,16,18,20,22,24,26,28,30); math_fit(-.15h#*slant-2u#,.3h#*slant); endchar; cmchar "Script letter C"; beginchar("C",16u#,cap_height#,0); italcorr h#*slant-2.75u#; adjust_fit(0,0); pickup fine.nib; pos0(vair,210); pos1(cap_hair,180); pos2(vair,90); pos3(cap_curve,0); pos4(vair,-90); pos5(cap_stem,-180); pos6(vair,-270); pos7(cap_hair,-360); pos8(vair,-450); pos9(cap_curve,-540); pos10(vair,-630); lft x0r=12u; bot y0r=.1h; x1=11u; bot y1=.25h; x2=12.25u; y2=.4h; x3=15u; y3=.15h; x4=13u; y4=-oo; lft x5r=hround 7.5u; y5=.5h; x6=11.5u; top y6l=h+oo; rt x7r=hround 14u; y7=.8h; x8=7u; bot y8r=.5h; lft x9r=hround u; y9=.8h; x10=4u; y10=.95h; filldraw stroke z0e..pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4); filldraw stroke pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7); filldraw stroke pulled_arc.e(7,8)&pulled_arc.e(8,9)&pulled_arc.e(9,10); penlabels(1,2,3,4,5,6,7,8,9,10); math_fit(-.8h#*slant,.35h#*slant); endchar; cmchar "Script letter D"; beginchar("D",15u#,cap_height#,0); italcorr 0.8h#*slant-2.5u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,90); pos2(cap_stem,180); pos3(vair,90); x1=hround w-3u; y1=0.8h; x2=.5[x1,x3]; y2=.5[y1,y3]; x3=8u; bot y3l=-o; pos4(cap_curve,0); pos5(vair,-90); pos6(vair,-90); lft x4l=hround 5u; y4=y3+0.03h; x5=7u; y5=y3+0.06h; x6=w-2.5u; bot y6r=-o; pos7(cap_hair,0); pos8(vair,90); pos9(cap_curve,180); x7r=hround w-u; y7=0.33h; x8=5u; top y8r=h+oo; x9r=hround u; y9=0.75h; pos10(vair,270); pos11(cap_hair,360); pos12(vair,380); x10=5u; y10r=0.4h; x11r=7u; y11=0.6h; x12l=6u; y12r=0.8h; filldraw stroke z1e{left}...z2e{down}...z3e{left}...z4e{up} % stem ...z5e{right}...z6e..z7e..z8e{left}...z9e{down} % bowl ...z10e{right}...z11e{up}..z12e; % flourish penlabels(1,2,3,4,5,6,7,8,9,10,11,12); math_fit(-4u#,.33h#*slant); endchar; cmchar "Script letter E"; beginchar("E",11u#,cap_height#,0); italcorr .8h#*slant-2u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,-270); pos2(cap_hair,-180); pos3(vair,-90); numeric light_stem; hv_curve=.5[cap_curve,cap_stem]; pos4(cap_hair,0); pos5(.3[vair,cap_curve],90); pos6(hv_curve,180); pos7(vair,270); pos8(cap_hair,360); pos9(vair,450); pos10(hv_curve,540); pos11(vair,630); pos12(cap_curve,720); pos13(vair,810); pos14(vair,930); x1=6u; top y1r=.9h; x2r=5u; y2=.8h; x3=7u; y3=.65h; x4=8u; y4=.75h; x5=4u; top y5r=h+oo; lft x6r=hround 1.2u; y6=.8h; x7=5.5u; y7=.51h; x8=6u; y8=.53h; x9=4.5u; y9=.57h; lft x10r=hround u; y10=.38h; x11=7u; bot y11r=-oo; rt x12r=hround w-u; y12=.18h; x13=6u; y13=.38h; x14r=5.5u; y14r=.15h; filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4) &pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8) &pulled_arc.e(8,9)&pulled_arc.e(9,10)&pulled_arc.e(10,11)&pulled_arc.e(11,12) &pulled_arc.e(12,13)..{dir(300)}z14e; %filldraw stroke z1e{left}...z2e{down}...z3e{right}...z4e{up} %...z5e{left}...z6e{down}...z7e{right}...z8e{up}...z9e{left} %...z10e{down}...z11e{right}...z12e{up}...z13e{left}..z14e; math_fit(-.3h#*slant,.2h#*slant); endchar; cmchar "Script letter F"; beginchar("F",14u#,cap_height#,0); italcorr h#*slant-2.0u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,-45); pos2(cap_curve,0); pos3(cap_stem,0); pos4(vair,-90); pos5(hair,-180); pos6(flare,-180); x1r=9.3u; y1=.85h; lft x2l=8u; y2=.65h; rt x3r=10u; y3=.3h; x4=6.25u; bot y4l=-o; lft x6r=hround 2u; y6=.17h; filldraw stroke z1e..z2e{down}...z3e{down}...{left}z4e; % stem bulb(4,5,6); pos7(cap_curve,90); rt x7=hround 12u; top y7r=.93h; pos9(cap_curve,90); x9=5u; top y9=h+oo; pos10(cap_hair,180); lft x10r=hround u; y10=.75h; pos11(vair,270); x11=4u; bot y11r=.5h; pos12(cap_curve,360); rt x12r=7u; y12=.65h; pos13(vair,415); x13=5u; y13=.85h; filldraw stroke z7e{left}...pulled_arc.e(9,10)&pulled_arc.e(10,11) &pulled_arc.e(11,12)..z13e; % cap pos14(cap_hair,0); pos15(vair,-90); pos16(cap_hair,0); pos17(vair,90); pos18(.5[cap_hair,cap_curve],180); pos19(.2[cap_curve,cap_stem],210); lft x14l=hround 5u; y14=.28h; x15=9u; y15=.4h; rt x16r=hround 13u; y16=.5h; x17=12u; top y17r=.58h; lft x18r=11u; y18=.45h; rt x19l=12.3u; bot y19r=.3h; filldraw stroke pulled_arc.e(14,15)&pulled_arc.e(15,16)&pulled_arc.e(16,17) &pulled_arc.e(17,18)..z19e; % bar penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); math_fit(-.15h#*slant-u#,.5h#*slant); endchar; cmchar "Script letter G"; beginchar("G",15.2u#,cap_height#,0); italcorr .85h#*slant-2u#; adjust_fit(0,0); pickup fine.nib; pos0(vair,-270); pos1(cap_curve,-180); pos2(vair,-90); pos3(cap_curve,0); pos4(vair,90); pos5(cap_stem,180); pos6(vair,270); pos7(vair,315); x0=3.5u; y0=.95h; lft x1r=hround u; y1=.75h; x2=6.5u; bot y2r=vround .4h; rt x3r=hround 12u; y3=.85h; x4=9.5u; top y4r=h+o; lft x5r=hround 6.7u; y5=.6h; x6=10.5u; y6=.3h; x7=13u; y7=.6h; filldraw stroke pulled_arc.e(0,1)&pulled_arc.e(1,2)&pulled_arc.e(2,3) &pulled_arc.e(3,4)&pulled_arc.e(4,5)&pulled_arc.e(5,6)..{dir(45)}z7e; pos8(cap_hair,-45); pos9(.2[cap_curve,cap_stem],0); pos10(cap_stem,0); pos11(vair,-90); pos12(hair,-180); pos13(flare,-180); z8=z7; lft x9l=hround 12u; y9=.4h; rt x10r=hround 14.2u; y10=.12h; x11=11.25u; bot y11l=-o; x13r=hround 7u; y13=.17h; filldraw stroke z8e{dir(225)}..z9e{down}...z10e{down}...{left}z11e; bulb(11,12,13); penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); math_fit(-.75h#*slant,.5h#*slant-2u#); endchar; cmchar "Script letter H"; beginchar("H",17u#,cap_height#,0); italcorr 0.8h#*slant; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,180); pos2(vair,90); pos3(cap_stem,0); pos4(vair,-90); pos5(cap_hair,-180); pos6(vair,-270); pos7(cap_hair,-180); x1l=hround w-u; y1=0.2h; x2=w-2.5u; bot y2l=-oo; x3=w-6u; y3=.4h; x4=w-3.5u; top y4l=h+oo; x5l=hround w-u; y5=0.75h; x6=9u; y6=.55h; x7r=hround 3u; y7=.35h; filldraw stroke z1e{down}...z2e{left}...z3e{up}...z4e{right} % hook, rt stem ...z5e{down}...z6e{left}...{down}z7e; % crossbar pos8(cap_hair,180); pos9(vair,90); pos10(cap_curve,0); pos11(vair,90); pos12(cap_hair,180); x8r=hround u; y8=.725h; x9=2u; top y9r=.9h; x10r=4u; y10=.75h; x11=5u; bot y11l=.65h; x12r=7u; y12=.8h; filldraw stroke z8e{up}...z9e{right}...z10e{down}...z11e{right} ...{up}z12e; % flourish pos13(cap_hair,-45); x13r=8u; top y13l=h+apex_o; pos14(cap_stem,0); pos15(vair,-90); pos16(hair,-180); pos17(flare,-180); x14=7u; y14=.3h; bot y15l=-o; x15=4.5u; x17r=hround u; y17=.17h; filldraw stroke z13e..z14e{down}...{left}z15e; % left stem bulb(15,16,17); penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17); math_fit(-.15h#*slant,.2h#*slant); endchar; cmchar "Script letter I"; beginchar("I",11u#,cap_height#,0); italcorr h#*slant-u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,135); pos2(cap_curve,180); pos3(vair,270); pos4(cap_hair,360); pos5(vair,390); pos6(cap_hair,-45); x6r=9u; top y6l=h+apex_o; z1r=z6l; x2r=3u; y2=.7h; x3=8u; y3l=.35h; x4l=10u; y4=.5h; x5r=9u; y5r=.7h; filldraw stroke z1e{dir(210)}..pulled_arc.e(2,3)&pulled_arc.e(3,4) ..{dir(130)}z5e; pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180); x7l=7u; y7=.3h; bot y8r=-o; x8=4.5u; x10r=hround u; y10=.17h; pos11(cap_curve,0); x11l=6.75u; y11=.67h; filldraw stroke z6e..z11e{down}...z7e{down}...{left}z8e; bulb(8,9,10); penlabels(1,2,3,4,5,6,7,8,9,10,11); math_fit(-.1h#*slant,.5h#*slant); endchar; cmchar "Script letter J"; beginchar("J",12u#,cap_height#,desc_depth#); italcorr h#*slant-u#; adjust_fit(.7d#*slant,0); pickup fine.nib; pos1(vair,135); pos2(cap_curve,180); pos3(vair,270); pos4(cap_hair,360); pos5(vair,390); pos6(cap_hair,-45); x6r=9u; top y6l=h+apex_o; z1r=z6l; x2r=3u; y2=.7h; x3=8u; y3l=.35h; x4l=10u; y4=.5h; x5r=9u; y5r=.7h; filldraw stroke z1e{dir(210)}..pulled_arc.e(2,3)&pulled_arc.e(3,4) ..{dir(130)}z5e; pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(hair,-180); x7l=7u; y7=.25h; bot y8l=-d-o; x8=4.5u; rt x9r=hround 2u; y9=-.5d; rt x10l=hround 11u; y10=.2h; pos11(cap_curve,0); x11l=6.75u; y11=.67h; pos12(vair,-240); z12=.5[z9,z10]; filldraw stroke z6e..{down}z11e...{down}z7e&pulled_arc.e(7,8) &pulled_arc.e(8,9)...z12e{dir(15)}...{up}z10e; penlabels(1,2,3,4,5,6,7,8,9,10,11,12); math_fit(0,.5h#*slant); endchar; cmchar "Script letter K"; beginchar("K",16u#,cap_height#,0); italcorr h#*slant-1.5u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,180); pos2(vair,90); pos3(.5[cap_curve,cap_stem],0); pos4(vair,90); pos5(cap_hair,180); pos6(vair,270); pos7(.75[cap_hair,cap_curve],360); pos8(vair,315); x1l=hround w-u; y1=0.2h; x2=w-2.5u; bot y2l=-o; x3=w-6u; y3=.35h; x4=8.5u; top y4l=.55h; x5l=8u; y5=0.475h; x6=8.5u; y6=.45h; x7r=hround w-4u; y7=.825h; x8l=hround w-2u; top y8l=h; filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3) % hook &pulled_arc.e(3,4)&pulled_arc.e(4,5) % right leg &pulled_arc.e(5,6)&pulled_arc.e(6,7)..z8e; % right arm pos9(cap_hair,180); pos10(vair,90); pos11(cap_curve,0); pos13(vair,90); pos12(cap_hair,180); x9r=hround u; y9=.715h; x10=2u; top y10r=.9h; x11r=4u; y11=.75h; x13=5u; bot y13l=.65h; x12r=7u; y12=.8h; filldraw stroke pulled_arc.e(9,10)&pulled_arc.e(10,11) &pulled_arc.e(11,13)&pulled_arc.e(13,12); % flourish pos14(cap_hair,-45); x14r=8u; top y14l=h+apex_o; pos15(cap_stem,0); pos16(vair,-90); pos17(hair,-180); pos18(flare,-180); x15=7u; y15=.3h; bot y16l=-o; x16=4.5u; x18r=hround u; y18=.17h; filldraw stroke z14e..z15e{down}...{left}z16e; % stem bulb(16,17,18); penlabels(1,2,3,4,5,6,7,8,9,10,11,13,12,14,15,16,17,18); math_fit(-.15h#*slant,.2h#*slant); endchar; cmchar "Script letter L"; beginchar("L",15.5u#,cap_height#,0); italcorr 0.75 h#*slant-u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,180); pos2(0.8[vair,cap_curve],90); pos3(vair,90); x1l=hround w-u; y1=0.2h; x2=12u; bot y2l=-o; x3=4u; y3=0.12h; pos4(cap_curve,180); pos5(vair,270); pos6(cap_stem,360); x4r=hround 2u; x5=5u; x6=8.5u; y4=0.06h; bot y5r=-o; y6=0.3h; pos7(vair,270); pos8(0.5[cap_hair,cap_curve],180); pos9(vair,90); x7=10u; top y7l=h+o; x8l=hround w-2.5u; y8=0.75h; x9=7u; y9r=.5h; pos10(cap_curve,0); pos11(vair,-90); x10l=hround u; y10=0.8h; x11=4u; top y11l=h; filldraw stroke z1e{down}...z2e{left}...z3e{left} % foot ...z4e{down}...z5e{right}...z6e{up}...z7e{right}...z8e{down} % stem ...z9e{left}...z10e{up}..z11e; % flourish penlabels(1,2,3,4,5,6,7,8,9,10,11); math_fit(-2u#,.25h#*slant); endchar; cmchar "Script letter M"; beginchar("M",19u#,cap_height#,0); italcorr h#*slant-4.25u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,-15); pos2(.6[cap_curve,cap_stem],0); pos3(cap_stem,0); pos4(vair,90); pos5(cap_hair,180); rt x1r=hround 14.25u; top y1=h+apex_o; lft x3l=hround 13u; y3=.25h; x4=16u; y4=-o; top y5=.2h; rt x5l=hround 18u; rt x2r=14u; y2=.8h; % should be intersectionpoint! filldraw stroke z1e{dir(-105)}---z2e{down}... % {down}z3e...{right}z4e..{up}z5e; % right descender pulled_arc.e(3,4)&pulled_arc.e(4,5); pos6(.2[vair,cap_stem],90); pos7(cap_stem,0); pos8(cap_hair,-20); x6=10.25u; bot y6r=-apex_o; x8=9.5u; top y8=h+apex_o; pos9(cap_hair,0); pos10(vair,-90); pos11(cap_hair,-180); pos12(flare,-180); x9=6u; y9=.45h; x10=3.5u; bot y10r=-oo; lft x12r=hround u; y12=.13h; filldraw stroke z8e{dir(-110)}..{dir(-100)}z9e..{left}z10e; % left descender bulb(10,11,12); x7l=8u; y7=.25h; pos15(.5[cap_curve,cap_stem],0); rt x15r=hround 9.5u; y15=.8h; % should be intersectionpoint! pos13(cap_hair,165); z13=z1; pos14(cap_hair,180); x14=11.5u; y14=.45h; filldraw stroke z13e{dir(-105)}...{dir(-98)}z14e... % {left}z6e...{up}z7e pulled_arc.e(6,7)...{up}z15e---{dir(70)}z8e; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17); math_fit(-.15h#*slant,.2h#*slant); endchar; cmchar "Script letter N"; beginchar("N",15u#,cap_height#,0); italcorr h#*slant; adjust_fit(0,0); pickup fine.nib; pos1(.5[cap_hair,cap_curve],-60); pos2(cap_hair,0); x1=14u; y1=h; lft x2l=hround 12u; y2=.65h; pos4(cap_hair,0); pos5(cap_stem,0); x4l=13u; y4=0; x5=10u; y5=.5h; pos6(cap_hair,0); x6l=6.75u; top y6=h; filldraw stroke z1e{dir(-150)}..{down}z2e..z4e; filldraw stroke z6e{down}..z5e..{dir(-80)}z4e; pos7(cap_hair,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180); x7l=6.75u; y7=.3h; bot y8l=-o; x8=4.5u; x10r=hround u; y10=.17h; filldraw stroke z6e...z7e...{left}z8e; bulb(8,9,10); penlabels(1,2,3,4,5,6,7,8,9,10); math_fit(-.15h#*slant,.4h#*slant-u#); endchar; cmchar "Script letter O"; beginchar("O",11.5u#,cap_height#,0); italcorr h#*slant-3u#; adjust_fit(0,0); pickup fine.nib; pos0(vair,-110); pos1(vair,-90); pos2(cap_hair,0); pos3(vair,90); pos4(cap_stem,180); pos5(vair,270); pos6(cap_curve,360); pos7(vair,450); pos8(cap_hair,540); pos9(cap_hair,570); x0=6u; y0=.7h; x1=8.5u; y1=.65h; rt x2r=hround 10u; y2=.75h; x3=5u; top y3r=h+oo; lft x4r=hround u; y4=.6h; x5=7.5u; bot y5r=-oo; rt x6r=hround 10.5u; y6=.3h; x7=5.5u; y7=.8h; x8=3.7u; y8=.5h; x9=5u; y9=.17h; filldraw stroke z0e{dir(-20)}..pulled_arc.e(1,2) &pulled_arc.e(2,3)&pulled_arc.e(3,4) &pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8) ..{dir(-60)}z9e; penlabels(0,1,2,3,4,5,6,7,8,9); math_fit(-.3h#*slant,.5h#*slant); endchar; cmchar "Script letter P"; beginchar("P",16u#,cap_height#,0); italcorr max(.8h#*slant-1.5u#,h#*slant-3u#); adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,-45); x1r=12u; top y1l=h; pos2(cap_stem,0); pos3(vair,-90); pos4(cap_hair,-180); pos5(flare,-180); x2l=10u; y2=.35h; bot y3l=-o; x3=6.5u; x5r=hround 3u; y5=.17h; filldraw stroke z1e{-1,-1}...z2e{down}...{left}z3e; % stem bulb(3,4,5); pos14(vair,-270); pos16(cap_hair,-180); pos18(vair,-90); pos20(.5[cap_curve,cap_stem],0); pos22(vair,90); pos24(cap_hair,180); pos26(vair,270); pos28(.5[cap_hair,cap_curve],360); pos30(vair,390); x6=13u; y6=.3h; x8r=11u; y8=.2h; x10=13.5u; bot y10r=-oo; rt x12r=hround w-u; y12=.2h; x14=9u; y14=.62h; x16l=8.5u; y16=.55h; x18=12u; y18=.4h; rt x20r=hround 15u; y20=.55h; x22=6u; top y22r=h+o; lft x24r=hround u; y24=.7h; x26=4.5u; y26=.4h; x28r=7u; y28=.65h; x30=5.5u; top y30r=.9h; filldraw stroke pulled_arc.e(14,16)&pulled_arc.e(16,18) &pulled_arc.e(18,20)&pulled_arc.e(20,22)&pulled_arc.e(22,24) &pulled_arc.e(24,26)&pulled_arc.e(26,28)..{dir(130)}z30e; penlabels(1,2,3,4,5,6,8,10,12,14,16,18,20,22,24,26,28,30); math_fit(-.25h#*slant,.5h#*slant); endchar; cmchar "Script letter Q"; beginchar("Q",16u#,cap_height#,0); italcorr max(.2h#*slant-.5u#,.8h#*slant-4.75u#); adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270); lft x1l=5u; y1l=.85h; rt x2r=hround 8u; y2=.6h; x3=5u; bot y3r=vround .42h; pos4(cap_curve,180); pos5(vair,90); pos6(cap_stem,0); lft x4r=hround u; y4=.75h; x5=5u; top y5r=h+o; rt x6r=hround 12u; y6=.5h; filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3) &pulled_arc.e(3,2)..{dir(150)}z1e; % flourish and top pos7(vair,-90); pos8(.5[cap_hair,cap_curve],-180); pos9(cap_curve,-270); pos10(.6[vair,cap_curve],-270); pos11(cap_hair,-180); x7=5.5u; bot y7r=-o; lft x8r=hround 2u; y8=.12h; x9=4u; top y9r= vround (y8+cap_curve); x10=12.5u; bot y10l=-o; rt x11l=hround 15u; y11=.2h; filldraw stroke pulled_arc.e(6,7)&pulled_arc.e(7,8)&pulled_arc.e(8,9).. pulled_arc.e(10,11); % bottom penlabels(1,2,3,4,5,6,7,8,9,10,11); math_fit(-.1h#*slant-u#,.2h#*slant); endchar; cmchar "Script letter R"; beginchar("R",17.5u#,cap_height#,0); italcorr h#*slant-6u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270); x1=5.5u; y1=.8h; rt x2r=hround 6.5u; y2=.55h; x3=4.5u; bot y3r=vround .38h; pos4(cap_hair,180); pos5(vair,90); pos6(cap_curve,0); lft x4r=hround u; y4=.7h; x5=6u; top y5r=h+o; rt x6r=hround 13.5u; y6=.65h; filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3) &pulled_arc.e(3,2)..{dir(130)}z1e; % flourish and bowl top pos7(vair,-90); pos8(cap_hair,-180); pos9(vair,-270); pos10(cap_stem,-360); pos11(cap_stem,-360); pos12(vair,-450); pos13(cap_hair,-540); x7=10u; bot y7r=vround .45h; lft x8r=hround 8.5u; y8=.5h; x9=10.5u; top y9r=vround .52h; rt x10r=rt x11r=hround 13.2u; y10=.3h; y11=.15h; x12=14.8u; bot y12r=-o; rt x13l=hround (w-u); y13=.2h; filldraw stroke pulled_arc.e(10,9)&pulled_arc.e(9,8)&pulled_arc.e(8,7) &pulled_arc.e(7,6); % inner loop filldraw stroke z10e..pulled_arc.e(11,12)&pulled_arc.e(12,13); % leg pos14(cap_hair,-45); pos16(cap_stem,0); pos17(vair,-90); pos18(cap_hair,-180); pos19(flare,-180); x14r=11u; top y14l=h; x15r=8.8u; y15=.8h; x16r=10u; y16=.3h; x17=6.5u; bot y17=-oo; x19r=hround 3u; y19=.17h; filldraw stroke z14e{-1,-1}..{down}z16e...{left}z17e; % stem bulb(17,18,19); penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); math_fit(-.2h#*slant-2.2u#,.2h#*slant); endchar; cmchar "Script letter S"; beginchar("S",12.5u#,cap_height#,0); italcorr h#*slant-u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,-450); pos2(.5[cap_hair,cap_curve],-360); pos3(vair,-270); pos4(cap_hair,-180); lft x1=5u; top y1l=.95h; lft x2r=hround u; y2=.75h; x3=7.5u; bot y3l=.45h; rt x4l=hround 12u; y4=.75h; pos5(vair,-90); x5r=10u; top y5l=h+oo; pos6(cap_stem,0); x6l=7.75u; y6=.67h; pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180); x7l=7.5u; y7=.3h; bot y8l=-o; x8=4.5u; x10r=hround u; y10=.17h; filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4) &pulled_arc.e(4,5)..z6e{down}...z7e{down}...{left}z8e; bulb(8,9,10); penlabels(1,2,3,4,5,6,7,8,9,10,11); math_fit(-.15h#*slant,.5h#*slant); endchar; cmchar "Script letter T"; beginchar("T",13u#,cap_height#,0); italcorr h#*slant-1.0u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,-45); pos2(cap_curve,0); pos3(cap_stem,0); pos4(vair,-90); pos5(hair,-180); pos6(flare,-180); x1r=10.3u; y1=.85h; lft x2l=9u; y2=.65h; rt x3r=11u; y3=.3h; x4=7.25u; bot y4l=-o; x6r=hround 3u; y6=.17h; filldraw stroke z1e..z2e{down}...z3e{down}...{left}z4e; % stem bulb(4,5,6); pos7(cap_curve,90); rt x7=hround 12u; top y7r=.93h; pos9(cap_curve,90); x9=5u; top y9=h+oo; pos10(cap_hair,180); lft x10r=hround u; y10=.75h; pos11(vair,270); x11=4u; bot y11r=.5h; pos12(cap_curve,360); rt x12r=7u; y12=.65h; pos13(vair,415); x13=5u; y13=.85h; filldraw stroke z7e{left}...pulled_arc.e(9,10)&pulled_arc.e(10,11) &pulled_arc.e(11,12)..z13e; % cap penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); math_fit(-.25h#*slant,.3h#*slant); endchar; cmchar "Script letter U"; beginchar("U",18.25u#,cap_height#,0); italcorr .87h#*slant-1.5u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270); lft x1l=4.5u; y1l=.85h; rt x2r=hround 6.5u; y2=.6h; x3=4u; bot y3r=vround .43h; pos4(cap_hair,180); pos5(vair,90); pos6(.5[cap_curve,cap_stem],0); lft x4r=hround u; y4=.7h; x5=5u; top y5r=h+o; rt x6r=hround 10u; y6=.6h; pos7(cap_stem,0); pos8(vair,90); pos9(cap_hair,180); rt x7r=hround 10u; y7=.25h; x8=11u; bot y8l=-o; lft x9r=hround 12.7u; y9=.2h; % should be intersectionpoint or tangent filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3) &pulled_arc.e(3,2)..{dir(120)}z1e; % flourish and bowl top filldraw stroke z6e---pulled_arc.e(7,8)&pulled_arc.e(8,9); pos10(cap_stem,0); pos11(cap_stem,0); pos12(vair,90); pos13(cap_hair,180); rt x10r=hround 15u; y10=.87h; lft x11l=lft x9r; y11=.2h; x12=15u; bot y12l=-o; rt x13l=hround 17.25u; y13=.18h; filldraw stroke z10e..pulled_arc.e(11,12)&pulled_arc.e(12,13); penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); math_fit(-.5h#*slant-u#,.18h#*slant); endchar; cmchar "Script letter V"; beginchar("V",13.8u#,cap_height#,0); italcorr h#*slant-.5u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,180); pos2(vair,90); pos3(cap_curve,0); pos4(vair,90); pos5(cap_hair,180); pos5'(cap_hair,180); lft x1r=hround u; y1=.68h; top y2r=vround .86h; x2=3u; lft x3l=hround 3.8u; y3=.75h; bot y4l=vround .62h; x4=5.5u; x5r=6.7u; y5=.8h; x5'l=hround 7u; top y5'=h+apex_o; filldraw stroke pulled_arc.e(1,2)...z3e{dir(-105)} ...pulled_arc.e(4,5); % flourish pos6(cap_stem,180); pos7(cap_hair,180); pos8(cap_hair,180); pos9(.5[cap_hair,cap_curve],135); x6=8.5u; y6=.5h; rt x7l=10u; bot y7=-apex_o; x8=11.5u; y8=.5h; x9l=12.8u; top y9r=h; filldraw stroke z5'e{dir(-105)}...z6e...{dir(-105)}z7e; % stem filldraw stroke z7e{dir(80)}..{up}z8e..{(1,1)}z9e; % right arm penlabels(1,2,3,4,5,5',6,7,8,9); math_fit(-.68h#*slant,.5h#*slant-u#); endchar; cmchar "Script letter W"; beginchar("W",17.5u#,cap_height#,0); italcorr h#*slant-.5u#; adjust_fit(0,0); pickup fine.nib; pos1(cap_hair,0); pos2(cap_stem,0); pos3(cap_hair,0); x1l=hround 11u; x3l=hround 12.5u; x2=.5[x1,x3]; top y1=h+apex_o; bot y3=-apex_o; y2=.5h; filldraw stroke z1e{down}...z2e...{down}z3e; % inner left pos4(cap_hair,0); x4=.5[x3,x5]; y4=.5h; pos5(cap_hair,0); pos6(cap_stem,0); pos7(cap_hair,0); x5l=hround 7u; x7l=hround 8.5u; x6=.5[x5,x7]; top y5=h+apex_o; bot y7=-apex_o; y6=.5h; filldraw stroke z1e{dir(-105)}...z4e...{dir(-105)}z7e; % inner right filldraw stroke z5e{dir(-105)}...z6e...{dir(-105)}z7e; % right arm pos8(cap_hair,180); pos9(vair,90); pos10(cap_curve,0); pos11(vair,90); pos12(cap_hair,180); x8r=hround u; y8=.725h; x9=2u; top y9r=.9h; x10r=4u; y10=.75h; x11=5u; bot y11l=.65h; x12r=7u; y12=.8h; filldraw stroke z8e{up}...z9e{right}...z10e{dir(-105)}...z11e{right} ...{up}z12e; % flourish pos13(cap_hair,0); pos14(.5[cap_hair,cap_curve],-60); lft x13l=hround 15u; y13=.5h; rt x14r=hround 16.5u; top y14l=h; filldraw stroke z14e{dir(-150)}..{down}z13e..{dir(-105)}z3e; penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); math_fit(-.725h#*slant,.5h#*slant-u#); endchar; cmchar "Script letter X"; beginchar("X",17u#,cap_height#,0); italcorr h#*slant-2u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180); pos5(vair,90); pos6(cap_stem,0); pos7(vair,-90); pos8(cap_hair,-180); pos9(flare,-180); lft x1l=4u; top y1r=.9h; rt x2r=hround 6u; y2=.65h; x3=4u; bot y3r=vround .5h; lft x4r=hround u; y4=.8h; x5=3.75u; top y5r=h+o; rt x6r=hround 10u; y6=.45h; x7=6.5u; bot y7r=-o; lft x9r=hround 3u; y9=.17h; filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5) &pulled_arc.e(5,6)&pulled_arc.e(6,7); % left side bulb(7,8,9); pos10(vair,90); pos11(vair,90); x10=7u; x11=11.5u; y10r=y11r=vround .5h; filldraw stroke z10e..z11e; % crossbar pos12(flare,0); pos13(cap_hair,0); pos14(vair,90); pos15(cap_hair,180); pos16(vair,270); pos17(cap_hair,360); rt x12r=hround 14u; y12=.95h; x14=12u; top y14r=h+o; z15l=z6r; x16=14u; bot y16r=-o; rt x17r=hround 16u; y17=.25h; bulb(14,13,12); filldraw stroke pulled_arc.e(14,15)&pulled_arc.e(15,16)&pulled_arc.e(16,17); penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); math_fit(-.25h#*slant,.25h#*slant); endchar; cmchar "Script letter Y"; beginchar("Y",15u#,cap_height#,0); italcorr h#*slant-.5u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180); pos5(vair,90); pos6(cap_stem,0); pos7(cap_stem,0); pos8(vair,90); pos9(cap_hair,180); lft x1l=4u; top y1r=.9h; rt x2r=hround 6.5u; y2=.6h; x3=4.5u; bot y3r=vround .4h; lft x4r=hround u; y4=.7h; x5=5u; top y5r=h+o; rt x6r=hround 10u; y6=.7h; rt x7r=hround 10u; y7=.5h; x8=11.5u; bot y8l=vround .27h; x9=13u; y9=.4h; filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5) &pulled_arc.e(5,6)---pulled_arc.e(7,8)&pulled_arc.e(8,9); % left side pos10(vair,-45); pos11(cap_curve,0); pos12(cap_stem,0); pos13(vair,-90); pos14(cap_hair,-180); pos15(flare,-180); rt x10r=hround 14u; top y10l=h; lft x11l=hround 12u; y11=.8h; rt x12r=hround 14u; y12=.35h; x13=10u; bot y13r=-o; lft x15r=hround 6u; y15=.17h; filldraw stroke z10e{dir(-135)}..z11e{down}...z12e{down}...{left}z13e; bulb(13,14,15); penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); math_fit(-.6h#*slant,.35h#*slant); endchar; cmchar "Script letter Z"; beginchar("Z",16u#,cap_height#,0); italcorr h#*slant-2.8u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180); pos5(vair,90); pos6(cap_stem,0); pos7(cap_stem,0); pos8(vair,90); pos9(cap_hair,180); lft x1l=4u; top y1r=.85h; rt x2r=hround 6u; y2=.65h; x3=4u; bot y3r=vround .5h; lft x4r=hround u; y4=.75h; x5=4.5u; top y5r=h+o; rt x6r=hround 7.5u; y6=.85h; rt x7r=hround 7.5u; y7=.75h; x8=9.5u; bot y8l=vround .7h; rt x9l=hround 13.7u; y9=.85h; pos10(vair,270); pos11(vair,-90); pos12(cap_stem,0); pos13(vair,-90); pos14(cap_hair,-180); pos15(vair,-270); pos16(cap_curve,-270); pos17(cap_hair,-180); top y10l=h+oo; x10=11.5u; z11=z10; x12=10u; y12=.5h; x13=6.5u; bot y13r=-oo; lft x14r=hround 4u; x15=6u; top y15r=vround .16h; x16=12.5u; bot y16l=-o; y14=.075h; rt x17l=hround 15u; top y17=vround .2h; filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5) &pulled_arc.e(5,6)&pulled_arc.e(6,8)&pulled_arc.e(8,9)&pulled_arc.e(9,10); filldraw stroke z11e{left}..{down}z12e..{left}z13e...{up}z14e...{right}z15e ...{right}z16e..{up}z17e; % stem and foot pos18(vair,90); pos19(vair,90); x18=8u; x19=13u; y18r=y19r=vround .5h; filldraw stroke z18e..z19e; % crossbar; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); math_fit(max(-3u#,-.75h#*slant-u#),.2h#*slant); endchar; cmchar "Tie accent"; beginchar(oct"177",5u#,asc_height#,0); italcorr 4/9[x_height#,asc_height#]*slant+4.5u#+2letter_fit#+.5hair#; adjust_fit(if monospace:2u#,2u# else:serif_fit#,serif_fit# fi); pickup fine.nib; pos1(hair,180); pos2(vround 1/5[vair,stem],90); pos3(hair,0); lft x1r=hround(.5w-.5hair); x2=.5[x1,x3]; rt x3r=hround(w+4u+2letter_fit+.5hair); y1=y3=4/9[x_height,asc_height]; top y2r=vround 8/9[x_height,asc_height]; filldraw stroke super_arc.e(1,2) & super_arc.e(2,3); % arc penlabels(1,2,3); endchar;