[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Re: Writing "Mouvt" abbreviation of "Mouvement"
From:       David Kastrup <dak () gnu ! org>
Date:       2013-07-28 7:53:31
Message-ID: 87bo5nazno.fsf () fencepost ! gnu ! org
[Download RAW message or body]

Nick Payne <nick.payne@internode.on.net> writes:

> On 28/07/13 11:47, MarcM wrote:
>> thanks for the explanation.
>>
>>  > Why wouldn't it?  Separate expressions in a \line (which is what a
>>  > top-level markup is implicitly wrapped in) are separated by word space.
>>  > That's totally normal.  If you want to join some elements, use \concat,
>>  > like with ...
>>
>> You explanation and example were helpful. I suggest to add them to
>> this page:
>> http://www.lilypond.org/doc/v2.17/Documentation/notation/formatting-text
>>
>> % this
>>   \markup { \huge \line { fee fie foe fum } }
>> % or that will separate the expressions with _normal_ size spaces
>>   \markup { \huge  { fee fie foe fum } }
>> % or
>> \markup { \huge fee\huge fie\huge foe\huge fum }
>> % whereas this will use _huge_ spaces between words.
>> \markup { \huge "fee fie foe fum" }
>>
>
> That suggestion doesn't make sense to me. Those four markup commands
> will all produce identical markup with identical spacing.

Actually, MarcM committed copy&paste error here.  What I wrote was

%    So if you write
    \markup { \huge { fee fie foe fum } }
%    this is the same as
    \markup { \huge fee \huge fie \huge foe \huge fum }
%    or even
    \markup { \huge fee\huge fie\huge foe\huge fum }
%    and will separate the expressions with _normal_ size spaces whereas
    \markup { \huge "fee fie foe fum" }
%    or
    \markup { \huge \line { fee fie foe fum } }
%    will use _huge_ spaces between words.

And look-and-behold, LilyPond does _not_ agree with me here in that
_only_ the fourth line sticks out.  So \huge does not appear to scale
LilyPond's idea of word space, but the fourth line still looks different
because when you use literal spaces, it is Pango's idea of the space
width that is getting used, not LilyPond's, and Pango's idea scales.

It turns out that \huge ... is defined equivalent to
\override #'(font-size . 2) ...
whereas
\fontsize #2
would be equivalent to

\override #'(font-size . 2) \override #`(word-space . ,(magstep 2))
  \override #`(baseline-skip . ,...)

Actually, things are even more complex since \fontsize accumulates
while \huge doesn't.

Personally, I consider it a mistake that \huge does not touch word-space
and baseline-skip while \fontsize (and \abs-fontsize) do.

And not just a mistake because it makes me wrong...

-- 
David Kastrup



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic