bug-lilypond
[Top][All Lists]
Advanced

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

Re: Inconsistent line spacing in lyric mode


From: Urs Liska
Subject: Re: Inconsistent line spacing in lyric mode
Date: Wed, 14 Jul 2010 23:47:55 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.10) Gecko/20100512 Lightning/1.0b1 Thunderbird/3.0.5

Added the issue to the issue tracker: http://code.google.com/p/lilypond/issues/detail?id=1188

Thanks for posting the concise report
Urs

Am 14.07.2010 18:31, schrieb Arle Lommel:
I'm not top posting.
Line height in lyric mode is set not based on the em square of the
font (which is the proper unit for almost all marco-level font
measurements) but rather on the PostScript bounding box height (or
something very similar to it) of the line. This results in
unpredictable and inconsistent line spacing. The example included
below shows the problem (my apologies for the length, but there need
to be enough lines of lyrics to show the problems), as described here:

1. The spacing (leading) of the first two lines is acceptable
(although tighter than ideal) because they all have ascenders and
descenders, meaning that that the bounding box for the line is
somewhat close to the em square height.

2. The third line, however, lacks descenders, so its bounding box sits
at the baseline and now the fourth line sits too close to it.
Similarly the fifth line is too close to the fourth for the same
reason.

3. The sixth line, however, shows the worst-case scenario: it lacks
ascenders and occurs under a line with no descenders so the sixth line
sits *far* too close to the fifth line.

This seems to be a clear bug since (a) it results in unpredictable
behavior (you cannot predict line spacing without knowing the content
of the line, whereas the line spacing should be independent of the
content) and (b) it requires manual tweaks like this to fix the
spacing (tweaks that might need to be altered whenever you change the
lyrics being displayed):

\override VerticalAxisGroup #'inter-loose-line-spacing = #'((space .
1) (padding . 1) (minimum-distance . 4) (stretchability . 1))

(In which the minimum-distance value must be altered from line to line
just to achieve optimal, even space.)

The seeming solution would be to base positioning of lines in lyric
mode based on the em square of the font, not the PostScript bounding
box.

*****

\version "2.13.28"
\header {
     title = "Alma a fa alatt, nyári piros alma"
}
\paper{ ragged-right=##t }

melody = \relative a' {
     \key c \dorian
     \time 4/4
     \clef treble

     c4\( bes8 g8 c8 bes8 g4 |
     ees4 f4 g8 f4. |
     c2 c4\) r4 \bar "|."
}

verseOne = {
     \set stanza = #"1. "
     \lyricmode {
         Sze -- re -- tem a lá -- nyát, nem te -- he -- tek ró -- la.
     }
}

verseOneE = {
     \lyricmode {
         But I can -- not help that, for I love her daugh -- ter.
     }
}

verseTwo = {
     \set stanza = #"2. "
     \lyricmode {
         Fe -- le -- szi a fe -- ne a ba -- ka há -- tá -- ra.
     }
}

verseTwoE = {
     \lyricmode {
         So to hell with it on the back of that sol -- dier.
     }
}

verseThree = {
     \set stanza = #"3. "
     \lyricmode {
         Sok zá -- ros csó -- ko -- mért zu -- tok az e -- szed -- be.
     }
}

verseThreeE = {
     \lyricmode {
         aaa sss -- ee xxxx zz aaaa, sss eee xxxx aa -- ssss -- ee.
     }
}

\score {
     <<
         \new Voice = "melody" {
             \melody
         }
         \new Lyrics \lyricsto "melody" \verseOne
         \new Lyrics \lyricsto "melody" \verseOneE
         \new Lyrics \lyricsto "melody" \verseTwo
         \new Lyrics \lyricsto "melody" \verseTwoE
         \new Lyrics \lyricsto "melody" \verseThree
         \new Lyrics \lyricsto "melody" \verseThreeE
     >>
}

\layout {
   \context {
     \Lyrics
   }
}


_______________________________________________
bug-lilypond mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-lilypond




reply via email to

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