summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2007-06-24 07:48:28 +0200
committerWerner Lemberg <wl@gnu.org>2007-06-24 07:48:28 +0200
commit52f3b490b191dbda0771965691683ab3da34c1da (patch)
treedd2e370944dc02cf9a37c02441e7ffb2ab6e15b2
parenta44ac56ec7c5c58e3ea4f954137db56576f5cf4a (diff)
Replace `-' with `M' directly in glyph names to avoid mf-to-table.py trickery.
-rw-r--r--buildscripts/mf-to-table.py1
-rw-r--r--mf/README34
-rw-r--r--mf/feta-bolletjes.mf12
-rw-r--r--mf/feta-eindelijk.mf6
-rw-r--r--mf/feta-pendaal.mf2
-rw-r--r--mf/parmesan-accidentals.mf8
-rw-r--r--mf/parmesan-heads.mf12
-rw-r--r--mf/parmesan-rests.mf12
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 = {
diff --git a/mf/README b/mf/README
index 1d6c4c74e5..89eef4ee22 100644
--- a/mf/README
+++ b/mf/README
@@ -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#);