]> git.donarmstrong.com Git - lilypond.git/commitdiff
New glyph for `scripts.caesura'.
authorWerner Lemberg <wl@gnu.org>
Thu, 18 Oct 2007 19:57:18 +0000 (21:57 +0200)
committerWerner Lemberg <wl@gnu.org>
Thu, 18 Oct 2007 19:57:18 +0000 (21:57 +0200)
The old shape has been renamed to `scripts.caesura.curved'.

Based on patches from Maximilian Albert.

input/regression/breathing-sign.ly
mf/feta-schrift.mf
python/convertrules.py

index 9a0fa00e553e2214610c656a172515c4e74d8070..4a04f4267de198c2f02d947deebfa75df1662e50 100644 (file)
@@ -42,10 +42,13 @@ ticks, vees and `railroad tracks' (caesura)."
       #(make-musicglyph-markup "scripts.upbow")
       es8 d es f g8 \breathe f |
 
-      %% caesura
+      %% caesurae
       \override BreathingSign  #'text =
-      #(make-musicglyph-markup "scripts.caesura")
-      es8[ d] \breathe  es[ f g f] |
+      #(make-musicglyph-markup "scripts.caesura.curved")
+      es8[ d] \breathe
+      \override BreathingSign  #'text =
+      #(make-musicglyph-markup "scripts.caesura.straight")
+                       es[ f] \breathe g[ f] |
       es2 r4 \bar "||" \break
     }
   }
index 10eebb592654a1ca78f951fcb744915b36b1299e..a58fb418b21c4a19bb6734bdd85d2b7a88457d8e 100644 (file)
@@ -1445,13 +1445,12 @@ fet_endchar;
 input feta-slag;
 
 
-% railroad tracks.
 %
-% I actually have no clue how they should look, so we use a slightly curvy
-% and tapered shape.
+% Railroad tracks.  We define two variants of these -- both as slightly
+% tapered, comma-shaped curves and as two straight parallel slashes.
 %
 
-fet_beginchar ("Caesura", "caesura");
+fet_beginchar ("Curved caesura", "caesura.curved");
        save slant, space_between, clearance;
        save alpha, pat;
        save botthick, topthick;
@@ -1505,4 +1504,58 @@ fet_beginchar ("Caesura", "caesura");
 fet_endchar;
 
 
+fet_beginchar ("Straight caesura", "caesura.straight");
+       save slant, space_between, clearance;
+       save thick, ne, pat;
+       path pat;
+       pair ne;
+
+       slant = 2.0;
+       thick = 2.88 linethickness;
+
+       space_between# = 0.56 staff_space#;
+       clearance# = 0.2 staff_space#;
+
+       set_char_box (0, 2.0 staff_space#,
+                     staff_space# - clearance#, 1.2 staff_space#);
+       define_whole_pixels (space_between);
+
+       x1 = 0;
+       x2 = x1 + thick;
+       y1 = y2 = -d;
+
+       x3 = x4 + thick;
+       x4 = x1 + (h + d) / slant;
+       y3 = y4 = h;
+
+       ne = unitvector (z4 - z1);
+       
+       z1a = z1 + blot_diameter * ne;
+       z1b = z1 + blot_diameter * right;
+       z2a = z2 + blot_diameter * ne;
+       z2b = z2 + blot_diameter * left;
+
+       z3a = z3 - blot_diameter * ne;
+       z3b = z3 + blot_diameter * left;
+       z4a = z4 - blot_diameter * ne;
+       z4b = z4 + blot_diameter * right;
+
+       pat = z1a{-ne}
+             .. {right}z1b
+             -- z2b{right}
+             .. {ne}z2a
+             -- z3a{ne}
+             .. {left}z3b
+             -- z4b{left}
+             .. {-ne}z4a
+             -- cycle;
+
+       fill pat;
+       fill pat shifted (space_between, 0);
+
+       labels(range 1 thru 4);
+       labels(1a, 1b, 2a, 2b, 3a, 3b, 4a, 4b);
+       labels(1c, 2c, 3c, 4c);
+fet_endchar;
+
 fet_endgroup ("scripts");
index 54db434b49d8e86682f69e5eb702593240502adb..6d58332c12ac446be44c63f2358d2c6b28e58fe6 100644 (file)
@@ -3013,3 +3013,9 @@ def conv (str):
 
 conversions.append (((2, 11, 23), conv, """#'break-align-symbol -> #'break-align-symbols"""))
 
+def conv (str):
+    str = re.sub (r"scripts\.caesura",
+                  r"scripts.caesura.curved", str)
+    return str
+
+conversions.append (((2, 11, 35), conv, """scripts.caesura -> scripts.caesura.curved"""))