Hi Michael,
That may work, e.g.:
\version "2.20.0"
#(define-markup-command (lcb layout props arg)
(number?)
"Draw a curly bracket with a variable length."
(interpret-markup layout props
(markup
(#:override (cons (quote filled) #t)
(#:path 0 `(
(moveto -0.8 0.0)
(curveto -0.2 0.4 -0.3 0.7 -0.3 1.5)
(lineto -0.3 ,arg)
(curveto -0.4 ,(+ arg 1.3) 0.5 ,(+ arg 2.8) 0.7 ,(+ arg 2.8))
(curveto 0.6 ,(+ arg 2.5) 0.1 ,(+ arg 2) 0.1 ,arg)
(lineto 0.1 1.5)
(curveto 0.1 0.7 0.1 0.0 -0.8 0.0)
(closepath)
(curveto -0.2 -0.4 -0.3 -0.7 -0.3 -1.5)
(lineto -0.3 ,(* arg -1))
(curveto -0.4 ,(* (+ arg 1.3) -1) 0.5 ,(* (+ arg 2.8) -1) 0.7 ,(* (+ arg 2.8) -1))
(curveto 0.6 ,(* (+ arg 2.5) -1) 0.1 ,(* (+ arg 2) -1) 0.1 ,(* arg -1))
(lineto 0.1 -1.5)
(curveto 0.1 -0.7 0.1 0.0 -0.8 0.0)
(closepath)))))))
\relative c'' {
c4 _\markup {
\with-dimensions-from \null
\left-align {
\override #'(baseline-skip . 0)
\center-column {
"a" \vspace #-.1
\rotate #90 \lcb #3
\vspace #.1 "b"
}
}
} d e
-\tweak extra-offset #'(0 . -5)
_\markup {
\with-dimensions-from \null
\left-align {
\override #'(baseline-skip . 0)
\center-column {
"a" \vspace #-.1
\rotate #90 \lcb #5
\vspace #.1 "b"
}
}
}d c
b
-\tweak extra-offset #'(.5 . 3)
^\markup {
\with-dimensions-from \null
\left-align {
\override #'(baseline-skip . 0)
\center-column {
"a" \vspace #.1
\rotate #-90 \lcb #6
\vspace #-.1 "b"
}
}
} a g f e d c
}
HTH,
Cheers,
Pierre