Good afternoon list,

I have been noticing the following bug for a long time. If a TextSpanner bound-details.right.text is set, the text may disappear if it is right after a line break, and if it runs into some other markup-ish stuff. I am not sure whether this may also happen if bound-details.right.padding is *not* specified; but quite often, I need to pad the TextSpanner right to keep it at the same height as the following text. Try the attachment with right.padding = #0 to see what I mean: the right.text is pushed under the following markup.

This happens with the vanilla TextSpanner, and also with David Nalesnik's spanner-id TextSpanner.

A workaround can be found by inserting \breaks or \noBreaks, but that is an unappealing hack, and not maintenance-friendly.

Is there a 'good' workaround, or a 'good' way to let the TextSpanner behave in the way I want?

Rutger Hofman
\version "2.19.39"
spanners = {
    s2*7 | 
        \override TextSpanner.bound-details.left.text = "(poco accel."
        \override TextSpanner.bound-details.right.text = "poco rit.)"
        % \override TextSpanner.bound-details.right.padding = #0
        % Need padding to keep at the same vertical position:
        \override TextSpanner.bound-details.right.padding = #6
        <>\startTextSpan s4 |
    s2 |
    s4. <>\stopTextSpan s8 |
    s4 <>^\markup{a tempo} s4 |

notes = \relative c'' {
    \time 2/4
    \repeat unfold 8 { a4 a4 }
    r4 a~ |
    \repeat unfold 6 a2~ |
    a |

\layout {
    \context {
        \Score {

            \override TextSpanner.bound-details.left.padding = #0
            \override TextSpanner.bound-details.left-broken.text = ##f
            \override TextSpanner.bound-details.right-broken.text = ##f

\score {
        \new Staff <<
            % { s2*9 \break }
lilypond-user mailing list

Reply via email to