X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Ffeta-bolletjes.mf;h=cae8c200a8e84c093803b7090bb3751001a383cd;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=c09c3d2df9c4bba4d55194b66350f3778315b142;hpb=9f3572d98bb948c9689cd1f75401a029451fa001;p=lilypond.git diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index c09c3d2df9..cae8c200a8 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--2008 Jan Nieuwenhuizen % & Han-Wen Nienhuys % & Juergen Reuter % @@ -145,6 +145,79 @@ endgroup; enddef; +% +% dimensions aren't entirely right. +% +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. % @@ -176,7 +249,7 @@ def draw_brevis = enddef; -fet_beginchar ("Brevis notehead", "s-1"); +fet_beginchar ("Brevis notehead", "sM1"); draw_brevis; draw_staff (-2, 2, 0); @@ -184,7 +257,7 @@ fet_endchar; if test > 0: - fet_beginchar ("Brevis notehead", "s-1"); + fet_beginchar ("Brevis notehead", "sM1"); draw_brevis; draw_staff (-2, 2, 0.5); @@ -215,8 +288,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 +318,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 +409,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 +447,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 +514,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 +523,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; @@ -1010,7 +1080,7 @@ def draw_re_head (expr width_factor, dir) = save p_in, p_out; path p_in, p_out; - set_char_box (0, width_factor * solfa_noteheight#, + set_char_box (0, width_factor * solfa_base_notewidth#, 0.5 solfa_noteheight#, 0.5 solfa_noteheight#); pickup pencircle scaled solfa_pen_thick; @@ -1094,7 +1164,7 @@ def draw_mi_head (expr width_factor) = path path_out, path_in; pair ne_dist, se_dist, ne, se; - set_char_box (0, width_factor * solfa_noteheight#, + set_char_box (0, width_factor * solfa_base_notewidth#, 0.5 solfa_noteheight#, 0.5 solfa_noteheight#); pickup pencircle scaled solfa_pen_thick; @@ -1169,7 +1239,7 @@ fet_endchar; def draw_fa_head (expr width_factor) = - set_char_box (0, width_factor * solfa_noteheight#, + set_char_box (0, width_factor * solfa_base_notewidth#, 0.5 solfa_noteheight#, 0.5 solfa_noteheight#); save p_down_in, p_down_out, p_up_in, p_up_out, nw_dist, nw; @@ -1260,7 +1330,7 @@ fet_endchar; def draw_la_head (expr width_factor) = - set_char_box (0, width_factor * solfa_noteheight#, + set_char_box (0, width_factor * solfa_base_notewidth#, 0.5 solfa_noteheight#, 0.5 solfa_noteheight#); save p_in, p_out; path p_in, p_out; @@ -1319,7 +1389,7 @@ fet_endchar; def draw_ti_head (expr width_factor, dir) = - set_char_box (0, width_factor * solfa_noteheight#, + set_char_box (0, width_factor * solfa_base_notewidth#, 0.5 solfa_noteheight#, 0.5 solfa_noteheight#); save p_in, p_out, p_top; save nw_dist, sw_dist, nw, sw;