]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-autometric.mf
Run `make grand-replace'.
[lilypond.git] / mf / feta-autometric.mf
index 77b551e30c5c2ef55ee18ff6f0a067264e871391..9679d3050a6bdea3dcaca18b5ec0e50a5429c99e 100644 (file)
@@ -4,7 +4,7 @@
 % source file of the Feta (not an acronym for Font-En-Tja)
 % pretty-but-neat music font
 %
-% (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %          Jan Nieuwenhuizen <janneke@gnu.org>
 %
 % these macros help create ascii logging output
@@ -14,7 +14,8 @@
 
 message "******************************************************";
 message "Using feta Autometric macros.";
-message "Do not worry about the @ signs in the output, they are not errors.";
+message "order of messages: ";
+message " NAME/CODE/BP/WD/DP/HT/WX/WY";
 message "******************************************************";
 message "";
 
@@ -23,7 +24,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 +40,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;
 
 
@@ -61,7 +67,7 @@ def autometric_parameter (expr name, value) =
 enddef;
 
 
-def autometric_output_char=
+def autometric_output_char =
        message "@{char@:" & charnamestr
                & "@:" & decimal charcode
                & "@:" & decimal charbp
@@ -119,13 +125,19 @@ def set_char_box (expr b_sharp, w_sharp, d_sharp, h_sharp) =
        charwx := charwd;
        charwy := 0;
 
-       % additions for mf2pt1
+       % additions for mf2pt1 (`bbox' is called `glyph_dimensions' starting
+       % with version 2.4.2)
        if known bp_per_pixel:
                special "% MF2PT1: bbox "
                        & to_bp (-b) & " "
                        & to_bp (-d) & " "
                        & to_bp (w) & " "
                        & to_bp (h);
+               special "% MF2PT1: glyph_dimensions "
+                       & to_bp (-b) & " "
+                       & to_bp (-d) & " "
+                       & to_bp (w) & " "
+                       & to_bp (h);
                special "% MF2PT1: font_size " & decimal designsize;
                special "% MF2PT1: font_slant " & decimal font_slant_;
 
@@ -163,7 +175,7 @@ enddef;
 
 
 def no_dimen_beginchar (expr c) =
-begingroup
+begingroup;
        charcode := if known c: byte c else: 0; fi;
        charic := 0;
        clearxy;
@@ -196,6 +208,16 @@ def fet_beginchar (expr name, id_lit) =
        charnamestr := name;
        idstr := id_lit;
 
+       % addition for mf2pt1
+       if known bp_per_pixel:
+               if known feta_group:
+                       special "% MF2PT1: glyph_name "
+                               & feta_group & "." & idstr;
+               else:
+                       special "% MF2PT1: glyph_name " & idstr;
+               fi;
+       fi;
+
        no_dimen_beginchar (incr code) name;
 enddef;
 
@@ -223,11 +245,11 @@ def breapth_endchar =
 
        chardx := (w + b);      % what the heck is chardx
        shipit;
-endgroup
+endgroup;
 enddef;
 
 
-def fet_endchar=
+def fet_endchar =
        autometric_output_char;
        breapth_endchar;
 enddef;