\version "2.19.53" #(define (lh-test-stencil arg) (lambda (grob) (if (ly:stencil? (ly:lyric-hyphen::print grob)) (let* ((stil (ly:lyric-hyphen::print grob)) (x-ext (ly:stencil-extent stil X)) (dash-period (ly:grob-property grob 'dash-period)) (arg-stil (grob-interpret-markup grob arg)) (arg-stil-x-ext (ly:stencil-extent arg-stil X)) (length-to-print (interval-length x-ext)) (guess (max 0 (truncate (/ length-to-print dash-period)))) (guessed-args-line-length (* guess dash-period)) (line-length-diff (- length-to-print guessed-args-line-length)) (line-length-diff-for-each-arg (/ line-length-diff guess)) (first-arg-length (+ dash-period line-length-diff-for-each-arg)) (first-arg-end-coord (/ (* first-arg-length (- (interval-length x-ext) (interval-length arg-stil-x-ext))) length-to-print)) (list-of-starts (map (lambda (n) (* n first-arg-end-coord)) (iota (+ 1 guess))))) (ly:stencil-translate-axis (apply ly:stencil-add (map (lambda (x-val) (ly:stencil-translate-axis arg-stil x-val X)) list-of-starts)) (car x-ext) X)) (ly:grob-suicide! grob)))) newLH = #(define-music-function (mrkp)(markup?) #{ \override LyricHyphen.after-line-breaking = #(lambda (grob) (if (ly:stencil? (ly:lyric-hyphen::print grob)) (ly:grob-set-property! grob 'stencil (ly:stencil-add (stencil-with-color (ly:lyric-hyphen::print grob) red) ((lh-test-stencil mrkp ) grob))))) #}) \paper { ragged-right = ##f } \layout { \context { \Lyrics \newLH "¦" \override LyricHyphen #'height = #0.6 } } << \new Voice = "sopran" { c''2.. 8 \bar "|." } \new Lyrics \lyricsto sopran { bro -- ken } >>