lilypond-devel
[Top][All Lists]
Advanced

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

Caesura, n-th time :)


From: Maximilian Albert
Subject: Caesura, n-th time :)
Date: Sun, 30 Sep 2007 15:11:49 +0200
User-agent: Mozilla-Thunderbird 2.0.0.4 (X11/20070828)

Hi all,

I've been absent from direct involvement in the discussions on this list for quite a while, and unfortunately this isn't going to change much in the near future (due to my finals awaiting me). But it's really exciting to follow the current development, especially related to GDP. Special kudos to Graham for his excellent work and coordination as well as to all those involved!

Given that 2.12 doesn't seem to be too far away, I thought I'd try to take this as an opportunity to pick up some loose ends that I was working on half a year (or so) ago. I can't guarantee that I will get any further than this email, but anyway ...

The first one is a stab at a new caesura glyph that has continuously been requested on this list, according to the archives. In March (I believe) I sent a patch to change it from the current curved shape to two straight parallel slashes. The only problem seemed to be that the corners didn't look very symmetrical (which by the way is also the case with the existing "noteheads.s[012]slash" glyphs). Here is another patch which attempts to correct this problem, together with a pdf sample. Would that be suitable for inclusion?

Thanks and best regards,
Max

>From 9fcc47f9099bb10532386a4fe3a4b2ec764187af Mon Sep 17 00:00:00 2001
From: Maximilian Albert <address@hidden>
Date: Sun, 30 Sep 2007 14:50:17 +0200
Subject: [PATCH] New caesura glyph

---
 mf/feta-schrift.mf |   74 ++++++++++++++++++++++++++-------------------------
 1 files changed, 38 insertions(+), 36 deletions(-)

diff --git a/mf/feta-schrift.mf b/mf/feta-schrift.mf
index 10eebb5..0d5b5bf 100644
--- a/mf/feta-schrift.mf
+++ b/mf/feta-schrift.mf
@@ -1445,63 +1445,65 @@ 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 now use two parallel slashes instead of the former curved shape.)
 %
 
 fet_beginchar ("Caesura", "caesura");
-       save slant, space_between, clearance;
-       save alpha, pat;
-       save botthick, topthick;
-       save krom;
+       save slant, space_between, clearance, height;
+       save thick, upslant, center, factor, pat;
        path pat;
+       pair upslant, center;
 
-       botthick = 1.5 linethickness;
-       topthick = 2.5 linethickness;
-
-       pickup pencircle scaled botthick;
+       slant = 2.0;
+       thick = 2.88 linethickness;
 
-       slant = 3.5;
-       space_between# = 0.6 staff_space#;
+       space_between# = 0.56 staff_space#;
        clearance# = 0.2 staff_space#;
-       height# = 1.2 staff_space#;
 
        set_char_box (0, 2.0 staff_space#,
-                     staff_space# - clearance#, height#);
-       define_pixels (clearance, height);
+                     staff_space# - clearance#, 1.2 staff_space#);
        define_whole_pixels (space_between);
 
-       bot y1 = -d;
-       top y2 = h;
+       height = h+d;
 
-       lft x1 = 0;
-       x2 = (y2 - y1) / slant;
+       z1 = origin shifted (0,-d);
+       z2 = z1 shifted (thick,0);
+       z3 = z1 shifted (thick+height/slant,height);
+       z4 = z1 shifted (height/slant,height);
 
-       krom = 10;
+       upslant = unitvector(z4-z1);
+       factor = 1.2 blot_diameter;
+       center = 0.5[z1,z3];
+       
+       z1a = z1 shifted (upslant*factor);
+       z1b = z1 shifted (right*factor);
+       z2a = z2 shifted (upslant*factor);
+       z2b = z2 shifted (left*factor);
 
-       alpha = angle (z2 - z1);
-       penpos1 (botthick, alpha - krom);
-       penpos3 (botthick, alpha - krom + 90);
+       z3a = z1a rotatedabout (center,180);
+       z3b = z1b rotatedabout (center,180);
+       z4a = z2a rotatedabout (center,180);
+       z4b = z2b rotatedabout (center,180);
 
-       penpos2 (topthick, alpha + krom);
-       penpos4 (topthick, alpha + krom + 90);
+       z1c = 0.4[z1,0.6[z1a,z1b]];
+       z3c = z1c rotatedabout (center, 180);
 
-       z3 = z1;
-       z4 = z2;
+       z2c = 0.4[z2,0.5[z2a,z2b]];
+       z4c = z2c rotatedabout (center, 180);
 
-       penlabels (1, 2, 3, 4);
+       pat = z1a{-upslant}...z1c...{right}z1b--
+             z2b{right}...z2c...{upslant}z2a--
+             z3a{upslant}...z3c...{left}z3b--
+             z4b{left}...z4c...{-upslant}z4a--cycle;
 
-       pat := z3r{(z1r - z1l)}
-              .. z4r{z2r-z2l}
-              .. z2r{z4l-z4r}
-              .. z4l{z2l-z2r}
-              .. z3l{z1l-z1r}
-              .. z1l{z3r-z3l}
-              .. 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;
 
 
-- 
1.5.3.1

Attachment: caesura.pdf
Description: Adobe PDF document


reply via email to

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