source file of the GNU LilyPond music typesetter
- (c) 2006--2007 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "constrained-breaking.hh"
bool last = j == breaks_.size () - 1;
bool ragged = ragged_right || (last && ragged_last);
+ /* As a special case, if there is only one line in the score and ragged-right
+ hasn't been specifically forbidden and the line is stretched, use
+ ragged spacing. */
+ if (last && i == 0
+ && lines_.at (i, j).force_ >= 0
+ && !scm_is_bool (pscore_->layout ()->c_variable ("ragged-right"))
+ && !scm_is_bool (pscore_->layout ()->c_variable ("ragged-last")))
+ ragged = true;
+
return get_line_configuration (line, line_dims[RIGHT] - line_dims[LEFT], line_dims[LEFT], ragged);
}
int
Constrained_breaking::max_system_count (vsize start, vsize end)
{
- vsize brk = (end >= start_.size ()) ? breaks_.size () : starting_breakpoints_[end];
+ vsize brk = (end >= start_.size ()) ? breaks_.size () - 1 : starting_breakpoints_[end];
return brk - starting_breakpoints_[start];
}