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)))))

Reply via email to