diff options
author | Werner Lemberg <wl@gnu.org> | 2007-06-24 07:48:28 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2007-06-24 07:48:28 +0200 |
commit | 52f3b490b191dbda0771965691683ab3da34c1da (patch) | |
tree | dd2e370944dc02cf9a37c02441e7ffb2ab6e15b2 | |
parent | a44ac56ec7c5c58e3ea4f954137db56576f5cf4a (diff) |
Replace `-' with `M' directly in glyph names to avoid mf-to-table.py trickery.
-rw-r--r-- | buildscripts/mf-to-table.py | 1 | ||||
-rw-r--r-- | mf/README | 34 | ||||
-rw-r--r-- | mf/feta-bolletjes.mf | 12 | ||||
-rw-r--r-- | mf/feta-eindelijk.mf | 6 | ||||
-rw-r--r-- | mf/feta-pendaal.mf | 2 | ||||
-rw-r--r-- | mf/parmesan-accidentals.mf | 8 | ||||
-rw-r--r-- | mf/parmesan-heads.mf | 12 | ||||
-rw-r--r-- | mf/parmesan-rests.mf | 12 |
8 files changed, 53 insertions, 34 deletions
diff --git a/buildscripts/mf-to-table.py b/buildscripts/mf-to-table.py index 24b0971d7a..7febb8fa32 100644 --- a/buildscripts/mf-to-table.py +++ b/buildscripts/mf-to-table.py @@ -58,7 +58,6 @@ def parse_logfile (fn): elif tags[0] == 'char': name = tags[9] - name = re.sub ('-', 'M', name) if group: name = group + '.' + name m = { @@ -1,27 +1,28 @@ -This is a font of music symbols. All MF sources are original. Most -of the documentation is in comments in the MF code. +This is a font of music symbols. All MF sources are original. Most of the +documentation is in comments in the MF code. Non-square pixels are not supported; with other words, the horizontal and vertical resolution of the output device must be the same. Currently, outline fonts are created by using `autotrace', but we are -already in the process to convert the MF code directly to PostScript code +already in the process of converting the MF code directly to PostScript code with a tool called `mf2pt1', which in turn calls `FontForge' to postprocess the output (mainly to remove outline overlaps and to add hints). The recommended calling sequence of mf2pt1 is - mf2pt1 --rounding=0.001 <font> + mf2pt1 --rounding=0.001 <other options> <font> You need mf2pt1 version 2.1 or newer. + Here some guidelines to assure a clean conversion. . Never use `---'. Replace it with `--' together with explicit path directions (if necessary). -. Don't use self-intersecting outlines in general since it can confuse +. Don't use self-intersecting outlines in general since they can confuse mf2pt1's algorithm to get the orientation of a closed path. Note that MetaPost's implementation of the `turningnumber' primitive (which would immediately give the orientation of a path) is severely broken before @@ -29,7 +30,7 @@ Here some guidelines to assure a clean conversion. to work around this bug. . If outlines intersect, avoid grazing intersections. In case two outlines - intersect in an explicitly defined point, include this point into both + intersect in an explicitly defined point, include this point in both intersecting paths to avoid problems due to rounding errors. . Don't use `draw' with a polygonal pen but for straight lines (consisting @@ -43,6 +44,25 @@ Here some guidelines to assure a clean conversion. overlaps. +Some glyph name rules: + +. Most glyph names have the form <group>.<name>, where <group> is defined + with the `fet_begingroup' command, and <name> is given with + `fet_beginchar' (within a `fet_begingroup' block). Example: + `clefs.vaticana.fa'. + +. Sometimes it would be sensible to use negative numbers in glyph names. + However, the `-' character shouldn't be used in a glyph name. Replace it + with `M'. For example, write `rests.M3mensural' instead of + `rests.-3mensural'. + +. Glyphs which exist in both an `up' and `down' version should start the + <name> part with either `u' or `d', respectively. Example: `flags.d3', + `flags.u3'. Glyphs which are neutral w.r.t. the direction, and where + members of the glyph group exist which have `up' and `down' versions, + should start with an `s'. Example: `noteheads.s0re'. + + Some design rules: . Always use smooth curve transitions. Since this is difficult to see in @@ -57,7 +77,7 @@ Some design rules: . Use rounded corners. -Finally, some rules to assure that rasterization at low resolutions give +Finally, some rules to assure that rasterization at low resolutions gives good results. Today, this is a minor issue, but in some cases it might show design flaws. diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index 7be4addb5f..1926fc5224 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -190,13 +190,13 @@ def draw_longa (expr up) = enddef; -fet_beginchar ("Longa notehead", "u-2"); +fet_beginchar ("Longa notehead", "uM2"); draw_longa (true); draw_staff (-2, 2, 0); fet_endchar; -fet_beginchar ("Longa notehead", "d-2"); +fet_beginchar ("Longa notehead", "dM2"); draw_longa (false); draw_staff (-2, 2, 0); @@ -204,13 +204,13 @@ fet_endchar; if test > 0: - fet_beginchar ("Longa notehead", "u-2"); + fet_beginchar ("Longa notehead", "uM2"); draw_longa (true); draw_staff (-2, 2, 0.5); fet_endchar; - fet_beginchar ("Longa notehead", "d-2"); + fet_beginchar ("Longa notehead", "dM2"); draw_longa (false); draw_staff (-2, 2, 0.5); @@ -249,7 +249,7 @@ def draw_brevis = enddef; -fet_beginchar ("Brevis notehead", "s-1"); +fet_beginchar ("Brevis notehead", "sM1"); draw_brevis; draw_staff (-2, 2, 0); @@ -257,7 +257,7 @@ fet_endchar; if test > 0: - fet_beginchar ("Brevis notehead", "s-1"); + fet_beginchar ("Brevis notehead", "sM1"); draw_brevis; draw_staff (-2, 2, 0.5); diff --git a/mf/feta-eindelijk.mf b/mf/feta-eindelijk.mf index 56bd2ba6d1..c1618ece73 100644 --- a/mf/feta-eindelijk.mf +++ b/mf/feta-eindelijk.mf @@ -85,7 +85,7 @@ fet_beginchar ("half rest (outside staff)", "1o"); fet_endchar; -fet_beginchar ("maxima rest", "-3"); +fet_beginchar ("maxima rest", "M3"); set_char_box (0, 3 breve_rest_x#, breve_rest_y#, breve_rest_y#); draw_block ((0, -breve_rest_y + feta_shift), @@ -97,7 +97,7 @@ fet_beginchar ("maxima rest", "-3"); fet_endchar; -fet_beginchar ("longa rest", "-2"); +fet_beginchar ("longa rest", "M2"); set_char_box (0, breve_rest_x#, breve_rest_y#, breve_rest_y#); draw_block ((0, -breve_rest_y + feta_shift), @@ -107,7 +107,7 @@ fet_beginchar ("longa rest", "-2"); fet_endchar; -fet_beginchar ("breve rest", "-1"); +fet_beginchar ("breve rest", "M1"); set_char_box (0, breve_rest_x#, 0, breve_rest_y#); draw_block ((0, 0), (breve_rest_x, breve_rest_y)); diff --git a/mf/feta-pendaal.mf b/mf/feta-pendaal.mf index 892717510b..ccdad5a0b1 100644 --- a/mf/feta-pendaal.mf +++ b/mf/feta-pendaal.mf @@ -88,7 +88,7 @@ fet_endchar; %% ugh. rounded corners! -fet_beginchar ("Pedal dash", "-"); +fet_beginchar ("Pedal dash", "M"); save dash_thickness; dash_thickness# := penw#; diff --git a/mf/parmesan-accidentals.mf b/mf/parmesan-accidentals.mf index 7b27c91be8..4d8da44004 100644 --- a/mf/parmesan-accidentals.mf +++ b/mf/parmesan-accidentals.mf @@ -17,7 +17,7 @@ fet_begingroup ("accidentals"); % % % -fet_beginchar ("Ed. Med. Flat" , "medicaea-1"); +fet_beginchar ("Ed. Med. Flat" , "medicaeaM1"); set_char_box (0.1 staff_space#, 0.6 staff_space#, 0.6 staff_space#, 1.0 staff_space#); @@ -85,7 +85,7 @@ fet_endchar; % % % -fet_beginchar ("Ed. Vat. Flat" , "vaticana-1"); +fet_beginchar ("Ed. Vat. Flat" , "vaticanaM1"); z1 = (0.00 staff_space, +0.80 staff_space); z2 = (0.00 staff_space, -0.08 staff_space); z3 = (0.25 staff_space, -0.23 staff_space); @@ -221,7 +221,7 @@ fet_beginchar ("Mensural Sharp" , "mensural1"); fet_endchar; -fet_beginchar ("Mensural Flat" , "mensural-1"); +fet_beginchar ("Mensural Flat" , "mensuralM1"); save stemthick; define_pixels (stemthick); @@ -285,7 +285,7 @@ fet_beginchar ("Mensural Flat" , "mensural-1"); fet_endchar; -fet_beginchar ("Hufnagel Flat" , "hufnagel-1"); +fet_beginchar ("Hufnagel Flat" , "hufnagelM1"); save stemthick; define_pixels (stemthick); diff --git a/mf/parmesan-heads.mf b/mf/parmesan-heads.mf index d62b4d95a7..a83449781e 100644 --- a/mf/parmesan-heads.mf +++ b/mf/parmesan-heads.mf @@ -182,17 +182,17 @@ enddef; % % (ze is wel breed) % -fet_beginchar ("Neo-mensural maxima notehead", "s-3neomensural"); +fet_beginchar ("Neo-mensural maxima notehead", "sM3neomensural"); draw_neomensural_longa (2.6 staff_space#); fet_endchar; -fet_beginchar ("Neo-mensural longa notehead", "s-2neomensural"); +fet_beginchar ("Neo-mensural longa notehead", "sM2neomensural"); draw_neomensural_longa (2 staff_space#); fet_endchar; -fet_beginchar ("Neo-mensural brevis notehead", "s-1neomensural"); +fet_beginchar ("Neo-mensural brevis notehead", "sM1neomensural"); draw_neomensural_brevis (2 staff_space#); fet_endchar; @@ -364,17 +364,17 @@ fet_beginchar ("Mensural left stemmed notehead", "slmensural"); fet_endchar; -fet_beginchar ("Mensural maxima notehead", "s-3mensural"); +fet_beginchar ("Mensural maxima notehead", "sM3mensural"); draw_mensural_longa (2.0 staff_space#); fet_endchar; -fet_beginchar ("Mensural longa notehead", "s-2mensural"); +fet_beginchar ("Mensural longa notehead", "sM2mensural"); draw_mensural_longa (staff_space#); fet_endchar; -fet_beginchar ("Mensural brevis notehead", "s-1mensural"); +fet_beginchar ("Mensural brevis notehead", "sM1mensural"); draw_mensural_brevis (staff_space#); fet_endchar; diff --git a/mf/parmesan-rests.mf b/mf/parmesan-rests.mf index 5aa392e3d2..ef69f69e81 100644 --- a/mf/parmesan-rests.mf +++ b/mf/parmesan-rests.mf @@ -38,7 +38,7 @@ def neomens_half_block_rest = enddef; -fet_beginchar ("Neo-mensural maxima rest", "-3neomensural"); +fet_beginchar ("Neo-mensural maxima rest", "M3neomensural"); set_char_box (0, 3 neomens_block_rest_x#, neomens_block_rest_y#, neomens_block_rest_y#); @@ -49,7 +49,7 @@ fet_beginchar ("Neo-mensural maxima rest", "-3neomensural"); fet_endchar; -fet_beginchar ("Neo-mensural longa rest", "-2neomensural"); +fet_beginchar ("Neo-mensural longa rest", "M2neomensural"); set_char_box (0, neomens_block_rest_x#, neomens_block_rest_y#, neomens_block_rest_y#); @@ -58,7 +58,7 @@ fet_beginchar ("Neo-mensural longa rest", "-2neomensural"); fet_endchar; -fet_beginchar ("Neo-mensural breve rest", "-1neomensural"); +fet_beginchar ("Neo-mensural breve rest", "M1neomensural"); set_char_box (0, neomens_block_rest_x#, 0, neomens_block_rest_y#); @@ -252,7 +252,7 @@ define_pixels (mens_block_rest_y, mens_half_block_rest_y, pen_width, pen_height); -fet_beginchar ("Mensural maxima rest", "-3mensural"); +fet_beginchar ("Mensural maxima rest", "M3mensural"); set_char_box (0, pen_width#, mens_block_rest_y#, 2 mens_block_rest_y#); @@ -265,7 +265,7 @@ fet_beginchar ("Mensural maxima rest", "-3mensural"); fet_endchar; -fet_beginchar ("Mensural longa rest", "-2mensural"); +fet_beginchar ("Mensural longa rest", "M2mensural"); set_char_box (0, pen_width#, mens_block_rest_y#, mens_block_rest_y#); @@ -278,7 +278,7 @@ fet_beginchar ("Mensural longa rest", "-2mensural"); fet_endchar; -fet_beginchar ("Mensural breve rest", "-1mensural"); +fet_beginchar ("Mensural breve rest", "M1mensural"); set_char_box (0, pen_width#, 0, mens_block_rest_y#); |