Jump to content

Adjusting vertical positioning of lyric hyphens: Difference between revisions

From LilyPond wiki
thickness
mNo edit summary
 
Line 1: Line 1:
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.
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 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 <code>thickness</code> property of the <code>LyricHyphen</code> grob to match the font's hyphen character.
 
Also, you may want to adjust the thickness of the Hyphens:  LyricHyphen.thickness


<lilypond version="2.24">
<lilypond version="2.24">

Latest revision as of 08:55, 2 March 2026

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)))
}