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? 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).
signature.asc
Description: This is a digitally signed message part
