From: Han-Wen Nienhuys Date: Tue, 3 Oct 2006 12:53:57 +0000 (+0000) Subject: * lily/spacing-spanner.cc (musical_column_spacing): handle X-Git-Tag: cvs/HEAD~31 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=177b5939defbbae11fc3c110577bab6c76c8b178;p=lilypond.git * lily/spacing-spanner.cc (musical_column_spacing): handle musical->nonmusical spacing case, where there is no spacing wish. * VERSION: release 2.9.20 --- diff --git a/ChangeLog b/ChangeLog index dceae7da4d..42cbd8f5d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-10-03 Han-Wen Nienhuys + * lily/spacing-spanner.cc (musical_column_spacing): handle + musical->nonmusical spacing case, where there is no spacing wish. + * lily/pango-font.cc (text_stencil): allow 'tight' bounds. (pango_item_string_stencil): use logical rect horizontally (to preserve spaces), ink_rect vertically (for time signatures). diff --git a/VERSION b/VERSION index 2c634f62e5..1ea3df49fb 100644 --- a/VERSION +++ b/VERSION @@ -1,6 +1,6 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=9 -PATCH_LEVEL=20 +PATCH_LEVEL=21 MY_PATCH_LEVEL= diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 3e7aa266bd..2f6e90326c 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -268,7 +268,7 @@ Spacing_spanner::musical_column_spacing (Grob *me, else { int wish_count = 0; - + extract_grob_set (left_col, "right-neighbors", neighbors); /* @@ -316,21 +316,33 @@ Spacing_spanner::musical_column_spacing (Grob *me, if (compound_note_space < 0 || wish_count == 0) { - /* - Fixed should be 0.0. If there are no spacing wishes, we're - likely dealing with polyphonic spacing of hemiolas. + + if (!Paper_column::is_musical (right_col)) + { + Real left_col_stick_out = robust_relative_extent (left_col, left_col, X_AXIS)[RIGHT]; + compound_fixed_note_space = max (left_col_stick_out, options->increment_); + + compound_note_space = max (base_note_space, + base_note_space - options->increment_ + left_col_stick_out); + } + else + { + /* + Fixed should be 0.0. If there are no spacing wishes, we're + likely dealing with polyphonic spacing of hemiolas. - We used to have compound_fixed_note_space = options->increment_ + We used to have compound_fixed_note_space = options->increment_ - but this can lead to numeric instability problems when we - do + but this can lead to numeric instability problems when we + do - inverse_strength = (compound_note_space - compound_fixed_note_space) + inverse_strength = (compound_note_space - compound_fixed_note_space) - */ - - compound_note_space = base_note_space; - compound_fixed_note_space = 0.0; + */ + + compound_note_space = base_note_space; + compound_fixed_note_space = 0.0; + } } else if (to_boolean (me->get_property ("average-spacing-wishes"))) {