lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: strut problem,Re: strut problem,Re: strut problem,Re: strut problem


From: Werner LEMBERG
Subject: Re: strut problem,Re: strut problem,Re: strut problem,Re: strut problem
Date: Fri, 18 Nov 2022 04:46:48 +0000 (UTC)

>>>> Why is the vertical extent of the strut ignored?
>>>
>>> Because side positioning is primarily based on (vertical)
>>> skylines, not extents.
>>
>> Thanks.  What is the reasoning behind this?  For me, this behaviour
>> is unexpected.
> 
> By the way, this is one reason why \strut is not such a great thing
> in my opinion.  I suppose that in LaTeX, {\strut abc} and {abc
> \strut} (or whatever the exact syntax is) are equivalent.  In
> LilyPond, they can't be, since if you want \strut to factor into the
> skylines, its placement will be visible in the shape of the skylines
> (and consequently make a difference in the spacing).

You are correct with your LaTeX observation.  However, the longer I
think about struts – even `\vspace` is nothing else than a vertical
strut! – the more I believe that there is a conceptual problem in
LilyPond: There is a 'typesetting mode' where vertical struts have an
effect (like the problem originally reported in 'lilypond-user',
starting with
https://lists.gnu.org/archive/html/lilypond-user/2022-11/msg00237.html),
and there are other modes without such an effect.

What about making LilyPond properly integrate (finite) struts into the
skyline?  I see two advantages.

* It removes the above-described modality, which seems unnecessary to
  me.  If it is really necessary, it lacks an explanation in the NR.

* It would allow fine-tuning of the skyline in a simpler way than what
  currently is possible.  Imagine, for example, that you need some
  empty space above letter 'V' of the string 'VAVA':

  ```
      |
      |
     ++---+
     |VAVA|
  ```

  The 'correct' solution would be to put letter 'V' into a
  `\with-dimension` box or something similar [please correct me if
  there is something better].  However, doing so might produce a
  different output if, say, there is kerning: Pango now sees 'V' and
  'AVA', and the kerning between the first 'V' and 'A' is lost, AFAIU.

  The alternative would be to insert a vertical strut right before
  letter 'V'.


     Werner

reply via email to

[Prev in Thread] Current Thread [Next in Thread]