When the `left' and `right' markups are already wider than the line
width, then the middle filler width shall be forced to null,
iso. being negative.
(pattern-width (interval-length pattern-x-extent))
(left-width (interval-length (ly:stencil-extent (interpret-markup layout props left) X)))
(right-width (interval-length (ly:stencil-extent (interpret-markup layout props right) X)))
- (middle-width (- line-width (+ (+ left-width right-width) (* word-space 2))))
+ (middle-width (max 0 (- line-width (+ (+ left-width right-width) (* word-space 2)))))
(period (+ space pattern-width))
(count (truncate (/ (- middle-width pattern-width) period)))
(x-offset (+ (* (- (- middle-width (* count period)) pattern-width) (/ (1+ dir) 2)) (abs (car pattern-x-extent)))))