]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.5.8
authorfred <fred>
Wed, 27 Mar 2002 01:21:00 +0000 (01:21 +0000)
committerfred <fred>
Wed, 27 Mar 2002 01:21:00 +0000 (01:21 +0000)
input/test/ancient-font.ly
lily/stem.cc
mf/feta-banier.mf
scm/generic-property.scm

index 2e9cd0c3f92b8e241c8114509120dfd622173d17..5afabdbd26a38f567ddefb5a208e232294b20d37 100644 (file)
@@ -107,6 +107,7 @@ lowerVoice =  \context Staff = lowerNotes <
       #'line-count = #5
     
     \notes \transpose c' {
+       \property Voice.noAutoBeaming = ##t
        \property Staff.KeySignature \override #'style = #'mensural
        \property Staff.Accidentals \override #'style = #'mensural
        \property Staff.Custos \override #'style = #'mensural
@@ -131,7 +132,11 @@ lowerVoice =  \context Staff = lowerNotes <
        e d c1 \bar "|"
 
         \property Voice.NoteHead \override #'style = #'mensural
+       \property Voice.Stem \override #'style = #'mensural
+       \property Voice.Stem \override #'thickness = #1.0
        \clef "petrucci_f"
+       c8 b, c16 b, c32 b, c64 b, c b,
+       d8 e  d16 e  d32 e  d64 e  d e
        c2 d e f g
         \property Staff.forceClef = ##t
        \clef "petrucci_f"
@@ -171,14 +176,14 @@ lowerVoice =  \context Staff = lowerNotes <
 %      \paperTwentysix
        linewidth = 17.25\cm
        textheight = 26.0\cm
-%      stafflinethickness = \staffspace / 5.0
+       stafflinethickness = \staffspace / 5.0
        indent = 0.0
        \translator {
            \StaffContext
            \consists Custos_engraver
 %          Custos \override #'style = #'mensural
            \remove Time_signature_engraver
-           StaffSymbol \override #'thickness = #2.0
+%          StaffSymbol \override #'thickness = #2.0
 %          StaffSymbol \override #'line-count = #4
        }
     }
index 1e229e1f0f8c3415191cf0c3d666ac025a95a249..03d2c07ef85d46e88c35ed7f04f3b098bd68ef81 100644 (file)
@@ -461,18 +461,65 @@ Stem::set_spacing_hints (Grob*me)
 Molecule
 Stem::flag (Grob*me)
 {
-  String style;
-  SCM st = me->get_grob_property ("flag-style");
-  if (gh_string_p (st))
+  // TODO: rename flag-style into something more appropriate,
+  // e.g. "stroke-style", maybe with values "" (i.e. no stroke),
+  // "single" and "double".  Needs more discussion.
+  String style, fstyle, stafflineOffs;
+  SCM fst = me->get_grob_property ("flag-style");
+  if (gh_string_p (fst))
     {
-      style = ly_scm2string (st);
+      fstyle = ly_scm2string (fst);
     }
 
+  SCM st = me->get_grob_property ("style");
+  if (gh_symbol_p (st))
+    {
+      style = (ly_scm2string (scm_symbol_to_string (st)));
+    }
+  else
+    {
+      style = "";
+    }
+  if (String::compare_i (style, "mensural") == 0)
+      // Mensural notation: For notes on staff lines, use different
+      // flags than for notes between staff lines.  The idea is that
+      // flags are always vertically aligned with the staff lines,
+      // regardless if the note head is on a staff line or between two
+      // staff lines.  In other words, the inner end of a flag always
+      // touches a staff line.
+    {
+       // Urrgh!  We have to detect wether this stem ends on a staff
+       // line or between two staff lines.  But we can not call
+       // stem_end_position(me) or get_default_stem_end_position(me),
+       // since this encounters the flag and hence results in an
+       // infinite recursion.  However, in pure mensural notation,
+       // there are no multiple note heads attached to a single stem,
+       // neither is there usually need for using the stem_shorten
+       // property (except for 32th and 64th notes, but that is not a
+       // problem since the stem length in this case is augmented by
+       // an integral multiple of staff_space).  Hence, it should be
+       // sufficient to just take the first note head, assume it's
+       // the only one, look if it's on a staff line, and select the
+       // flag's shape accordingly.  In the worst case, the shape
+       // looks slightly misplaced, but that will usually be the
+       // programmer's fault (e.g. when trying to attach multiple
+       // note heads to a single stem in mensural notation).
+       Grob *firstHead = first_head(me);
+       int sz = Staff_symbol_referencer::line_count (me)-1;
+       int p = (int)rint (Staff_symbol_referencer::position_f (firstHead));
+       stafflineOffs = (((p ^ sz) & 0x1) == 0) ? "1" : "0";
+    }
+  else
+    {
+       stafflineOffs = "";
+    }
   char c = (get_direction (me) == UP) ? 'u' : 'd';
-  Molecule m = Font_interface::get_default_font (me)->find_by_name (String ("flags-") + to_str (c) + 
-                                     to_str (flag_i (me)));
-  if (!style.empty_b ())
-    m.add_molecule (Font_interface::get_default_font (me)->find_by_name (String ("flags-") + to_str (c) + style));
+  Molecule m =
+      Font_interface::get_default_font (me)->
+      find_by_name (String ("flags-") + style + to_str (c) + stafflineOffs +
+                   to_str (flag_i (me)));
+  if (!fstyle.empty_b ())
+    m.add_molecule (Font_interface::get_default_font (me)->find_by_name (String ("flags-") + to_str (c) + fstyle));
   return m;
 }
 
index 4795c825136d6c92c42c415bd617506203971a5c..2bb37f8d653cc25468b2a2b6c2e4a43c024d7fd7 100644 (file)
@@ -229,29 +229,6 @@ fet_beginchar("64th Flag (up)", "u6", "sixtyfourthflag")
        draw (0, 0) .. (0,-2 staff_space);
 fet_endchar;
 
-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("8th (down)", "d3", "deighthflag")
        save flare, 
                hip_depth_ratio, hip_width,
@@ -280,6 +257,218 @@ fet_beginchar("8th (down)", "d3", "deighthflag")
                (hip_width, foot_depth), 
                hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
 
+%%%%%%%%
+%
+%
+%
+% Mensural Notation
+%
+%
+%
+
+def draw_mensural_outermost_flag_i =
+       define_pixels(stafflinethickness, staff_space)
+
+       pickup pencircle
+               xscaled 1.00 stafflinethickness
+               yscaled 0.22 staff_space
+               rotated -35;
+
+       save za, zb, zc, zd, ze;
+       pair za, zb, zc, zd, ze;
+
+       za = (+0.00 staff_space, -0.00 staff_space);
+       zb = (+0.15 staff_space, -0.00 staff_space);
+       zc = (+0.45 staff_space, -0.35 staff_space);
+       zd = (+0.45 staff_space, -0.85 staff_space);
+       ze = (+0.00 staff_space, -2.00 staff_space);
+
+       draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_outermost_flag_ii =
+       define_pixels(stafflinethickness, staff_space)
+
+       pickup pencircle
+               xscaled 1.00 stafflinethickness
+               yscaled 0.22 staff_space
+               rotated -35;
+
+       save za, zb, zc, zd, ze;
+       pair za, zb, zc, zd, ze;
+
+       za = (+0.00 staff_space, -0.00 staff_space);
+       zb = (+0.15 staff_space, -0.00 staff_space);
+       zc = (+0.20 staff_space, -0.05 staff_space);
+       zd = (+0.20 staff_space, -1.15 staff_space);
+       ze = (+0.00 staff_space, -1.40 staff_space);
+
+       draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_inner_flag(expr il_shift) =
+       define_pixels(stafflinethickness, staff_space)
+
+       pickup pencircle
+               xscaled 1.00 stafflinethickness
+               yscaled 0.22 staff_space
+               rotated -35;
+
+       save zs, za, zb, zc, zd;
+       pair zs, za, zb, zc, zd;
+
+       zs = (0, -il_shift * staff_space);
+       za = zs + (+0.00 staff_space, -0.10 staff_space);
+       zb = zs + (+0.33 staff_space, -0.30 staff_space);
+       zc = zs + (+0.33 staff_space, -0.70 staff_space);
+       zd = zs + (+0.00 staff_space, -0.90 staff_space);
+
+       draw za{2,1} .. zb .. zc .. {-2,-1}zd;
+enddef;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu03", "menseighthflag")
+       set_char_box(0, 0.60 staff_space#, 2.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu13", "mens1eighthflag")
+       set_char_box(0, 0.60 staff_space#, 1.50 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald03", "mensdeighthflag")
+       set_char_box(0.60 staff_space#, 0, 0, 2.00 staff_space#)
+       draw_mensural_outermost_flag_i
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald13", "mensd1eighthflag")
+       set_char_box(0.60 staff_space#, 0, 0, 1.50 staff_space#)
+       draw_mensural_outermost_flag_ii
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu04", "menssixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu14", "mens1sixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald04", "mensdsixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald14", "mensd1sixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu05", "mensthirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+       draw_mensural_inner_flag(3.0)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu15", "mens1thirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald05", "mensdthirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+       draw_mensural_inner_flag(3.0)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald15", "mensd1thirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu06", "menssixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+       draw_mensural_inner_flag(3.5)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu16", "mens1sixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.17)
+       draw_mensural_inner_flag(2.08)
+       draw_mensural_inner_flag(3.00)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald06", "mensdsixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+       draw_mensural_inner_flag(3.5)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.17)
+       draw_mensural_inner_flag(2.08)
+       draw_mensural_inner_flag(3.00)
+       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;
 
        pickup pencircle scaled stemthickness;
        draw (0, 0) .. (0,-2 staff_space);
@@ -404,6 +593,218 @@ fet_beginchar("64th (down)", "d6", "dsixtyfourthflag")
        y_mirror_char;
 fet_endchar;
 
+%%%%%%%%
+%
+%
+%
+% Mensural Notation
+%
+%
+%
+
+def draw_mensural_outermost_flag_i =
+       define_pixels(stafflinethickness, staff_space)
+
+       pickup pencircle
+               xscaled 1.00 stafflinethickness
+               yscaled 0.22 staff_space
+               rotated -35;
+
+       save za, zb, zc, zd, ze;
+       pair za, zb, zc, zd, ze;
+
+       za = (+0.00 staff_space, -0.00 staff_space);
+       zb = (+0.15 staff_space, -0.00 staff_space);
+       zc = (+0.45 staff_space, -0.35 staff_space);
+       zd = (+0.45 staff_space, -0.85 staff_space);
+       ze = (+0.00 staff_space, -2.00 staff_space);
+
+       draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_outermost_flag_ii =
+       define_pixels(stafflinethickness, staff_space)
+
+       pickup pencircle
+               xscaled 1.00 stafflinethickness
+               yscaled 0.22 staff_space
+               rotated -35;
+
+       save za, zb, zc, zd, ze;
+       pair za, zb, zc, zd, ze;
+
+       za = (+0.00 staff_space, -0.00 staff_space);
+       zb = (+0.15 staff_space, -0.00 staff_space);
+       zc = (+0.20 staff_space, -0.05 staff_space);
+       zd = (+0.20 staff_space, -1.15 staff_space);
+       ze = (+0.00 staff_space, -1.40 staff_space);
+
+       draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_inner_flag(expr il_shift) =
+       define_pixels(stafflinethickness, staff_space)
+
+       pickup pencircle
+               xscaled 1.00 stafflinethickness
+               yscaled 0.22 staff_space
+               rotated -35;
+
+       save zs, za, zb, zc, zd;
+       pair zs, za, zb, zc, zd;
+
+       zs = (0, -il_shift * staff_space);
+       za = zs + (+0.00 staff_space, -0.10 staff_space);
+       zb = zs + (+0.33 staff_space, -0.30 staff_space);
+       zc = zs + (+0.33 staff_space, -0.70 staff_space);
+       zd = zs + (+0.00 staff_space, -0.90 staff_space);
+
+       draw za{2,1} .. zb .. zc .. {-2,-1}zd;
+enddef;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu03", "menseighthflag")
+       set_char_box(0, 0.60 staff_space#, 2.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu13", "mens1eighthflag")
+       set_char_box(0, 0.60 staff_space#, 1.50 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald03", "mensdeighthflag")
+       set_char_box(0.60 staff_space#, 0, 0, 2.00 staff_space#)
+       draw_mensural_outermost_flag_i
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald13", "mensd1eighthflag")
+       set_char_box(0.60 staff_space#, 0, 0, 1.50 staff_space#)
+       draw_mensural_outermost_flag_ii
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu04", "menssixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu14", "mens1sixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald04", "mensdsixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald14", "mensd1sixteenthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu05", "mensthirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+       draw_mensural_inner_flag(3.0)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu15", "mens1thirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald05", "mensdthirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(2.0)
+       draw_mensural_inner_flag(3.0)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald15", "mensd1thirtysecondflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu06", "menssixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+       draw_mensural_inner_flag(3.5)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu16", "mens1sixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.17)
+       draw_mensural_inner_flag(2.08)
+       draw_mensural_inner_flag(3.00)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald06", "mensdsixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_i
+       draw_mensural_inner_flag(1.5)
+       draw_mensural_inner_flag(2.5)
+       draw_mensural_inner_flag(3.5)
+       currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag")
+       set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+       draw_mensural_outermost_flag_ii
+       draw_mensural_inner_flag(1.17)
+       draw_mensural_inner_flag(2.08)
+       draw_mensural_inner_flag(3.00)
+       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;
index 740f0a641afb9ec0d01b57d8edecdfe577489091..f5aba1fcc9d58d52d00507e642513f0f74bdf485 100644 (file)
@@ -39,6 +39,7 @@
         (list 'verticalDirection dir? 'direction)       
         (list 'stemLength number? 'length)
         (list 'flagStyle string? 'flag-style)
+        (list 'style symbol? 'style)
         (list 'noStemExtend boolean? 'no-stem-extend)
         (list 'stemShorten number? 'shorten)
         ))