Le mardi 14 février 2023 à 15:02 +0100, Valentin Petzel a écrit :
> But \column does have exactly that issue. Column will hickup on "lines"  
> spanning multiple lines.


Precisely. That's why it should receive the lines individually rather
than already combined in a stencil.

```
\version "2.24.0"

\markup \column {
  "Meter change."
  "Chord stem."
  "Bar line."
  \justify { Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget 
ante venenatis mi consectetur ornare. Cras facilisis dictum venenatis. }
  "Key change."
}
```

vs.

```
\version "2.24.0"

\markup \column {
  "Meter change."
  "Chord stem."
  "Bar line."
  \justified-lines { Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Ut eget 
ante venenatis mi consectetur ornare. Cras facilisis dictum venenatis. }
  "Key change."
}
```

> Another alternative though:
> 
> A stencil could have optional spacing extents. E.g. when you do a text 
> stencil  
> it will have it’s regular stencil extents, but also also a spacing extent 
> from  
> base line to top line (which might be smaller or larger than the stencil  
> extent). A stencil that does not have such extents can safely fall back to 
> the  
> stencil extents.
> 
> All basic stencil operations could then be applied to this just as they apply 
>  
> to extents. But this would then allow us to stack stencil by this spacing  
> extent rather than by the drawn extent.


Exactly what I said with

> The real fix would be changing the Stencil class to include an additional 
> data member that would be the extent from the baseline of the first line of 
> text to the baseline of the last line of text. Expect a lot of work though: 
> all stencil operations would have to be modified to account for it.

"All stencil operations" may be an exaggeration: *most* of them wouldn't need 
to care, but things like translating and combining would.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to