Jump to content

Adjusting vertical positioning of lyric hyphens: Difference between revisions

From LilyPond wiki
mNo edit summary
Major syntax update, code formatting
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 comparision (the 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).


<lilypond version="2.24">
<lilypond version="2.24">
Line 8: Line 8:
\score {
\score {
   <<
   <<
     \context Voice="Lied" {
     \new Voice = "Lied" {
       \relative c' {
       \relative {
         \clef G
         \clef G
         \key c \major
         \key c \major
         e2 d c1
         e'2 d c1
       }
       }
     }
     }


     \context Lyrics="Lied" {
     \new Lyrics = "Lied"
      \lyricsto Lied {
    \lyricsto Lied {
        La -- l-e -- lu.
      La -- l-e -- lu.
      }
     }
     }
   >>
   >>
Line 32: Line 31:


\paper {
\paper {
   #(define fonts
   property-defaults.fonts.serif = "Serif"
    (make-pango-font-tree
      "Serif"
      "Sans"
      "Monospace"
      (/ 20 20)
    )
  )
}
}
</lilypond>
</lilypond>

Revision as of 13:20, 26 February 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).

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

\paper {
  property-defaults.fonts.serif = "Serif"
}