Vincent Hennebert commented on FOP-2293:

Hi Seifeddine,

bq.  Imagine for example, that a BFP was rejected, we would be adding the width 
of the glue to totalWidth while we shouldn't. And that creates an empty block 
in the final document.

Hmm, no? The width of the penalty is taken into account only if the penalty is 
chosen as a break point. If it is, then the glue that follows it will be 
discarded so its width won't be added to totalWidth.

On the other hand, if the penalty is not selected (because none of its variant 
would fit on the page), then the glue will correctly be taken into account on 
the following page. So, the dynamic content will appear at the beginning of the 
next page. This is illustrated in the 3rd page-sequence in the 
multi-switch_best-fit_multiple-variants.xml test case that was added to the 

This is actually the same process as when the dynamic content is put in the 
middle of the page. In that case, all of the variants produce underfull pages 
instead of overfull ones.

Does that make sense?


> Whitespace management extension
> -------------------------------
>                 Key: FOP-2293
>                 URL: https://issues.apache.org/jira/browse/FOP-2293
>             Project: Fop
>          Issue Type: New Feature
>          Components: general
>    Affects Versions: trunk
>            Reporter: Seifeddine Dridi
>            Priority: Minor
>              Labels: XSL-FO
>             Fix For: trunk
>         Attachments: FO_multi-switch_best-fit_ext_rev2.patch, 
> FO_multi-switch_best-fit_ext_rev3.patch, 
> FO_multi-switch_best-fit_ext_rev4.patch, 
> FO_multi-switch_best-fit_ext_rev5.patch, 
> FO_multi-switch_best-fit_ext_rev6.patch, 
> FO_multi-switch_best-fit_ext_rev7.patch, 
> FO_multi-switch_best-fit_ext_rev8.patch, FO_multi-switch_test.fo, 
> FO_multi-switch_with_best-fit_extension.patch, bestfit.fo, doc.pdf, 
> multi-switch-testcases.zip, multi-switch_bestfit.fo, 
> multiple-feasible-nodes.fo, patch-rev1.1.patch, patch-rev1.patch, 
> patch-rev2.patch, patch.patch, two-valid-variants.fo
> I have been working on an extension for whitespace management, similar to 
> what's described here: 
> http://wiki.apache.org/xmlgraphics-fop/WhitespaceManagement
> The logic of the extension is very simple: the user defines a set of 
> alternatives that he wishes to insert at the end of a page, then if there is 
> enough space left, FOP will pick the alternative that best matches the user's 
> selection criteria (first fit, smallest fit, biggest fit).
> This is my first work on FOP and it took me almost 2 months to reach this 
> stage in development. But it's not the end of course, so I'm relying on your 
> feedback to improve it.
> Thank you

This message was sent by Atlassian JIRA

Reply via email to