Hi Harm, > broken text isn't that hard
Thanks! Through a combination of \translate, \with-dimensions, #’before- and #’after-line-breaking, and your help, I'm getting close to recreating without line-spanner-interface the OttavaBracket defaults that I had before [by overriding #’stencil]; see snippet, below. Best regards, Kieren. %%% SNIPPET BEGINS \version "2.19.32" #(set-global-staff-size 18) \paper { #(define fonts (make-pango-font-tree "Crimson Text" "Myriad Pro" "Courier Prime" (/ staff-height pt 20))) ragged-right = ##f } \layout { \context { \Score \override OttavaBracket.padding = #1 } } #(define eightva #{ %% messing around with \with-dimensions, %% because OttavaBracket has no details.stencil-align-dir-y \markup \translate #'(-0.375 . 0) \with-dimensions #'(1 . 3.625) #'(3 . 0) \italic \concat { "8" \raise #0.5 { \hspace #0.25 "va" } } #}) #(define eightva-par #{ \markup \translate #'(-0.75 . 0) \with-dimensions #'(0 . 4.75) #'(0 . 2.8) \concat { "(" \hspace #-0.125 \italic { "8" \raise #0.5 { \hspace #0.125 "va" } } \hspace #0.1 ")" } #}) octU = { \once \override Staff.OttavaBracket.font-shape = #'roman \once \override Staff.OttavaBracket.before-line-breaking = #(lambda (grob) (ly:grob-set-property! grob 'text eightva)) \override Staff.OttavaBracket.after-line-breaking = #(lambda (grob) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) '()))) (if (> (length siblings) 1) (for-each (lambda (sib) (ly:grob-set-property! sib 'text eightva-par)) (cdr siblings))))) \ottava #1 } { \octU c'''4 4 4 4 \break 4 4 4 4 } %%% SNIPPET ENDS ________________________________ Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user