Though I have attached some more bugfixes, just for the record (also for
myself to remind), here are some more open issues:
* output-lib.scm, function find-notehead-symbol:
often switches between note heads of different font-families
(e.g. baroque: optionally select (neo_)mensural note heads), which
will not work (unless font-family is automatically changed).
Possible solution 1: move neo_mensural stuff from parmesan to feta
Possible solution 2: in find-notehead-symbol, also include font-family
* time signature is still broken, since style-alist in font.scm (or
rather the lookup function that operates on style-alist) assumes a
single, unique font family (which is currently "music").
* segmentation fault (in 1.5.33; I actually didn't check this in 1.5.34):
Core was generated by `/home/reuter/lilypond-1.5.33.NEW/lily/out/lilypond
ancien
Program terminated with signal 11, Segmentation fault.
Cannot access memory at address 0x40013970.
#0 0x80a78b1 in Grob::internal_get_grob_property (this=
Cannot access memory at address 0xbfffedfc.
) at grob.cc:127
127 SCM s = scm_sloppy_assq (sym, mutable_property_alist_);
(gdb) bt full
#0 0x80a78b1 in Grob::internal_get_grob_property (this=
Cannot access memory at address 0xbfffedfc.
) at grob.cc:127
this = (Grob *) 0x2974
sym = 0x402c7d08
s = 0x2974
Cannot access memory at address 0xbfffedf4.
(gdb)
* N.B.: To get this (still too short or maybe even corrupted?)
backtrace, I had to run lilypond from the lily/out directory, since
debugging symbols were stripped off when doing "make install",
although --enable-debugging had been set. Is this intended
behaviour?
* Similarly, when doing a "make distclean" I would expect to get the
same status lilypond is put on the web. However, "make distclean"
removes make/out/lilypond.* and
Documentation/pictures/out/lilypond-icon.xpm. Since these files are
distributed with the lilypond sources, I would expect these files to
stay on distclean. Currently, I always have to manually adjust
these differences when creating a patch.
Greetings,
Juergen
diff -Naur lilypond-1.5.34/ChangeLog lilypond-1.5.34.NEW/ChangeLog
--- lilypond-1.5.34/ChangeLog Wed Feb 27 16:20:08 2002
+++ lilypond-1.5.34.NEW/ChangeLog Thu Feb 28 02:19:37 2002
@@ -1,3 +1,14 @@
+2002-02-28 Juergen Reuter <[EMAIL PROTECTED]>
+
+ * bugfix: mensural note heads (mf/parmesan-heads.mf) (WARNING:
+ font changed)
+
+ * bugfix: resort to neo_mensural chars rather than mensural chars
+ (scm/output-lib.scm)
+
+ * added mensural fermata symbol (mf/parmesan-scripts.mf,
+ mf/parmesan-generic.mf, scm/grob-description.scm)
+
2002-02-27 Han-Wen Nienhuys <[EMAIL PROTECTED]>
* VERSION: 1.5.34 released.
diff -Naur lilypond-1.5.34/mf/parmesan-generic.mf
lilypond-1.5.34.NEW/mf/parmesan-generic.mf
--- lilypond-1.5.34/mf/parmesan-generic.mf Fri Feb 1 19:20:59 2002
+++ lilypond-1.5.34.NEW/mf/parmesan-generic.mf Mon Feb 25 01:23:03 2002
@@ -1,11 +1,10 @@
-%
-% feta-generic.mf -- implement generic stuff: include lots of files, but don't
-% set dims.
+% -*-Fundamental-*-
+% parmesan-generic.mf -- implement generic stuff: include lots of files,
+% but don't set dims.
%
-% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
-% music font
+% source file of LilyPond's pretty-but-neat music font
%
-% (c) 1997--2002 Han-Wen Nienhuys <[EMAIL PROTECTED]>
+% (c) 2002 Juergen Reuter <[EMAIL PROTECTED]>
%
@@ -32,6 +31,7 @@
input parmesan-accidentals;
input parmesan-flags;
input parmesan-timesig;
+ input parmesan-scripts;
else:
diff -Naur lilypond-1.5.34/mf/parmesan-heads.mf
lilypond-1.5.34.NEW/mf/parmesan-heads.mf
--- lilypond-1.5.34/mf/parmesan-heads.mf Sun Feb 24 18:31:22 2002
+++ lilypond-1.5.34.NEW/mf/parmesan-heads.mf Wed Feb 27 03:41:29 2002
@@ -70,7 +70,7 @@
% Some sources (eg Musix/OpusTeX think that the appendage should be on
% the left, some say right. Right wins democratically.
%
-def draw_longa (expr wid) =
+def draw_neo_longa (expr wid) =
draw_brevis(wid);
save theta;
@@ -91,15 +91,15 @@
%
% (ze is wel breed)
%
-fet_beginchar("Maxima notehead", "-3mensural", "mensuralmaximahead");
- draw_longa (1.3 brevis_wid#)
+fet_beginchar("Maxima notehead", "-3neo_mensural", "mensuralmaximahead");
+ draw_neo_longa (1.3 brevis_wid#)
fet_endchar;
-fet_beginchar("Longa notehead", "-2mensural", "mensurallongahead");
- draw_longa (brevis_wid#)
+fet_beginchar("Longa notehead", "-2neo_mensural", "mensurallongahead");
+ draw_neo_longa (brevis_wid#)
fet_endchar;
-fet_beginchar("Brevis notehead", "-1mensural", "mensuralbrevishead")
+fet_beginchar("Brevis notehead", "-1neo_mensural", "mensuralbrevishead")
draw_brevis(brevis_wid#);
fet_endchar;
@@ -141,19 +141,44 @@
unfill z5 -- z6 -- z7 -- z8 --cycle;
enddef;
-fet_beginchar("Neo-mensural open head","0neo_mensural","neomensuralminimhead")
+fet_beginchar("Neo-mensural open head","0neo_mensural","neomensuralsemibrevishead")
draw_neo_mensural_open_head (staff_space#);
fet_endchar;
-fet_beginchar("Neo-mensural open head","1neo_mensural","neomensuralsemiminimhead")
+fet_beginchar("Neo-mensural open head","1neo_mensural","neomensuralminimahead")
draw_neo_mensural_open_head (staff_space#);
fet_endchar;
-fet_beginchar("Neo-mensural black head","2neo_mensural","neofusahead")
+fet_beginchar("Neo-mensural black head","2neo_mensural","neomensuralsemiminimahead")
draw_neo_mensural_black_head (staff_space#);
fet_endchar;
+brevis_wid# := 1 staff_space#;
+
+def draw_longa (expr wid) =
+ draw_brevis(wid);
+ save theta;
+
+ x6 = x7 = head_width - stem_width/2;
+ y6 = y5;
+ y7 = y5 - 2.25staff_space;
+ pickup pencircle scaled stem_width;
+ draw z6 .. z7;
+enddef;
+
+fet_beginchar("Maxima notehead", "-3mensural", "mensuralmaximahead");
+ draw_longa (2.0 brevis_wid#)
+fet_endchar;
+
+fet_beginchar("Longa notehead", "-2mensural", "mensurallongahead");
+ draw_longa (brevis_wid#)
+fet_endchar;
+
+fet_beginchar("Brevis notehead", "-1mensural", "mensuralbrevishead")
+ draw_brevis(brevis_wid#);
+fet_endchar;
+
def draw_mensural_head (expr wid, open) =
save head_width;
head_width# = wid;
@@ -188,15 +213,15 @@
enddef;
-fet_beginchar("Mensural open head","0mensural","mensuralminimhead")
+fet_beginchar("Mensural open head","0mensural","mensuralsemibrevishead")
draw_mensural_head (staff_space#, true);
fet_endchar;
-fet_beginchar("Mensural open head","1mensural","mensuralsemiminimhead")
+fet_beginchar("Mensural open head","1mensural","mensuralminimahead")
draw_mensural_head (staff_space#, true);
fet_endchar;
-fet_beginchar("Mensural black head","2mensural","fusahead")
+fet_beginchar("Mensural black head","2mensural","mensuralsemiminimahead")
draw_mensural_head (staff_space#, false);
fet_endchar;
diff -Naur lilypond-1.5.34/mf/parmesan-scripts.mf
lilypond-1.5.34.NEW/mf/parmesan-scripts.mf
--- lilypond-1.5.34/mf/parmesan-scripts.mf Thu Jan 1 01:00:00 1970
+++ lilypond-1.5.34.NEW/mf/parmesan-scripts.mf Mon Feb 25 02:15:41 2002
@@ -0,0 +1,46 @@
+% -*-Fundamental-*-
+% parmesan-scripts.mf -- implement ancient script symbols
+%
+% source file of LilyPond's pretty-but-neat music font
+%
+% (c) 2002 Juergen Reuter <[EMAIL PROTECTED]>
+%
+
+fet_begingroup ("scripts")
+
+def draw_fermata =
+ save za, zb, zc, zd, ze, zf, zg, zh;
+ pair za, zb, zc, zd, ze, zf, zg, zh;
+
+ set_char_box(staff_space#/2, staff_space#/2,
+ 5/2*stafflinethickness#, 2staff_space#);
+
+ pickup pencircle
+ xscaled 1.0 stafflinethickness
+ yscaled 5.0 stafflinethickness
+ rotated -35;
+ za = (+0.50staff_space, +2.00staff_space);
+ zb = (+0.00staff_space, +2.00staff_space);
+ zc = (-0.50staff_space, +1.50staff_space);
+ zd = (-0.25staff_space, +1.00staff_space);
+ ze = (+0.10staff_space, +0.80staff_space);
+ zf = (+0.00staff_space, +0.00staff_space);
+ draw za{-1,+1} .. zb .. zc .. zd .. ze .. zf;
+
+ pickup pencircle scaled 3.0 stafflinethickness;
+ zg = (-0.5staff_space, +0.0staff_space);
+ zh = (+0.5staff_space, +0.0staff_space);
+ drawdot zg;
+ drawdot zh;
+enddef;
+
+fet_beginchar("fermata up", "ufermata", "ufermata")
+ draw_fermata;
+fet_endchar;
+
+fet_beginchar("fermata down", "dfermata", "dfermata")
+ draw_fermata;
+ y_mirror_char;
+fet_endchar;
+
+fet_endgroup ("scripts")
diff -Naur lilypond-1.5.34/scm/grob-description.scm
lilypond-1.5.34.NEW/scm/grob-description.scm
--- lilypond-1.5.34/scm/grob-description.scm Tue Feb 26 20:10:13 2002
+++ lilypond-1.5.34.NEW/scm/grob-description.scm Thu Feb 28 01:38:09 2002
@@ -505,6 +505,7 @@
(padding . 0.29)
(X-offset-callbacks . (,Side_position_interface::centered_on_parent))
(before-line-breaking-callback . ,Script::before_line_breaking)
+ (font-family . music)
(meta . ,(grob-description script-interface side-position-interface
font-interface))
))
diff -Naur lilypond-1.5.34/scm/output-lib.scm lilypond-1.5.34.NEW/scm/output-lib.scm
--- lilypond-1.5.34/scm/output-lib.scm Fri Feb 1 18:45:09 2002
+++ lilypond-1.5.34.NEW/scm/output-lib.scm Wed Feb 27 03:55:36 2002
@@ -64,11 +64,12 @@
(define (find-notehead-symbol duration style)
(case style
((xcircle) "2xcircle")
- ((harmonic) "0mensural")
+ ((harmonic) "0neo_mensural")
((baroque)
(string-append (number->string duration)
- (if (< duration 0) "mensural" "")))
+ (if (< duration 0) "neo_mensural" "")))
((mensural) (string-append (number->string duration) (symbol->string style)))
+ ((neo_mensural) (string-append (number->string duration) (symbol->string style)))
((default) (number->string duration))
(else
(string-append (number->string (max 0 duration)) (symbol->string style)))))