https://issues.apache.org/bugzilla/show_bug.cgi?id=51304
Bug #: 51304
Summary: footnotes in multi-column region-body overlap
Product: Fop
Version: 1.1dev
Platform: All
OS/Version: All
Status: NEW
Severity: major
Priority: P2
Component: page-master/layout
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
Created attachment 27098
--> https://issues.apache.org/bugzilla/attachment.cgi?id=27098
sample FO demonstrating two sides of the same issue
Creating this bug to track the status of a known issue, for which we already
have a disabled test case.
The test comment says 'may overlap', as if it is the exception, but in
multi-column documents containing a significant amount of footnotes, it appears
to be the rule.
The effect is not always visible, and in some cases there just is no break
possibility that leaves enough content for the overlap to be triggered, but for
the remainder...
Further investigation reveals that the issue is that each column break is
determined by only taking into account the height of the footnote content
associated with _that_ particular column, which works fine for single-column
pages only.
If there are footnotes in the first column, this will cause overlaps in all
_but_ the first. If there are (also) footnotes in following columns, there will
(also) be overlap in the first.
The first part, I believe, can be fixed by a very small change in
PageBreakingAlgorithm.computeDifference(), at line 506 and following:
if (footnotesPending) {
// compute the total length of the footnotes not yet inserted
int allFootnotes = totalFootnotesLength;
// if activeNode is not a page-break, the footnotes for preceding
// column(s) should be counted as well, otherwise we need to subtract
// the footnotes already inserted
if (pageProvider.endPage(activeNode.line - 1)) {
allFootnotes -= pageNode.totalFootnotes;
}
...
This renders the first sample correctly (also for more than two columns), and
gives no complaints from the test suite. However, the third case --overlaps in
both columns-- leads to an infinite loop.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.