]> git.donarmstrong.com Git - lilypond.git/commitdiff
* mf/feta-slag.mf (draw_trillelement): Fix shape to get clean
authorWerner Lemberg <wl@gnu.org>
Wed, 26 Jan 2005 08:57:06 +0000 (08:57 +0000)
committerWerner Lemberg <wl@gnu.org>
Wed, 26 Jan 2005 08:57:06 +0000 (08:57 +0000)
overlapping.

* mf/feta-toevallig.mf (draw_meta_sharp): Fix shape to avoid curves
with inflections for the 1/2 sharp glyph.

ChangeLog
mf/feta-slag.mf
mf/feta-toevallig.mf

index 074c32c159262c6e4ca692aef130a026262caeec..116b73cb4ac9d48cd8e6bb4bd7e06cc33f3f4506 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-01-26  Werner Lemberg  <wl@gnu.org>
+
+       * mf/feta-slag.mf (draw_trillelement): Fix shape to get clean
+       overlapping.
+
+       * mf/feta-toevallig.mf (draw_meta_sharp): Fix shape to avoid curves
+       with inflections for the 1/2 sharp glyph.
+
 2005-01-24  Werner Lemberg  <wl@gnu.org>
 
        * mf/feta-autometric.mf (fet_beginfont): Set font_coding_scheme
index cdc7f1ec7209b4a89916f1865b3820eb9bf0b40d..7bd6e8a48f4a93695046e1b8bf5c338f34bc995a 100644 (file)
@@ -35,9 +35,9 @@ def draw_trillelement (expr offset) =
        clearxy;
 
 begingroup;
-       save nw, p;
-       pair nw;
-       path p;
+       save nw, pat, nw_dist, ne_dist;
+       pair nw, nw_dist, ne_dist;
+       path pat;
 
        pickup pencircle scaled trill_thin;
 
@@ -49,27 +49,29 @@ begingroup;
 
        z4 = z1 - trill_ne * trill_overlap;
        x4 := hround x4;
-       x5 = x2;
-       y5 = 0;
 
        bot z3' = (top z3) scaled -1;
 
-       nw := unitvector (z2 - z3');
-
-       path p;
-       p := z5
-            -- (z4 - 0.5 trill_thin * nw)
-            .. bot z4
-            .. lft z4
-            .. (z4 + 0.5 trill_thin * nw)
-            -- (z3 + 0.5 trill_thin * nw)
-            .. top z3
-            .. (z3 + 0.5 trill_thin * trill_ne);
-       p := p
-            -- p scaled -1 shifted (-feta_eps, -feta_eps)
-            -- cycle;
-       p := p shifted (offset, 0);
-       fill p;
+       nw = unitvector (z2 - z3');
+       ne_dist = (nw rotated -90) * 0.5 trill_thin;
+       nw_dist = (trill_ne rotated 90) * 0.5 trill_thin;
+
+       z5 = whatever * trill_ne + (z4 - nw_dist);
+       z5 = whatever * nw + (z3' - ne_dist);
+
+       pat := z5
+              -- (z4 - nw_dist){-trill_ne}
+              .. bot z4{left}
+              .. lft z4{up}
+              .. (z4 + nw_dist){trill_ne}
+              -- (z3 + nw_dist){trill_ne}
+              .. top z3{right}
+              .. (z3 + ne_dist){-nw};
+       pat := pat
+              -- pat scaled -1 shifted (-feta_eps, -feta_eps)
+              -- cycle;
+       pat := pat shifted (offset, 0);
+       fill pat;
 endgroup;
 enddef;
 
index de5f013ecdc153f2e9beb2f3789328c0eaaf178f..e298b21d91cbcb6d8c70b38857d7781b0ee86db5 100644 (file)
@@ -30,6 +30,8 @@ picture remember_pic;
 
 def draw_meta_sharp (expr width, offset) =
        save beamheight, beamwidth, beamslope;
+       save ne, nw_dist;
+       pair ne, nw_dist;
 
        beamwidth := width;
 
@@ -50,14 +52,17 @@ def draw_meta_sharp (expr width, offset) =
        x4 = x1;
        top y1 - bot y4 = beamheight;
 
+       ne = unitvector (z2 - z1);
+       nw_dist = (ne rotated 90) * blot_diameter;
+
        fill lft z1{up}
-            .. top z1{z2 - z1}
-            -- top z2{z2 - z1}
-            .. rt z2{down}
+            ... (z1 + nw_dist){ne}
+            -- (z2 + nw_dist){ne}
+            ... rt z2{down}
             -- rt z3{down}
-            .. bot z3{z4 - z3}
-            -- bot z4{z4 - z3}
-            .. lft z4{up}
+            ... (z3 - nw_dist){-ne}
+            -- (z4 - nw_dist){-ne}
+            ... lft z4{up}
             -- cycle;
 
        labels (1, 2, 3, 4);
@@ -268,9 +273,9 @@ fet_beginchar ("Natural", "0");
        z1 - z1' = z2 - z2';
 
        draw z1
-            .. z2;
+            -- z2;
        draw z1'
-            .. z2';
+            -- z2';
 
        beamtop = top y2;