[Top][All Lists]

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

Re: Unpredictable insertions of superfluous extra space between lines of

From: Jean Abou Samra
Subject: Re: Unpredictable insertions of superfluous extra space between lines of lyrics
Date: Tue, 02 May 2023 02:29:23 +0200
User-agent: Evolution 3.48.1 (3.48.1-1.fc38)

Le lundi 01 mai 2023 à 20:19 -0400, Connor Harris a écrit :

> I've discovered a bizarre bug (originally in LilyPond 2.22.1, confirmed in
> all versions up through 2.23.13 with reason to suspect that the underlying
> issue may still exist in later versions) with vertical spacing of lyrics.
> Under very specific, seemingly unpredictable conditions, LilyPond inserts
> several lines of extra space between two lines of lyrics attached to the
> same staff. See the below example, which (for reasons I'll discuss later)
> is about as minimal as I can get it. It's edited down from an engraving of
> the German folk song "Hoch auf dem gelben Wagen" that I was working on when
> I discovered it:
> ```
> \version "2.22.1"
> #(set-global-staff-size 18)
> music = \relative c' {
>   \key f \major
>   \time 4/4
>   c4 f8 g a4 c | a4( g) f r |
>   c4 f8 g a4 g | f2. r4 |
>   c4 f8 g a4 c8 c  | \break a4( g) f4 r4
> }
> verseOne = \lyricmode {
>   Hoch auf dem gel -- ben Wa -- gen
>   sitz’ ich beim Schwa -- ger vorn.
>   Vor -- wärts die Ros -- se _ tra -- ben;
> }
> verseTwo = \lyricmode {
>   Po -- stil -- lion an der Schen -- ke
>   füt -- tert die Ros -- se~im Flug.
>   Schäu -- men -- de Ger -- sten -- ge -- trän -- ke
> }
> \score {
>   \new Staff { \music }
>   \addlyrics {\verseOne}
>   \addlyrics {\verseTwo}
> }
> ``` 
> What makes this bug bizarre, and why this example had to be so long, is
> that any number of tweaks, some of them only affecting a single note or
> character in the lyrics, will eliminate the excessive vertical spacing (but
> seemingly similar-looking tweaks won't). For instance, these changes fix
> the lyrics spacing:
> - Eliminating the forced break after measure 5. (This is where a line break
> naturally fell in my first engraving of the whole song, and why I
> discovered the bug in the first place.)
> - Adding another forced break anywhere before bar 5.
> - Changing the time signature to 2/4, leaving the note durations unchanged.
> - Changing the H in "Hoch", or the S in "Schenke" and "Schäumende", to
> lowercase (but not the P in "Postillion" or the W in "Wagen").
> - Changing the elision in "Ros -- se~im" to one word: "Ros -- seim"
> - Eliminating the curved apostrophe after "sitz"
> - Changing the g in "gelben" to uppercase (but not the first letters of
> several other lowercase words, such as "füttert"
> - Changing "dem", the third word in the first verse, to "den"
> - Changing the last note of the first measure (C5) to anything on or below
> the third line (that is, B4 or below). Raising instead of lowering that
> note leaves the space unaffected, as does changing other notes: for
> instance, changing that C5 to D5, or changing the preceding A4 to G4, leave
> the extra space unaffected
> I've tried to replicate this bug with several LilyPond versions and
> produced it in all versions up to 2.23.13; it doesn't seem to affect
> 2.23.14 and beyond. I considered it worth reporting nevertheless, because
> it seems so exquisitely context-dependent that even if my example doesn't
> exhibit it in later LilyPond versions, this may be due to other changes in
> LilyPond internals, not because the underlying problem in lyric spacing has
> been fixed.
> One final comment: I initially discovered this bug with three lines of
> lyrics, and it only affected the spacing between the second and the third;
> the first and second lines were spaced as they should be.

Thank you for the detailed and informative bug report.

The problem looks a lot like [issue 
#6432](https://gitlab.com/lilypond/lilypond/-/issues/6432) to me. It has 
therefore been fixed (didn't just disappear by accident) in version 2.23.14.



Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

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