2015-09-25 12:28 GMT+02:00 Malte Meyn <address@hidden>:
Am 25.09.2015 um 10:58 schrieb Urs Liska:
{
\override TextScript.self-alignment-X = #LEFT
c'2 ^\markup \rotate #90 "This is a long markup" c
}
You could use an event function:
%%%%%
\version "2.19.27"
verticalText =
#(define-event-function (text) (markup?)
#{
-\tweak TextScript.self-alignment-X #LEFT
-\markup \rotate #90 #text
#})
{
c'2^\verticalText \markup \italic "This is a long markup" c
c'2\verticalText "This is a long text" c
}
%%%%%
Using \override or \tweak or an event-function will not work for
markups at toplevel and/or if not the entire markup is rotated, see:
\markup {
"ab"
\rotate #90 "------|------"
"xy"
}
Hence I wrote 'my-rotate':
#(define-markup-command (my-rotate layout props ang arg)
(number? markup?)
(let* ((stil (interpret-markup layout props arg))
(stil-x-length (interval-length (ly:stencil-extent stil X)))
(stil-y-length (interval-length (ly:stencil-extent stil Y))))
(ly:stencil-rotate stil ang (/ stil-y-length -2) (/ stil-x-length -2))))