]> git.donarmstrong.com Git - lilypond.git/commitdiff
* mf/feta-autometric.mf (fet_beginfont): Set font_coding_scheme
authorWerner Lemberg <wl@gnu.org>
Tue, 25 Jan 2005 01:33:00 +0000 (01:33 +0000)
committerWerner Lemberg <wl@gnu.org>
Tue, 25 Jan 2005 01:33:00 +0000 (01:33 +0000)
to `asis'.
(fet_begingroup): Save group name in string `feta_group'.
(fet_endgroup): Updated.
(fet_beginchar): Emit `glyph_name' special for mf2pt1.

* mf/feta-bolletjes.mf: s/p/pat/ for paths.

* mf/feta-pendaal.mf ("Pedal asterisk"): Add workaround for bug
in metapost.

ChangeLog
mf/feta-autometric.mf
mf/feta-bolletjes.mf
mf/feta-pendaal.mf

index 5fe21675a21a4b1f1091452a0ad2b41365a0e570..074c32c159262c6e4ca692aef130a026262caeec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2005-01-24  Werner Lemberg  <wl@gnu.org>
+
+       * mf/feta-autometric.mf (fet_beginfont): Set font_coding_scheme
+       to `asis'.
+       (fet_begingroup): Save group name in string `feta_group'.
+       (fet_endgroup): Updated.
+       (fet_beginchar): Emit `glyph_name' special for mf2pt1.
+
+       * mf/feta-bolletjes.mf: s/p/pat/ for paths.
+
+       * mf/feta-pendaal.mf ("Pedal asterisk"): Add workaround for bug
+       in metapost.
+
 2005-01-24  Graham Percival  <gperlist@shaw.ca>
 
        * Documentation/user/notation.itely: really minor editing.
index 77b551e30c5c2ef55ee18ff6f0a067264e871391..1c138535a84714cb1daa89803d4258900add5089 100644 (file)
@@ -23,7 +23,7 @@ message "";
 def fet_beginfont (expr name, size, encod) =
        font_identifier := name & decimal size;
        font_size size;
-       font_coding_scheme encod;
+       font_coding_scheme "asis";
        message "@{font@:GNU@:LilyPond@:" & name
                & "@:" & decimal size
                & "@:" & encod
@@ -39,18 +39,23 @@ enddef;
 
 % group or table?
 def fet_begingroup (expr name) =
-       message "@{group@:" & name
+begingroup;
+       save feta_group;
+       string feta_group;
+
+       feta_group := name;
+
+       message "@{group@:" & feta_group
                & "@}";
        message "";
-begingroup
 enddef;
 
 
 def fet_endgroup (expr name) =
-endgroup;
        message "@{puorg@:" & name
                & "@}";
        message "";
+endgroup;
 enddef;
 
 
@@ -163,7 +168,7 @@ enddef;
 
 
 def no_dimen_beginchar (expr c) =
-begingroup
+begingroup;
        charcode := if known c: byte c else: 0; fi;
        charic := 0;
        clearxy;
@@ -196,6 +201,11 @@ def fet_beginchar (expr name, id_lit) =
        charnamestr := name;
        idstr := id_lit;
 
+       % addition for mf2pt1
+       if known bp_per_pixel:
+               special "% MF2PT1: glyph_name " & feta_group & "." & idstr;
+       fi;
+
        no_dimen_beginchar (incr code) name;
 enddef;
 
@@ -223,7 +233,7 @@ def breapth_endchar =
 
        chardx := (w + b);      % what the heck is chardx
        shipit;
-endgroup
+endgroup;
 enddef;
 
 
index d082c8cc2ed7ea7db34defe2fd6e10e4e2870d64..b7852cc6578b961299e10f4293fa11db96dfeda4 100644 (file)
@@ -61,19 +61,19 @@ define_whole_vertical_pixels (noteheight);
 
 def draw_outside_ellipse (expr ellipticity, tilt, superness, slant) =
        save attachment_y;
-       save p;
-       path p;
+       save pat;
+       path pat;
 
-       p := superellipse ((ellipticity, 0), (-slant * ellipticity, 1.0),
-                          (-ellipticity, 0), (slant * ellipticity, -1.0),
-                          superness);
-       p := p rotated tilt;
+       pat := superellipse ((ellipticity, 0), (-slant * ellipticity, 1.0),
+                            (-ellipticity, 0), (slant * ellipticity, -1.0),
+                            superness);
+       pat := pat rotated tilt;
 
        save top_point, right_point;
        pair top_point, right_point;
 
-       top_point := directionpoint left of p;
-       right_point := directionpoint up of p;
+       top_point := directionpoint left of pat;
+       right_point := directionpoint up of pat;
 
        save scaling, width;
 
@@ -89,45 +89,45 @@ def draw_outside_ellipse (expr ellipticity, tilt, superness, slant) =
        charwy := ypart (right_point) * scaling#;
        charwx := width#;
 
-       p := p scaled scaling shifted (w / 2, .5 (h - d));
+       pat := pat scaled scaling shifted (w / 2, .5 (h - d));
 
        width := hround width;
 
        if test_outlines = 1:
-               draw p;
+               draw pat;
        else:
-               fill p;
+               fill pat;
        fi;
 enddef;
 
 
 def undraw_inside_ellipse (expr ellipticity, tilt, superness, clearance) =
 begingroup
-       save p;
-       path p;
+       save pat;
+       path pat;
 
-       p := superellipse ((ellipticity, 0), (0, 1.0),
-                          (-ellipticity, 0), (0, -1.0),
-                          superness);
-       p := p rotated tilt;
+       pat := superellipse ((ellipticity, 0), (0, 1.0),
+                            (-ellipticity, 0), (0, -1.0),
+                            superness);
+       pat := pat rotated tilt;
 
        save top_point, right_point;
        pair top_point, right_point;
 
-       top_point := directionpoint left of p;
-       right_point := directionpoint up of p;
+       top_point := directionpoint left of pat;
+       right_point := directionpoint up of pat;
 
        save height, scaling;
 
        height# = staff_space# + stafflinethickness# - clearance;
        scaling# = height# / (2 ypart (top_point));
        define_pixels (scaling);
-       p := (p scaled scaling) shifted (w / 2, .5 (h - d));
+       pat := pat scaled scaling shifted (w / 2, .5 (h - d));
 
        if test_outlines = 1:
-               draw p;
+               draw pat;
        else:
-               unfill p;
+               unfill pat;
        fi
 endgroup;
 enddef;
index af8e842b466c7d2321840a2b247d12c6f769465c..dfd87fa8cbfaa92ef9cacf63f03bb0ed84e11bd8 100644 (file)
@@ -78,7 +78,19 @@ fet_beginchar ("Pedal asterisk", "*");
 
        pat := pat
               .. cycle;
-       fill pat;
+
+       % Uh, oh, there is a bug in metapost 0.641 which makes mf2pt1.mp's
+       % redefinion of `fill' fail for this particular path, using a
+       % wrong path orientation.
+       %
+       % Note that using `unfill' here makes the direct mpost output
+       % wrong, but the `mf2pt1' script fixes it for the Type 1 output.
+
+       if known bp_per_pixel:
+               unfill pat;
+       else:
+               fill pat;
+       fi;
 
        pickup pencircle scaled (7/8 inner_r);