lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: breaking cleanups


From: Joe Neeman
Subject: Re: breaking cleanups
Date: Tue, 05 Sep 2006 18:05:16 +1000

On Mon, 2006-09-04 at 01:07 +0200, Han-Wen Nienhuys wrote:
> Joe Neeman wrote:
> > And of course I forgot to attach the patch...
> > 
> > On Sun, 2006-09-03 at 20:05 +1000, Joe Neeman wrote:
> >> This patch gets rid of the old line breaker. It keeps the old page
> >> breaker for now, but it is no longer the default. It adds horizontal
> >> compression penalties, for which I don't think there are any outstanding
> >> objections. I might make the penalty configurable in a later patch
> >> anyway. The current penalty is a bit arbitrary and I don't really like
> >> adding un-configurable, arbitrary constants.
> >>
> 
> hi,
> 
> a couple of nitpicks. Please apply after addressing these.
> 
> >> +    /* we may have to deal with single lines that are taller than a page 
> >> */
> >> +    if (isinf (space.force_) && page_start == line)
> >> +      space.force_ = 200000;
> >> +
> 
> is this the hardcoded constant you're talking about?

No, I'm not so worried about that one. That one's just a number that is
smaller than infinity but larger than any other reasonable value. I did
change it to negative, though since negative <=> compression.

The constant I don't like is in simple-spacer.cc:482

          Real f = spacer.force ();
          force[b * breaks.size () + c] = f - (f < 0 ? f*f*f*f*4 : 0);

I chose 4*f^4 after hacking lily to produce snippets with predefined
force and comparing them visually. So it isn't _completely_ arbitrary,
but still...

> >> -(define (space-systems page-height lines ragged? paper)
> >> +(define (space-systems page-height lines ragged? paper ignore-padding?)
> 
> style problem that we ourselves haven't done in the past: foo? is 
> reserved for a predicate, i.e. a function rather than a boolean.    Just 
> use ignore-padding as a name.

I took the liberty of also making that change for the other booleans in
layout-page-layout.scm.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]