]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-autometric.mf
Prepare glyph shapes for mf2pt1 conversion.
[lilypond.git] / mf / feta-autometric.mf
index 8d53d521501998d98836d8ff7bc69bd448046afe..3279ff1b29275ace94f49a7eecb58ad7ea3b1cb4 100644 (file)
@@ -1,26 +1,32 @@
 % 
 % autometric.mf -- administrative MF routines
 % 
-% source file of the Feta (Font-En-Tja) pretty-but-neat music font
+% source file of the Feta (not an acronym for Font-En-Tja)
+% pretty-but-neat music font
 % 
-% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-%          Jan Nieuwenhuizen <jan@digicash.com>
+% (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+%          Jan Nieuwenhuizen <janneke@gnu.org>
 % 
 % these macros help create ascii logging output
 % to automate generation of lily tables and tex backend
 % The output should be parsed by the mf-to-table script
 
+message "******************************************************";
+message "Using feta Autometric macros. ";
+message "Do not worry about the @ signs in the output, they are not errors. "; 
+message "******************************************************";
+
 % font or database?
-def fet_beginfont(expr name,size) =
+def fet_beginfont(expr name,size,encod) =
        font_identifier:=name&decimal size;
        font_size size;
-       message "@{font@:"&name&"@:"&decimal size&"@}";
+       font_coding_scheme encod;
+       message "@{font@:GNU@:LilyPond@:"&name&"@:"&decimal size&"@:"&encod&"@}";
        message "";
        enddef;
 
-def fet_endfont(expr name) =
-       message "@{tnof@:"&name&"@}";
-       message "";
+def fet_endfont =
+       message "@{tnof@}";
        enddef;
 
 % group or table?
@@ -36,8 +42,13 @@ def fet_endgroup(expr name) =
        message "";
 enddef;
 
+def autometric_parameter (expr name, value) =
+       message "@{parameter@:"&name&"@:"&decimal value&"@}";
+enddef;
+
+
 def autometric_output_char=
-       message "@{char@:"&charnamestr&"@:"&decimal charcode&"@:"&decimal charbp&"@:"&decimal charwd&"@:"&decimal chardp&"@:"&decimal charht&"@:"&idstr&"@:"&texstr&"@}";
+       message "@{char@:"&charnamestr&"@:"&decimal charcode&"@:"&decimal charbp&"@:"&decimal charwd&"@:"&decimal chardp&"@:"&decimal charht&"@:"&decimal charwx&"@:"&decimal charwy&"@:"&idstr&"@}";
 enddef;
 
 def hround_pixels(expr sharped) = hround(sharped * hppp) enddef;
@@ -67,6 +78,9 @@ def set_char_box(expr b_sharp, w_sharp, d_sharp,h_sharp) =
        b := hround(b_sharp *hppp);
        h := hround(h_sharp *vppp);
        d := hround(d_sharp *vppp);
+
+       charwx := charwd;
+       charwy := 0;
 enddef;
 
 def no_dimen_beginchar(expr c) =
@@ -79,22 +93,26 @@ def no_dimen_beginchar(expr c) =
        scantokens extra_beginchar;
 enddef;
 
-code:=-1;
+
+%
+% we leave the ctrl characters alone.
+%
+code:=32;
 
 % starts just as plain mf's beginchar:
 %     charcode, 
 % and then adds:
 %     charname see below
 %     id       index in lily's table
-%     texstr   name of tex macro in lily's table and tex backend
 
 % the dims are uninitialised; you should use set_char_box manually.
-def fet_beginchar(expr name, id_lit, texstr_lit) =
-       save texstr, idstr, charnamestr;
+def fet_beginchar(expr name, id_lit) =
+       save  idstr, charnamestr;
        save charbp;
        save w,b,h,d;
-       string texstr, idstr, charnamestr;
-       texstr := texstr_lit;
+       save charwx, charwy;
+
+       string idstr, charnamestr;
        charnamestr := name;
        idstr := id_lit;
 
@@ -113,7 +131,7 @@ enddef;
 def breapth_endchar =
        scantokens extra_endchar;
        if proofing > 0: makebox_with_breapth(proofrule); fi
-       chardx := 10*(w + b);
+       chardx := (w + b);      %what the hack is chardx
        shipit;
        endgroup
 enddef;