From: Carl Sorensen Date: Sat, 4 Dec 2010 22:26:17 +0000 (-0700) Subject: Adjust page compression settings X-Git-Tag: release/2.13.42-1~17^2~9 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=4854cc6ddec1fb33c233fbff5085e81de95219db;p=lilypond.git Adjust page compression settings Adjust compression when the sytems won't fit on the page so we don't drive off the top of the page. --- diff --git a/input/regression/page-breaking-min-systems-per-page2.ly b/input/regression/page-breaking-min-systems-per-page2.ly index 6d5550912f..08988311b6 100644 --- a/input/regression/page-breaking-min-systems-per-page2.ly +++ b/input/regression/page-breaking-min-systems-per-page2.ly @@ -1,10 +1,13 @@ -\version "2.13.1" +\version "2.13.42" #(set-default-paper-size "a6") \header { - texidoc = "The min-systems-per-page variable takes precedence over -the desire not to overfill a page." + texidoc = " +The min-systems-per-page variable takes precedence over +the desire not to overfill a page. In this case, systems will +overlap because they are forced to be on the page. +" } \book { @@ -13,4 +16,4 @@ the desire not to overfill a page." } \repeat unfold 21 { c'1 } -} \ No newline at end of file +} diff --git a/lily/page-layout-problem.cc b/lily/page-layout-problem.cc index 4f035d7279..aec0b80ac8 100644 --- a/lily/page-layout-problem.cc +++ b/lily/page-layout-problem.cc @@ -310,13 +310,15 @@ Page_layout_problem::solve_rod_spring_problem (bool ragged) if (!spacer.fits ()) { - Real overflow = spacer.configuration_length (spacer.force ()) - page_height_; - vsize space_count = solution_.size (); - for (vsize i = 0; i < space_count; i++) - solution_[i] -= (i + 1) * overflow / space_count; + Real overflow = spacer.configuration_length (spacer.force ()) + - page_height_; warning (_f ("couldn't fit music on page: overflow is %f", overflow)); warning (_ ("compressing music to fit")); + vsize space_count = solution_.size (); + Real spacing_increment = overflow / (space_count - 2); + for (vsize i = 2; i < space_count; i++) + solution_[i] -= (i-1) * spacing_increment; } }