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

--- Comment #2 from Andreas L. Delmelle <adelme...@apache.org> 2011-06-10 
20:11:07 UTC ---

Still in the process of figuring this out, but thought I'd already float some
ideas. 

The change as described in an earlier comment --fixing the overlaps in
following columns if an earlier one had footnotes-- does not fix the behavior
after checking closer. 
For columns beyond the second, it yields impossible values for
KnuthPageNode.totalFootnotes, which is set to PBA.insertedFootnotesLength,
which in turn depends on that subtraction in case all footnotes fit. That
alteration needs to be slightly more invasive.

As for fully avoiding overlaps in multi-column layout with footnotes, as far as
I can see at the moment, it would require a new mode/type of restart.
In reality, a footnote can only be deferred to a following page (= the footnote
area spans all columns), so the footnote deferral mechanism should definitely
be revised in order to make this work.

In this particular context, we would have to keep track of the footnotes that
were added before the restart, instead of just throwing them away, and redo the
page, but using the full length of all footnotes. When we arrive at the next
unavoidable page-break, it then needs to be checked whether the citation of the
last footnote would still appear on the page. If that is not the case, the
process can be repeated with slightly less footnote content.

I am also looking into switching to one flat footnoteList, that would merge the
footnote content. This in conjunction with a list of indices pointing to the
boundaries. 
Not sure yet if that will simplify things, but it would offer the potential
benefit of being able to better handle space-resolution between footnotes
(which is currently not supported). At any rate, at this level, a list of lists
with a separate listIndex and elementIndex just seems to add to the confusion.
(Not even counting the potential bugs arising from those indices being even the
slightest bit out of synch with the list... Infinite loops, AIOOBExceptions and
the like)

Intermediate patch containing some initial work/cleanups to follow soon.

-- 
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