]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-scripts.mf
Imported Upstream version 2.16.0
[lilypond.git] / mf / feta-scripts.mf
index b3843960c27329119fadc6d7b0b932894b3088dd..83859dbe66fc2b4af51bd7bf63947d9700db6913 100644 (file)
@@ -1,7 +1,7 @@
 % Feta (not the Font-En-Tja) music font --  implement scripts
 % This file is part of LilyPond, the GNU music typesetter.
 %
-% Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %      Jan Nieuwenhuizen <janneke@gnu.org>
 %
 %
@@ -620,6 +620,44 @@ fet_beginchar ("halfopen (unstopped)", "halfopen");
 fet_endchar;
 
 
+fet_beginchar ("halfopen vertical", "halfopenvertical");
+       save thin, height, width, thick, factor, slash;
+
+       factor := 3/2;
+       height# = 5/4 width#;
+       height# = staff_space#;
+       thin = 0.6 linethickness + 0.06 staff_space;
+       slash# = 1.05 linethickness#;
+
+       set_char_box (width# / 2, width# / 2,
+                     height# / 2, height# / 2);
+
+       define_pixels (width, height, slash);
+
+       2 thick + 0.6 (height - 2 thin) = width;
+
+       penpos1 (thick, 0);
+       penpos2 (thin, 90);
+       penpos3 (thick, 180);
+       penpos4 (thin, 270);
+       z1r = (w, 0);
+       z2r = (0, h);
+       z3r = (-w, 0);
+       z4r = (0, -h);
+
+       penlabels (1, 2, 3, 4);
+
+       penstroke z1e{up}
+                 .. z2e{left}
+                 .. z3e{down}
+                 .. z4e{right}
+                 .. cycle;
+
+       draw_brush ((0, -h * factor), slash,
+                   (0, h * factor), slash);
+fet_endchar;
+
+
 fet_beginchar ("plus (stopped)", "stopped");
        save hthick, vthick, size, outer_hsize, outer_vsize;
 
@@ -1447,17 +1485,18 @@ enddef;
 
 
 fet_beginchar ("Arpeggio", "arpeggio");
+       begingroup;
        save height, overshoot, width;
-       height# = staff_space#;
-       width# = 0.8 height#;
-       overshoot# = 0.25 staff_space#;
+       height# := staff_space#;
+       width# := 0.8 * height#;
+       overshoot# := 0.25 * staff_space#;
        define_pixels (height, overshoot, width);
-
        set_char_box (0, width#, 0, height#);
        draw_arpeggio;
        penlabels (range 1 thru 9);
 
        draw_staff (-2, 2, 0.0);
+       endgroup;
 fet_endchar;
 
 
@@ -1468,7 +1507,8 @@ fet_endchar;
 %
 
 fet_beginchar ("Trill_element", "trill_element");
-       save height, overshoot;
+       begingroup;
+       save height, overshoot, width;
        height# = staff_space#;
        width# = 0.8 height#;
        overshoot# = 0.25 staff_space#;
@@ -1480,6 +1520,7 @@ fet_beginchar ("Trill_element", "trill_element");
        currentpicture := currentpicture shifted -(width / 2, height / 2);
        currentpicture := currentpicture rotated 90;
        currentpicture := currentpicture shifted (height / 2, width / 2);
+       endgroup;
 fet_endchar;