]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 3449: Shift accordion register symbols down by half a line width
authorDavid Kastrup <dak@gnu.org>
Tue, 9 Jul 2013 18:22:24 +0000 (20:22 +0200)
committerDavid Kastrup <dak@gnu.org>
Mon, 15 Jul 2013 07:43:24 +0000 (09:43 +0200)
This makes the documented proposals for combining the accordion
register symbols together with the accordion dot symbol match in
positioning.  It would have been feasible instead to shift the
(centered) accordion dot, but some register symbols work with
different line widths.

The net result will now exhibit a slight descender (namely half a
linewidth) of the accordion register symbols when used in a running
line.

mf/feta-accordion.mf

index 354e0f3e91df756b2de4f16823af564a6f50cdf0..dd0df9b1fcb6b8ea5f80fd3adbf0d7f02a6ae7b6 100644 (file)
@@ -40,7 +40,12 @@ fet_beginchar ("accordion register discant", "discant")
 
        set_char_box (r# + accreg_linethickness# / 2,
                      r# + accreg_linethickness# / 2,
-                     0, 2 r# + 0.7 accreg_linethickness#);
+                     0.35 accreg_linethickness# / 2,
+                     2 r# + 0.35 accreg_linethickness# / 2);
+
+       local_copy (transform)(currenttransform);
+       currenttransform :=
+          currenttransform shifted (0, -vround (0.35 accreg_linethickness));
 
        lh = vround (2/3 r);
        lt = vround (0.7 accreg_linethickness);
@@ -123,7 +128,12 @@ fet_beginchar ("accordion register freebass", "freebass")
 
        set_char_box (r# + accreg_linethickness# / 2,
                      r# + accreg_linethickness# / 2,
-                     0, 2 r# + 0.7 accreg_linethickness#);
+                     0.35 accreg_linethickness#,
+                     2 r# + 0.35 accreg_linethickness#);
+
+       local_copy (transform)(currenttransform);
+       currenttransform :=
+         currenttransform shifted (0, -vround (0.35 accreg_linethickness));
 
        lh = vround r;
        lt = vround (0.7 accreg_linethickness);
@@ -181,7 +191,12 @@ fet_beginchar ("accordion register stdbass", "stdbass")
 
        set_char_box (r# + accreg_linethickness# / 2,
                      r# + accreg_linethickness# / 2,
-                     0, 2 r# + 0.7 accreg_linethickness#);
+                     0.35 accreg_linethickness#,
+                     2 r# + 0.35 accreg_linethickness#);
+
+       local_copy (transform)(currenttransform);
+       currenttransform :=
+          currenttransform shifted (0, -vround (0.35 accreg_linethickness));
 
        lh = vround (1/2 r);
        lt = vround (0.7 accreg_linethickness);
@@ -253,7 +268,12 @@ fet_beginchar ("accordion register bayanbass", "bayanbass")
 
        set_char_box (accreg_lh# + accreg_linethickness# / 2,
                      accreg_lh# + accreg_linethickness# / 2,
-                     0, 3 accreg_lh# + accreg_linethickness#);
+                     0.5 accreg_linethickness#,
+                     3 accreg_lh# + 0.5 accreg_linethickness#);
+
+       local_copy (transform)(currenttransform);
+       currenttransform :=
+          currenttransform shifted (0, -vround (0.5 accreg_linethickness));
 
        h := 3 lh + lt;