diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/drm/ornaments.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/drm/ornaments.mf | 1018 |
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; |