[
https://issues.apache.org/jira/browse/FOP-2293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964590#comment-13964590
]
Vincent Hennebert commented on FOP-2293:
----------------------------------------
Hmmm. I suspect it works because then the algorithm breaks at the 'normal'
penalty that follows the WhitespaceManagementPenalty, and it knows how to
restart at such a penalty. Given the way the implementation has evolved
(storing on the active node the selected variant), I guess it will always be
possible to break at this penalty that follows the WMPenalty. In fact, you
could probably turn the WMPenalty into an infinite penalty and always break at
the penalty that would follow it. It might make easier to implement keeps and
breaks (which BTW don't work properly on the example you uploaded since it
shouldn't break at the WMPenalty). And if not, at least you have a cheap way to
support changing IPD.
Note that in order to have changing IPD properly working, you also need to make
the MultiSwitchLM restartable and implement the 5-parameter
getNextKnuthElements method.
If having this extension work with changing IPD is not a priority for you, I
suggest you leave the code as is.
HTH,
Vincent
> 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_rev10.patch,
> FO_multi-switch_best-fit_ext_rev11.patch,
> FO_multi-switch_best-fit_ext_rev12.patch,
> 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_best-fit_ext_rev9.patch, FO_multi-switch_test.fo,
> FO_multi-switch_with_best-fit_extension.patch, bestfit.fo,
> bug_page_ipd_change.fo, doc.pdf, empty-last-page.fo,
> multi-switch-testcases.zip, multi-switch_bestfit.fo,
> multiple-feasible-nodes.fo, patch-rev1.1.patch, patch-rev1.patch,
> patch-rev2.patch, patch.patch, rev11_bug.fo, 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
(v6.2#6252)