Le 18/11/2022 à 05:46, Werner LEMBERG a écrit :
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'm not understanding what you mean by this precisely. Are you talking about a change to the definition of \strut or a change to how skylines are computed? Regarding the latter, the handling looks inconsistent. I've opened https://gitlab.com/lilypond/lilypond/-/issues/6472 about that.
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'.
Note that, say, a vertical strut between "V" and "A" would also defeat kerning. Have you already found yourself needing to fine-tune skylines? I have always gotten along by tweaking padding and padding-like properties. By the way, can you check what your mail client is doing with email subjects? Your email's is "strut problem,Re: strut problem,Re: strut problem,Re: strut problem" Jean
OpenPGP_signature
Description: OpenPGP digital signature