X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Ffeta-bolletjes.mf;h=e8d8ff0fa34f3aeb346c900106ecd9628eab6b14;hb=b3f0c2f6c352a850f03dc44a947776199eb3fa0b;hp=48eb3649c3693334805d8bca3d6ac375d6c5d29a;hpb=2c21449528741ee5afa42506a6083f70faf758bb;p=lilypond.git diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index 48eb3649c3..e8d8ff0fa3 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -3,7 +3,7 @@ % % source file of LilyPond's pretty-but-neat music font % -% (c) 1997--2006 Jan Nieuwenhuizen +% (c) 1997--2009 Jan Nieuwenhuizen % & Han-Wen Nienhuys % & Juergen Reuter % @@ -148,7 +148,80 @@ enddef; % % dimensions aren't entirely right. % -def draw_brevis = +def draw_longa (expr up) = + save stemthick, fudge; + + stemthick# = 2 stafflinethickness#; + define_whole_blacker_pixels (stemthick); + + fudge = hround (blot_diameter / 2); + + draw_outside_ellipse (1.80, 0, 0.707, 0); + undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#); + + pickup pencircle scaled stemthick; + + if up: + bot y1 = -d; + top y2 = h; + rt x1 - fudge = 0; + x1 = x2; + + fudge + lft x3 = w; + x4 = x3; + top y4 = h + 3.0 staff_space; + y3 = y1; + else: + bot y1 = -d - 3.0 staff_space; + top y2 = h; + rt x1 - fudge = 0; + x1 = x2; + + fudge + lft x3 = w; + x4 = x3; + y4 = y2; + bot y3 = -d; + fi; + + draw_gridline (z1, z2, stemthick); + draw_gridline (z3, z4, stemthick); + + labels (1, 2, 3, 4); +enddef; + + +fet_beginchar ("Longa notehead", "uM2"); + draw_longa (true); + + draw_staff (-2, 2, 0); +fet_endchar; + +fet_beginchar ("Longa notehead", "dM2"); + draw_longa (false); + + draw_staff (-2, 2, 0); +fet_endchar; + + +if test > 0: + fet_beginchar ("Longa notehead", "uM2"); + draw_longa (true); + + draw_staff (-2, 2, 0.5); + fet_endchar; + + fet_beginchar ("Longa notehead", "dM2"); + draw_longa (false); + + draw_staff (-2, 2, 0.5); + fet_endchar; +fi; + + +% +% dimensions aren't entirely right. +% +def draw_brevis (expr linecount) = save stemthick, fudge; stemthick# = 2 stafflinethickness#; @@ -171,21 +244,41 @@ def draw_brevis = y4 = y2; y3 = y1; - draw_gridline (z1, z2, stemthick); - draw_gridline (z3, z4, stemthick); + for i := 0 step 1 until linecount - 1: + draw_gridline (z1 - (1.5 * i * stemthick, 0), + z2 - (1.5 * i * stemthick, 0), stemthick); + draw_gridline (z3 + (1.5 * i * stemthick, 0), + z4 + (1.5 * i * stemthick, 0), stemthick); + endfor; enddef; -fet_beginchar ("Brevis notehead", "s-1"); - draw_brevis; +fet_beginchar ("Brevis notehead", "sM1"); + draw_brevis (1); + + draw_staff (-2, 2, 0); +fet_endchar; + + +if test > 0: + fet_beginchar ("Brevis notehead", "sM1"); + draw_brevis(1); + + draw_staff (-2, 2, 0.5); + fet_endchar; +fi; + + +fet_beginchar ("Double-lined brevis notehead", "sM1double"); + draw_brevis (2); draw_staff (-2, 2, 0); fet_endchar; if test > 0: - fet_beginchar ("Brevis notehead", "s-1"); - draw_brevis; + fet_beginchar ("Double-lined brevis notehead", "sM1double"); + draw_brevis (2); draw_staff (-2, 2, 0.5); fet_endchar; @@ -215,8 +308,6 @@ if test > 0: fi; - - fet_beginchar ("Half notehead", "s1"); draw_outside_ellipse (1.53 - puff_up_factor / 3.0, 34, 0.66, 0.17); undraw_inside_ellipse (3.25, 33, 0.81, 2.5 stafflinethickness#); @@ -247,6 +338,7 @@ fet_beginchar ("Quart notehead", "s2"); draw_staff (-2, 2, 0); fet_endchar; + if test > 0: fet_beginchar ("Quart notehead", "s2"); draw_outside_ellipse (1.49 - puff_up_factor / 3.0, 31, @@ -337,8 +429,7 @@ enddef; % -% -% UGH : xs not declared as argument. +% UGH: xs not declared as argument. % def define_triangle_shape (expr stemdir) = save triangle_a, triangle_b, triangle_c; @@ -376,7 +467,7 @@ def define_triangle_shape (expr stemdir) = set_char_box (0, width#, depth#, height#); % Formerly, the shape has simply been drawn with an elliptical pen - % (`scaled pen_thick xsaled xs'), but the envelope of such a curve + % (`scaled pen_thick xscaled xs'), but the envelope of such a curve % is of 6th degree. For the sake of mf2pt1, we approximate it. pickup pencircle scaled pen_thick xscaled xs; @@ -443,7 +534,6 @@ def define_triangle_shape (expr stemdir) = & {direction infinity of triangle_out_c}z1'l .. cycle; - labels (0, 10, 20, 30); penlabels (1, 1', 2, 2', 3, 3', 12, 23, 31); @@ -453,7 +543,7 @@ def define_triangle_shape (expr stemdir) = charwx := xpart exact_right_point + .5 pen_thick# * xs; else: charwy := -ypart exact_down_point; - charwx := (width# - (xpart exact_down_point - 0.5 * xs * pen_thick#)); + charwx := width# - (xpart exact_down_point - .5 pen_thick# * xs); fi enddef;