Jump to content

Adjusting vertical positioning of lyric hyphens

From LilyPond wiki

For joining syllables, LilyPond doesn’t use the hyphen of the text font but instead draws a simple line with variable length (this limitation is tracked as Issue #1255). Its standard vertical position doesn’t always fit the proportions of the text font. When using a font with a large x-height, it may be too low.

You can adjust the vertical positioning of the hyphens manually. To get a good result you may want to insert a “real” hyphen for comparison (like between ‘l-e’ in the snippet). You may also want to adjust the thickness of LilyPond hyphens using the thickness property of the LyricHyphen grob to match the font's hyphen character.

\version "2.24"

% LSR contributed by Hannes Kuhnert <hannes.kuhnert@gmx.de> 1.2.2012.

\score {
  <<
    \new Voice = "Lied" {
      \relative {
        \clef G
        \key c \major
        e'2 d c1
      }
    }

    \new Lyrics = "Lied"
    \lyricsto Lied {
      La -- l-e -- lu.
    }
  >>

  \layout {
    \context {
      \Lyrics
      \override LyricHyphen.Y-offset = #0.16
      \override LyricHyphen.thickness = #2.1
    }
  }
}

\paper {
  #(define fonts
    (make-pango-font-tree
     "Serif"
     "Sans"
     "Monospace"
     (/ 20 20)))
}