summaryrefslogtreecommitdiff
path: root/fonts/drm/mf/drmmathomx.mf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/drm/mf/drmmathomx.mf
Initial commit
Diffstat (limited to 'fonts/drm/mf/drmmathomx.mf')
-rw-r--r--fonts/drm/mf/drmmathomx.mf1464
1 files changed, 1464 insertions, 0 deletions
diff --git a/fonts/drm/mf/drmmathomx.mf b/fonts/drm/mf/drmmathomx.mf
new file mode 100644
index 0000000000..8056cd64b3
--- /dev/null
+++ b/fonts/drm/mf/drmmathomx.mf
@@ -0,0 +1,1464 @@
+% +AMDG This document was begun on 10 July 11EX, the feast
+% of St. John Gualbert, A, and it is humbly dedicated to him
+% and to the Immaculate Heart of Mary for their prayers, and
+% to the Sacred Heart of Jesus for His mercy.
+
+picture paren;
+picture squarebrack;
+
+beginchar(oct"000",1.5pwid#,cap#,dep#); "The open parenthesis, (";
+
+z0 = (w,h+o);
+z1 = (w,-d-o);
+z2 = (ss,(h-d)/2);
+z3 = z2 shifted (thickl,0);
+
+fill z1{dir 150}..{up}z3{up}..{dir 30}z0{dir
+ 200}..{down}z2{down}..{dir -20}z1..cycle;
+
+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(oct"001",1.5pwid#,cap#,dep#); "The close parenthesis, )";
+
+currentpicture := paren rotatedaround ((w/2,(h-d)/2),180);
+
+endchar;
+
+beginchar(oct"002",2pwid#,cap#+ss#,dep#); "The open square bracket, [";
+
+z0 = (w-ss,h);
+z1 = z0 shifted (0,-thickl);
+z2 = (ss,h);
+z3 = z2 shifted (thickl,-thickl);
+z4 = (ss,-d);
+z5 = z4 shifted (thickl,thickl);
+z6 = (w-ss,-d);
+z7 = z6 shifted (0,thickl);
+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;
+
+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"003",2pwid#,cap#+ss#,dep#); "The close square bracket, ]";
+fill squarebrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"004",2pwid#,cap#,dep#); "left floor";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"005",2pwid#,cap#,dep#); "right floor";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"006",2pwid#,cap#,dep#); "left ceil";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+top rt z2 = (w-ss,h+o);
+draw z1--z0--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"007",2pwid#,cap#,dep#); "right ceil";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+top lft z2 = (ss,h+o);
+draw z2--z0--z1;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"010",1.8pwid#,cap#+ss#,dep#); "The open curly bracket, {";
+
+brackwid = thickl;
+toth = h+d;
+pickup pencircle xscaled brackwid yscaled (thinl);
+top rt z0 = (w-ss,h);
+bot rt z1 = (w-ss,-d);
+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(oct"011",1.8pwid#,cap#+ss#,dep#); "The close curly bracket, }";
+pickup pencircle xscaled brackwid yscaled (thinl);
+draw curlybrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"012",1.8pwid#,cap#+ss#,dep#); "Open angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h);
+lft z1 = (ss,(h+d)/2-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+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"013",1.8pwid#,cap#+ss#,dep#); "Close angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h);
+rt z1 = (w-ss,(h+d)/2-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+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"014",0.9pwid#,ex#,0); "pipe extender";
+
+pickup pencircle scaled thickl;
+z0 = (w/2,h);
+z1 = (w/2,0);
+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,100);
+endchar;
+
+beginchar(oct"015",0.9pwid#,ex#,0); "pipe extender";
+
+pickup pencircle scaled thickl;
+z0 = (w/2-thickstroke,h);
+z1 = (w/2-thickstroke,0);
+z2 = (w/2+thickstroke,h);
+z3 = (w/2+thickstroke,0);
+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(oct"016",2pwid#,cap#,0); "slash, solidus";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h+o);
+bot lft z1 = (ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"017",2pwid#,cap#,0); "backslash";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h+o);
+bot rt z1 = (w-ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"020",2.5pwid#,2cap#,2dep#); "Bigger open parenthesis, (";
+
+z0 = (w,h+o);
+z1 = (w,-d-o);
+z2 = (ss,(h-d)/2);
+z3 = z2 shifted (thickl,0);
+
+fill z1{dir 150}..{up}z3{up}..{dir 30}z0{dir
+ 200}..{down}z2{down}..{dir -20}z1..cycle;
+
+picture biggerparen;
+biggerparen := 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"021",2.5pwid#,2cap#,2dep#); "Bigger close parenthesis, )";
+
+currentpicture := biggerparen rotatedaround ((w/2,(h-d)/2),180);
+
+endchar;
+
+beginchar(oct"022",3pwid#,3cap#,3dep#); "Bigger open parenthesis, (";
+
+z0 = (w,h+o);
+z1 = (w,-d-o);
+z2 = (ss,(h-d)/2);
+z3 = z2 shifted (thickl,0);
+
+fill z1{dir 150}..{up}z3{up}..{dir 30}z0{dir
+ 200}..{down}z2{down}..{dir -20}z1..cycle;
+
+picture biggererparen;
+biggererparen := 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"023",3pwid#,3cap#,3dep#); "Bigger close parenthesis, )";
+
+currentpicture := biggererparen rotatedaround ((w/2,(h-d)/2),180);
+
+endchar;
+
+beginchar(oct"040",4pwid#,4cap#,4dep#); "Bigger open parenthesis, (";
+
+z0 = (w,h+o);
+z1 = (w,-d-o);
+z2 = (ss,(h-d)/2);
+z3 = z2 shifted (thickl,0);
+
+fill z1{dir 150}..{up}z3{up}..{dir 30}z0{dir
+ 200}..{down}z2{down}..{dir -20}z1..cycle;
+
+picture biggestparen;
+biggestparen := 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",4pwid#,4cap#,4dep#); "Bigger close parenthesis, )";
+
+currentpicture := biggestparen rotatedaround ((w/2,(h-d)/2),180);
+
+endchar;
+
+beginchar(oct"024",3pwid#,3cap#+ss#,3dep#); "The open square bracket, [";
+
+z0 = (w-ss,h);
+z1 = z0 shifted (0,-thickl);
+z2 = (ss,h);
+z3 = z2 shifted (thickl,-thickl);
+z4 = (ss,-d);
+z5 = z4 shifted (thickl,thickl);
+z6 = (w-ss,-d);
+z7 = z6 shifted (0,thickl);
+z8 = 0.5[z0,z1] shifted (0,0);
+z9 = 0.5[z7,z6] shifted (0,0);
+
+path biggersquarebrack;
+biggersquarebrack = z0--z2--z4--z6--z7--z5--z3--z1--cycle;
+fill biggersquarebrack;
+
+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"025",3pwid#,3cap#+ss#,3dep#); "The close square bracket, ]";
+fill biggersquarebrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"042",4pwid#,4cap#+ss#,4dep#); "The open square bracket, [";
+
+z0 = (w-ss,h);
+z1 = z0 shifted (0,-thickl);
+z2 = (ss,h);
+z3 = z2 shifted (thickl,-thickl);
+z4 = (ss,-d);
+z5 = z4 shifted (thickl,thickl);
+z6 = (w-ss,-d);
+z7 = z6 shifted (0,thickl);
+z8 = 0.5[z0,z1] shifted (0,0);
+z9 = 0.5[z7,z6] shifted (0,0);
+
+path biggestsquarebrack;
+biggestsquarebrack = z0--z2--z4--z6--z7--z5--z3--z1--cycle;
+fill biggestsquarebrack;
+
+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"043",4pwid#,4cap#+ss#,4dep#); "The close square bracket, ]";
+fill biggestsquarebrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"026",3pwid#,3cap#,3dep#); "left floor";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"027",3pwid#,3cap#,3dep#); "right floor";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"044",4pwid#,4cap#,4dep#); "left floor";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"045",4pwid#,4cap#,4dep#); "right floor";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"030",3pwid#,3cap#,3dep#); "left ceil";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+top rt z2 = (w-ss,h+o);
+draw z1--z0--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"031",3pwid#,3cap#,3dep#); "right ceil";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+top lft z2 = (ss,h+o);
+draw z2--z0--z1;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"046",4pwid#,4cap#,4dep#); "left ceil";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+top rt z2 = (w-ss,h+o);
+draw z1--z0--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"047",4pwid#,4cap#,4dep#); "right ceil";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+top lft z2 = (ss,h+o);
+draw z2--z0--z1;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"032",3pwid#,3cap#+ss#,3dep#); "The open curly bracket, {";
+
+biggertoth = h+d;
+pickup pencircle xscaled brackwid yscaled (thinl);
+top rt z0 = (w-ss,h);
+bot rt z1 = (w-ss,-d);
+lft z2 = (ss,h-biggertoth/2);
+z3 = (3(x0-x2)/4,h-biggertoth/4);
+z4 = (3(x0-x2)/4,h-3biggertoth/4);
+
+path biggercurlybrack;
+biggercurlybrack = z0{left}..{down}z3..{left}z2{right}..z4{down}..{right}z1;
+draw biggercurlybrack;
+
+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"033",3pwid#,3cap#+ss#,3dep#); "The close curly bracket, }";
+pickup pencircle xscaled brackwid yscaled (thinl);
+draw biggercurlybrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"050",4pwid#,4cap#+ss#,4dep#); "The open curly bracket, {";
+
+biggesttoth = h+d;
+pickup pencircle xscaled brackwid yscaled (thinl);
+top rt z0 = (w-ss,h);
+bot rt z1 = (w-ss,-d);
+lft z2 = (ss,h-biggesttoth/2);
+z3 = (3(x0-x2)/4,h-biggesttoth/4);
+z4 = (3(x0-x2)/4,h-3biggesttoth/4);
+
+path biggestcurlybrack;
+biggestcurlybrack = z0{left}..{down}z3..{left}z2{right}..z4{down}..{right}z1;
+draw biggestcurlybrack;
+
+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"051",4pwid#,4cap#+ss#,4dep#); "The close curly bracket, }";
+pickup pencircle xscaled brackwid yscaled (thinl);
+draw biggestcurlybrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"150",2.5pwid#,2cap#+ss#,2dep#); "The open square bracket, [";
+
+z0 = (w-ss,h);
+z1 = z0 shifted (0,-thickl);
+z2 = (ss,h);
+z3 = z2 shifted (thickl,-thickl);
+z4 = (ss,-d);
+z5 = z4 shifted (thickl,thickl);
+z6 = (w-ss,-d);
+z7 = z6 shifted (0,thickl);
+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;
+
+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"151",2.5pwid#,2cap#+ss#,2dep#); "The close square bracket, ]";
+fill squarebrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"152",2.5pwid#,2cap#,2dep#); "left floor";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"153",2.5pwid#,2cap#,2dep#); "right floor";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"154",2.5pwid#,2cap#,2dep#); "left ceil";
+
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h+o);
+bot lft z1 = (ss,-d);
+top rt z2 = (w-ss,h+o);
+draw z1--z0--z2;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"155",2.5pwid#,2cap#,2dep#); "right ceil";
+
+pickup pencircle scaled thickl;
+top rt z0 = (w-ss,h+o);
+bot rt z1 = (w-ss,-d);
+top lft z2 = (ss,h+o);
+draw z2--z0--z1;
+
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"156",2.5pwid#,2cap#+ss#,2dep#); "The open curly bracket, {";
+
+brackwid := 2thinl;
+tothtwo = h+d;
+pickup pencircle xscaled brackwid yscaled (thinl);
+top rt z0 = (w-ss,h);
+bot rt z1 = (w-ss,-d);
+lft z2 = (ss,h-tothtwo/2);
+z3 = (3(x0-x2)/4,h-tothtwo/4);
+z4 = (3(x0-x2)/4,h-3tothtwo/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(oct"157",2.5pwid#,2cap#+ss#,2dep#); "The close curly bracket, }";
+pickup pencircle xscaled brackwid yscaled (thinl);
+draw curlybrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"104",2.5pwid#,2cap#+ss#,3dep#); "Open angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h);
+lft z1 = (ss,(h+d)/2-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+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"034",3pwid#,3cap#+ss#,3dep#); "Open angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h);
+lft z1 = (ss,(h+d)/2-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+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"105",2.5pwid#,2cap#+ss#,3dep#); "Close angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h);
+rt z1 = (w-ss,(h+d)/2-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+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"035",3pwid#,3cap#+ss#,3dep#); "Close angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h);
+rt z1 = (w-ss,(h+d)/2-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+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"036",3pwid#,3cap#,0); "slash, solidus";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h+o);
+bot lft z1 = (ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"037",3pwid#,3cap#,0); "backslash";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h+o);
+bot rt z1 = (w-ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"052",4pwid#,4cap#+ss#,4dep#); "Open angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h);
+lft z1 = (ss,(h+d)/2-d);
+bot rt z2 = (w-ss,-d);
+draw z0--z1--z2;
+
+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"053",4pwid#,4cap#+ss#,4dep#); "Close angle bracket";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h);
+rt z1 = (w-ss,(h+d)/2-d);
+bot lft z2 = (ss,-d);
+draw z0--z1--z2;
+
+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"054",4pwid#,4cap#,0); "slash, solidus";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h+o);
+bot lft z1 = (ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"055",4pwid#,4cap#,0); "backslash";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h+o);
+bot rt z1 = (w-ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"056",2.5pwid#,2cap#,0); "slash, solidus";
+
+pickup pencircle scaled 1.5thinl;
+top rt z0 = (w-ss,h+o);
+bot lft z1 = (ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"057",2.5pwid#,2cap#,0); "backslash";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h+o);
+bot rt z1 = (w-ss,0-o);
+draw z0--z1;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"060",3pwid#,3cap#,3dep#); "The open paren top exten";
+
+z0 = (w,h+o);
+z1 = (w,-d-o);
+z2 = (ss,-d);
+z3 = z2 shifted (thickl,0);
+
+fill z3{up}...{dir 30}z0{dir 200}...{down}z2--cycle;
+
+picture openparentop;
+openparentop := 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"061",3pwid#,3cap#,3dep#); "The close paren top exten";
+
+currentpicture := openparentop reflectedabout
+ ((w/2,h),(w/2,(h-d)/2));
+
+endchar;
+
+beginchar(oct"062",3pwid#,3cap#+ss#,3dep#);
+"The top open square bracket exten";
+
+z0 = (w-ss,h);
+z1 = z0 shifted (0,-thickl);
+z2 = (ss,h);
+z3 = z2 shifted (thickl,-thickl);
+z4 = (ss,-d);
+z5 = z4 shifted (thickl,0);
+
+path topsquarebrack;
+topsquarebrack = z0--z2--z4--z5--z3--z1--cycle;
+fill topsquarebrack;
+
+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"063",3pwid#,3cap#+ss#,3dep#);
+"The top close square bracket exten";
+fill topsquarebrack reflectedabout ((w/2,h),(w/2,-d));
+endchar;
+
+beginchar(oct"064",3pwid#,3cap#+ss#,3dep#);
+"The bottom open square bracket exten";
+fill topsquarebrack reflectedabout ((0,(h-d)/2),(w,(h-d)/2));
+endchar;
+
+beginchar(oct"065",3pwid#,3cap#+ss#,3dep#);
+"The bottom open square bracket exten";
+fill topsquarebrack rotatedaround ((w/2,(h-d)/2),180);
+endchar;
+
+beginchar(oct"066",3pwid#,ex#,dep#);
+"left square bracket extension piece";
+z0 = (ss,h);
+z1 = z0 shifted (thickl,0);
+z2 = (ss,-d);
+z3 = z2 shifted (thickl,0);
+fill z0--z1--z3--z2--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(oct"067",3pwid#,ex#,dep#);
+"right square bracket extension piece";
+z0 = (w-ss,h);
+z1 = z0 shifted (-thickl,0);
+z2 = (w-ss,-d);
+z3 = z2 shifted (-thickl,0);
+fill z0--z1--z3--z2--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(oct"102",3pwid#,ex#,dep#); "Left paren exten";
+
+z0 = (ss,h);
+z1 = (ss,-d);
+z2 = z1 shifted (thickl,0);
+z3 = z0 shifted (thickl,0);
+fill z0--z1--z2--z3--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(oct"103",3pwid#,ex#,dep#); "Right paren exten";
+
+z0 = (w-ss,h);
+z1 = (w-ss,-d);
+z2 = z1 shifted (-thickl,0);
+z3 = z0 shifted (-thickl,0);
+fill z0--z1--z2--z3--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(oct"100",3pwid#,3cap#,3dep#); "The open paren bot exten";
+currentpicture := openparentop reflectedabout
+ ((0,(h-d)/2),(w,(h-d)/2));
+endchar;
+
+beginchar(oct"101",3pwid#,3cap#,3dep#); "The close paren bot exten";
+currentpicture := openparentop reflectedabout
+ ((0,(h-d)/2),(w,(h-d)/2)) reflectedabout
+ ((w/2,h),(w/2,(h-d)/2));
+endchar;
+
+beginchar(oct"070",3pwid#,cap#,0); "The open curly top exten";
+
+brackwid := thickl;
+toth := h+d;
+pickup pencircle xscaled brackwid yscaled (thinl);
+top rt z0 = (w-ss,h);
+z1 = (w/2,0);
+draw z0{left}..{down}z1;
+
+picture curlyopentop; curlyopentop := 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(oct"071",3pwid#,cap#,0); "The close curly top exten";
+currentpicture := curlyopentop reflectedabout
+ ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"072",3pwid#,cap#,0); "The open curly bot exten";
+currentpicture := curlyopentop reflectedabout
+ ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"073",3pwid#,cap#,0); "The close curly bot exten";
+currentpicture := curlyopentop reflectedabout
+ ((0,h/2),(w,h/2)) reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"076",3pwid#,ex#,0); "The open curly brack exten";
+pickup pencircle xscaled brackwid yscaled (thinl);
+draw (w/2,h)--(w/2,0);
+endchar;
+
+beginchar(oct"074",3pwid#,3cap#,0); "The open middle curly brack";
+pickup pencircle xscaled brackwid yscaled (thinl);
+z0 = (w/2,h);
+z1 = (2w/3,0.6h);
+z2 = (ss,h/2);
+z3 = (2w/3,0.4h);
+z4 = (w/2,0);
+draw z0{down}..{dir -165}z2;
+draw z4{up}..{dir -195}z2;
+picture midcurly; midcurly := currentpicture;
+endchar;
+
+beginchar(oct"075",3pwid#,3cap#,0); "The close middle curly brack";
+currentpicture := midcurly reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"077",ex#,ex#,0); "Vertical arrow extension";
+pickup pencircle scaled 1.5thinl;
+draw (w/2,h)--(w/2,0);
+endchar;
+
+beginchar(oct"170",ex#,cap#,0); "Upward arrow head";
+pickup pencircle scaled 1.5thinl;
+top z0 = (w/2,h);
+bot z1 = (w/2,0);
+lft z2 = (0,2h/3);
+rt z3 = (w,2h/3);
+draw z0--z1;
+draw z2--z0--z3;
+picture uparrow; uparrow := currentpicture;
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"171",ex#,cap#,0); "Downward arrow head";
+currentpicture := uparrow reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"176",em#,cap#,0); "Double up arrow with head";
+pickup pencircle scaled 1.5thinl;
+top z0 = (w/2,h);
+lft z1 = (0,2h/3);
+rt z2 = (w,2h/3);
+path head; head = z1--z0--z2; draw head;
+z3 = (w/3,0);
+z4 = (2w/3,0);
+z5 = (z3--(x3,h)) intersectionpoint head;
+z6 = (z4--(x4,h)) intersectionpoint head;
+draw z3--z5; draw z4--z6;
+picture doublehead; doublehead := currentpicture;
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"177",em#,cap#,0); "Double down arrow with head";
+currentpicture := doublehead reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"167",em#,cap#,0); "Double arrow exten";
+pickup pencircle scaled 1.5thinl;
+draw (w/3,0)--(w/3,h);
+draw (2w/3,0)--(2w/3,h);
+endchar;
+
+beginchar(oct"106",1.5ex#,cap#,0); "small upward square cup";
+
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h+o);
+top rt z1 = (w-ss,h+o);
+bot lft z2 = (ss,0-o);
+bot rt z3 = (w-ss,0-o);
+path upsquarecup; upsquarecup = z0--z2--z3--z1;
+draw upsquarecup;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"107",3ex#,2cap#,ex#); "large upward square cup";
+
+pickup pencircle scaled thickl;
+draw upsquarecup scaled 2 shifted (0,-ex);
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"142",ex#,cap#,0); "narrow hat";
+
+z0 = (ss,h-pwid);
+z1 = (w/2,h+o);
+z2 = (w-ss,y0);
+z3 = z1 shifted (0,-thickl);
+z4 = z0 shifted (0,thinl);
+z5 = z2 shifted (0,thinl);
+path hat; hat = z1--z5{dir -45}..z2--z3--z0{dir -225}..z4--cycle;
+fill hat;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"143",2ex#,cap#,0); "middle hat";
+fill hat xscaled 2;
+endchar;
+
+beginchar(oct"144",3ex#,cap#,0); "wide hat";
+fill hat xscaled 3;
+endchar;
+
+beginchar(oct"145",ex#,cap#,0); "narrow tilde";
+
+z0 = (ss,h-pwid-o);
+z1 = (w/3,h-ss);
+z2 = (2w/3,h-pwid);
+z3 = (w-ss,h);
+z4 = z1 shifted (0,-1.5thinl);
+z5 = z2 shifted (0,1.5thinl);
+
+path tildpath;
+tildpath = z0..{right}z1{right}..{right}z5{right}..
+ {dir 60}z3{dir -95}..{left}z2{left}..{left}z4{left}..
+ z0..cycle;
+fill tildpath;
+
+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"146",2ex#,cap#,0); "middle tilde";
+fill tildpath xscaled 2;
+endchar;
+
+beginchar(oct"147",3ex#,cap#,0); "wide tilde";
+fill tildpath xscaled 3;
+endchar;
+
+beginchar(oct"122",ex#+2ss#,asch#,dep#); "Integral; moustache";
+italcorr(ex#*slant);
+
+penpos0(thickl,0);
+z0 = (w/2,h-curlh);
+penpos1(thickl,0);
+z1 = (w/2,-d+curlh);
+penpos2(thinl,-90);
+z2 = (3w/4,h+o);
+penpos3(thinl,-90);
+z3 = (x1-curlw,-d-o);
+penpos4(thickl,180);
+z4 = (x2+curlw,y0);
+penpos5(thickl,-180);
+z5 = (x3-curlw,y1);
+penpos6(thinl,70);
+z6r = (w/2,ex);
+penpos7(thinl,70);
+z7 = (ss,y6);
+penpos8(thinl,70);
+z8 = (w-ss,y6);
+penpos9(thinl,0);
+z9r = z4r;
+penpos10(thinl,225);
+z10r = z9r;
+penpos11(thinl,0);
+z11l = z5l;
+penpos12(thinl,225);
+z12l = z11l;
+
+penstroke (z12e..z11e..z5e..{right}z3e{right}..z1e---
+ z0e..{right}z2e{right}..z4e..z9e..z10e)
+ slanted (1/6);
+
+picture smallint; smallint := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"132",2ex#+2ss#,2asch#,2dep#); "Large integral; moustache";
+italcorr(ex#*slant);
+
+penpos0(thickl,0);
+z0 = (w/2,h-curlh);
+penpos1(thickl,0);
+z1 = (w/2,-d+curlh);
+penpos2(thinl,-90);
+z2 = (3w/4,h+o);
+penpos3(thinl,-90);
+z3 = (x1-curlw,-d-o);
+penpos4(thickl,180);
+z4 = (x2+curlw,y0);
+penpos5(thickl,-180);
+z5 = (x3-curlw,y1);
+penpos6(thinl,70);
+z6r = (w/2,ex);
+penpos7(thinl,70);
+z7 = (ss,y6);
+penpos8(thinl,70);
+z8 = (w-ss,y6);
+penpos9(thinl,0);
+z9r = z4r;
+penpos10(thinl,225);
+z10r = z9r;
+penpos11(thinl,0);
+z11l = z5l;
+penpos12(thinl,225);
+z12l = z11l;
+
+penstroke (z12e..z11e..z5e..{right}z3e{right}..z1e---
+ z0e..{right}z2e{right}..z4e..z9e..z10e)
+ slanted (1/6);
+
+picture largeint; largeint := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"110",ex#+2ss#,asch#,dep#);
+"Integral, circled; moustache, circled";
+italcorr(ex#*slant);
+
+currentpicture := smallint;
+pickup pencircle scaled 1.5thinl;
+draw (fullcircle scaled (w/2+3thinl) shifted (w/2,h/3))
+ slanted (1/6);
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"111",2ex#+2ss#,2asch#,2dep#);
+"Large Integral, circled; Large moustache, circled";
+italcorr(ex#*slant);
+
+currentpicture := largeint;
+pickup pencircle scaled 1.5thinl;
+draw (fullcircle scaled (w/2+3thinl) shifted (w/2,h/3))
+ slanted (1/6);
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"160",3em#/4+2ss#,0.4pt#,cap#); "square root";
+
+z0 = (ss,cap/3);
+z1 = (w/8,cap/3+thickl);
+z2 = (w/3,0-o);
+z3 = (w-ss,cap+0.4pt);
+z4 = z0 shifted (0,-thinl/2);
+z5 = z1 shifted (0,-1.5thickl);
+z6 = z2 shifted (0,1.5thickl);
+z7 = z3 shifted (0,-0.4pt);
+z8 = ((z4--z1) intersectionpoint (z5--(0,y1))) shifted
+ (thinl/2,-thinl/2);
+z9 = z3 shifted (thickl,0);
+z10 = z7 shifted (thickl,0);
+
+fill (z0--z4--z8--z5--z2--z7--z10--z9--z3--z6--z1--cycle)
+ shifted (0,-cap);
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"161",3em#/4+2ss#,0.4pt#,2cap#); "second square root";
+
+z0 = (ss,2cap/3);
+z1 = (w/8,2cap/3+2thickl);
+z2 = (w/3,0-o);
+z3 = (w-ss-thinl,2cap+0.4pt);
+z4 = z0 shifted (0,-thinl);
+z5 = z1 shifted (0,-3thickl);
+z6 = z2 shifted (0,3thickl);
+z7 = z3 shifted (thinl,-0.4pt);
+z8 = ((z4--z1) intersectionpoint (z5--(0,y1))) shifted
+ (thinl/4,-thinl);
+z9 = z3 shifted (2thickl,0);
+z10 = z7 shifted (2thickl,0);
+
+fill (z0--z4--z8--z5--z2--z7--z10--z9--z3--z6--z1--cycle)
+ shifted (0,-2cap);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(oct"162",em#+2ss#,0.4pt#,3cap#); "third square root";
+z0 = (ss,3cap/3);
+z1 = (w/8,3cap/3+3thickl);
+z2 = (w/3,0-o);
+z3 = (w-ss-2thinl,3cap+0.4pt);
+z4 = z0 shifted (0,-thinl);
+z5 = z1 shifted (0,-3thickl);
+z6 = z2 shifted (0,5thickl);
+z7 = z3 shifted (2thinl,-0.4pt);
+z8 = ((z4--z1) intersectionpoint (z5--(0,y1))) shifted
+ (thinl/2,-thinl);
+z9 = z3 shifted (2thickl,0);
+z10 = z7 shifted (2thickl,0);
+
+fill (z0--z4--z8--z5--z2--z7--z10--z9--z3--z6--z1--cycle)
+ shifted (0,-3cap);
+endchar;
+
+beginchar(oct"163",em#+2ss#,0.4pt#,4cap#); "fourth square root";
+z0 = (ss,4cap/3);
+z1 = (w/8,4cap/3+4thickl);
+z2 = (w/3,0-o);
+z3 = (w-ss-2thinl,4cap+0.4pt);
+z4 = z0 shifted (0,-thinl);
+z5 = z1 shifted (0,-4thickl);
+z6 = z2 shifted (0,7thickl);
+z7 = z3 shifted (2thinl,-0.4pt);
+z8 = ((z4--z1) intersectionpoint (z5--(0,y1))) shifted
+ (thinl/2,-thinl);
+z9 = z3 shifted (2thickl,0);
+z10 = z7 shifted (2thickl,0);
+
+fill (z0--z4--z8--z5--z2--z7--z10--z9--z3--z6--z1--cycle)
+ shifted (0,-4cap);
+endchar;
+
+beginchar(oct"164",3em#/4+2ss#,2cap#,0); "radical bot exten";
+
+z0 = (ss,3h/4-2thickl);
+z1 = (w/8,3h/4+thickl);
+z2 = (w-ss,0-o);
+z3 = (w-ss,h+o);
+z4 = z0 shifted (0,-thinl/2);
+z5 = z1 shifted (0,-2thickl);
+z6 = z2 shifted (0,2thickl);
+z7 = z3 shifted (-thickl,0);
+z8 = ((z4--z1) intersectionpoint (z5--(0,y1))) shifted
+ (thinl/2,-thinl/2);
+z9 = 0.19[z6,z1];
+z10 = z4 rotatedaround (z0,45);
+
+fill z0--z10--z5--z2--z3--z7--z9--z1--cycle;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"165",3em#/4+2ss#,ex#,0); "radical exten";
+
+z0 = (w-ss,h);
+z1 = z0 shifted (-thickl,0);
+z2 = (w-ss,0);
+z3 = z2 shifted (-thickl,0);
+
+fill z0--z1--z3--z2--cycle;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"166",3em#/4+2ss#,0.4pt#,ex#); "radical top exten";
+
+z0 = (w-ss,h);
+z1 = z0 shifted (-thickstroke,0);
+z2 = (w-ss,-d);
+z3 = z2 shifted (-thickstroke,0);
+z4 = z0 shifted (0,-0.4pt);
+z5 = z4 shifted (thickl,0);
+z6 = z0 shifted (thickl,0);
+
+fill (z3--z1--z6--z5--z4--z2--cycle);
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"112",em#+2ss#,asch#,0); "circle dot";
+pickup pencircle scaled 1.5thinl;
+draw fullcircle scaled (w-2ss-1.5thinl) shifted (w/2,h/2);
+fill fullcircle scaled (1.5thickl) shifted (w/2,h/2);
+endchar;
+
+beginchar(oct"113",2em#+2ss#,2asch#,0); "large circle dot";
+pickup pencircle scaled thickl;
+draw fullcircle scaled (w-2ss-thickl) shifted (w/2,h/2);
+fill fullcircle scaled (2thickl) shifted (w/2,h/2);
+endchar;
+
+beginchar(oct"114",em#+2ss#,asch#,0); "circle plus";
+pickup pencircle scaled 1.5thinl;
+draw fullcircle scaled (w-2ss-1.5thinl) shifted (w/2,h/2);
+lft z0 = (ss,h/2); rt z1 = (w-ss,h/2);
+top z2 = (w/2,h); bot z3 = (w/2,0);
+draw z0--z1; draw z2--z3;
+endchar;
+
+beginchar(oct"115",2em#+2ss#,2asch#,0); "large circle plus";
+pickup pencircle scaled thickl;
+draw fullcircle scaled (w-2ss-thickl) shifted (w/2,h/2);
+lft z0 = (ss,h/2); rt z1 = (w-ss,h/2);
+top z2 = (w/2,h); bot z3 = (w/2,0);
+draw z0--z1; draw z2--z3;
+endchar;
+
+beginchar(oct"116",em#+2ss#,asch#,0); "circle x";
+pickup pencircle scaled 1.5thinl;
+draw fullcircle scaled (w-2ss-1.5thinl) shifted (w/2,h/2);
+lft z0 = (ss,h/2); rt z1 = (w-ss,h/2);
+top z2 = (w/2,h); bot z3 = (w/2,0);
+draw (z0--z1) rotatedaround ((w/2,h/2),45);
+draw (z2--z3) rotatedaround ((w/2,h/2),45);
+endchar;
+
+beginchar(oct"117",2em#+2ss#,2asch#,0); "large circle x";
+pickup pencircle scaled thickl;
+draw fullcircle scaled (w-2ss-thickl) shifted (w/2,h/2);
+lft z0 = (ss,h/2); rt z1 = (w-ss,h/2);
+top z2 = (w/2,h); bot z3 = (w/2,0);
+draw (z0--z1) rotatedaround ((w/2,h/2),45);
+draw (z2--z3) rotatedaround ((w/2,h/2),45);
+endchar;
+
+beginchar(oct"120",5em#/6+2ss#,cap#,0); "The letter Sigma";
+italcorr(ex#*slant);
+
+z0 = (w-ss,h);
+z1 = (w-ss,h-thickstroke-thinstroke);
+z2 = z1 shifted (-thinstroke,0);
+z3 = z2 shifted (0,thinstroke);
+z4 = (ss,h);
+z5 = (ss,h-thickstroke);
+z6 = (w/2-1.5thinstroke/2,h/2);
+z7 = z6 shifted (1.5thinstroke,0);
+z8 = (ss,0);
+z9 = z8 shifted (0,thickstroke);
+z10 = (w-ss,0);
+z11 = z10 shifted (0,thickstroke+thinstroke);
+z12 = z11 shifted (-thinstroke,0);
+z13 = z12 shifted (0,-thinstroke);
+z14 = z5 shifted (1.5thinstroke,0);
+z15 = z9 shifted (1.5thinstroke,0);
+
+fill z11--z10--z8--z9--z6--z5--z4--z0--z1--z2--z3--z14--
+ z7--z15--z13--z12--cycle;
+
+picture Sigma; Sigma := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+penlabels(19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34);
+endchar;
+
+beginchar(oct"130",10em#/6+2ss#,2cap#,0); "Large Sigma";
+italcorr(ex#*slant);
+currentpicture := Sigma scaled 2 shifted (-ss,0);
+endchar;
+
+beginchar(oct"121",6em#/6+2ss#,cap#,0); "The letter Pi";
+italcorr(ex#*slant);
+
+z0 = (ss+lserw,lserh);
+z1 = z0 shifted (thickstroke,0);
+z2 = (w-ss-lserw,lserh);
+z3 = z2 shifted (-thickstroke,0);
+llserif(0,4,5,6,7)(1);
+lrserif(1,8,9,10,11)(1);
+llserif(3,12,13,14,15)(1);
+lrserif(2,16,17,18,19)(1);
+z20 = (x0,h-lserh);
+z21 = (x1,h-thinstroke);
+z22 = (x3,h-thinstroke);
+z23 = (x2,h-lserh);
+ulserif(20,24,25,26,27)(1);
+urserif(23,28,29,30,31)(1);
+y26 := y30 := h;
+y6 := y10 := y14 := y18 := 0;
+
+fill
+z0..z4..z5--z6--z10--z9..z8..z1--z21--z22--z3..z12..z13--z14--z18--z17..z16..z2--z23..z28..z29--z30--z26--z25..z24..z20--cycle;
+
+picture pipic; pipic := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+penlabels(19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34);
+endchar;
+
+beginchar(oct"131",2em#+2ss#,2cap#,0); "Large Pi";
+italcorr(ex#*slant);
+currentpicture := pipic scaled 2 shifted (-ss,0);
+endchar;
+
+beginchar(oct"140",em#+2ss#,cap#,0); "Inverse Pi";
+italcorr(ex#*slant);
+currentpicture := pipic shifted (-ss,0)
+ reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"141",2em#+2ss#,2cap#,0); "Large Inverse Pi";
+italcorr(ex#*slant);
+currentpicture := pipic scaled 2 shifted (-ss,0)
+ reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"123",0.75em#+2ss#,cap#,0); "union";
+pickup pencircle scaled 1.5thinl;
+top lft z0 = (ss,h);
+bot z1 = (w/2,0);
+top rt z2 = (w-ss,h);
+lft z5 = (ss,w/3);
+rt z6 = (w-ss,y5);
+
+draw z0---z5..{right}z1{right}..z6---z2;
+picture union; union := currentpicture;
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+beginchar(oct"133",1.25em#+2ss#,2cap#,0); "big union";
+pickup pencircle scaled thickl;
+top lft z0 = (ss,h);
+bot z1 = (w/2,0);
+top rt z2 = (w-ss,h);
+lft z5 = (ss,w/3);
+rt z6 = (w-ss,y5);
+draw z0---z5..{right}z1{right}..z6---z2;
+picture bigunion; bigunion := currentpicture;
+endchar;
+
+beginchar(oct"124",0.75em#+2ss#,cap#,0); "intersection";
+currentpicture := union reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"134",1.25em#+2ss#,2cap#,0); "big intersection";
+currentpicture := bigunion reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"125",0.75em#+2ss#,cap#,0); "intersection";
+currentpicture := union;
+pickup pencircle scaled 1.5thinl;
+z0 = (w/4,h/2);
+z1 = (3w/4,h/2);
+z2 = z0 rotatedaround ((w/2,h/2),90);
+z3 = z0 rotatedaround ((w/2,h/2),-90);
+draw z0--z1; draw z2--z3;
+penlabels(0,1,2,3,4,5,6);
+endchar;
+
+beginchar(oct"135",1.25em#+2ss#,2cap#,0); "big intersection";
+currentpicture := bigunion;
+pickup pencircle scaled thickl;
+z0 = (w/4,h/2);
+z1 = (3w/4,h/2);
+z2 = z0 rotatedaround ((w/2,h/2),90);
+z3 = z0 rotatedaround ((w/2,h/2),-90);
+draw z0--z1; draw z2--z3;
+endchar;
+
+beginchar(oct"126",0.75em#+2ss#,cap#,0); "upward triangle";
+pickup pencircle scaled 1.5thinl;
+top z0 = (w/2,h);
+bot lft z1 = (ss,0);
+bot rt z2 = (w-ss,0);
+draw z0--z1; draw z0--z2;
+picture uptri; uptri := currentpicture;
+endchar;
+
+beginchar(oct"136",1.25em#+2ss#,2cap#,0); "big upward triangle";
+pickup pencircle scaled thickl;
+top z0 = (w/2,h);
+bot lft z1 = (ss,0);
+bot rt z2 = (w-ss,0);
+draw z0--z1; draw z0--z2;
+picture biguptri; biguptri := currentpicture;
+endchar;
+
+beginchar(oct"127",0.75em#+2ss#,cap#,0); "upward triangle";
+currentpicture := uptri reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"137",1.25em#+2ss#,2cap#,0); "big upward triangle";
+currentpicture := biguptri reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"172",cap#,3pwid#,0); "downbrace left";
+currentpicture := curlyopentop reflectedabout ((0,h/2),(w,h/2))
+ rotatedaround ((w/2,h/2),-90) shifted (pwid/2,0);
+endchar;
+
+beginchar(oct"173",cap#,3pwid#,0); "downbrace right";
+currentpicture := curlyopentop reflectedabout ((0,h/2),(w,h/2))
+ rotatedaround ((w/2,h/2),90) shifted (-pwid/2,0)
+ reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"174",cap#,3pwid#,0); "upbrace left";
+currentpicture := curlyopentop reflectedabout ((0,h/2),(w,h/2))
+ rotatedaround ((w/2,h/2),90) shifted (-pwid/2,0)
+ reflectedabout ((w/2,0),(w/2,h));
+endchar;
+
+beginchar(oct"175",cap#,3pwid#,0); "upbrace right";
+currentpicture := curlyopentop reflectedabout ((0,h/2),(w,h/2))
+ rotatedaround ((w/2,h/2),90) shifted (-pwid/2,0);
+endchar;
+
+% open parens
+charlist oct"000" : oct"020" : oct"022" : oct"040" : oct"060";
+extensible oct"060": oct"060",0,oct"100",oct"102";
+% close parens
+charlist oct"001" : oct"021" : oct"023" : oct"041" : oct"061";
+extensible oct"061": oct"061",0,oct"101",oct"103";
+% open square brackets
+charlist oct"002" : oct"150" : oct"024" : oct"042" : oct"062";
+extensible oct"062" : oct"062",0,oct"064",oct"066";
+% close square brackets
+charlist oct"003" : oct"151" : oct"025" : oct"043" : oct"063";
+extensible oct"063" : oct"063",0,oct"065",oct"067";
+% open floor
+charlist oct"004" : oct"152" : oct"026" : oct"044" : oct"064";
+extensible oct"064" : 0,0,oct"064",oct"066";
+% close floor
+charlist oct"005" : oct"153" : oct"027" : oct"045" : oct"065";
+extensible oct"065" : 0,0,oct"065",oct"067";
+% open ceiling
+charlist oct"006": oct"154": oct"030": oct"046": oct"066";
+extensible oct"066": oct"062",0,0,oct"066";
+% close ceiling
+charlist oct"007": oct"155": oct"031": oct"047": oct"067";
+extensible oct"067": oct"063",0,0,oct"067";
+% open curly
+charlist oct"010": oct"156": oct"032": oct"050": oct"070";
+extensible oct"070": oct"070",oct"074",oct"072",oct"076";
+% close curly
+charlist oct"011": oct"157": oct"033": oct"051": oct"071";
+extensible oct"071": oct"071",oct"075",oct"073",oct"076";
+% left angle brackets
+charlist oct"012": oct"104": oct"034": oct"052";
+% right angle brackets
+charlist oct"013": oct"105": oct"035": oct"053";
+charlist oct"016": oct"056": oct"036": oct"054"; % slashes
+charlist oct"017": oct"057": oct"037": oct"055"; % backslashes
+% single arrow extensions
+extensible oct"074": 0,0,0,oct"077"; % arrow extension modules only
+extensible oct"077": oct"170",0,oct"171",oct"077"; % updownarrow
+extensible oct"170": oct"170",0,0,oct"077"; % uparrow
+extensible oct"171": 0,0,oct"171",oct"077"; % downarrow
+% double arrow extensions
+extensible oct"075": 0,0,0,oct"167"; % double arrow extension modules only
+extensible oct"167": oct"176",0,oct"177",oct"167"; % double updownarrow
+extensible oct"176": oct"176",0,0,oct"167"; % double uparrow
+extensible oct"177": 0,0,oct"177",oct"167"; % double downarrow
+% radical extensions
+charlist oct"160": oct"161": oct"162": oct"163": oct"164"; % radical signs
+extensible oct"164": oct"166",0,oct"164",oct"165"; % radical sign
+% vertical line
+extensible oct"014": 0,0,0,oct"014";
+% double vertical line
+extensible oct"015": 0,0,0,oct"015";
+% sharp parentheses
+extensible oct"072": oct"070",0,oct"072",oct"076";
+extensible oct"073": oct"071",0,oct"073",oct"076";
+% parentheses extension modules only
+extensible oct"102": 0,0,0,oct"102";
+extensible oct"103": 0,0,0,oct"103";
+% brace exension modules only
+extensible oct"076": 0,0,0,oct"076";
+% large inegral signs ("moustaches")
+extensible oct"100": oct"070",0,oct"073",oct"076";
+extensible oct"101": oct"071",0,oct"072",oct"076";
+% summation signs
+charlist oct"120" : oct"130";
+% product signs
+charlist oct"121" : oct"131";
+% integral signs; moustaches
+charlist oct"122" : oct"132";
+% cups
+charlist oct"123" : oct"133";
+% caps
+charlist oct"124" : oct"134";
+% capplus
+charlist oct"125" : oct"135";
+% wedges
+charlist oct"126" : oct"136";
+% vees
+charlist oct"127" : oct"137";
+% coprods
+charlist oct"140" : oct"141";
+% circle times
+charlist oct"116" : oct"117";
+% circle plus
+charlist oct"114" : oct"115";
+% circle dot
+charlist oct"112" : oct"113";
+% circle integrals
+charlist oct"110" : oct"111";
+% squarecups
+charlist oct"106" : oct"107";