On 2024-04-24 4:05 pm, Walt North wrote:
Thanks, that's close enough to what I wanted. I was originally for yellow background with back letters... but red (or other bright) font will suffice.
Here is an (over-engineered and probably bug-ridden) approach: %%%% \version "2.25.13" #(define-markup-command (highlight layout props arg) (markup?) #:category other #:properties ((blot 0.2) (color yellow) (padding 0.2)) (let* ((stencil (interpret-markup layout props arg)) (strut (interpret-markup layout props #{ \markup qxb #})) (x-extent (ly:stencil-extent stencil X)) (y-extent (interval-union (ly:stencil-extent stencil Y) (ly:stencil-extent strut Y))) (x-extent-wide (interval-widen x-extent padding)) (y-extent-wide (interval-widen y-extent padding))) (interpret-markup layout props #{ \markup \combine \with-color #color \with-dimensions #x-extent #y-extent \filled-box #x-extent-wide #y-extent-wide #blot \stencil #stencil #}))) #(define (highlighter blot color padding) (grob-transformer 'stencil (lambda (grob orig) (grob-interpret-markup grob #{ \markup \override #`(blot . ,blot) \override #`(color . ,color) \override #`(padding . ,padding) \highlight \stencil #orig #})))) \markup { \pad-around #1 \override #'(blot . 1.5) \override #`(color . ,(x11-color 'orange)) \override #'(padding . 0.5) \highlight \line { \bold lorem \italic ipsum } } myHighlight = \override LyricText.stencil = #(highlighter 0.6 (x11-color 'cornflowerblue) 0.1) \paper { indent = 0 } { \repeat unfold 3 { b'4 4 2 } } \addlyrics { no high -- light \myHighlight high -- \tweak font-family #'sans \tweak font-series #'bold light -- er \undo \myHighlight none \once \myHighlight once done } %%%% -- Aaron Hill