https://issues.apache.org/bugzilla/show_bug.cgi?id=46905





--- Comment #6 from Andreas L. Delmelle <adelme...@apache.org>  2009-04-19 
15:17:19 PST ---

Next batch of 3 failing tests concerns the impact of the changes on the
footnote-splitting mechanism. 
The PageBreakingAlgorithm (PBA) no longer includes the first part on the first
page. That is: the break after the line containing the footnote-citation for
the footnote that should be split, is no longer considered to be a feasible
break. 

Taking the first test footnote_changing-page-bpd-2.xml as reference case.

In the initial pass over the footnote list in PBA.computeDifference(), both
PBA.checkCanDeferOldFootnotes() and PBA.newFootnotes evaluate to false, so we
do not even try PBA.getFootnoteSplit() to see how many lines of the footnote
fit on the first page.
The reason for newFootnotes being false (even though there are definitely
footnotes):
BreakingAlgorithm.findBreakingPoints() (line 463) will trigger handleBox() for
the last line-box, which will trigger handleFootnotes(), which will set
newFootnotes to true. Following that, we have a penalty, which will be
considered as a legal break, but elementCanEndLine() returns false.
PBA.considerLegalBreak() returns, sets newFootnotes to false, so that when we
consider the next, finishing penalty, it will be as if there are no footnotes.
Since the total of the body content and the entire footnote does not fit into
one page, considerLegalBreak() deactivates the node, and the algorithm restarts
from that position further on.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to