summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/drm/ornaments.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/drm/ornaments.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/drm/ornaments.mf1018
1 files changed, 1018 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/drm/ornaments.mf b/Master/texmf-dist/fonts/source/public/drm/ornaments.mf
new file mode 100644
index 00000000000..82a13829ce7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/drm/ornaments.mf
@@ -0,0 +1,1018 @@
+% +AMDG This document was begun on 16 July 11EX, the
+% Commemorations of St. Comillus de Lellis, C, and St.
+% Symphorosa and her seven Sons, MM, and it is humbly
+% dedicated to them and to the Immaculate Heart of Mary for
+% their prayers, and to the Sacred Heart of Jesus for His
+% mercy.
+
+beginchar(oct"016",9.8em#/5,cap#,dep#); "Right-facing simple fleuron";
+
+% draw the basal ornament
+curveornw = 9.8em/6;
+penpos0(thickl,90);
+z0r = (curveornw/6,h);
+penpos1(1.5thinl,180);
+z1r = (ss,3h/4);
+penpos2(thinl,225);
+z2 = ((x1l+x0)/2,h/2);
+penpos3(1.5thinl,180);
+z3r = (x0+o,h/4);
+penpos4(thickl,90);
+z4l = (ss+1.5thinl,0);
+penpos5(1.5thinl,0);
+z5l = z0l;
+penpos6(thinl,-90);
+z6l = z5l;
+penpos7(thinl,180);
+z7l = z6l;
+penpos8(1.5thinl,0);
+z8r = z4r;
+penpos9(thinl,-90);
+z9r = z8r;
+penpos10(thinl,180);
+z10r = z9r;
+penstroke z0e..z1e..z2e..z3e..z4e;
+penstroke z0e..z5e..z6e..z7e;
+penstroke z4e..z8e..z9e..z10e;
+
+% construct the vaguely heart-shaped leaf bit
+z11 = (0.6w,-dep/3);
+z12 = (w-ss,0.4h);
+z13 = (7w/8,h/4);
+z14 = (3w/4,h/2);
+z15 = (x11-thickstroke,h);
+z16 = (0.4w,3h/4);
+z17 = (w/2,h/2);
+z18 = (w/3,h/4);
+z19 = z12 shifted (-thinl,thinl);
+z20 = z19 shifted (-thinl,-thinl);
+z21 = z20 shifted (thinl,-thinl);
+z22 = (x16,(y15+y16)/2-thinl);
+fill
+z11{right}..{up}z12..z19..z20..{right}z21{down}..z13..
+ z14..{left}z15{left}..z22..{down}z16{down}..
+ {dir -45}z17{dir -160}..{down}z18{down}..{right}cycle;
+
+% draw the stem
+penpos23(thinl,90);
+z23 = z17;
+penpos24(1.5thinl,90);
+z24 = ((x16+x0)/2,y16);
+penpos25(1.5thinl,135);
+z25 = z2;
+penpos26(1.5thinl,225);
+z26 = z3;
+
+penstroke z23e{left}..z24e..z25e..z26e;
+
+picture simpfleuron; simpfleuron := 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"017",9.8em#/5,cap#,dep#);
+"Right-facing simple fleuron, upsidedown";
+currentpicture := simpfleuron reflectedabout
+ ((0,h/2),(w,h/2)) shifted (0,-dep/3);
+endchar;
+
+beginchar(oct"020",9.8em#/5,cap#,dep#);
+"Left-facing simple fleuron";
+currentpicture := simpfleuron reflectedabout ((w/2,h),(w/2,-d));
+endchar;
+
+beginchar(oct"021",9.8em#/5,cap#,dep#);
+"Left-facing simple fleuron, upsidedown";
+currentpicture := simpfleuron reflectedabout ((w/2,h),(w/2,-d))
+ reflectedabout ((0,h/2),(w,h/2)) shifted (0,-dep/3);
+endchar;
+
+beginchar(oct"050",cap#+dep#/3,9.8em#/5,0);
+"Up-facing simple fleuron";
+currentpicture := simpfleuron rotated (90) shifted (cap,0);
+endchar;
+
+beginchar(oct"051",cap#+dep#/3,9.8em#/5,0);
+"Up-facing simple fleuron, backwards";
+currentpicture := simpfleuron rotated (90) shifted (cap,0)
+ reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"077",cap#+dep#/3,9.8em#/5,0);
+"Down-facing simple fleuron";
+currentpicture := simpfleuron rotated (-90)
+ shifted (dep/3,9.8em/5);
+endchar;
+
+beginchar(oct"107",cap#+dep#/3,9.8em#/5,0);
+"Down-facing simple fleuron, backwards";
+currentpicture := simpfleuron rotated (-90) shifted (dep/3,9.8em/5)
+ reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"041",9.8em#/36+1.5thinstroke#+ss#,cap#,0);
+"Simple curve ornament, vertical";
+
+penpos0(thickl,90);
+z0r = (curveornw/6,h);
+penpos1(1.5thinl,180);
+z1r = (ss,3h/4);
+penpos2(thinl,225);
+z2 = ((x1l+x0)/2,h/2);
+penpos3(1.5thinl,180);
+z3r = (x0+o,h/4);
+penpos4(thickl,90);
+z4l = (ss+1.5thinl,0);
+penpos5(1.5thinl,0);
+z5l = z0l;
+penpos6(thinl,-90);
+z6l = z5l;
+penpos7(thinl,180);
+z7l = z6l;
+penpos8(1.5thinl,0);
+z8r = z4r;
+penpos9(thinl,-90);
+z9r = z8r;
+penpos10(thinl,180);
+z10r = z9r;
+
+penstroke z0e..z1e..z2e..z3e..z4e;
+penstroke z0e..z5e..z6e..z7e;
+penstroke z4e..z8e..z9e..z10e;
+
+picture curveorn; curveorn := 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"042",9.8em#/36+1.5thinstroke#+ss#,cap#,0);
+"Simple curve ornament, backwards";
+currentpicture := curveorn reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"043",cap#,9.8em#/36+1.5thinstroke#+ss#,0);
+"Simple curve ornament, horizontal";
+currentpicture := curveorn rotated (-90)
+ shifted (0,9.8em/36+1.5thinstroke+ss);
+endchar;
+
+beginchar(oct"045",cap#,9.8em#/36+1.5thinstroke#+ss#,0);
+"Simple curve ornament, horizontal, backwards";
+currentpicture := curveorn rotated (90) shifted (cap,0);
+endchar;
+
+beginchar(oct"023",9.8em#/5,cap#,cap#); "Double tulip fleuron";
+
+% set the points for the tulip
+tulw = (6cap/8);
+z0 = (ss+5tulw/6,h/6+2thickstroke);
+z1 = (ss+tulw/2,h/6);
+z2 = z1 shifted (0,thinl);
+z3 = (x0-thickl,y2+thinl);
+z4 = (x3+thinl,h/3);
+z5 = (tulw,15h/16);
+z6 = (x5-thinl,y5-thinl);
+z7 = (tulw/2,2h/3);
+z8 = (x3,y5);
+z9 = z8 shifted (-0.5thinl,-0.5thinl);
+z10 = ((x7+x9)/2,13h/16);
+z11 = (x2-thinstroke/2,h);
+z12 = ((x10+x11)/2,13h/16);
+z13 = z1 shifted (-thinstroke/2,0);
+z14 = z10 reflectedabout (z11,z13);
+z15 = z1 reflectedabout (z11,z13);
+
+% define the paths for the tulip
+path rightbase;
+rightbase = z1{right}..{up}z0{dir 260}..{left}z2--cycle;
+path leftbase; leftbase = rightbase reflectedabout (z11,z13);
+path rightpetal; rightpetal = z2{right}..z3..z4..
+ {dir 45}z6..{dir 45}z5{left}..{dir 205}z9..
+ {dir -135}z7{up}--z15--cycle;
+path leftpetal; leftpetal = rightpetal reflectedabout (z11,z13);
+path centpetal; centpetal = z10..{dir 135}z11{dir 225}..
+ z14{down}..{right}z7{right}..{up}cycle;
+% unit all the paths into a macro, allowing for shifting
+% and rotating around its own center
+def drawtulip(expr rot)(expr shift) =
+ pickup pencircle scaled thinl;
+ erase draw centpetal rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ erase draw leftpetal rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ erase draw rightpetal rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ erase draw leftbase rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ erase draw rightbase rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ fill centpetal rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ fill leftpetal rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ fill rightpetal rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ fill leftbase rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+ fill rightbase rotatedaround (((tulw/2),(y11+y13)/2),rot)
+ shifted (shift);
+enddef;
+
+% define the points for the stems
+
+penpos20(thinl,45);
+z20l = z4;
+penpos21(1.5thinl,90);
+z21 = (w/2,h/4);
+penpos22(thinl,135);
+z22r = z21r shifted (thinl,thinl);
+penpos23(1.5thinl,-90);
+z23l = (w/2,h);
+penpos24(thinl,45);
+z24 = z22 reflectedabout (z23,z21);
+penpos25(thinl,135);
+z25 = z20 reflectedabout (z23,z21);
+
+% define the points for the flourishes
+
+penpos30(thinl,90);
+z30 = 0.5[z23,z21];
+penpos31(thinl,90);
+z31 = (x25r,5h/6);
+penpos32(thinl,90);
+z32 = z31 reflectedabout (z23,z21);
+penpos33(thinl,180);
+z33r = (ss,h/2);
+penpos34(1.5thinl,-90);
+z34r = (w/4,0);
+penpos35(1.5thinl,-90);
+z35 = (w/2,h/8);
+penpos36(1.5thinl,-90);
+z36 = z34 reflectedabout ((w/2,0),(w/2,h));
+penpos37(thinl,0);
+z37 = z33 reflectedabout ((w/2,0),(w/2,h));
+
+% draw the flourishes
+
+penstroke z30e..z32e..z33e..z34e..z35e..z36e..z37e..z31e..z30e;
+
+% draw the two tulips
+drawtulip(45,(0,0));
+drawtulip(-45,(w-tulw,0));
+
+% draw the stems, erasing first so we have the right
+% overlaps
+pickup pencircle scaled 1.5thinl;
+erase draw z21..z22..z23..z24..z21;
+penstroke z20e..z21e..z22e..z23e..z24e..z21e..z25e;
+
+picture doubletulip; doubletulip := currentpicture;
+
+currentpicture := doubletulip +
+ doubletulip reflectedabout ((0,0),(w,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(oct"024",9.8em#/5,cap#,0);
+"Double tulip fleuron, half, upward";
+currentpicture := doubletulip;
+endchar;
+
+beginchar(oct"027",9.8em#/5,cap#,cap#);
+"Double tulip fleuron, half, downward";
+currentpicture := doubletulip reflectedabout ((0,h/2),(w,h/2))
+ shifted (0,-cap);
+endchar;
+
+beginchar(oct"036",cap#,9.8em#/5,0);
+"Double tulip fleuron, half, rightward";
+currentpicture := doubletulip rotated (-90)
+ shifted (0,9.8em/5);
+endchar;
+
+beginchar(oct"037",cap#,9.8em#/5,0);
+"Double tulip fleuron, half, leftward";
+currentpicture := doubletulip rotated (90)
+ shifted (cap,0);
+endchar;
+
+beginchar(oct"046",2cap#,9.8em#/5,0);
+"Double tulip fleuron, half, leftward";
+currentpicture := doubletulip rotated (90)
+ shifted (cap,0) + doubletulip rotated (-90)
+ shifted (cap,9.8em/5);
+endchar;
+
+beginchar(oct"053",9.8em#/5,cap#,9.8em#/5-cap#);
+"Upper left corner tulip fleuron";
+
+z0 = (ss+5tulw/6,h/6+2thickstroke);
+z1 = (ss+tulw/2,h/6);
+z2 = z1 shifted (0,thinl);
+z11 = (x2-thinstroke/2,h);
+z13 = z1 shifted (-thinstroke/2,0);
+z3 = (x0-thickl,y2+thinl);
+z4 = (x3+thinl,h/3);
+penpos20(thinl,45);
+z20l = z4;
+penpos21(thinl,0);
+%z21r = (0.4w,0);
+z21r = (cap,0);
+z22 = (w,h) rotatedaround ((0,h),-45);
+penpos23(1.5thinl,-90);
+z23 = (w/4,-d/3);
+penpos24(thinl,0);
+z24l = (ss,-2d/3);
+penpos25(thinl,90);
+z25l = (w/4,-d);
+penpos26(0.5thinl,180);
+%z26 = (w/3,-2d/3);
+z26 = (0.41w,-2d/3);
+penpos27(thinl,90);
+z27l = (x26l,-d);
+penpos28(thinl,45);
+z28r = ((x26+x24)/2,y24-thinl);
+penpos29(thinl,0);
+z29l = (ss,-d/3);
+penpos30(thinl,-135);
+%z30 = (x26,(y23+y26)/2);
+z30 = (x26,(y33+y23)/2);
+penpos31(thinl,0);
+z31l = (ss,-d/6);
+penpos32(thinl,-90);
+z32r = (w/3,0);
+penpos33(0.5thinl,180);
+z33 = (x21,y23);
+penpos34(thinl,180);
+z34r = (ss,h/8);
+penpos35(thinl,90);
+z35 = (w/8,2h/3);
+
+penstroke z35e..z34e..z30e..z27e..z28e..z29e..z31e..z32e..z33e;
+penstroke (z35e..z34e..z30e..z27e..z28e..z29e..z31e..z32e..z33e)
+ reflectedabout (z20,z22);
+pickup pencircle scaled 1.5thinl;
+erase undraw z20..z21..z23..z24..z25..z26;
+erase undraw (z20..z21..z23..z24..z25..z26)
+ reflectedabout (z20,z22);
+drawtulip(45,(0,0));
+penstroke z20e..z21e..z23e..z24e..z25e..z26e;
+penstroke (z20e..z21e..z23e..z24e..z25e..z26e)
+ reflectedabout (z20,z22);
+
+picture cornertulip; cornertulip := 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"072",9.8em#/5,cap#,9.8em#/5-cap#);
+"Upper right corner tulip fleuron";
+currentpicture := cornertulip reflectedabout
+ ((w/2,h),(w/2,-d));
+endchar;
+
+beginchar(oct"073",9.8em#/5,cap#,9.8em#/5-cap#);
+"Lower left corner tulip fleuron";
+currentpicture := cornertulip reflectedabout
+ ((0,0),(w,0));
+endchar;
+
+beginchar(oct"110",9.8em#/5,cap#,9.8em#/5-cap#);
+"Lower right corner tulip fleuron";
+currentpicture := cornertulip reflectedabout
+ ((0,0),(w,0)) reflectedabout
+ ((w/2,h),(w/2,-d));
+endchar;
+
+beginchar(oct"111",2(9.8em#/5),cap#,0);
+"Upward single tulip fleuron";
+
+z0 = (ss+5tulw/6,h/6+2thickstroke);
+z1 = (ss+tulw/2,h/6);
+z2 = z1 shifted (0,thinl);
+z11 = (x2-thinstroke/2,h);
+z13 = z1 shifted (-thinstroke/2,0);
+z3 = (x0-thickl,y2+thinl);
+z4 = (x3+thinl,h/3);
+
+penpos19(thinl,0);
+z19 = (w/2,h/2);
+penpos20(thinl,0);
+z20 = (w/2,h/6);
+penpos21(thinl,-90);
+z21r = (0.45w,0);
+penpos22(thinl,180);
+z22 = (0.4w,h/2);
+penpos23(thinl,-90);
+z23l = (0.3w,h);
+penpos24(thinl,-90);
+z24r = (0.15w,0);
+penpos25(thinl,180);
+z25r = (ss,h/2);
+penpos26(thinl,0);
+z26 = (0.225w,h/2);
+penpos27(thinl,90);
+z27r = (0.1w,h);
+penpos28(0.5thinl,-45);
+z28 = (x27,y25);
+penpos29(thinl,0);
+z29 = (x24,3h/4);
+penpos30(thinl,0);
+z30 = (w/2,h/2);
+penpos31(thinl,90);
+z31 = (x22,5h/6);
+penpos32(thinl,180);
+z32 = ((x23+x26)/2,h/2);
+penpos33(thinl,270);
+z33r = (x23,0);
+penpos34(thinl,0);
+z34 = (x23+(x23-x32),y26);
+penpos36(thinl,180);
+z36 = ((x27+x25)/2,y29);
+penpos35(thinl,90);
+z35r = ((x36+x23)/2,h);
+penpos37(thinl,180);
+z37 = ((x25+x28)/2,h/2);
+penpos38(thinl,-90);
+z38 = (x28,h/4);
+penpos39(0.5thinl,0);
+z39 = ((x28+x26)/2,h/2);
+
+penstroke z30e..z31e..z32e..z33e..z34e..z35e..z36e..
+ z38e..z39e;
+penstroke (z30e..z31e..z32e..z33e..z34e..z35e..z36e..
+ z38e..z39e) reflectedabout ((w/2,h),(w/2,0));
+pickup pencircle scaled 1.5thinl;
+erase draw z19---z20..z21..z22..z23..z26..z24..z25..
+ z27..z29..z28;
+erase draw (z19---z20..z21..z22..z23..z26..z24..z25..
+ z27..z29..z28) reflectedabout ((w/2,h),(w/2,0));
+drawtulip(0,(w/2-tulw/2,0));
+penstroke z19e---z20e..z21e..z22e..z23e..z26e..z24e..z25e..
+ z27e..z29e..z28e;
+penstroke (z19e---z20e..z21e..z22e..z23e..z26e..z24e..z25e..
+ z27e..z29e..z28e) reflectedabout ((w/2,h),(w/2,0));
+
+picture singletulip; singletulip := 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"112",2(9.8em#/5),cap#,cap#);
+"Downward single tulip fleuron";
+currentpicture := singletulip reflectedabout
+ ((0,h/2),(w,h/2)) shifted (0,-cap);
+endchar;
+
+beginchar(oct"113",cap#,2(9.8em#/5),0);
+"Leftward single tulip fleuron";
+currentpicture := singletulip rotated (90) shifted (cap,0);
+picture lefttulip; lefttulip := currentpicture;
+endchar;
+
+beginchar(oct"114",cap#,(9.8em#/5),(9.8em#/5));
+"Rightward single tulip fleuron";
+currentpicture := lefttulip reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"116",cap#,cap#,0);
+"Upward single narrow tulip";
+
+z0 = (ss+5tulw/6,h/6+2thickstroke);
+z1 = (ss+tulw/2,h/6);
+z2 = z1 shifted (0,thinl);
+z11 = (x2-thinstroke/2,h);
+z13 = z1 shifted (-thinstroke/2,0);
+z3 = (x0-thickl,y2+thinl);
+z4 = (x3+thinl,h/3);
+penpos20(thinl,0);
+z20 = (w/2,h/2);
+penpos21(thinl,0);
+z21 = (w/2,h/6);
+penpos22(1.2thinl,90);
+z22l = (3w/4,0);
+penpos23(thinl,180);
+z23l = (w-ss,h/2);
+penpos24(1.2thinl,-90);
+z24l = (3w/4,h);
+penpos25(thinl,0);
+z25 = (w/2,5h/6);
+
+penstroke z20e---z21e..z22e..z23e..z24e..z25e;
+penstroke (z20e---z21e..z22e..z23e..z24e..z25e)
+ reflectedabout ((w/2,h),(w/2,0));
+drawtulip(0,(w/2-tulw/2,0));
+pickup pencircle scaled thinl;
+draw z20--z21;
+
+picture singlenarrowtulip; singlenarrowtulip := 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"121",cap#,cap#,cap#);
+"Downward single narrow tulip";
+currentpicture := singlenarrowtulip reflectedabout
+ ((0,0),(w,0));
+endchar;
+
+beginchar(oct"122",cap#,cap#,cap#);
+"Leftward single narrow tulip";
+currentpicture := singlenarrowtulip rotatedabout
+ ((w/2,h/2),90);
+endchar;
+
+beginchar(oct"123",cap#,cap#,cap#);
+"Leftward single narrow tulip";
+currentpicture := singlenarrowtulip rotatedabout
+ ((w/2,h/2),-90);
+endchar;
+
+beginchar(oct"124",3cap#,cap#,0); "Right-pointing spearhead";
+
+z0 = (0,h);
+z1 = (0,0);
+z2 = (ex/3,h/4);
+z3 = (ex/3,3h/4);
+z4 = (-ex/3,h/4);
+z5 = (-ex/3,3h/4);
+path solidellipse;
+solidellipse = z0{right}..z3---z2..{left}z1{left}..z4---z5..{right}cycle;
+
+fill solidellipse scaled 0.8 shifted (w/8,0.1h);
+pickup pencircle scaled 1.5thinl;
+z6 = (0,h/2+thickl);
+z7 = z6 shifted (0,-2thickl);
+z8 = (w/4,y6);
+z9 = (w/4,y7);
+top z10 = (w/3,h);
+bot z11 = (w/3,0);
+z12 = (w/2,3h/4);
+z13 = (w/2,h/4);
+z14 = (3w/4,2h/3);
+z15 = (3w/4,h/3);
+rt z16 = (w,h/2);
+
+draw
+z6--z8..z10..z12..z14..{dir -15}z16{dir -165}..z15..z13..z11..z9--z7;
+
+pickup pencircle scaled thinl;
+z17 = 0.5[z10,z11];
+z18 = 0.5[z14,z15];
+draw z17--z18;
+
+picture spearhead; spearhead := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"125",3cap#,cap#,0); "Left-pointing spearhead";
+currentpicture := spearhead rotatedaround ((w/2,h/2),180);
+endchar;
+
+beginchar(oct"126",pwid#,cap#,0); "Horizontal spear shaft piece";
+
+pickup pencircle scaled 1.5thinl;
+z0 = (0,h/2+thickl);
+z1 = z0 shifted (0,-2thickl);
+z2 = (w,y0);
+z3 = (w,y1);
+draw z0--z2; draw z1--z3;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"132",cap#,3cap#,0); "Up-pointing spearhead";
+currentpicture := spearhead rotatedaround ((1.5cap,cap/2),90)
+ shifted (-cap,cap);
+endchar;
+
+beginchar(oct"146",cap#,3cap#,0); "Down-pointing spearhead";
+currentpicture := spearhead rotatedaround ((1.5cap,cap/2),-90)
+ shifted (-cap,cap);
+endchar;
+
+beginchar(oct"147",cap#,pwid#,0); "Vertical spear shaft";
+
+pickup pencircle scaled 1.5thinl;
+z0 = (w/2-thickl,0);
+z1 = z0 shifted (2thickl,0);
+z2 = (w/2-thickl,h);
+z3 = z2 shifted (2thickl,0);
+draw z0--z2; draw z1--z3;
+penlabels(0,1,2,3);
+endchar;
+
+beginchar(oct"157",cap#+2ss#,cap#,0); "upright fleur-de-lis";
+
+z0 = (w/2,h+o);
+z1 = (ss,h/2);
+z2 = (w-ss,2h/3);
+z3 = (w/2,0);
+z4 = (0.36w,2h/3);
+z5 = (0.64w,2h/3);
+z6 = (0.45w,h/3);
+z7 = (0.55w,h/3);
+z8 = (x4,0);
+z9 = (x5,0);
+z10 = (z8 shifted (thinstroke,0)) rotatedaround (z8,-45);
+z11 = (z9 shifted (thinstroke,0)) rotatedaround (z9,225);
+z12 = 0.5[z10,z3]; y12 := 0;
+z13 = 0.5[z11,z3]; y13 := 0;
+z14 = (x3,y11);
+z15 = 0.5[z1,z4]; y15 := 2h/3;
+z16 = 0.5[z2,z5]; y16 := 2h/3;
+z17 = (x4,h/2);
+z18 = z5 shifted (thinstroke,0);
+z19 = z6 shifted (-thinstroke,0);
+z20 = z7 shifted (thinstroke,0);
+z21 = z8 shifted (0,thinstroke);
+z22 = z9 shifted (0,thinstroke);
+z23 = (2x8/3,0);
+z24 = (x8/3,h/4);
+z25 = z23 shifted (0,thickstroke);
+z26 = z21 shifted (-thinstroke,thinstroke);
+z27 = z19 shifted (-thinstroke,0);
+z28 = 0.5[z17,z27] shifted (-0.5thinstroke,0);
+z29 = z15 shifted (0,-1.5thickstroke);
+z30 = (x1,h/3);
+z31 = z1 shifted (thinstroke,0);
+z32 = z27 shifted (-thickstroke,0);
+z33 = z32 reflectedabout ((w/2,h),(w/2,0));
+z34 = z32 shifted (thinstroke,thinstroke);
+z35 = z34 reflectedabout ((w/2,h),(w/2,0));
+z36 = z32 shifted (thinstroke,-thinstroke);
+z37 = z36 reflectedabout ((w/2,h),(w/2,0));
+
+pickup pencircle scaled 2;
+path middle;
+middle = z0{dir 225}..z4..z6..z8--z10--z12--z14--z13--
+ z11--z9..z7..z5..{dir 135}cycle;
+fill middle;
+
+path side; side = z30..z1..z15..z17..z19..z21..z23..
+ {up}z24{dir -65}..z25..z27..z28..z29..{down}z30..cycle;
+fill side;
+fill side reflectedabout ((w/2,h),(w/2,0));
+path binder; binder = z32..z34---z35..z33..z37---z36..cycle;
+fill binder;
+
+picture fleurdelis; fleurdelis := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+penlabels(17,18,19,20,21,22,23,24,25,26,27,28,29,30);
+penlabels(31,32,33,34,35,36,37,38,39,40,41,42,43,44);
+endchar;
+
+beginchar(oct"167",cap#+2ss#,cap#,0); "downward fleur-de-lis";
+currentpicture := fleurdelis reflectedabout ((0,h/2),(w,h/2));
+endchar;
+
+beginchar(oct"177",cap#,cap#+2ss#,0); "leftward fleur-de-lis";
+currentpicture := fleurdelis rotatedaround ((w/2+ss,h/2),-90);
+endchar;
+
+beginchar(oct"316",cap#,cap#+2ss#,0); "rightward fleur-de-lis";
+currentpicture := fleurdelis rotatedaround ((w/2,h/2-ss),90);
+endchar;
+
+beginchar(oct"317",ex#,ex#,0); "extension winding cord";
+
+cordwid = thickstroke;
+pickup pensquare scaled 1.5thinl;
+top z0 = (0,h);
+top z1 = (w,h);
+bot lft z2 = (0,0);
+bot z3 = (w,0);
+draw z0--z1; draw z2--z3;
+pickup pencircle scaled 0.5thinl;
+z4 = (w,-cordwid/2);
+z5 = z4 shifted (-cordwid/2,cordwid/2);
+z6 = (w/2+cordwid/2,h);
+z7 = z6 shifted (-cordwid,0);
+z8 = 0.5[z6,z7] shifted (0,cordwid/2);
+z9 = (0,-cordwid/2);
+z10 = z9 shifted (cordwid/2,cordwid/2);
+z11 = z5 shifted (cordwid,0);
+z12 = (z6--z11) intersectionpoint ((w,h)--(w,0));
+
+erase filldraw z4..z5---z7..z8..z6---z11..cycle;
+draw z4..z5---z7..z8..z6---z11;
+draw z10{down}..z9;
+
+pickup pencircle scaled 0.25thinl;
+z13 = 0.14285[z5,z7];
+z14 = 0.28571[z5,z7];
+z15 = 0.42857[z5,z7];
+z16 = 0.57142[z5,z7];
+z17 = 0.71428[z5,z7];
+z18 = 0.85714[z5,z7];
+z23 = 0.14285[z11,z6];
+z24 = 0.28571[z11,z6];
+z25 = 0.42857[z11,z6];
+z26 = 0.57142[z11,z6];
+z27 = 0.71428[z11,z6];
+z28 = 0.85714[z11,z6];
+
+draw z13{dir -45}..z23;
+draw z14{dir -45}..z24;
+draw z15{dir -45}..z25;
+draw z16{dir -45}..z26;
+draw z17{dir -45}..z27;
+draw z18{dir -45}..z28;
+draw z7{dir -45}..z6;
+
+unfill z10--(-cordwid,h/2)--z9--cycle;
+
+picture cordext; cordext := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+penlabels(17,18,19,20,21,22,23,24,25,26,27,28,29,30);
+endchar;
+
+beginchar(oct"320",ex#,ex#,0); "left end of winding cord";
+
+pickup pensquare scaled 1.5thinl;
+top rt z0 = (w,h);
+top lft z1 = (w-cordwid,h);
+draw z0--z1;
+z2 = (w,-cordwid/2);
+z3 = (w-cordwid/2,0);
+z4 = (w-cordwid/2,h);
+z5 = z4 shifted (-cordwid,0);
+z6 = 0.5[z4,z5] shifted (0,cordwid/2);
+z7 = z3 shifted (cordwid,0);
+z8 = z3 shifted (-cordwid,0);
+z9 = 0.5[z3,z8] shifted (0,-cordwid/2);
+z10 = z5 shifted (-cordwid,0);
+z11 = z6 shifted (-cordwid,0);
+z12 = z10 shifted (-cordwid,0);
+z13 = z11 shifted (-cordwid,0);
+z14 = z8 shifted (-cordwid,0);
+z15 = z9 shifted (-cordwid,0);
+z16 = z14 shifted (-cordwid,0);
+z17 = z15 shifted (-cordwid,0);
+
+pickup pencircle scaled 0.5thinl;
+erase filldraw z7---z4..z6..z5---z3..z2..cycle;
+draw z7---z4..z6..z5---z3..z2;
+% draw the rope lines on the underlying frap
+pickup pencircle scaled 0.25thinl;
+z23 = 0.14285[z4,z7];
+z24 = 0.28571[z4,z7];
+z25 = 0.42857[z4,z7];
+z26 = 0.57142[z4,z7];
+z27 = 0.71428[z4,z7];
+z28 = 0.85714[z4,z7];
+z33 = 0.14285[z5,z3];
+z34 = 0.28571[z5,z3];
+z35 = 0.42857[z5,z3];
+z36 = 0.57142[z5,z3];
+z37 = 0.71428[z5,z3];
+z38 = 0.85714[z5,z3];
+draw z33{dir -45}..z23;
+draw z34{dir -45}..z24;
+draw z35{dir -45}..z25;
+draw z36{dir -45}..z26;
+draw z37{dir -45}..z27;
+draw z38{dir -45}..z28;
+
+% first overlapping frap
+pickup pencircle scaled 0.5thinl;
+erase filldraw z5---z8..z9..z3---z4..z6..cycle;
+draw z5---z8..z9..z3---z4..z6..cycle;
+% next overlapping fraps
+pickup pencircle scaled 0.5thinl;
+draw z8---z5..z11..z10---z14..z15..cycle;
+draw z10---z14..z17..z16---z12..z13..cycle;
+% draw the rope marks on the straight fraps
+pickup pencircle scaled 0.25thinl;
+z42 = 0.00000[z4,z3];
+z43 = 0.14285[z4,z3];
+z44 = 0.28571[z4,z3];
+z45 = 0.42857[z4,z3];
+z46 = 0.57142[z4,z3];
+z47 = 0.71428[z4,z3];
+z48 = 0.85714[z4,z3];
+z49 = 1.00000[z4,z3];
+z52 = 0.00000[z5,z8];
+z53 = 0.14285[z5,z8];
+z54 = 0.28571[z5,z8];
+z55 = 0.42857[z5,z8];
+z56 = 0.57142[z5,z8];
+z57 = 0.71428[z5,z8];
+z58 = 0.85714[z5,z8];
+z59 = 1.00000[z5,z8];
+draw z52{dir -45}..z42;
+draw z53{dir -45}..z43;
+draw z54{dir -45}..z44;
+draw z55{dir -45}..z45;
+draw z56{dir -45}..z46;
+draw z57{dir -45}..z47;
+draw z58{dir -45}..z48;
+draw z59{dir -45}..z49;
+z62 = 0.00000[z5,z8];
+z63 = 0.14285[z5,z8];
+z64 = 0.28571[z5,z8];
+z65 = 0.42857[z5,z8];
+z66 = 0.57142[z5,z8];
+z67 = 0.71428[z5,z8];
+z68 = 0.85714[z5,z8];
+z69 = 1.00000[z5,z8];
+z72 = 0.00000[z10,z14];
+z73 = 0.14285[z10,z14];
+z74 = 0.28571[z10,z14];
+z75 = 0.42857[z10,z14];
+z76 = 0.57142[z10,z14];
+z77 = 0.71428[z10,z14];
+z78 = 0.85714[z10,z14];
+z79 = 1.00000[z10,z14];
+draw z72{dir -45}..z62;
+draw z73{dir -45}..z63;
+draw z74{dir -45}..z64;
+draw z75{dir -45}..z65;
+draw z76{dir -45}..z66;
+draw z77{dir -45}..z67;
+draw z78{dir -45}..z68;
+draw z79{dir -45}..z69;
+z82 = 0.00000[z10,z14];
+z83 = 0.14285[z10,z14];
+z84 = 0.28571[z10,z14];
+z85 = 0.42857[z10,z14];
+z86 = 0.57142[z10,z14];
+z87 = 0.71428[z10,z14];
+z88 = 0.85714[z10,z14];
+z89 = 1.00000[z10,z14];
+z92 = 0.00000[z12,z16];
+z93 = 0.14285[z12,z16];
+z94 = 0.28571[z12,z16];
+z95 = 0.42857[z12,z16];
+z96 = 0.57142[z12,z16];
+z97 = 0.71428[z12,z16];
+z98 = 0.85714[z12,z16];
+z99 = 1.00000[z12,z16];
+draw z92{dir -45}..z82;
+draw z93{dir -45}..z83;
+draw z94{dir -45}..z84;
+draw z95{dir -45}..z85;
+draw z96{dir -45}..z86;
+draw z97{dir -45}..z87;
+draw z98{dir -45}..z88;
+draw z99{dir -45}..z89;
+
+picture leftcordend; leftcordend := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+penlabels(17,18,19,20,21,22,23,24,25,26,27,28,29,30);
+endchar;
+
+beginchar(oct"321",ex#,ex#,0); "right end of winding cord";
+
+pickup pensquare scaled 1.5thinl;
+top lft z0 = (0,h);
+top rt z1 = (0+cordwid,h);
+draw z0--z1;
+z2 = (4cordwid,-cordwid/2);
+z3 = (x2-cordwid/2,0);
+z4 = (x2-cordwid/2,h);
+z5 = z4 shifted (-cordwid,0);
+z6 = 0.5[z4,z5] shifted (0,cordwid/2);
+z7 = z3 shifted (cordwid,0);
+z8 = z3 shifted (-cordwid,0);
+z9 = 0.5[z3,z8] shifted (0,-cordwid/2);
+z10 = z5 shifted (-cordwid,0);
+z11 = z6 shifted (-cordwid,0);
+z12 = z10 shifted (-cordwid,0);
+z13 = z11 shifted (-cordwid,0);
+z14 = z8 shifted (-cordwid,0);
+z15 = z9 shifted (-cordwid,0);
+z16 = z14 shifted (-cordwid,0);
+z17 = z15 shifted (-cordwid,0);
+z18 = z16 shifted (-cordwid/2,-cordwid/2);
+
+pickup pencircle scaled 0.5thinl;
+erase filldraw z5---z8..z9..z3---z4..z6..cycle;
+draw z5---z8..z9..z3---z4..z6..cycle;
+draw z12---z16..z18;
+% next overlapping fraps
+pickup pencircle scaled 0.5thinl;
+erase filldraw z8---z5..z11..z10---z14..z15..cycle;
+draw z8---z5..z11..z10---z14..z15..cycle;
+erase filldraw z10---z14..z17..z16---z12..z13..cycle;
+draw z10---z14..z17..z16---z12..z13..cycle;
+% draw the rope marks on the straight fraps
+pickup pencircle scaled 0.25thinl;
+z42 = 0.00000[z4,z3];
+z43 = 0.14285[z4,z3];
+z44 = 0.28571[z4,z3];
+z45 = 0.42857[z4,z3];
+z46 = 0.57142[z4,z3];
+z47 = 0.71428[z4,z3];
+z48 = 0.85714[z4,z3];
+z49 = 1.00000[z4,z3];
+z52 = 0.00000[z5,z8];
+z53 = 0.14285[z5,z8];
+z54 = 0.28571[z5,z8];
+z55 = 0.42857[z5,z8];
+z56 = 0.57142[z5,z8];
+z57 = 0.71428[z5,z8];
+z58 = 0.85714[z5,z8];
+z59 = 1.00000[z5,z8];
+draw z52{dir -45}..z42;
+draw z53{dir -45}..z43;
+draw z54{dir -45}..z44;
+draw z55{dir -45}..z45;
+draw z56{dir -45}..z46;
+draw z57{dir -45}..z47;
+draw z58{dir -45}..z48;
+draw z59{dir -45}..z49;
+z62 = 0.00000[z5,z8];
+z63 = 0.14285[z5,z8];
+z64 = 0.28571[z5,z8];
+z65 = 0.42857[z5,z8];
+z66 = 0.57142[z5,z8];
+z67 = 0.71428[z5,z8];
+z68 = 0.85714[z5,z8];
+z69 = 1.00000[z5,z8];
+z72 = 0.00000[z10,z14];
+z73 = 0.14285[z10,z14];
+z74 = 0.28571[z10,z14];
+z75 = 0.42857[z10,z14];
+z76 = 0.57142[z10,z14];
+z77 = 0.71428[z10,z14];
+z78 = 0.85714[z10,z14];
+z79 = 1.00000[z10,z14];
+draw z72{dir -45}..z62;
+draw z73{dir -45}..z63;
+draw z74{dir -45}..z64;
+draw z75{dir -45}..z65;
+draw z76{dir -45}..z66;
+draw z77{dir -45}..z67;
+draw z78{dir -45}..z68;
+draw z79{dir -45}..z69;
+z82 = 0.00000[z10,z14];
+z83 = 0.14285[z10,z14];
+z84 = 0.28571[z10,z14];
+z85 = 0.42857[z10,z14];
+z86 = 0.57142[z10,z14];
+z87 = 0.71428[z10,z14];
+z88 = 0.85714[z10,z14];
+z89 = 1.00000[z10,z14];
+z92 = 0.00000[z12,z16];
+z93 = 0.14285[z12,z16];
+z94 = 0.28571[z12,z16];
+z95 = 0.42857[z12,z16];
+z96 = 0.57142[z12,z16];
+z97 = 0.71428[z12,z16];
+z98 = 0.85714[z12,z16];
+z99 = 1.00000[z12,z16];
+draw z92{dir -45}..z82;
+draw z93{dir -45}..z83;
+draw z94{dir -45}..z84;
+draw z95{dir -45}..z85;
+draw z96{dir -45}..z86;
+draw z97{dir -45}..z87;
+draw z98{dir -45}..z88;
+draw z99{dir -45}..z89;
+
+picture rightcordend; rightcordend := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+penlabels(17,18,19,20,21,22,23,24,25,26,27,28,29,30);
+endchar;
+
+beginchar(oct"322",ex#,ex#,0); "inverted left end of winding cord";
+currentpicture := leftcordend reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"323",ex#,ex#,0); "inverted right end of winding cord";
+currentpicture := rightcordend reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"324",ex#,ex#,0); "inverted extension winding cord";
+currentpicture := cordext reflectedabout ((w/2,h),(w/2,0));
+endchar;
+
+beginchar(oct"325",ex#/2,3ex#/4,0); "horizontal triple rule";
+
+pickup pensquare scaled thinl;
+top lft z0 = (0,h);
+top rt z1 = (w,h);
+bot lft z2 = (0,0);
+bot rt z3 = (w,0);
+draw z0--z1; draw z2--z3;
+pickup pensquare scaled 2thinl;
+lft z4 = (0,h/2);
+rt z5 = (w,h/2);
+draw z4--z5;
+
+picture triplerule; triplerule := currentpicture;
+
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(oct"327",3ex#/4,ex#/2,0); "vertical triple rule";
+currentpicture := triplerule rotatedaround ((w/2,h/2),90)
+ shifted (ex/8,ex/8);
+endchar;