% +AMDG This document was begun on 26 April 11EX, the feast % of St. Catherine of Siena, and it is humbly dedicated to % her and the Immaculate Heart of Mary for their prayers, % and to the Sacred Heart of Jesus for His mercy. path hyphenpath; picture paren; picture period; picture opendoublequote; picture questionmark; picture bang; picture leftsinguill; picture leftdoubguill; picture slash; picture lessthan; picture opensquare; beginchar(".",pwid#,pwid#,0); "The period ."; z0 = (w/2,dotwid); z1 = z0 shifted (dotwid,0); z2 = z0 shifted (0,dotwid); z3 = z0 shifted (-dotwid,0); z4 = z0 shifted (0,-dotwid); path period; period = z1..z2..z3..z4..cycle; fill period; %period := 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(",",pwid#,pwid#,0); "The comma ,"; z0 = (w/2,dotwid); z1 = z0 shifted (dotwid,0); z2 = z0 shifted (0,dotwid); z3 = z0 shifted (-dotwid,0); z4 = z0 shifted (0,-dotwid/2); z5 = z3 shifted (-dotwid/2,-3dotwid); z6 = z1 shifted (-o,-2.0dotwid); path commapost; commapost = z4..{dir -165}z5{right}..z6..z1..z2..z3..z4--cycle; fill commapost; 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"047",pwid#,cap#,0); "The apostrophe"; fill commapost shifted (0,h-2dotwid+o/2); 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; thinwid# = 0.5pt#; define_pixels(thinwid); beginchar("-",2pwid#,ex#,0); "The hyphen, -"; z0 = (ss,h/2); z1 = (w-ss,y0); z2 = z0 shifted (thinwid/2,thinwid/2); z3 = z2 shifted (0,-thinwid); z4 = z1 shifted (-thinwid/2,thinwid/2); z5 = z4 shifted (0,-thinwid); hyphenpath = z2..z0..z3--z5..z1..z4--cycle; fill hyphenpath; 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"177",1.5pwid#,ex#,0); "The break hyphen, -"; fill hyphenpath xscaled 0.75; endchar; beginchar(oct"025",3pwid#,ex#,0); "The en-dash, --"; fill hyphenpath xscaled 1.5; endchar; beginchar(oct"026",em#+2ss#,ex#,0); "The em-dash, ---"; fill hyphenpath xscaled 2; endchar; beginchar("(",1.5pwid#,cap#,dep#); "The open parenthesis, ("; z0 = (w,h+o); z1 = (w,-dep-o); z2 = (ss,(h-dep)/2); z3 = z2 shifted (thickl,0); path parenpath; parenpath = z1{dir 150}..{up}z3{up}..{dir 30}z0{dir 200}..{down}z2{down}..{dir -20}z1..cycle; fill parenpath; paren := 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(")",1.5pwid#,cap#,dep#); "The close parenthesis, )"; pair center; center = (w/2,(h-dep)/2); fill parenpath rotatedaround (center,180); endchar; beginchar(":",pwid#,ex#,0); "The colon, :"; fill period; fill period shifted (0,ex-2dotwid-o); endchar; beginchar(";",pwid#,ex#,0); "The semicolon, ;"; fill period shifted (0,ex-2dotwid-o); fill commapost; endchar; beginchar(oct"140",pwid#,cap#,0); "The open quote, `"; fill commapost rotatedaround ((w/2,h/2),180) shifted (0,-0.5pwid); endchar; beginchar(oct"020",1.75pwid#,cap#,0); "The open double quote, ``"; fill commapost rotatedaround ((w/2,h/2),180) shifted (0,-2dotwid); fill commapost rotatedaround ((w/2,h/2),180) shifted (-0.75pwid,-2dotwid); opendoublequote := currentpicture; endchar; beginchar(oct"021",1.75pwid#,cap#,0); "The close double quote, ''"; fill commapost shifted (0pwid,h-2dotwid); fill commapost shifted (0.75pwid,h-2dotwid); endchar; beginchar(oct"022",1.75pwid#,cap#,0); "The baseline open double quote, ,,"; fill commapost shifted (0pwid,0); fill commapost shifted (0.75pwid,0); endchar; beginchar("?",digwid#+2ss#,cap#,0); "The question mark, ?"; z0 = (w/2,h+o); z1 = z0 shifted (0,-thinl); z2 = (w-ss,3h/4); z3 = z2 shifted (-curvl,0); z4 = (ss,3h/4); z5 = (w/2-thickl/2,3dotwid); z6 = z5 shifted (thickl,0); z7 = (w/2-thickl/2,h/2); z8 = z7 shifted (thickl,0); z9 = z7 shifted (0,thinl); z10 = z9 shifted (thickl,0); drtbulb(4,11,12,13,14); fill z4{up}..{right}z0{right}..{down}z2{down}..{left}z8--z6--z5--z7{up}..{right}z10..{up}z3{up}..{left}z1{left}..{dir -115}z13{right}..z12..z11..cycle; z16 = 0.5[z5,z6]; y16 := dotwid; fill fullcircle scaled 2dotwid shifted z16; questionmark := 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(oct"041",1.5pwid#,cap#,0); "The exclamation point, !"; z0 = (w/2-thickl/2,h); z1 = z0 shifted (thickl/2,o); z2 = z0 shifted (thickl,0); z3 = (x0+o,3dotwid); z4 = (x2-o,y3); z5 = 0.5[z3,z4] shifted (0,-o); fill z0..z1..z2--z4..z5..z3--cycle; fill fullcircle scaled 2dotwid shifted (x5,dotwid); bang := 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(oct"275",1.5pwid#,cap#,dep#); "The reverse exclamation point"; currentpicture := bang rotatedaround ((w/2,(h-dep)/2),180); endchar; beginchar(oct"276",digwid#+2ss#,cap#,dep#); "The reverse question mark"; currentpicture := questionmark rotatedaround ((w/2,(h-dep)/2),180); endchar; beginchar(oct"016",pwid#+2ss#,ex#,0); "Left single guillemet"; z0 = (o,h/2); z1 = (w-3o,7h/8); z2 = (w-3o,h/8); z3 = 0.5[z0,z1]; z4 = 0.5[z0,z2]; z5 = 0.1[z3,z2]; z6 = 0.1[z4,z1]; z7 = z0 shifted (curvl,0); z8 = 0.5[z3,z12]; z9 = 0.5[z4,z12]; z10 = z1 shifted (2o,0); z11 = z2 shifted (2o,0); z12 = (w,h/2); path guillone; path guilltwo; guillone = z0{dir 10}..z5..{dir 60}z1..z10{dir -100}..z8..z7--cycle; guilltwo = z0{dir -10}..z6..{dir -60}z2..z11{dir 100}..z9..z7--cycle; fill guillone; fill guilltwo; leftsinguill := 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(oct"017",pwid#+2ss#,ex#,0); "Right single guillemet"; fill guillone reflectedabout ((w/2,0),(w/2,h)); fill guilltwo reflectedabout ((w/2,0),(w/2,h)); endchar; beginchar(oct"023",1.5pwid#+2ss#,ex#,0); "Left double guillemet"; fill guillone shifted (-o/2,0); fill guillone shifted (pwid/2+o/2,0); fill guilltwo shifted (-o/2,0); fill guilltwo shifted (pwid/2+o/2,0); leftdoubguill := currentpicture; endchar; beginchar(oct"024",1.5pwid#+2ss#,ex#,0); "Right double guillemet"; fill guillone shifted (-o/2,0) rotatedaround ((w/2,h/2),180); fill guillone shifted (pwid/2+o/2,0) rotatedaround ((w/2,h/2),180); fill guilltwo shifted (-o/2,0) rotatedaround ((w/2,h/2),180); fill guilltwo shifted (pwid/2+o/2,0) rotatedaround ((w/2,h/2),180); %fill guillone reflectedabout ((w/2,0),(w/2,h)) % shifted (-o/2,0); %fill guillone reflectedabout ((w/2,0),(w/2,h)) % shifted (pwid/2+o/2,0); %fill guilltwo reflectedabout ((w/2,0),(w/2,h)) % shifted (-o/2,0); %fill guilltwo reflectedabout ((w/2,0),(w/2,h)) % shifted (pwid/2+o/2,0); endchar; beginchar(oct"030",1.4pwid#+2ss#,3ex#/4,0); "Lower 0 for pertriqua"; zeroh = 1.2pwid; zerohh = 3ex/4; z0 = (w/2,h); z1 = z0 shifted (0,-thinl); z2 = (w/2,0); z3 = z2 shifted (0,thinl); z4 = (w-ss,h/2); z5 = z4 shifted (-1.7thinl,0); z6 = (ss,h-zerohh/2); z7 = z6 shifted (thinl,0); fill z0..z4..z2..z6..cycle; unfill z1..z5..z3..z7..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"052",ex#,ex#,0); "Asterisk, *"; z0 = (w/2,h/2); z1 = (w/2,o); z2 = (w/2,h-o); z3 = z1 rotatedaround (z0,60); z4 = z3 rotatedaround (z0,60); z5 = z4 rotatedaround (z0,120); z6 = z5 rotatedaround (z0,60); z7 = z6 rotatedaround (z0,60); pickup pencircle scaled thinl; draw z2--z1; draw z4--z6; draw z5--z3; 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"053",ex#,ex#,0); "Plus (addition) sign, +"; pickup pencircle scaled thinl; top z0 = (w/2,h-o); bot z1 = (w/2,o); lft z2 = (o,h/2); rt z3 = (w-o,h/2); draw z0--z1; draw z2--z3; 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"057",ex#/2+2ss#,cap#,0); "The forward slash, /"; pickup pencircle scaled thinl; lft z0 = (o,o); rt z1 = (w-o,h-o); draw z0--z1; slash := 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(oct"134",ex#/2+2ss#,cap#,0); "The backslash, \"; currentpicture := slash reflectedabout ((w/2,h),(w/2,0)); endchar; beginchar(oct"042",1.75pwid#,cap#,0); "straight double quote"; z0 = (w/2-thickl,h-o); z1 = z0 shifted (2accwid,-2accwid); z2 = z0 shifted (-2accwid,-2accwid); z3 = z0 shifted (0,-1.5pwid); z4 = z3 shifted (-accwid,o); z5 = z3 shifted (accwid,o); path singquote; singquote = z2..z0..z1--z5..z3..z4--cycle; fill singquote; fill singquote shifted (2thickl,0); 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("#",em#+ss#,cap#,dep#); "The pound sign, #"; full = h+d; z0 = (0.33w-hair,0.25full-dep+hair) shifted (ss,ss); z1 = (0.57w-hair,0.25full-dep+hair) shifted (ss,ss); z2 = (0.33w+hair,0.5full-dep+hair) shifted (ss,ss); z3 = (0.57w+hair,0.5full-dep+hair) shifted (ss,ss); z4 = 2[z0,z2]; z5 = 2[z2,z0]; z6 = 2[z1,z3]; z7 = 2[z3,z1]; z8 = 2[z2,z3]; z9 = 2[z3,z2]; z10 = 2[z0,z1]; z11 = 2[z1,z0]; pickup pencircle scaled thinl; draw z4--z5; draw z7--z6; draw z9--z8; draw z11--z10; 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,100); endchar; beginchar("$",0.7em#+2ss#,cap#,0); "The dollar sign, $"; z0 = (w/2,h+o); z1 = (w/2,0-o); z2 = (w-ss,3h/4); z3 = (w-ss,h/4); z4 = (ss,3h/4); z5 = (ss,h/4); z6 = z4 shifted (curvl,0); z7 = z3 shifted (-curvl,0); z8 = z0 shifted (0,-thinl); z9 = z1 shifted (0,thinl); urtbulb(2,10,11,12,13); ulftbulb(5,14,15,16,17); fill z2{up}..{left}z0{left}..{down}z4{down}..{down}z7{down}..{left}z9{left}..{dir 120}z16{right}..{up}z15{up}..{left}z14{left}..{down}z5{down}..{right}z1{right}..{up}z3{up}..{up}z6{up}..{right}z8{right}..{dir -60}z12{left}..{down}z11{down}..{right}z10{right}..{up}cycle; pickup pencircle scaled 1.2thinl; z20 = (w/2-2thickl/4,h+o); z21 = (w/2-2thickl/4,-o); z22 = (w/2+2thickl/4,h+o); z23 = (w/2+2thickl/4,-o); draw z20--z21; draw z22--z23; 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,100); endchar; beginchar("<",ex#,ex#,0); "The less than sign, <"; z0 = (2o,h/2); z1 = (w-2o,h-o); z2 = (w-2o,o); pickup pencircle scaled thinl; draw z1--z0--z2; lessthan := 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,100); endchar; beginchar(">",ex#,ex#,0); "The greater than sign, >"; currentpicture := lessthan reflectedabout ((w/2,h),(w/2,0)); 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,100); endchar; beginchar("=",ex#,ex#,0); "The equals sign, ="; z0 = (2o,h/3); z1 = (w-2o,h/3); z2 = (2o,2h/3); z3 = (w-2o,2h/3); pickup pencircle scaled thinl; draw z0--z1; draw z2--z3; 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,100); endchar; beginchar("%",5em#/6,cap#,0); "The perbiqua sign, %"; z0 = (0.6zeroh,h); z1 = z0 shifted (0,-thinl); z2 = (0.6zeroh,h-zerohh); z3 = z2 shifted (0,thinl); z4 = (1.2zeroh,h-zerohh/2); z5 = z4 shifted (-1.7thinl,0); z6 = (ss,h-zerohh/2); z7 = z6 shifted (thinl,0); fill z0..z4..z2..z6..cycle; unfill z1..z5..z3..z7..cycle; z10 = (w-0.6zeroh,zerohh); z11 = z10 shifted (0,-thinl); z12 = (w-0.6zeroh,0); z13 = z12 shifted (0,thinl); z14 = (w-ss,zerohh/2); z15 = z14 shifted (-1.7thinl,0); z16 = (w-1.2zeroh,zerohh/2); z17 = z16 shifted (thinl,0); fill z10..z14..z12..z16..cycle; unfill z11..z15..z13..z17..cycle; z22 = (w-ss,h); z23 = z22 shifted (0,-thinl); z20 = 0.5[z0,z22] shifted (0,-0.25pwid); z21 = z20 shifted (0,-thinl); z24 = (ss,-o); z25 = z24 shifted (0,0.75thinl); z26 = z24 shifted (0.75thinl,0); z27 = z23 shifted (-1.5thinl,-hair); fill z0..z20..z22--z23--z26..z24..z25--z27..z21..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,100); endchar; beginchar("&",3em#/4,cap#,0); "The ampersand, &"; z0 = (w-userw/2,4h/9); z1 = z0 shifted (-thickl,0); z2 = (w/2,0-o); z3 = z2 shifted (0,thinl); z4 = (ss,h/3); z5 = z4 shifted (thickl,0); z6 = (w/2-thickl/2-hair/2,h-2userh); z7 = z6 shifted (thickl-o,0); z8 = (w/2-hair/2,h+o); z9 = (w-ss,0); z10 = z9 shifted (-thinl,0); z11 = z6 shifted (-thinl,0); z12 = z7 shifted (thinl,0); z13 = z8 shifted (0,-thinl); z14 = z1 shifted (-hair,hair/2); z15 = z0 shifted (hair,hair/2); z16 = z14 shifted (0,hair/2); z17 = z15 shifted (0,hair/2); z18 = 0.5[z1,z14]; z19 = 0.5[z0,z15]; pickup pencircle scaled 1; fill z10..z11..{right}z8{right}..z12..z5..{right}z3{right}..{up}z1..z18..z14--z16--z17--z15..z19..z0{down}..{left}z2{left}..{up}z4{up}..z7..{left}z13{left}..z6..z9--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,100); endchar; beginchar("[",2pwid#,cap#+ss#,dep#); "The open square bracket, ["; z0 = (w-ss,h); z1 = z0 shifted (0,-thinl); z2 = (ss,h); z3 = z2 shifted (thinl,-thinl); z4 = (ss,-dep); z5 = z4 shifted (thinl,thinl); z6 = (w-ss,-dep); z7 = z6 shifted (0,thinl); z8 = 0.5[z0,z1] shifted (0,0); z9 = 0.5[z7,z6] shifted (0,0); path squarebrack; squarebrack = z0--z2--z4--z6--z7--z5--z3--z1--cycle; fill squarebrack; opensquare := 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,100); endchar; beginchar("]",2pwid#,cap#+ss#,dep#); "The close square bracket, ]"; fill squarebrack rotatedaround ((w/2,(h-dep)/2),180); endchar; beginchar("|",pwid#/2,cap#+ss#,dep#); "The pipe, |"; z0 = (w/2,h-o); z1 = (w/2,-dep+o); pickup pencircle scaled thinl; draw z0--z1; endchar; beginchar("{",1.8pwid#,cap#+ss#,dep#); "The open curly bracket, {"; brackwid = 2thinl; toth = h+d; pickup pencircle xscaled brackwid yscaled (thinl); top rt z0 = (w-ss,h); bot rt z1 = (w-ss,-dep); lft z2 = (ss,h-toth/2); z3 = (3(x0-x2)/4,h-toth/4); z4 = (3(x0-x2)/4,h-3toth/4); path curlybrack; curlybrack = z0{left}..{down}z3..{left}z2{right}..z4{down}..{right}z1; draw curlybrack; 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,100); endchar; beginchar("}",1.8pwid#,cap#+ss#,dep#); "The close curly bracket, }"; pickup pencircle xscaled brackwid yscaled (thinl); draw curlybrack rotatedaround ((w/2,(h-dep)/2),180); endchar; beginchar(oct"237",4ex#/5,cap#,dep#); "The section symbol"; sh = 2toth/3-thinl+o; z0 = (w-ss,h-sh/4); z1 = (w/2,h+o); z2 = z1 shifted (0,-thinl); z3 = (ss,h-sh/4); z4 = z3 shifted (thinl,0); z5 = (w-ss,h-3sh/4); z6 = z5 shifted (-thinl,0); z7 = (w/2,h-sh); z8 = z7 shifted (0,-thinl); z9 = (w/2,h-sh/2+curvl/2); z10 = z9 shifted (0,-curvl); z11 = z0 shifted (-thinl,0); z12 = 0.5[z0,z11] shifted (0,-o); z13 = (ss,h-3sh/4); z14 = z13 shifted (thinl,0); z15 = 0.5[z13,z14] shifted (0,hair/2); path halfsect; halfsect = z0{up}..{left}z1{left}..{down}z3{down}..z10..{down}z6{down}..{left}z7{left}..{up}z14..z15..{down}z13{down}..{right}z8{right}..{up}z5{up}..z9..{up}z4{up}..{right}z2{right}..{down}z11..z12..cycle; fill halfsect; fill halfsect shifted (0,-sh/2); 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,100); endchar; beginchar(oct"277",5em#/6+2ss#,cap#,0); "The British pound sign"; z0 = (3w/4,h+o); z1 = z0 shifted (0,-thinl); z2 = (w-ss-hair,4h/5); z3 = z2 shifted (-thinl,0); z4 = 0.5[z2,z3] shifted (0,-hair/2); z5 = (0.5w,4h/5); z6 = z5 shifted (-thickl,0); z7 = (w/2+thickl/2,h/4); z8 = z7 shifted (-thickl,0); z9 = (x8-thickl,-hair/4); z10 = z9 shifted (0,thinl); z12 = (ss,h/5); z13 = z12 shifted (thickl,0); z14 = 0.5[z8,z7] shifted (0,-thinl); z15 = z14 shifted (0,1.3thinl); z16 = (3w/4,-hair/4); z17 = z16 shifted (0,thinl); z18 = (w-ss-hair,userw); z19 = z18 shifted (0,thinl); z20 = 0.5[z18,z19] shifted (hair,0); z21 = (2ss,0.6h); z22 = (w-2ss,0.6h); fill z2{up}..{left}z0{left}..z6..z8..{left}z10{left}..{up}z13{up}..z14..{right}z16{right}..z18..z20..z19{dir 200}..{left}z17{left}..z15..z12..z9..z7..z5..{right}z1{right}..{down}z3..z4..cycle; pickup pencircle scaled thinl; draw z21--z22; 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,100); endchar; beginchar(oct"100",em#,cap#,0); "The at sign, @"; z0 = (w/4-o,h/2); z1 = (3w/4-o,h/2); z2 = (w/2-o,3h/4); z3 = (w/2-o,h/4); z4 = z2 shifted (0,-thinl); z5 = z3 shifted (0,thinl); z6 = z0 shifted (thickl,0); z7 = z1 shifted (-0.8thickl,0); z8 = (x7,y5+2thinl); z9 = (x1,y5+2thinl); z10 = (x7,y3+2thinl); z11 = (x1,y3+2thinl); z12 = z11 shifted (thinl,-thinl); z13 = z12 shifted (0,-thinl); z14 = (w-o,h/2); z15 = z14 shifted (-thinl,0); z16 = (w/2,h); z17 = z16 shifted (0,-thinl); z18 = (o,h/2); z19 = z18 shifted (thinl,0); z20 = (w/2,0); z21 = z20 shifted (0,thinl); z22 = z12 shifted (thickl,-thickl); z23 = z22 shifted (0,-thinl); z24 = 0.5[z22,z23] shifted (o,0); z25 = (x7,y2-thinl/2); z26 = (x1,y2-thinl/2); fill z0..z2..z1..z3..cycle; unfill z6..z4..z7..z5..cycle; fill z26--z1--z11..z12..{up}z15{up}..{left}z17{left}..{down}z19{down}..{right}z21{right}..z22{dir 30}..z24..z23{dir -150}..{left}z20{left}..{up}z18{up}..{right}z16{right}..{down}z14{down}..{left}z13{left}..z10--z7--z25--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,100); endchar;