Le samedi 01 avril 2023 à 13:57 +0200, Jean Abou Samra a écrit :
> Le mercredi 29 mars 2023 à 21:56 +0200, Jean Abou Samra a écrit :
> 
> 
> > > It seems so, yes.  Jean, do you have an idea?  Shall I submit an issue?
> > 
> > I am not yet sure if this is a bug or not.
> 
> This is from `page-layout-problem.cc`:
> ```
> void
> Page_layout_problem::append_prob (Prob *prob, Spring const &spring,
>                                   Real padding)
> {
>   SCM sky_scm = get_property (prob, "vertical-skylines");
>   Real minimum_distance = 0;
>   bool tight_spacing = from_scm<bool> (get_property (prob, "tight-spacing"));
> 
>   if (is_scm<Skyline_pair> (sky_scm))
>     {
>       const Skyline_pair &sky = from_scm<Skyline_pair> (sky_scm);
>       minimum_distance
>         = std::max (sky[UP].distance (bottom_skyline_), 
> bottom_loose_baseline_);
>       bottom_skyline_ = sky[DOWN];
>     }
>   else if (auto *sten = unsmob<const Stencil> (get_property (prob, 
> "stencil")))
>     {
>       Interval iv = sten->extent (Y_AXIS);
>       minimum_distance = iv[UP] - bottom_skyline_.max_height ();
> 
>       bottom_skyline_.clear ();
>       bottom_skyline_.set_minimum_height (iv[DOWN]);
>     }
> 
> ```
> `bottom_skyline_` is the skyline that is then used as the bottom skyline of 
> the markup when determining the spacing from the markup to the next system.  
> I don't see any place where the code is setting the `vertical-skylines` 
> property on `Paper_system` probs that are created from standalone markups.  
> So for standalone markups, padding is actually not using skyline spacing at 
> all?!


[https://gitlab.com/lilypond/lilypond/-/issues/6566](https://gitlab.com/lilypond/lilypond/-/issues/6566)

I am pretty surprised that this fundamental bug went unnoticed over the years 
(not sure for how long it has been around). LilyPond's page layout is smart, 
but sometimes I think it's a bit “too smart” / difficult to understand 
correctly (which led to nobody realizing this).

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

Reply via email to