]> git.donarmstrong.com Git - lilypond.git/commitdiff
(string-finger::calc-text): new function
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 11 Oct 2006 22:21:23 +0000 (22:21 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 11 Oct 2006 22:21:23 +0000 (22:21 +0000)
ChangeLog
mf/feta-bolletjes.mf
scm/output-lib.scm

index 92448e58118f4b9b367d63b067ec17954460e27f..680ceb6ac9e7d96370304c62d8b571c3afca8d6d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * mf/parmesan-heads.mf: Fix typo in comment.
 
+       * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
+       adding longa head to feta font and removing obsolete default
+       mapping scheme code.
+
 2006-10-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
 
        * scm/output-lib.scm (fingering::calc-text): use origin
index 48eb3649c3693334805d8bca3d6ac375d6c5d29a..36abfcf1a8bd049c18f47352cc0d786fb88a0059 100644 (file)
@@ -145,6 +145,77 @@ endgroup;
 enddef;
 
 
+%
+% dimensions aren't entirely right.
+%
+def draw_longa (expr up) =
+       save stemthick, fudge;
+
+       stemthick# = 2 stafflinethickness#;
+       define_whole_blacker_pixels (stemthick);
+
+       fudge = hround (blot_diameter / 2);
+
+       draw_outside_ellipse (1.80, 0, 0.707, 0);
+       undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#);
+
+       pickup pencircle scaled stemthick;
+
+       if up:
+               bot y1 = -d;
+               y2 = h;
+               rt x1 - fudge = 0;
+               x1 = x2;
+
+               fudge + lft x3 = w;
+               x4 = x3;
+               top y4 = h + 3.0 staff_space;
+               y3 = y1;
+       else:
+               bot y1 = -d - 3.0 staff_space;
+               top y2 = h;
+               rt x1 - fudge = 0;
+               x1 = x2;
+
+               fudge + lft x3 = w;
+               x4 = x3;
+               y4 = y2;
+               bot y3 = -d;
+       fi;
+
+       draw_gridline (z1, z2, stemthick);
+       draw_gridline (z3, z4, stemthick);
+enddef;
+
+
+fet_beginchar ("Longa notehead", "u-2");
+       draw_longa (true);
+
+       draw_staff (-2, 2, 0);
+fet_endchar;
+
+fet_beginchar ("Longa notehead", "d-2");
+       draw_longa (false);
+
+       draw_staff (-2, 2, 0);
+fet_endchar;
+
+
+if test > 0:
+       fet_beginchar ("Longa notehead", "u-2");
+               draw_longa (true);
+
+               draw_staff (-2, 2, 0.5);
+       fet_endchar;
+
+       fet_beginchar ("Longa notehead", "d-2");
+               draw_longa (false);
+
+               draw_staff (-2, 2, 0.5);
+       fet_endchar;
+fi;
+
+
 %
 % dimensions aren't entirely right.
 %
index 7c7f64811c580468ba95c4311500c85df5aeed44..1558e761180eb61f4920ffcc731f40ddf876e4c5 100644 (file)
        (log (min 2 (ly:grob-property grob 'duration-log))))
     
     (case style
+      ;; "default" style is directly handled in note-head.cc as a
+      ;; special case (HW says, mainly for performance reasons).
+      ;; Therefore, style "default" does not appear in this case
+      ;; statement.  -- jr
       ((xcircle) "2xcircle")
       ((harmonic) "0harmonic")
       ((baroque) 
           (string-append (number->string log) (symbol->string style))))
       ((neomensural)
        (string-append (number->string log) (symbol->string style)))
-      ((default)
-       ;; The default font in mf/feta-bolletjes.mf defines a brevis, but
-       ;; neither a longa nor a maxima.  Hence let us, for the moment,
-       ;; take these from the neo-mensural font.  TODO: mf/feta-bolletjes
-       ;; should define at least a longa for the default font.  The longa
-       ;; should look exactly like the brevis of the default font, but
-       ;; with a stem exactly like that of the quarter note. -- jr
-       (if (< log -1)
-          (string-append (number->string log) "neomensural")
-          (number->string log)))
       (else
        (if (string-match "vaticana*|hufnagel*|medicaea*" (symbol->string style))
           (symbol->string style)