From 140d62a2892a76cb8c756cd23d2fe9d7617d0523 Mon Sep 17 00:00:00 2001
From: fred <fred>
Date: Wed, 27 Mar 2002 02:05:26 +0000
Subject: [PATCH] lilypond-1.5.32

---
 input/test/ancient-font.ly |  14 ++-
 mf/feta-banier.mf          |  26 ++++
 mf/feta-eindelijk.mf       |  52 ++++++++
 mf/feta-puntje.mf          |   2 +-
 mf/parmesan-accidentals.mf | 176 ++++++++++++++++++++++++++
 mf/parmesan-clefs.mf       |  16 ++-
 mf/parmesan-custodes.mf    |  12 +-
 mf/parmesan-flags.mf       | 115 ++---------------
 mf/parmesan-heads.mf       |  19 +--
 mf/parmesan-rests.mf       | 249 ++++++++++++++-----------------------
 mf/parmesan-timesig.mf     |  20 ++-
 mf/parmesan11.mf           |  16 +++
 mf/parmesan13.mf           |  16 +++
 mf/parmesan16.mf           |  16 +++
 mf/parmesan19.mf           |  16 +++
 mf/parmesan20.mf           |   7 +-
 mf/parmesan23.mf           |  16 +++
 mf/parmesan26.mf           |  16 +++
 scm/grob-description.scm   |   2 +
 19 files changed, 505 insertions(+), 301 deletions(-)
 create mode 100644 mf/parmesan11.mf
 create mode 100644 mf/parmesan13.mf
 create mode 100644 mf/parmesan16.mf
 create mode 100644 mf/parmesan19.mf
 create mode 100644 mf/parmesan23.mf
 create mode 100644 mf/parmesan26.mf

diff --git a/input/test/ancient-font.ly b/input/test/ancient-font.ly
index af95e9305a..70870dd86c 100644
--- a/input/test/ancient-font.ly
+++ b/input/test/ancient-font.ly
@@ -11,7 +11,8 @@
 global =  \notes {
     \property Score.timing = ##f
 %   \property Score.forceAccidental = ##t
-%   \property Staff.TimeSignature \override #'style = #'old
+    \property Staff.TimeSignature \set #'font-family = #'ancient
+%   \property Staff.TimeSignature \override #'style = #'mensural
 }
 
 upperVoice =  \context Staff = upperVoice <
@@ -23,9 +24,12 @@ upperVoice =  \context Staff = upperVoice <
       #'line-count = #4
 
     \notes \transpose c' {
+	\property Staff.Clef \set #'font-family = #'ancient
 	\property Staff.KeySignature \override #'style = #'vaticana
 	\property Staff.Accidentals \override #'style = #'vaticana
+	\property Staff.Custos \set #'font-family = #'ancient
 	\property Staff.Custos \override #'style = #'vaticana
+	\property Voice.NoteHead \set #'font-family = #'ancient
 	\property Voice.NoteHead \override #'style = #'vaticana_punctum
 	\property Voice.Porrectus \override #'style = #'vaticana
 	\property Voice.Porrectus \override #'solid = ##t
@@ -120,10 +124,15 @@ lowerVoice =  \context Staff = lowerNotes <
 
     \notes \transpose c' {
 	\property Voice.noAutoBeaming = ##t
+	\property Staff.Clef \set #'font-family = #'ancient
 	\property Staff.KeySignature \override #'style = #'mensural
 	\property Staff.Accidentals \override #'style = #'mensural
+	\property Staff.Custos \set #'font-family = #'ancient
 	\property Staff.Custos \override #'style = #'mensural
+	\property Voice.NoteHead \set #'font-family = #'ancient
 	\property Voice.NoteHead \override #'style = #'neo_mensural
+	\property Voice.Stem \set #'font-family = #'ancient % ancient flags
+	\property Voice.Rest \set #'font-family = #'music
 	\property Voice.Rest \override #'style = #'neo_mensural
 	\property Voice.Porrectus \override #'style = #'mensural
 	\property Voice.Porrectus \override #'solid = ##f
@@ -161,11 +170,12 @@ lowerVoice =  \context Staff = lowerNotes <
 	\clef "mensural_c2"
 	r\breve r1 r2
 	\clef "mensural_g"
-	r4 r8 r16 r32 r32 \bar "|"
+	r4 r8 r16 r16 \bar "|"
 
 	\property Voice.NoteHead \override #'style = #'mensural
 	\property Voice.Stem \override #'style = #'mensural
 	\property Voice.Stem \override #'thickness = #1.0
+	\property Voice.Rest \set #'font-family = #'ancient
 	\property Voice.Rest \override #'style = #'mensural
 	\clef "petrucci_f"
 	c8 b, c16 b, c32 b, c64 b, c b,
diff --git a/mf/feta-banier.mf b/mf/feta-banier.mf
index 045bf314f3..36a4dc000d 100644
--- a/mf/feta-banier.mf
+++ b/mf/feta-banier.mf
@@ -294,6 +294,32 @@ fet_beginchar("grace dash (up)", "ugrace", "gracedash")
 	  (w, h);
 fet_endchar;
 
+fet_beginchar("grace dash (down)", "dgrace", "dgracedash")
+	save flare, hip_depth_ratio, hip_width,	foot_depth;
+	save flagspace, total_depth, flag_count;
+	
+	flag_count = 1;
+	flare# = .99 staff_space#;
+	flagspace# = .9 staff_space#;	
+	hip_depth_ratio = .72 ;
+	hip_width# = downflag_width# - hip_thickness#/2;
+	total_depth# = 2.85 staff_space#;
+	(flag_count-1) * flagspace# + foot_depth# = total_depth#;
+
+	foot_width_ratio = .8;
+
+	define_pixels(flare, hip_width, hip_thickness,
+		flagspace, foot_depth);
+
+	set_char_box(hip_width# * hip_depth_ratio,
+	  hip_width# + stemthickness#/2 + right_downflag_space#,
+	  foot_depth# * hip_depth_ratio, -flare#)
+
+	pickup pencircle scaled 1.5 stemthickness;
+	draw (-b, -d) .. (w,h);
+	y_mirror_char;
+fet_endchar;
+
 fet_beginchar("16th (down)", "d4", "dsixteenthflag")
 	save flare, 
 		hip_depth_ratio, hip_width,
diff --git a/mf/feta-eindelijk.mf b/mf/feta-eindelijk.mf
index f81107f1c8..6eb476cc3f 100644
--- a/mf/feta-eindelijk.mf
+++ b/mf/feta-eindelijk.mf
@@ -404,5 +404,57 @@ fet_beginchar("Neo-mensural half rest", "1neo_mensural", "neomensminimahalfrest"
 	neomens_half_block_rest;
 fet_endchar;
 
+neomensrestsize# = .8staff_space#;
+
+fet_beginchar("Neo-mensural 4th rest","2neo_mensural","neomenssemiminimarest")
+	set_char_box(0,neomensrestsize#,0,neomensrestsize#);
+        pickup pencircle scaled 2 stafflinethickness;
+	lft x1 = 0;
+	bot y1 = 0;
+	lft x2 = 0;
+	top y2 = h;
+	rt x3 = w;
+	bot y3 = h/2;
+	draw z1 .. z2;
+	draw z2 .. z3;
+fet_endchar
+
+fet_beginchar("Neo-mensural 8th rest","3neo_mensural","neomensfusarest")
+	set_char_box(0,neomensrestsize#,0,neomensrestsize#);
+        pickup pencircle scaled 2 stafflinethickness;
+	rt x1 = w;
+	bot y1 = 0;
+	rt x2 = w;
+	top y2 = h;
+	lft x3 = 0;
+	bot y3 = h/2;
+	draw z1 .. z2;
+	draw z2 .. z3;
+fet_endchar
+
+fet_beginchar("Neo-mensural 16th rest","4neo_mensural","neomenssemifusarest")
+	set_char_box(0,neomensrestsize#,0,staff_space#);
+        pickup pencircle scaled 2 stafflinethickness;
+	rt x1 = w;
+	bot y1 = 0;
+	rt x2 = w;
+	top y2 = h;
+
+	draw z1 .. z2;
+
+        pickup pencircle scaled 2 stafflinethickness;
+	rt x3 = w;
+	top y3 = h;
+	lft x4 = 0;
+	bot y4 = h/2;
+	rt x5 = w;
+	top y5 = 5/8h;
+	lft x6 = 0;
+	bot y6 = h/8;
+
+	draw z3 .. z4;
+	draw z5 .. z6;
+fet_endchar
+
 
 fet_endgroup("rests")
diff --git a/mf/feta-puntje.mf b/mf/feta-puntje.mf
index fbd7c6a9db..74544b4429 100644
--- a/mf/feta-puntje.mf
+++ b/mf/feta-puntje.mf
@@ -5,7 +5,7 @@ save dot_radius;
 define_whole_blacker_pixels(dot_radius);
 
 fet_beginchar("duration dot","dot", "dot")
-	pickup pencircle scaled dot_radius;
+	pickup pencircle scaled 2 dot_radius;
 	drawdot (dot_radius,0);
 	set_char_box(0, 2*dot_radius#, dot_radius#, dot_radius#);
 fet_endchar;
diff --git a/mf/parmesan-accidentals.mf b/mf/parmesan-accidentals.mf
index e69de29bb2..71918ea2a3 100644
--- a/mf/parmesan-accidentals.mf
+++ b/mf/parmesan-accidentals.mf
@@ -0,0 +1,176 @@
+% -*-Fundamental-*-
+% parmesan-accidentals.mf -- implement ancient accidentals
+% 
+% source file of LilyPond's pretty-but-neat music font
+% 
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
+% 
+
+fet_begingroup ("accidentals")
+
+
+%%%%%%%%
+%
+%
+%
+% EDITIO MEDICAEA
+%
+%
+%
+fet_beginchar("Ed. Med. Flat" , "medicaea-1", "medicaeaflat");
+	set_char_box(0, 0.8 staff_space#, 0.6 staff_space#, 
+	  2.0 staff_space#);
+
+	pickup pencircle
+		xscaled 0.50 stafflinethickness
+		yscaled 0.22 staff_space;
+
+	save za, zb;
+	pair za, zb;
+
+	za = (0.00 staff_space, +0.90 staff_space);
+	zb = (0.00 staff_space, -0.50 staff_space);
+	draw za -- zb;
+
+	pickup pencircle
+		xscaled 0.50 stafflinethickness
+		yscaled 0.22 staff_space
+		rotated -63;
+
+	save zc, zd, ze;
+	pair zc, zd, ze;
+
+	zc = (0.10 staff_space, -0.50 staff_space);
+	zd = (0.40 staff_space, +0.40 staff_space);
+	ze = (0.10 staff_space, +0.40 staff_space);
+
+	draw zc{(1,2)} .. zd .. ze{(-1,-1)};
+
+	fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% EDITIO VATICANA
+%
+%
+%
+fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat");
+        set_char_box(0, 0.7 staff_space#, 0.6 staff_space#, 
+                2.0 staff_space#);
+        define_pixels (stafflinethickness, staff_space);
+
+        save za, zb, zc, zd, ze, zf, zg;
+        pair za, zb, zc, zd, ze, zf, zg;
+        za = (0.00 staff_space, +0.80 staff_space);
+        zb = (0.00 staff_space, -0.03 staff_space);
+        zc = (0.25 staff_space, -0.23 staff_space);
+        zd = (0.50 staff_space, -0.23 staff_space);
+        ze = (0.50 staff_space, +0.00 staff_space);
+        zf = (0.25 staff_space, +0.20 staff_space);
+        zg = (0.15 staff_space, +0.26 staff_space);
+
+        pickup pencircle
+                xscaled 0.50 stafflinethickness
+                yscaled 0.22 staff_space;
+        draw za{down} .. {down}zb .. zc .. zd{up} .. {up}ze .. zf .. zg;
+        fet_endchar;
+
+fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural");
+	set_char_box(0, 0.6 staff_space#, 0.6 staff_space#, 
+		2.0 staff_space#);
+	define_pixels (stafflinethickness, staff_space);
+
+	save za, zb, zc, zd;
+	pair za, zb, zc, zd;
+	pickup pencircle
+		xscaled 0.80 stafflinethickness
+		yscaled 0.22 staff_space;
+	za = (0.00 staff_space, +0.65 staff_space);
+	zb = (0.00 staff_space, -0.35 staff_space);
+	zc = (0.00 staff_space, -0.30 staff_space);
+	zd = (0.40 staff_space, -0.08 staff_space);
+	draw za -- zb;
+	draw zc -- zd;
+
+	addto currentpicture also currentpicture
+		xscaled -1
+		yscaled -1
+		shifted (0.40 staff_space, 0.0 staff_space);
+
+	fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% MENSURAL NOTATION
+%
+%
+%
+fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp");
+	set_char_box(0.4 staff_space#, 0.6 staff_space#, 0.5 staff_space#, 
+		0.5 staff_space#);
+	save stemthick;
+	define_pixels (stemthick, staff_space);
+	stemthick# = stafflinethickness#;
+
+	save za, zb;
+	pair za, zb;
+	pickup pencircle scaled 0.8 stemthick;
+	za = 0.4 * staff_space * (0.8, 1);
+	za = -zb;
+	draw za .. zb;
+
+	addto currentpicture also currentpicture xscaled -1;
+	addto currentpicture also currentpicture shifted (0.20 staff_space, 0);
+
+	fet_endchar;
+
+fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat");
+	set_char_box(0.1 staff_space#, 0.7 staff_space#, 0.4 staff_space#, 
+		1.8 staff_space#);
+	save stemthick;
+	define_pixels (stemthick, staff_space);
+	stemthick# = stafflinethickness#;
+
+	save za, zb, zc, zd, ze;
+	pair za, zb, zc, zd, ze;
+	pickup pencircle
+		xscaled 1.4 stemthick
+		yscaled 0.6 stemthick
+		rotated 45;
+
+	za = (0.00 staff_space, +1.80 staff_space);
+	zb = (0.00 staff_space, -0.25 staff_space);
+	zc = (0.35 staff_space, -0.25 staff_space);
+	zd = (0.35 staff_space, +0.25 staff_space);
+	ze = (0.00 staff_space, +0.25 staff_space);
+	draw za -- zb .. zc .. zd .. ze;
+	fet_endchar;
+
+fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat");
+	set_char_box(0.5 staff_space#, 0.7 staff_space#, 0.4 staff_space#, 
+		1.8 staff_space#);
+	save stemthick;
+	define_pixels (stemthick, staff_space);
+	stemthick# = stafflinethickness#;
+
+	save za, zb, zc, zd, ze, zf;
+	pair za, zb, zc, zd, ze, zf;
+	pickup pencircle
+		xscaled 2.4 stemthick
+		yscaled 0.4 stemthick
+		rotated 45;
+
+	za = (0.00 staff_space, +1.80 staff_space);
+	zb = (0.00 staff_space, -0.15 staff_space);
+	zc = (0.25 staff_space, -0.30 staff_space);
+	zd = (0.50 staff_space, +0.00 staff_space);
+	ze = (0.30 staff_space, +0.30 staff_space);
+	zf = (0.00 staff_space, +0.15 staff_space);
+	draw za -- zb -- zc .. zd .. ze -- zf;
+	fet_endchar;
+
+fet_endgroup ("accidentals")
diff --git a/mf/parmesan-clefs.mf b/mf/parmesan-clefs.mf
index b6d5de2c5d..a3bc41f449 100644
--- a/mf/parmesan-clefs.mf
+++ b/mf/parmesan-clefs.mf
@@ -1,15 +1,13 @@
-% feta-klef.mf --  implement Clefs -*-Fundamental-*-
+% -*-Fundamental-*-
+% parmesan-clefs.mf -- implement ancient clefs
 % 
-% part of LilyPond's pretty-but-neat music font
+% source file of LilyPond's pretty-but-neat music font
+%
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
 %
-% source file of the Feta (not the Font-En-Tja) music font
-% 
-% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>,
-% Jan Nieuwenhuizen <janneke@gnu.org>,
-% Juergen Reuter <reuter@ipd.uka.de>
 
+fet_begingroup ("clefs")
 
-fet_begingroup("clefs");
 
 %%%%%%%%
 %
@@ -825,4 +823,4 @@ fet_beginchar("Hufnagel do/fa clef", "hufnagel_do_fa_change",
 fet_endchar;
 
 
-fet_endgroup("clefs");
+fet_endgroup ("clefs")
diff --git a/mf/parmesan-custodes.mf b/mf/parmesan-custodes.mf
index f61f2449f6..d60c1af07e 100644
--- a/mf/parmesan-custodes.mf
+++ b/mf/parmesan-custodes.mf
@@ -1,15 +1,15 @@
 % -*-Fundamental-*-
-% feta-custodes.mf --  implement custos symbols
+% parmesan-custodes.mf -- implement ancient custodes
 % 
 % source file of LilyPond's pretty-but-neat music font
 % 
-% (C) 2000, 2002 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2000--2002 Juergen Reuter <reuter@ipd.uka.de>
 % 
 
 save black_notehead_width;
 numeric black_notehead_width;
 
-fet_begingroup("custodes");
+fet_begingroup ("custodes")
 
 noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
 define_pixels(noteheight);
@@ -17,8 +17,10 @@ define_pixels(noteheight);
 
 %%%%%%%%
 %
+%
 % Hufnagel style
 %
+%
 
 % stem up
 fet_beginchar("Custos Hufnagel", "hufnagel", "hufnagel")
@@ -270,6 +272,4 @@ fet_beginchar("Reverse Custos Mensural", "rmensural", "rmensural")
 	draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
 fet_endchar;
 
-fet_endgroup("custodes");
-define_pixels(black_notehead_width);
-
+fet_endgroup ("custodes")
diff --git a/mf/parmesan-flags.mf b/mf/parmesan-flags.mf
index 3e381e4516..bdfd5aac09 100644
--- a/mf/parmesan-flags.mf
+++ b/mf/parmesan-flags.mf
@@ -1,31 +1,13 @@
-% flags 
-%
-
-
-fet_begingroup("flags")
-save outer_path;
-path outer_path;
-% Flags pointing down overlap with  the notehead (in x-direction), so 
-% the down-flag can be bigger
-upflag_width# = .750 black_notehead_width# + stemthickness#/2;
-downflag_width# = .833 black_notehead_width# + stemthickness#/2;
-
-right_upflag_space# = .2 upflag_width#;
-right_downflag_space# = .2 downflag_width#;
-
-%
-% Flags pointing down cannot overlap with the notehead in y-direction,
-% so they have less slant.
+% -*-Fundamental-*-
+% parmesan-flags.mf -- implement ancient flags
+% 
+% source file of LilyPond's pretty-but-neat music font
+% 
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
+% 
 
-% Because of optical illusion, the utmost flag (bottom for
-% down-pointing, top for up-pointing) should be smaller than the other
-% flags.  Adobe Sonata doesn't do this correctly.  (Instead they have
-% an extension flag, which looks less elegant)
-%
+fet_begingroup ("flags")
 
-save hip_thickness, foot_thickness;
-hip_thickness# = 1.3 stemthickness#;
-foot_thickness# =  hip_thickness#;
 
 %%%%%%%%
 %
@@ -389,83 +371,4 @@ fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag
 	currentpicture := currentpicture xscaled -1 yscaled -1;
 fet_endchar;
 
-%%%%%%%%
-%
-%
-%
-% Single Stroke for Short Appogiatura
-%
-%
-%
-
-fet_beginchar("grace dash (up)", "ugrace", "gracedash")
-	save flare, 
-		hip_depth_ratio, hip_width,
-		foot_depth;
-
-	flare# = 1.0 staff_space#;
-	hip_depth_ratio = .72; 
-	hip_width# = upflag_width# - hip_thickness#/2;
-
-	foot_depth# =  3 staff_space#;
-
-	define_pixels(flare, hip_width, hip_thickness,
-		foot_depth, foot_thickness);
-
-	set_char_box(hip_width# * hip_depth_ratio,
-	  hip_width# + stemthickness#/2 + right_upflag_space#, 
-	  foot_depth# * hip_depth_ratio, -flare#)
-
-	pickup pencircle scaled 1.5 stemthickness;
-	draw (-b ,-d) ..
-	  (w, h);
-fet_endchar;
-
-fet_beginchar("grace dash (down)", "dgrace", "dgracedash")
-	save flare, hip_depth_ratio, hip_width,	foot_depth;
-	save flagspace, total_depth, flag_count;
-	
-	flag_count = 1;
-	flare# = .99 staff_space#;
-	flagspace# = .9 staff_space#;	
-	hip_depth_ratio = .72 ;
-	hip_width# = downflag_width# - hip_thickness#/2;
-	total_depth# = 2.85 staff_space#;
-	(flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
-	foot_width_ratio = .8;
-
-	define_pixels(flare, hip_width, hip_thickness,
-		flagspace, foot_depth);
-
-	set_char_box(hip_width# * hip_depth_ratio,
-	  hip_width# + stemthickness#/2 + right_downflag_space#,
-	  foot_depth# * hip_depth_ratio, -flare#)
-
-	pickup pencircle scaled 1.5 stemthickness;
-	draw (-b, -d) .. (w,h);
-	y_mirror_char;
-fet_endchar;
-
-% ustem?
-%
-%
-% Stem characters so we can compose metronome markings with Feta
-% entirely.
-%
-
-fet_beginchar("stem (up)", "stem", "stem")
-	set_char_box(stemthickness#/2, stemthickness#/2, 0, 3.5staff_space#);
-	pickup pencircle scaled stemthickness;
-	draw (0, 0.2staff_space) .. (0, 3.5staff_space);
-fet_endchar;
-
-% do we want this?
-fet_beginchar("stem (down)", "dstem", "dstem")
-	set_char_box(stemthickness#/2, stemthickness#/2, 3.5staff_space#, 0);
-	pickup pencircle scaled stemthickness;
-	draw (0, -0.2staff_space) .. (0, -3.5staff_space);
-fet_endchar;
-
-
-fet_endgroup("flags");
+fet_endgroup ("flags")
diff --git a/mf/parmesan-heads.mf b/mf/parmesan-heads.mf
index 8ec8cc6c66..370d0dcf4b 100644
--- a/mf/parmesan-heads.mf
+++ b/mf/parmesan-heads.mf
@@ -1,23 +1,15 @@
-%  -*-Fundamental-*-
-% feta-bolletjes.mf --  implement noteheads
+% -*-Fundamental-*-
+% parmesan-heads.mf -- implement ancient note heads
 % 
 % source file of LilyPond's pretty-but-neat music font
 % 
-% (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
-% & Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% & Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
 % 
 
-
-% most beautiful noteheads are pronounced, not circular, 
-% and not even symmetric.
-% These examples are inspired by [Wanske], see literature list
-
-
 save black_notehead_width;
 numeric black_notehead_width;
 
-fet_begingroup("noteheads");
+fet_begingroup ("noteheads")
 
 noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
 define_pixels(noteheight);
@@ -764,5 +756,4 @@ fet_beginchar("Hufnagel pes lower punctum", "0hufnagel_lpes", "huflpeshead")
 	draw -za .. za;
 fet_endchar;
 
-fet_endgroup("noteheads");
-define_pixels(black_notehead_width);
+fet_endgroup ("noteheads")
diff --git a/mf/parmesan-rests.mf b/mf/parmesan-rests.mf
index ec448e60ef..55a526dea9 100644
--- a/mf/parmesan-rests.mf
+++ b/mf/parmesan-rests.mf
@@ -1,177 +1,118 @@
+% -*-Fundamental-*-
+% parmesan-rests.mf -- implement ancient rests
 % 
-% feta-toevallig.mf --  implement Accidentals
+% source file of LilyPond's pretty-but-neat music font
 % 
-% source file of the Feta (Font-En-Tja) music font
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
 % 
-% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% 
-
-fet_begingroup("accidentals");
 
+fet_begingroup("rests")
 
 
 %%%%%%%%
 %
 %
 %
-% EDITIO MEDICAEA
+% MENSURAL NOTATION
 %
 %
 %
-fet_beginchar("Ed. Med. Flat" , "medicaea-1", "medicaeaflat");
-	set_char_box(0, 0.8 staff_space#, 0.6 staff_space#, 
-	  2.0 staff_space#);
 
-	pickup pencircle
-		xscaled 0.50 stafflinethickness
-		yscaled 0.22 staff_space;
+pen_width# = 2/5 staff_space#;
+pen_height# = 0;
+pen_rotation = 30;
+slight_pen_rotation = 15;
 
-	save za, zb;
-	pair za, zb;
+mens_block_rest_y# = 1/1 staff_space#;
+mens_half_block_rest_y# = 5/8 staff_space#;
 
-	za = (0.00 staff_space, +0.90 staff_space);
-	zb = (0.00 staff_space, -0.50 staff_space);
-	draw za -- zb;
+define_pixels(mens_block_rest_y, mens_half_block_rest_y,
+	      pen_width, pen_height);
 
+fet_beginchar("Mensural longa rest", "-2mensural", "menslongarest");
+	set_char_box(pen_width#/2, pen_width#/2,
+		     mens_block_rest_y#, mens_block_rest_y#);
 	pickup pencircle
-		xscaled 0.50 stafflinethickness
-		yscaled 0.22 staff_space
-		rotated -63;
-
-	save zc, zd, ze;
-	pair zc, zd, ze;
-
-	zc = (0.10 staff_space, -0.50 staff_space);
-	zd = (0.40 staff_space, +0.40 staff_space);
-	ze = (0.10 staff_space, +0.40 staff_space);
-
-	draw zc{(1,2)} .. zd .. ze{(-1,-1)};
+		xscaled pen_width
+		yscaled pen_height
+		rotated slight_pen_rotation;
+	draw (0, -mens_block_rest_y) -- (0, mens_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Mensural breve rest", "-1mensural", "mensbreverest");
+	set_char_box(pen_width#/2, pen_width#/2,
+		     0, mens_block_rest_y#);
+	pickup pencircle
+		xscaled pen_width
+		yscaled pen_height
+		rotated slight_pen_rotation;
+	draw (0, 0) -- (0, mens_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Mensural whole rest", "0mensural", "menssemibrevisrest");
+	set_char_box(pen_width#/2, pen_width#/2,
+		     mens_half_block_rest_y#, 0);
+	pickup pencircle
+		xscaled pen_width
+		yscaled pen_height
+		rotated slight_pen_rotation;
+	draw (0, 0) -- (0, -mens_half_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Mensural half rest", "1mensural", "mensminimahalfrest");
+	set_char_box(pen_width#/2, pen_width#/2,
+		     0, mens_half_block_rest_y#);
+	pickup pencircle
+		xscaled pen_width
+		yscaled pen_height
+		rotated slight_pen_rotation;
+	draw (0, 0) -- (0, mens_half_block_rest_y);
+fet_endchar;
 
-	fet_endchar;
+mensrestsize# = .8staff_space#;
 
-%%%%%%%%
-%
-%
-%
-% EDITIO VATICANA
-%
-%
-%
-fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat");
-        set_char_box(0, 0.7 staff_space#, 0.6 staff_space#, 
-                2.0 staff_space#);
-        define_pixels (stafflinethickness, staff_space);
-
-        save za, zb, zc, zd, ze, zf, zg;
-        pair za, zb, zc, zd, ze, zf, zg;
-        za = (0.00 staff_space, +0.80 staff_space);
-        zb = (0.00 staff_space, -0.03 staff_space);
-        zc = (0.25 staff_space, -0.23 staff_space);
-        zd = (0.50 staff_space, -0.23 staff_space);
-        ze = (0.50 staff_space, +0.00 staff_space);
-        zf = (0.25 staff_space, +0.20 staff_space);
-        zg = (0.15 staff_space, +0.26 staff_space);
-
-        pickup pencircle
-                xscaled 0.50 stafflinethickness
-                yscaled 0.22 staff_space;
-        draw za{down} .. {down}zb .. zc .. zd{up} .. {up}ze .. zf .. zg;
-        fet_endchar;
-
-fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural");
-	set_char_box(0, 0.6 staff_space#, 0.6 staff_space#, 
-		2.0 staff_space#);
-	define_pixels (stafflinethickness, staff_space);
-
-	save za, zb, zc, zd;
-	pair za, zb, zc, zd;
+fet_beginchar("Mensural 4th rest","2mensural","menssemiminimarest")
+	set_char_box(0,mensrestsize#,0,mensrestsize#);
 	pickup pencircle
-		xscaled 0.80 stafflinethickness
-		yscaled 0.22 staff_space;
-	za = (0.00 staff_space, +0.65 staff_space);
-	zb = (0.00 staff_space, -0.35 staff_space);
-	zc = (0.00 staff_space, -0.30 staff_space);
-	zd = (0.40 staff_space, -0.08 staff_space);
-	draw za -- zb;
-	draw zc -- zd;
-
-	addto currentpicture also currentpicture
-		xscaled -1
-		yscaled -1
-		shifted (0.40 staff_space, 0.0 staff_space);
-
-	fet_endchar;
-
-%%%%%%%%
-%
-%
-%
-% MENSURAL NOTATION
-%
-%
-%
-fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp");
-	set_char_box(0.4 staff_space#, 0.6 staff_space#, 0.5 staff_space#, 
-		0.5 staff_space#);
-	save stemthick;
-	define_pixels (stemthick, staff_space);
-	stemthick# = stafflinethickness#;
-
-	save za, zb;
-	pair za, zb;
-	pickup pencircle scaled 0.8 stemthick;
-	za = 0.4 * staff_space * (0.8, 1);
-	za = -zb;
-	draw za .. zb;
-
-	addto currentpicture also currentpicture xscaled -1;
-	addto currentpicture also currentpicture shifted (0.20 staff_space, 0);
-
-	fet_endchar;
-
-fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat");
-	set_char_box(0.1 staff_space#, 0.7 staff_space#, 0.4 staff_space#, 
-		1.8 staff_space#);
-	save stemthick;
-	define_pixels (stemthick, staff_space);
-	stemthick# = stafflinethickness#;
-
-	save za, zb, zc, zd, ze;
-	pair za, zb, zc, zd, ze;
+		xscaled pen_width
+		yscaled pen_height
+		rotated pen_rotation;
+	lft x1 =      0;     y1 = 0;
+	lft x2 =      0; top y2 = 5/8 h;
+	rt  x3 =  4/8 w; bot y3 = 6/8 h;
+	rt  x4 = 10/8 w; bot y4 = 4/8 h;
+	draw z1 -- z2 -- z3 -- z4;
+fet_endchar
+
+fet_beginchar("Mensural 8th rest","3mensural","mensfusarest")
+	set_char_box(0,mensrestsize#,0,mensrestsize#);
 	pickup pencircle
-		xscaled 1.4 stemthick
-		yscaled 0.6 stemthick
-		rotated 45;
-
-	za = (0.00 staff_space, +1.80 staff_space);
-	zb = (0.00 staff_space, -0.25 staff_space);
-	zc = (0.35 staff_space, -0.25 staff_space);
-	zd = (0.35 staff_space, +0.25 staff_space);
-	ze = (0.00 staff_space, +0.25 staff_space);
-	draw za -- zb .. zc .. zd .. ze;
-	fet_endchar;
-
-fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat");
-	set_char_box(0.5 staff_space#, 0.7 staff_space#, 0.4 staff_space#, 
-		1.8 staff_space#);
-	save stemthick;
-	define_pixels (stemthick, staff_space);
-	stemthick# = stafflinethickness#;
-
-	save za, zb, zc, zd, ze, zf;
-	pair za, zb, zc, zd, ze, zf;
+		xscaled pen_width
+		yscaled pen_height
+		rotated pen_rotation;
+	rt  x1 = 10/8 w;     y1 = 0;
+	rt  x2 = 10/8 w; top y2 = 5/8 h;
+	lft x3 =  2/8 w; bot y3 = 6/8 h;
+	lft x4 =      0; bot y4 = 4/8 h;
+	draw z1 -- z2 -- z3 -- z4;
+fet_endchar
+
+fet_beginchar("Mensural 16th rest","4mensural","menssemifusarest")
+	set_char_box(0,mensrestsize#,0,staff_space#);
 	pickup pencircle
-		xscaled 2.4 stemthick
-		yscaled 0.4 stemthick
-		rotated 45;
-
-	za = (0.00 staff_space, +1.80 staff_space);
-	zb = (0.00 staff_space, -0.15 staff_space);
-	zc = (0.25 staff_space, -0.30 staff_space);
-	zd = (0.50 staff_space, +0.00 staff_space);
-	ze = (0.30 staff_space, +0.30 staff_space);
-	zf = (0.00 staff_space, +0.15 staff_space);
-	draw za -- zb -- zc .. zd .. ze -- zf;
-	fet_endchar;
-
-fet_endgroup ("accidentals")
+		xscaled pen_width
+		yscaled pen_height
+		rotated pen_rotation;
+
+	rt  x1 = 10/8 w;     y1 = 0;
+	rt  x2 = 10/8 w; top y2 = 5.5/8 h;
+	lft x3 =  2/8 w; bot y3 = 6.5/8 h;
+	lft x4 =      0; bot y4 = 4.5/8 h;
+	rt  x5 = 10/8 w; top y5 = 2.5/8 h;
+	lft x6 =  2/8 w; bot y6 = 3.5/8 h;
+	lft x7 =      0; bot y7 = 1.5/8 h;
+	draw z1 -- z2 -- z3 -- z4;
+	draw z5 -- z6 -- z7;
+fet_endchar
+
+fet_endgroup ("rests")
diff --git a/mf/parmesan-timesig.mf b/mf/parmesan-timesig.mf
index ef1e075a49..7e521a81ed 100644
--- a/mf/parmesan-timesig.mf
+++ b/mf/parmesan-timesig.mf
@@ -1,12 +1,12 @@
+% -*-Fundamental-*-
+% parmesan-timesig.mf -- implement ancient time signatures
 % 
-% feta-timesig.mf --  implement Time Signatures
-% 
-% source file of the Feta (not an abbreviation of Font-En-Tja) music font
+% source file of LilyPond's pretty-but-neat music font
 % 
 % (c) 1998--2002 Mats Bengtsson <matsb@s3.kth.se>,
 %		 Christian Mondrup <scancm@biobase.dk>
 
-fet_begingroup("timesig");
+fet_begingroup ("timesig")
 
 path threequartercircle;
 threequartercircle = halfcircle & quartercircle rotated 180;
@@ -16,6 +16,16 @@ Cdiameter# := 3/2 staff_space#;
 Cthickness# := 2 stafflinethickness#;
 define_pixels(Cdiameter,Cthickness);
 
+
+%%%%%%%%
+%
+%
+%
+% MENSURAL NOTATION
+%
+%
+%
+
 %% tempus imperfectum cum prolatione imperfecta
 fet_beginchar ("Mensural 4/4 meter", "old4/4", "oldfourfourmeter")
 	set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#, 
@@ -130,4 +140,4 @@ fet_beginchar ("Mensural 2/4 meter", "old2/4", "oldtwofourmeter")
 	draw_block((-Cthickness, -d), (0, h));
 fet_endchar;
 
-fet_endgroup("timesig");
+fet_endgroup ("timesig")
diff --git a/mf/parmesan11.mf b/mf/parmesan11.mf
new file mode 100644
index 0000000000..53804759ad
--- /dev/null
+++ b/mf/parmesan11.mf
@@ -0,0 +1,16 @@
+% parmesan11.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=11pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 11);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
diff --git a/mf/parmesan13.mf b/mf/parmesan13.mf
new file mode 100644
index 0000000000..765744646e
--- /dev/null
+++ b/mf/parmesan13.mf
@@ -0,0 +1,16 @@
+% parmesan13.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=13pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 13);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
diff --git a/mf/parmesan16.mf b/mf/parmesan16.mf
new file mode 100644
index 0000000000..76abf22974
--- /dev/null
+++ b/mf/parmesan16.mf
@@ -0,0 +1,16 @@
+% parmesan16.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=16pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 16);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
diff --git a/mf/parmesan19.mf b/mf/parmesan19.mf
new file mode 100644
index 0000000000..48e6549f7f
--- /dev/null
+++ b/mf/parmesan19.mf
@@ -0,0 +1,16 @@
+% parmesan19.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=19pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 19);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
diff --git a/mf/parmesan20.mf b/mf/parmesan20.mf
index 5846868a3b..8cda6b2a3a 100644
--- a/mf/parmesan20.mf
+++ b/mf/parmesan20.mf
@@ -1,17 +1,16 @@
-% feta20.mf
+% parmesan20.mf
 % part of LilyPond's pretty-but-neat music font
 
 staffsize#:=20pt#;
 
 input feta-autometric;
-fet_beginfont("feta", 20);
+fet_beginfont("parmesan", 20);
 
-% AFBLIJVEN! Gebruik feta-test16/20, anders verneuk je de distributie.
 test := 0;
 
 input parmesan-generic;
 
-fet_endfont("feta");
+fet_endfont("parmesan");
 
 end.
 
diff --git a/mf/parmesan23.mf b/mf/parmesan23.mf
new file mode 100644
index 0000000000..c6710ccad1
--- /dev/null
+++ b/mf/parmesan23.mf
@@ -0,0 +1,16 @@
+% parmesan23.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=23pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 23);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
diff --git a/mf/parmesan26.mf b/mf/parmesan26.mf
new file mode 100644
index 0000000000..33c9ae714c
--- /dev/null
+++ b/mf/parmesan26.mf
@@ -0,0 +1,16 @@
+% parmesan26.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=26pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 26);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
diff --git a/scm/grob-description.scm b/scm/grob-description.scm
index bc59224334..7076f11149 100644
--- a/scm/grob-description.scm
+++ b/scm/grob-description.scm
@@ -171,6 +171,7 @@
                (visibility-lambda . ,end-of-line-visible)
 	       (style .  vaticana)
 	       (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+	       (font-family . music)
                (meta . ,(grob-description custos-interface staff-symbol-referencer-interface break-aligned-interface) )
        ))
 	
@@ -625,6 +626,7 @@
 		(X-offset-callbacks . (,Stem::off_callback))
 		(X-extent-callback . ,Stem::dim_callback)	
 		(Y-extent-callback . ,Stem::height)
+		(font-family . music)	   
 		(meta . ,(grob-description stem-interface  font-interface))
 	))
 
-- 
2.39.5