2012/11/1 Rustik <r.ala...@mail.ru>: [...] > It works! Thank you! > > And now i have a new question. Can i make all as well as you tell me, but > lyric text must be maked by "font A", for example, Times, and > "strangeLyricHyphen" must be maked by "font B", for example Arial? > Is it possible?
Hi, I've rewritten the code, using more LilyPond-Syntax. It should now be no problem to format the underscore-markup as you want. (Currently I set `underscore´ to use '(font-name . "Cmex10"), this will return some strange output, if you've installed "Cmex10" :) Choose the font you prefer.) LyricText is formated in \layout. \version "2.16.0" \paper { ragged-right = ##f } strangeLyricHyphens = \override LyricHyphen #'after-line-breaking = #(lambda (grob) (let* ((l-bd (ly:grob-property grob 'left-bound-info)) (bound-left (ly:spanner-bound grob LEFT)) (bound-right (ly:spanner-bound grob RIGHT)) (text-left (ly:grob-property bound-left 'text)) (text-right (ly:grob-property bound-right 'text)) (orig (ly:grob-original grob)) (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) '() )) ;; Underscore-markup: (underscore #{ \markup \override #'(font-name . "Cmex10") "_" #}) (text-left-mrkp #{ \markup #text-left #}) (text-right-mrkp #{ \markup #text-right #}) (new-text (grob-interpret-markup bound-left #{ \markup \concat { #text-left-mrkp #underscore } #})) (add (* -1 (interval-length (ly:stencil-extent (grob-interpret-markup bound-left underscore) X)))) (fake-hyphen (ly:stencil-translate-axis (grob-interpret-markup bound-right #{ \markup \concat { #underscore #text-right-mrkp } #}) add X))) (ly:grob-set-property! grob 'transparent #t) (if (not (null? text-left)) (ly:grob-set-property! bound-left 'stencil new-text) text-left) (if (and (>= (length siblings) 2) (eq? (car (last-pair siblings)) grob)) (ly:grob-set-property! bound-right 'stencil fake-hyphen)))) lyr = \lyricmode { Cy -- ri -- e e -- lei -- son, Cy -- rie e -- lei -- son. } << \new Voice = "mel" \relative c' { c d c d c d c2 \break d4 c d c } \new Lyrics \lyricsto "mel" \lyr >> \new Lyrics \lyr \layout { \context { \Lyrics \strangeLyricHyphens \override LyricText #'font-name = #"Purisa" } } HTH, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user