]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-pendaal.mf
Run `make grand-replace'.
[lilypond.git] / mf / feta-pendaal.mf
index af8e842b466c7d2321840a2b247d12c6f769465c..202a96dea43dc5c013d4dc38a0e1867cb747fb6a 100644 (file)
@@ -5,7 +5,7 @@
 %
 % source file of the Feta (not the Font-En-Tja) music font
 %
-% (c) 2000--2004 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
 %
 % Voor Cup
 
@@ -44,9 +44,9 @@ fet_beginchar ("Pedal asterisk", "*");
 
        pickup pencircle scaled penh;
 
-       penpos 1 (bulb, 180);
-       penpos 2 (bulb, 0);
-       penpos 3 (thin, 0);
+       penpos1 (bulb, 180);
+       penpos2 (bulb, 0);
+       penpos3 (thin, 0);
 
        z1 = z0 + (0, radius);
        z2 = z1;
@@ -88,7 +88,7 @@ fet_endchar;
 
 %% ugh. rounded corners!
 
-fet_beginchar ("Pedal dash", "-");
+fet_beginchar ("Pedal dash", "M");
        save dash_thickness;
 
        dash_thickness# := penw#;
@@ -128,7 +128,7 @@ begingroup;
        penpos4 (1.2 penh, -pedalpha);
        penpos5 (penh, -pedalpha);
        penpos6 (penh, 180 - pedalpha);
-       penpos7 (penh, 180 - pedalpha);
+       penpos7 (penh, 180 - pedalpha);
        penpos8 (penh, 90);
        penpos9 (4/3 penw, 50);
        penpos10 (1.4 penw, 50);
@@ -143,7 +143,7 @@ begingroup;
        x5 = 1/4 w;
        y5r = 0;
        z6 = z5;
-       z7 = z6r + 1/3 (z8r - z6r);
+       z7l = z6r + 1/3 (z8r - z6r);
        z8r = z5r + 3/5 (z3r - z5r);
        x9l = x10l - penh;
        y9l = 1/4 penh;
@@ -152,25 +152,14 @@ begingroup;
        x11l = w;
        y11 = 1/5 h;
 
+       % don't stick out at the top
        z1' = round (0.9 [z2, z1]) + (xpart feta_offset, 0);
        penpos1' (penh, 0);
 
-       if show_labels = 1:
-               penlabels (range 1 thru 11);
-               penlabels (1');
-       fi;
-
-       soft_penstroke z1'e
-                      ..tension 2.5.. z2e
-                      ..tension 1.5.. z3e
-                      ..tension 2.5.. z4e
-                      ..tension 1.5.. z5e
-                      .. z6e
-                      ..tension 1.5.. z7e
-                      ..tension 1.5.. z8e{right}
-                      ..tension 1.5.. z9e{dir - pedalpha}
-                      .. z10e
-                      ..tension 2.5.. z11e;
+       % shift start point of pen stroke to avoid overlapping contours
+       z8'l = z8l;
+       y8'r = y8r;
+       z8'r = z8l + whatever * (z3r - z8l);
 
        penpos12 (hround penh, 0);
        penpos13 (penw, -90 - pedbeta);
@@ -185,15 +174,43 @@ begingroup;
        x16 = 1/4 [x1, w];
        y16r = y2r;
 
-       if show_labels = 1:
-               penlabels (range 12 thru 16);
-       fi;
+       % We now do a correction to `center' the stem horizontally.  While
+       % this is not the most elegant solution, it is definitely the
+       % easiest...
+
+       save horz_corr;
+       horz_corr = 1/5 [x12, x16] - x2l;
+       x2 := x2 + horz_corr;
+       x2l := x2l + horz_corr;
+       x2r := x2r + horz_corr; 
+
+       penstroke z1'e
+                 ..tension 2.5.. z2e
+                 ..tension 1.5.. z3e
+                 ..tension 2.5.. {dir (225)}z4e;
+
+       soft_end_penstroke z8'e{right}
+                          ..tension 1.5.. z9e{dir (-pedalpha)}
+                          .. z10e
+                          ..tension 2.5.. z11e;
+
+       fill z4r{dir (225)}
+            ..tension 1.5.. z5r{left}
+            .. z6r
+            ..tension 1.5.. z7r
+            ..tension 1.5.. z8r{right}
+            -- cycle;
 
        soft_penstroke z12e{down}
                       ..tension 1.1.. z13e{dir (180 - pedbeta)}
                       ..tension 1.1.. z14e{right}
                       ..tension 1.1.. z15e{dir (180 + pedbeta)}
                       ..tension 1.1.. z16e{dir (90 + pedbeta)};
+
+       if show_labels = 1:
+               penlabels (range 1 thru 16);
+               penlabels (1', 8');
+       fi;
 endgroup;
 enddef;
 
@@ -219,11 +236,11 @@ begingroup;
                penlabels (1, 2, 3, 4, 5);
        fi;
 
-       soft_penstroke z1e{dir (-10)}
-                      ..tension 1.1.. z2e{dir (-90 + 10)}
-                      ..tension 1.1.. z3e{left}
-                      ..tension 1.1.. z4e{up}
-                      ..tension 1.1.. z5e{dir (-70 + 90)};
+       soft_start_penstroke z1e{dir (-10)}
+                            ..tension 1.1.. z2e{dir (-90 + 10)}
+                            ..tension 1.1.. z3e{left}
+                            ..tension 1.1.. z4e{up}
+                            ..tension 1.1.. z5e{dir (-70 + 90)};
 endgroup;
 enddef;