From: Jürgen Reuter Date: Tue, 6 Jun 2006 10:11:52 +0000 (+0000) Subject: * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to X-Git-Tag: cvs/HEAD~344 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=623532e390c9f701eb2b24adbfba86e74866075b;p=lilypond.git * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to fix lyrics alignment problems. They are implemented now as scheme functions that add the appropriate unicode char to the first lyric event rather than adding a separate lyric event. --- diff --git a/ChangeLog b/ChangeLog index dd6cef86eb..b972812037 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-06-06 Jürgen Reuter + + * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to + fix lyrics alignment problems. They are implemented now as scheme + functions that add the appropriate unicode char to the first lyric + event rather than adding a separate lyric event. + 2006-06-06 Han-Wen Nienhuys * buildscripts/output-distance.py diff --git a/ly/gregorian-init.ly b/ly/gregorian-init.ly index 6f3f06e16e..008cb6e118 100644 --- a/ly/gregorian-init.ly +++ b/ly/gregorian-init.ly @@ -17,11 +17,36 @@ IIJ = \lyricmode { IIJ } ij = \lyricmode { ij } iij = \lyricmode { iij } -% unicode 2123 (versicle) -versus = \lyricmode { ℣ } - -% unicode 211F (response) -responsum = \lyricmode { ℟ } +% Given some music that represents lyrics, add a prefix to the first +% lyric event. +#(define (add-prefix-to-lyrics prefix music) + (make-music + 'SequentialMusic + 'elements (append + (cons + (let* ((elems (car (ly:music-property music 'elements))) + (props (ly:music-mutable-properties elems)) + (events (filter (lambda (x) + (equal? (car x) 'elements)) + props)) + (first-evt (cadar events)) + (first-syllable (ly:prob-property first-evt 'text)) + (first-duration (ly:prob-property first-evt 'duration))) + (make-music + 'LyricEvent + 'duration first-duration + 'text (string-append prefix first-syllable))) + (cdr (ly:music-property music 'elements)))))) + +% Add unicode 2123 (versicle) as prefix to lyrics. +versus = +#(define-music-function (parser location music) (ly:music?) + (add-prefix-to-lyrics "℣" music)) + +% Add unicode 211F (response) as prefix to lyrics. +responsum = +#(define-music-function (parser location music) (ly:music?) + (add-prefix-to-lyrics "℟" music)) % % Declare head prefix shortcuts.