lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

change longas similarly to how breves were changed (issue 4962072)


From: janek . lilypond
Subject: change longas similarly to how breves were changed (issue 4962072)
Date: Tue, 13 Sep 2011 00:35:55 +0000

Reviewers: Bertrand Bordage,

Message:
http://code.google.com/p/lilypond/issues/detail?id=1883

Description:
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.

Please review this at http://codereview.appspot.com/4962072/

Affected files:
  M mf/feta-noteheads.mf


Index: mf/feta-noteheads.mf
diff --git a/mf/feta-noteheads.mf b/mf/feta-noteheads.mf
index 87d9034713359aeb5e9cd0d4266334c8cbbf23ae..8fee28083196dc04663c78dd38afb1697742b8e0 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);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]