]> git.donarmstrong.com Git - lilypond.git/commitdiff
Penalize unevenness in page breaking.
authorJoe Neeman <joeneeman@gmail.com>
Sat, 5 May 2007 23:02:11 +0000 (09:02 +1000)
committerJoe Neeman <joeneeman@gmail.com>
Sat, 5 May 2007 23:02:11 +0000 (09:02 +1000)
lily/page-breaking.cc

index 96f93d85e5612d9b20b2e28c31c6cb056d3a0d67..06d3a482b08a3bbf68bbcda738147042403ec494 100644 (file)
@@ -831,8 +831,9 @@ Page_breaking::space_systems_on_2_pages (vsize configuration, vsize first_page_n
   Real best_demerits = infinity_f;
   for (vsize i = 0; i < page1_force.size (); i++)
     {
-      Real dem = page1_force[i] * page1_force[i]
-       + page2_force[i] * page2_force[i]
+      Real f = page1_force[i] * page1_force[i] + page2_force[i] * page2_force[i];
+      Real uneven = 2 * (page1_force[i] - page2_force[i]);
+      Real dem = uneven * uneven + f
        + cached_line_details_[i+1].page_penalty_
        + cached_line_details_.back ().page_penalty_ + cached_line_details_.back ().turn_penalty_;
       if (dem < best_demerits)