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. Best, Jean
signature.asc
Description: This is a digitally signed message part