lilypond-devel
[Top][All Lists]
Advanced

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

Re: attachment points for vertical spacing dimensions


From: Alexander Kobel
Subject: Re: attachment points for vertical spacing dimensions
Date: Thu, 07 Oct 2010 09:35:01 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.12) Gecko/20100915 Lightning/1.0b1 Thunderbird/3.0.8

On 2010-10-07 04:11, Joe Neeman wrote:
On Wed, Oct 6, 2010 at 1:26 AM, Mark Polesky <address@hidden
<mailto:address@hidden>> wrote:
    Joe Neeman wrote:
    >  I would argue that the baseline is more natural then the
    >  bottom.  Moreover, using the baseline as a reference point
    >  will result in more even spacing of multiple consecutive
    >  lines of markup.

    Okay, that's a good point, so I agree -- baseline is better
    than bottom.  But do you agree with Carl and Trevor that we
    should always use the same reference point for markups?  I
    was specifically proposing to use the bottom of the upper
    markup and the top of the lower markup for
    between-title-spacing, but Carl argued eloquently against
    it.  Carl's argument is probably much more solid than mine,
    but just for the record, what do you think?

I don't care so much about one versus two reference points (although the
current code only works with one), but I do think that the reference
points should not depend on any ascenders or descenders.

Hm, I'm not sure. The baseline in some sense is the natural place to attach references to - that's how it's done in most applications I can think of. On the other, hand, these typically deal with single lines on their own... For a markup placed /above/ a staff (or another markup, by the same argument), the baseline of the lowest line of the markup is a sensible reference (even better than the bottom corner, since, as you pointed out, this does not depend on an ascender). However, this is a poor choice for markups (like footer) /below/ a staff - if you add a line here, you'd have to redo spacing. Using the baseline of the top-most line would be better, but looks far harder to code. Furthermore, both baselines don't allow a good handling of the case of non-character markups (a score - What's the baseline there? The middle line of some staff? -, a figure, whatever) which has larger height than a letter of the default font. And font sizing doesn't change the baseline, but the ascender and descender height.

Honestly, I don't think it's worth the hassle. IMHO, we should try to give reasonable definitions, but not to deal with each and every possible use case; the user needs to tweak, and he probably won't find the optimal values for all these spacing variables by anything but trial-and-error. Let's not complicate this by overcluttering with a huge bunch of options. As for fonts, it's not too hard to guess the extent of a line, especially since baseline-skip is given in staff units. The topmost point as anchor works fine in many cases, and padding additionally is there to avoid trouble.

The only point the current layout does not work well for me is tweaking the pages s.t. the topmost and bottommost (center lines of) staves align over all pages, but even there I can perfectly live with a manual positioning of the footer and, optionally, a \with-dimension #'(0 . 0) #'(0 . 0) there. And if the very last line of a score is slightly above the others, I don't feel it disturbs the overall impression. Things are easier for the top, since the first page has the book header, and the page number has the same extent on all the others.

    I've noticed that in many traditionally-engraved scores, [...]
    For example, say score1 has title/subtitle/etc. in the usual
    place (top center), and piece/opus also in the usual place
    (flush left and flush right just above the top system), and
    the top system has no protruding skyline.  Now score2 has
    all the same titling but the top system has a really high
    note just before the rightmost barline.

    To prevent a collision between the last note and the opus,
    LilyPond will shift the first system down.  Fine.  But what
    I've noticed in the classic scores is that in this
    situation, the top system is not shifted down, but rather
    the opus is shifted *up*.  This is an important difference!

    It means that the placement of the top system is determined
    by the bookTitleMarkup, and the scoreTitleMarkup is
    determined by the top system.  And it usually looks better
    this way (and more consistent from score to score). [...]

I won't say it's more trouble than it's worth, but I don't think it's
trivial. In lilypond-spacing-backend terms, I think you want to treat
the opus markup as a "loose line."

Now, that'd be an feature... Even assuming that we'd have to take opus out of the header tags - can one manually add "loose lines" besides Lyrics?


Cheers,
Alexander



reply via email to

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