From f60fe27f862243a6cb2c25dfa512c9e784022215 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Thu, 18 Oct 2007 21:57:18 +0200 Subject: [PATCH] New glyph for `scripts.caesura'. The old shape has been renamed to `scripts.caesura.curved'. Based on patches from Maximilian Albert. --- input/regression/breathing-sign.ly | 9 +++-- mf/feta-schrift.mf | 61 ++++++++++++++++++++++++++++-- python/convertrules.py | 6 +++ 3 files changed, 69 insertions(+), 7 deletions(-) diff --git a/input/regression/breathing-sign.ly b/input/regression/breathing-sign.ly index 9a0fa00e55..4a04f4267d 100644 --- a/input/regression/breathing-sign.ly +++ b/input/regression/breathing-sign.ly @@ -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 } } diff --git a/mf/feta-schrift.mf b/mf/feta-schrift.mf index 10eebb5926..a58fb418b2 100644 --- a/mf/feta-schrift.mf +++ b/mf/feta-schrift.mf @@ -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"); diff --git a/python/convertrules.py b/python/convertrules.py index 54db434b49..6d58332c12 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -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""")) -- 2.39.5