[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
separate narrowed accidentals (issue 5527049)
From: |
janek . lilypond |
Subject: |
separate narrowed accidentals (issue 5527049) |
Date: |
Sun, 08 Jan 2012 01:06:45 +0000 |
Reviewers: ,
Message:
ignore first 3 sentences, it was a mistake.
http://code.google.com/p/lilypond/issues/detail?id=2203
Description:
separate narrowed accidentals
leaving arrows alone
font: narrowed variants of accidentals
As discussed in issue 2142, narrower versions
of accidentals would be useful for typesetting
very tight music. This patches adds such narrow
accidentals to the font. Samples showing them
are attached to tracker issue.
Please review this at http://codereview.appspot.com/5527049/
Affected files:
M mf/feta-accidentals.mf
Index: mf/feta-accidentals.mf
diff --git a/mf/feta-accidentals.mf b/mf/feta-accidentals.mf
index
feac34f9ed68e0b6288439e99548db04a3a40d07..f1b2980e9d03b3234ed2f12fa0ae5c913605e047
100644
--- a/mf/feta-accidentals.mf
+++ b/mf/feta-accidentals.mf
@@ -191,7 +191,7 @@ def draw_meta_sharp (expr width, offset) =
enddef;
-def draw_sharp(expr arrowup, arrowdown) =
+def draw_sharp(expr arrowup, arrowdown, narrowed) =
save stem, stemx, stemwidth;
save outer_space, interbeam;
save stemlength, extendleft, extendright, height, depth;
@@ -217,9 +217,14 @@ def draw_sharp(expr arrowup, arrowdown) =
extendleft# := extendleft# + 1.5 stafflinethickness#;
fi;
define_pixels (extendleft, extendright);
- set_char_box (extendleft#, 1.1 staff_space#, depth#, height#);
+ if narrowed:
+ set_char_box (extendleft#, 0.88 staff_space#, depth#, height#);
+ stem := 8 / 16 * w;
+ else:
+ set_char_box (extendleft#, 1.1 staff_space#, depth#, height#);
+ stem := 7 / 16 * w;
+ fi;
- stem := 7 / 16 * w;
stemx := hround stem;
outer_space := hround ((w - stemx - stemwidth) / 2);
@@ -264,7 +269,15 @@ enddef;
fet_beginchar ("Sharp", "sharp");
- draw_sharp (false, false);
+ draw_sharp (false, false, false);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Narrowed Sharp", "sharp.narrow");
+ draw_sharp (false, false, true);
fet_endchar;
@@ -272,7 +285,7 @@ draw_shifted_too;
fet_beginchar ("Arrowed Sharp (arrow up)", "sharp.arrowup");
- draw_sharp (true, false);
+ draw_sharp (true, false, false);
fet_endchar;
@@ -280,7 +293,7 @@ draw_shifted_too;
fet_beginchar ("Arrowed Sharp (arrow down)", "sharp.arrowdown");
- draw_sharp (false, true);
+ draw_sharp (false, true, false);
fet_endchar;
@@ -288,7 +301,7 @@ draw_shifted_too;
fet_beginchar ("Arrowed Sharp (arrows up and down)", "sharp.arrowboth");
- draw_sharp (true, true);
+ draw_sharp (true, true, false);
fet_endchar;
@@ -482,7 +495,7 @@ draw_shifted_too;
% The stems of the natural are brushed (at least, in Barenreiter SCS)
%
-def draw_natural (expr arrowup, arrowdown) =
+def draw_natural (expr arrowup, arrowdown, narrowed) =
save stemwidth, top_stem_thick;
save ne, pat_top, pat_bottom;
save depth, height, extendleft, extendright, stemlength;
@@ -511,7 +524,11 @@ def draw_natural (expr arrowup, arrowdown) =
fi;
define_pixels (extendright);
- set_char_box (extendleft#, 2/3 staff_space#, depth#, height#);
+ if narrowed:
+ set_char_box (extendleft#, 4/7 staff_space#, depth#, height#);
+ else:
+ set_char_box (extendleft#, 2/3 staff_space#, depth#, height#);
+ fi;
d := d - feta_space_shift;
@@ -612,7 +629,15 @@ enddef;
fet_beginchar ("Natural", "natural");
- draw_natural (false, false);
+ draw_natural (false, false, false);
+fet_endchar;
+
+
+draw_shifted_too;
+
+
+fet_beginchar ("Narrowed Natural", "natural.narrow");
+ draw_natural (false, false, true);
fet_endchar;
@@ -620,7 +645,7 @@ draw_shifted_too;
fet_beginchar ("Arrowed Natural (arrow up)", "natural.arrowup");
- draw_natural (true, false);
+ draw_natural (true, false, false);
fet_endchar;
@@ -628,7 +653,7 @@ draw_shifted_too;
fet_beginchar ("Arrowed Natural (arrow down)", "natural.arrowdown");
- draw_natural (false, true);
+ draw_natural (false, true, false);
fet_endchar;
@@ -636,7 +661,7 @@ draw_shifted_too;
fet_beginchar ("Arrowed Natural (arrows up and
down)", "natural.arrowboth");
- draw_natural (true, true);
+ draw_natural (true, true, false);
fet_endchar;
@@ -839,6 +864,19 @@ fet_endchar;
draw_shifted_too;
+fet_beginchar ("Narrowed Flat", "flat.narrow");
+ draw_arrowed_meta_flat (0, 0.65 staff_space#, 0.27 staff_space,
+ false, false);
+ penlabels (range 0 thru 11);
+
+ remember_pic := currentpicture;
+
+ draw_staff (-2, 2, 0);
+fet_endchar;
+
+
+draw_shifted_too;
+
fet_beginchar ("Arrowed Flat (arrow up)", "flat.arrowup");
draw_arrowed_meta_flat (0, 0.8 staff_space#, 0.31 staff_space,
@@ -1163,6 +1201,24 @@ fet_beginchar ("Double Flat", "flatflat");
fet_endchar;
+fet_beginchar ("Narrowed Double Flat", "flatflat.narrow");
+ save left_wid, overlap, right_wid;
+
+ left_wid = .62;
+ right_wid = .7;
+ overlap = .08;
+
+ set_char_box (1.2 stafflinethickness#,
+ (left_wid + right_wid - overlap) * staff_space#,
+ .6 staff_space#, 1.9 staff_space#);
+ draw_meta_flat (0, left_wid * staff_space, 0.28 staff_space,
+ false, false);
+ draw_meta_flat (hround ((left_wid - overlap) * staff_space),
+ right_wid * staff_space, 0.28 staff_space,
+ false, false);
+fet_endchar;
+
+
fet_beginchar ("3/4 Flat", "flatflat.slash");
save left_wid, overlap, right_wid;
- separate narrowed accidentals (issue 5527049),
janek . lilypond <=