[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Does 'strut' command work in LilyPond?
From: |
Thomas Morley |
Subject: |
Re: Does 'strut' command work in LilyPond? |
Date: |
Sun, 30 Mar 2014 14:40:27 +0200 |
2014-03-30 0:35 GMT+01:00 Karol Majewski <address@hidden>:
> According to:
>
> http://www.lilypond.org/doc/v2.19/Documentation/notation/other
>
> "\strut Create a box of the same height as the space in the current font."
>
> So
>
> \markup { \strut \box "." }
> \markup { \strut \box "bp" }
>
> should draw a box with constant height. But it doesn't. Maybe I'm doing
> something wrong?
>
> -Karol
Hi,
according to it's description \strut works as expected, imho:
\strut creates a (invisible) box of the same _height_ (Y-direction!)
as the _space_ (X-direction!) in the current font.
Look at the output of:
\markup
\box \vcenter {
%% current default \strut:
\strut
%% sort of rebuilding it:
\rotate #90 " "
%% another markup to compare:
\concat { \strut "." }
}
I think the request is another:
2014-03-30 10:24 GMT+02:00 Karol Majewski <address@hidden>:
> OK, so the question is: Is there a way to create box that has _height_ of
> total font _height_?
> By "total font height" I mean the distance between bottom bearing line and
> top bearing line
As sort of workaround you may use the coding below.
Please note, it's a _workaround_ ! Thinking of other non-european
languages it might easily be broken.
\version "2.18.0"
#(define-markup-command (vstrut layout props)
()
#:category other
"
@cindex creating vertical space in text
Create a box of the same height as the current font."
(let ((ref-mrkp (interpret-markup layout props "fp")))
(ly:make-stencil (ly:stencil-expr empty-stencil)
empty-interval
(ly:stencil-extent ref-mrkp Y))))
%%%%%%%%%%%%%%%
%% EXAMPLE
%%%%%%%%%%%%%%%
ln-mrkp = \markup \draw-line #'(2 . 0)
\markup
\override #'(baseline-skip . 1) {
\column \box {
\ln-mrkp
\ln-mrkp
\ln-mrkp
}
\column \box {
"x"
"x"
"x"
}
"opposed to: "
\column \box {
\line { \vstrut \ln-mrkp }
\line { \vstrut \ln-mrkp }
\line { \vstrut \ln-mrkp }
}
\column \box {
\line { \vstrut "x" }
\line { \vstrut "x" }
\line { \vstrut "x" }
}
}
Cheers,
Harm
- Re: Does 'strut' command work in LilyPond?, (continued)
- Re: Does 'strut' command work in LilyPond?, David Kastrup, 2014/03/29
- Re: Does 'strut' command work in LilyPond?, Karol Majewski, 2014/03/29
- Re: Does 'strut' command work in LilyPond?, Kieren MacMillan, 2014/03/29
- Re: Does 'strut' command work in LilyPond?, David Kastrup, 2014/03/29
- Re: Does 'strut' command work in LilyPond?, Kieren MacMillan, 2014/03/29
- Re: Does 'strut' command work in LilyPond?, David Kastrup, 2014/03/29
- Re: Does 'strut' command work in LilyPond?, Karol Majewski, 2014/03/30
Re: Does 'strut' command work in LilyPond?,
Thomas Morley <=