From: hanwen Date: Fri, 3 May 2002 22:00:01 +0000 (+0000) Subject: '' X-Git-Tag: release/1.5.59~83 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=1f61302f0953f74097624eff83938cd455c9d724;p=lilypond.git '' --- diff --git a/ChangeLog b/ChangeLog index 2c9979a6c7..c779f30082 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2002-05-03 Han-Wen + + * mf/feta-klef.mf: more twiddling with G clef. Almost straight + downstroke again. Sigh. + + * lily/dynamic-engraver.cc (acknowledge_grob): center dynamic + script on note head. + +2002-05-02 Han-Wen + + * lily/slur.cc (add_column): allow slur over rest. + 2002-04-27 Han-Wen * lily/beam.cc: move scoring constants out of code diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index b81d005a49..a546114a64 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -191,6 +191,7 @@ Grace note do weird things with timing. Fragile. @lilypondfile[printfilename]{slur-staccato.ly} +@lilypondfile[printfilename]{slur-rest.ly} @section Ties diff --git a/input/regression/dynamics-glyphs.ly b/input/regression/dynamics-glyphs.ly index ed6d268a01..da43da879b 100644 --- a/input/regression/dynamics-glyphs.ly +++ b/input/regression/dynamics-glyphs.ly @@ -1,16 +1,17 @@ -\header {texidoc = -"Dynamic letters are kerned, and their weight matches that -of the hairpin signs." -} +\header {texidoc = "Dynamic letters are kerned, and their weight +matches that of the hairpin signs. The dynamic scripts should be +horizontally centered on the note head." } + \score { -\notes\relative c'' { c4-\ff +\notes\relative c'' { c1-\ff c \f c \rfz c \mf c \mp \> \! - c \pp \< \! + c \ppppp \< \! c \sfp + } } diff --git a/input/regression/slur-rest.ly b/input/regression/slur-rest.ly new file mode 100644 index 0000000000..e8477fb365 --- /dev/null +++ b/input/regression/slur-rest.ly @@ -0,0 +1,17 @@ +\header +{ + texidoc ="Slurs may be placed over rest. The slur will avoid colliding with +the rest + +" +} +\score{ \notes { \stemDown c'4 ( r4 ) c'2 + + \relative c'' { + % Finish with F if played separately + c8-.( r c,-. r ) c4 r4| } + + + } +\paper { linewidth = -1. } + } diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 05c5a04ba7..22f19477e9 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -144,8 +144,6 @@ Dynamic_engraver::process_music () if (script_req_l_) rq = script_req_l_ ; announce_grob(line_spanner_, rq ? rq->self_scm(): SCM_EOL); - - } } @@ -402,6 +400,12 @@ Dynamic_engraver::acknowledge_grob (Grob_info i) Side_position_interface::add_support (line_spanner_,i.grob_l_); add_bound_item (line_spanner_,dynamic_cast (i.grob_l_)); } + + if (script_p_ && !script_p_->get_parent (X_AXIS)) + { + script_p_->set_parent (i.grob_l_, X_AXIS); + } + } } ENTER_DESCRIPTION(Dynamic_engraver, diff --git a/lily/slur.cc b/lily/slur.cc index 4cc43ecf18..716bcff34b 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -50,12 +50,10 @@ void Slur::add_column (Grob*me, Grob*n) { if (!gh_pair_p (n->get_grob_property ("note-heads"))) - me->warning (_ ("Putting slur over rest. Ignoring rest.")); - else - { - Pointer_group_interface::add_grob (me, ly_symbol2scm ("note-columns"), n); - me->add_dependency (n); - } + me->warning (_ ("Putting slur over rest.")); + + Pointer_group_interface::add_grob (me, ly_symbol2scm ("note-columns"), n); + me->add_dependency (n); add_bound_item (dynamic_cast (me), dynamic_cast (n)); } diff --git a/lily/stem.cc b/lily/stem.cc index 2b0874291e..cd20c2397e 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -160,7 +160,10 @@ Stem::head_count (Grob*me) Grob* Stem::first_head (Grob*me) { - return extremal_heads (me)[-get_direction (me)]; + Direction d = get_direction (me); + if (!d) + return 0; + return extremal_heads (me)[-d]; } /* diff --git a/mf/feta-din-code.mf b/mf/feta-din-code.mf index 24f0e65747..e457b64ad2 100644 --- a/mf/feta-din-code.mf +++ b/mf/feta-din-code.mf @@ -693,7 +693,7 @@ fet_endchar ; %%% KERNING -ligtable "m" : "p" kern 0.15 ex#, "f" kern -0.1 ex#; +ligtable "m" : "p" kern 0.2 ex#, "f" kern -0.1 ex#; ligtable "f" : "f" kern -0.13 ex#; ligtable "r" : "f" kern 0.1 ex#; diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf index a85736dd81..1ed1d987ea 100644 --- a/mf/feta-klef.mf +++ b/mf/feta-klef.mf @@ -336,27 +336,28 @@ def draw_gclef (expr exact_center, reduction)= z6 = center + whatever * downstroke_dir; y6 = ypart center + 2 reduced_ss; - z7l - z6 = whatever *(z5- z6) ; + z7l - z6 = whatever * (z5 - z6) ; y7l = 3.5 reduced_ss; x9 = .7 [x10, x7r]; top y9l = 5 reduced_ss; - y11 = ypart center - 20/14 reduced_ss; - y12 = ypart center - 34/14 reduced_ss; + y11 = ypart center - 47/28 reduced_ss; + y12 = ypart center - 71/28 reduced_ss; y13 = .48 [y12,y4r]; x11 - x13r = 1.5 reduced_ss + 0.5 thinnib; x12r = xpart (.45 [z13r , z11] + .75 reduced_ss * downstroke_dir) ; - z10= center + whatever * dir (downstroke_angle + .5); - y10 = ypart center + 3.35 reduced_ss; +% z10= center + whatever * dir (downstroke_angle - 1.5 ); + x10 = x6 - 2 thinnib; + y10 = ypart center + 3.5 reduced_ss; y10l - y10r = 1.2 thickness; z10r - z10l = - .9 thinnib* dir (downstroke_angle + 90) + whatever *downstroke_dir; + .7 thinnib* dir (downstroke_angle + 90) + whatever * downstroke_dir; z10 = .5 [z10l, z10r]; - z11 = center + whatever * downstroke_dir + (.2 reduced_ss, 0); + z11 = center + whatever * downstroke_dir + ( .05 reduced_ss, 0); penpos1(thinnib, inner_start_angle); penpos2(thickness, 90); @@ -364,7 +365,7 @@ def draw_gclef (expr exact_center, reduction)= penpos4(thinnib, -90); - penpos9(1.4 thickness, -70); + penpos9(1.45 thickness, -70); save lipje; pair lipje; lipje= .5 [z9l, z9r] + .25 ((z9r- z9l) rotated -90); @@ -390,11 +391,12 @@ def draw_gclef (expr exact_center, reduction)= z1r -- z1l .. tension 0.85 ..cycle; - save p, staffline_time, q, down_staff_line_intersection; - path p,q; + save p, staffline_time, staff_line_path, down_staff_line_intersection; + path p, staff_line_path; pair down_staff_line_intersection; p := z4{left} .. z5{up} .. z7{up} ; - q := (-reduced_ss, 2 reduced_ss) .. (2 reduced_ss,2 reduced_ss); + + staff_line_path := (-reduced_ss, 2 reduced_ss) .. (2 reduced_ss,2 reduced_ss); draw p; @@ -411,12 +413,14 @@ def draw_gclef (expr exact_center, reduction)= penpos12(thinnib, bot_angle + 90); p := z9 .. z10{down} - .. z11{dir (-87)} + .. z6 + .. (.52 [z4, z3]) + .. z11{down} .. z12{dir(bot_angle)} .. z13{up} ; save down_intersection_t; - down_intersection_t := xpart (p intersectiontimes q) ; + down_intersection_t := xpart (p intersectiontimes staff_line_path) ; down_staff_line_intersection = point down_intersection_t of p; z14 = down_staff_line_intersection; penpos14(thinnib, angle (direction down_intersection_t of p) + 90); @@ -427,7 +431,7 @@ def draw_gclef (expr exact_center, reduction)= save loop_end_dir; pair loop_end_dir; - loop_end_dir = direction (xpart (p intersectiontimes q)) of p; + loop_end_dir = direction (xpart (p intersectiontimes staff_line_path)) of p; draw p; penpos6(thinnib, angle (loop_end_dir) + 90); diff --git a/scm/grob-description.scm b/scm/grob-description.scm index 5a93c2a8d4..afb13ffded 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -257,7 +257,8 @@ . ( (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (molecule-callback . ,Text_item::brew_molecule) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self + ,Self_alignment_interface::centered_on_parent)) (self-alignment-X . 0) (no-spacing-rods . #t) (script-priority . 100)