From 72b2acb98422cde09729517d2a62d382f7b73814 Mon Sep 17 00:00:00 2001 From: Janek Warchol Date: Sat, 6 Aug 2011 10:02:59 +0200 Subject: [PATCH] change longas similarly to how breves were changed Put vertical lines farther apart, make them longer to increase readability and include them in X-extent. --- mf/feta-noteheads.mf | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/mf/feta-noteheads.mf b/mf/feta-noteheads.mf index 87d9034713..8fee280831 100644 --- a/mf/feta-noteheads.mf +++ b/mf/feta-noteheads.mf @@ -82,42 +82,62 @@ 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); + % Longas of smaller design sizes should have their lines farther + % apart (the overlap with notehead ellipsoid should be smaller). + fudge = hround (blot_diameter + * min (max (-0.15, + (0.9 + - (20 / (design_size + 4)))), + 0.3)); 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. + line_length := min (max (0.7, (64/60 - (design_size / 60))), 0.85); + + % Line lengths between 0.72 and 0.77 are not nice + % because they are neither separate nor connected + % when there is an interval of fourth. + if line_length < 0.75: + quanted_line_length := min (0.72, line_length); + else: + quanted_line_length := max (0.77, line_length); + fi; + if up: - bot y1 = -d; - top y2 = h; + bot y1 = -quanted_line_length * staff_space; + top y2 = quanted_line_length * staff_space; rt x1 - fudge = 0; x1 = x2; - fudge + lft x3 = w; + fudge + lft x3 = width; x4 = x3; top y4 = h + 3.0 staff_space; y3 = y1; else: bot y1 = -d - 3.0 staff_space; - top y2 = h; + top y2 = quanted_line_length * staff_space; rt x1 - fudge = 0; x1 = x2; - fudge + lft x3 = w; + fudge + lft x3 = width; x4 = x3; y4 = y2; - bot y3 = -d; + bot y3 = -quanted_line_length * staff_space; fi; draw_gridline (z1, z2, stemthick); -- 2.39.5