- save za, zb, zc, zd, ze, zf, zg, zh;
- pair za, zb, zc, zd, ze, zf, zg, zh;
-
- set_char_box(0.50 staff_space# + 1.5 linethickness#,
- 0.50 staff_space# + 1.5 linethickness#,
- 2.5 linethickness#,
- 2.00 staff_space# + 3.5 linethickness#);
-
- pickup pencircle
- xscaled 1.0 linethickness
- yscaled 5.0 linethickness
- rotated -35;
- za = (+0.50staff_space, +2.00staff_space);
- zb = (+0.00staff_space, +2.00staff_space);
- zc = (-0.50staff_space, +1.50staff_space);
- zd = (-0.25staff_space, +1.00staff_space);
- ze = (+0.10staff_space, +0.80staff_space);
- zf = (+0.00staff_space, +0.00staff_space);
- draw za{-1,+1} .. zb .. zc .. zd .. ze .. zf;
+ set_char_box (0.50 staff_space# + 1.5 linethickness#,
+ 0.50 staff_space# + 1.5 linethickness#,
+ 2.5 linethickness#,
+ 2.00 staff_space# + 3.5 linethickness#);
+
+ save ellipse, pat;
+ path ellipse, pat;
+
+ ellipse := fullcircle xscaled 1.0 linethickness
+ yscaled 5.0 linethickness
+ rotated -35;
+
+ z1 = (+0.50 staff_space, +2.00 staff_space);
+ z2 = (+0.00 staff_space, +2.00 staff_space);
+ z3 = (-0.50 staff_space, +1.50 staff_space);
+ z4 = (-0.25 staff_space, +1.00 staff_space);
+ z5 = (+0.10 staff_space, +0.80 staff_space);
+ z6 = (+0.00 staff_space, +0.00 staff_space);
+
+ pat := z1{-1, +1}
+ .. z2
+ .. z3
+ .. z4
+ .. z5
+ .. z6;
+
+ % we avoid cusps originally present in `draw pat'
+ fill get_subpath (ellipse,
+ -direction 0 of pat, direction 0 of pat, z1)
+ .. get_subpoint (ellipse, direction 1 of pat, z2)
+ {direction 1 of pat}
+ .. get_subpoint (ellipse, direction 2 of pat, z3)
+ {direction 2 of pat}
+ .. get_subpoint (ellipse, direction 3 of pat, z4)
+ {direction 3 of pat}
+ .. get_subpoint (ellipse, direction 4 of pat, z5)
+ {direction 4 of pat}
+ .. get_subpath (ellipse,
+ direction 4.8 of pat, -direction 5 of pat, z6)
+ .. get_subpoint (ellipse, -direction 4 of pat, z5)
+ {-direction 4 of pat}
+ .. get_subpoint (ellipse, -direction 3 of pat, z4)
+ {-direction 3 of pat}
+ .. get_subpoint (ellipse, -direction 2.5 of pat, point 2.5 of pat)
+ .. get_subpoint (ellipse, -direction 1 of pat, z2)
+ {-direction 1 of pat}
+ .. cycle;