]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-noteheads.mf
Imported Upstream version 2.18.0
[lilypond.git] / mf / feta-noteheads.mf
index c45969ed6a60da78bbdb1117307c57477d7e7dae..82abf14e54bf3fb3ede1de6caab4cb6609a0f1cc 100644 (file)
@@ -5,11 +5,10 @@
 % & Han-Wen Nienhuys <hanwen@xs4all.nl>
 % & Juergen Reuter <reuter@ipd.uka.de>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font is free software: you can redistribute it and/or modify
 % it under the terms of the GNU General Public License as published by
 % the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -99,11 +98,6 @@ def draw_longa (expr up) =
        draw_outside_ellipse (1.80, 0, 0.707, 0);
        undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#);
 
-       set_char_box (stemthick#,
-                     width# + stemthick#,
-                     noteheight# / 2,
-                     noteheight# / 2);
-
        pickup pencircle scaled stemthick;
 
        % Longas of smaller design sizes should have their lines longer.
@@ -118,8 +112,12 @@ def draw_longa (expr up) =
                quanted_line_length := max (0.77, line_length);
        fi;
 
+
        final_line_length := quanted_line_length * staff_space;
 
+       save boxtop, boxbot;
+       define_pixels (boxtop, boxbot);
+
        if up:
                bot y1 = -final_line_length;
                top y2 = final_line_length;
@@ -130,6 +128,8 @@ def draw_longa (expr up) =
                x4 = x3;
                top y4 = h + 3.0 staff_space;
                y3 = y1;
+               boxtop# := staff_space# * (quanted_line_length + 3.0) - stemthick# ;
+               boxbot# := staff_space# * quanted_line_length;
        else:
                bot y1 = -d - 3.0 staff_space;
                top y2 = final_line_length;
@@ -140,11 +140,18 @@ def draw_longa (expr up) =
                x4 = x3;
                y4 = y2;
                bot y3 = -final_line_length;
+               boxtop# := staff_space# * quanted_line_length;
+               boxbot# := staff_space# * (quanted_line_length + 3.0) - stemthick# ;
        fi;
 
        draw_gridline (z1, z2, stemthick);
        draw_gridline (z3, z4, stemthick);
 
+       set_char_box (stemthick#,
+                     width# + stemthick#,
+                     boxbot#,
+                     boxtop#);
+
        labels (1, 2, 3, 4);
 enddef;
 
@@ -201,11 +208,6 @@ def draw_brevis (expr linecount, line_thickness_multiplier) =
        draw_outside_ellipse (1.80, 0, 0.707, 0);
        undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#);
 
-       set_char_box (stemthick# * linecount + gap# * (linecount - 1),
-                     width# + stemthick# * linecount + gap# * (linecount - 1),
-                     noteheight# / 2,
-                     noteheight# / 2);
-
        define_pixels (gap);
        pickup pencircle scaled stemthick;
 
@@ -221,6 +223,11 @@ def draw_brevis (expr linecount, line_thickness_multiplier) =
                quanted_line_length := max (0.77, line_length);
        fi;
 
+       set_char_box (stemthick# * linecount + gap# * (linecount - 1),
+                     width# + stemthick# * linecount + gap# * (linecount - 1),
+                     staff_space# * quanted_line_length,
+                     staff_space# * quanted_line_length);
+
        bot y1 = -quanted_line_length * staff_space;
        top y2 = quanted_line_length * staff_space;
        rt x1 - fudge = 0;