]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-scripts.mf
Issue 659: alternate segno symbol
[lilypond.git] / mf / feta-scripts.mf
index dbcac4d8342f52532b3afc5d5521d26fd3b65c61..6d921cb74606fcfae725df6c361abe685f096060 100644 (file)
@@ -1151,6 +1151,84 @@ fet_beginchar ("Segno", "segno");
        penlabels (range 1 thru 8);
 fet_endchar;
 
+fet_beginchar ("Varied Segno", "varsegno");
+       save ht, wd, loopdist, loopangle;
+       save thin, med, thick;
+       save bulbradius;
+
+       ht# = 8 staff_space#;
+       wd# = 2.5 staff_space#;
+
+       set_char_box (wd# / 2, wd# / 2, ht# / 2, ht# / 2);
+       %set_char_box (0, 0, ht# / 2, ht# / 2);
+
+       loopdist = 4/3 staff_space;
+       loopangle = 35;
+
+       thick = 1/2 staff_space;
+       med   = 1/4 staff_space;
+       thin = 1/10 staff_space;
+
+       x1 = staff_space;
+       y1 = 13/4 staff_space;
+       penpos1 (med,  210);
+
+       z2l = (0, 4 staff_space);
+       penpos2 (med, 270 - loopangle);
+
+       x3 = -x1;
+       y3 = y1 + 1/4 staff_space;
+       penpos3 (med, 270 + loopangle);
+
+        pair center;
+        center = (0, 2 staff_space);
+       z4 = (3/4 staff_space, 2 staff_space) rotatedabout (center, 180 - loopangle);
+       z5 = 2[z4,center];
+       x9  = x4; y9  = y4 - 2 loopdist;
+       x10 = x5; y10 = y5 - 2 loopdist;
+       penpos4  (thick, 90 - loopangle);
+       penpos5  (thick, 90 - loopangle);
+       penpos9  (thick, 90 - loopangle);
+       penpos10 (thick, 90 - loopangle);
+
+       z6 = (4/3 staff_space, 4/3 staff_space) rotatedabout (2/3 center, -loopangle);
+       x11 = x6; y11 = y6 - 2 loopdist;
+       penpos6  (thin, -loopangle);
+       penpos11 (thin, -loopangle);
+
+       z7 = 1/3 center;
+       penpos7 (thick, 270 - loopangle);
+
+       z8 = (4/3 staff_space, 0) rotated (180 - loopangle);
+       penpos8 (thin, -loopangle);
+
+       z12 = -center;
+       penpos12 (thick, 270 - loopangle);
+
+       z1' = 4/3[z1l,z1r];
+       bulbradius = length ( z1l - z1');
+       pickup pencircle scaled 2 bulbradius;
+       drawdot z1';
+
+       penstroke z1e
+              .. z2e
+              .. z3e
+              .. z4e{dir (-loopangle)}
+              .. z5e{dir (-loopangle)}
+              .. z6e
+              .. z7e
+              .. z8e
+              .. z9e{dir (-loopangle)}
+              .. z10e{dir (-loopangle)}
+              .. z11e
+              .. {dir (180 - loopangle)}z12e;
+       addto currentpicture also currentpicture scaled -1;
+
+       penlabels (1, 1', 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
+       %draw_staff (-2, 2, 0);
+fet_endchar;
+
+
 
 fet_beginchar ("Coda", "coda");
        save stickout, thin, thick, codawidth, codaheight;