--- Comment #11 from Vincent Hennebert <>  2009-04-15 
08:57:23 PST ---
(In reply to comment #7)
> Hi Andreas,
> I'd suggest you not to worry about changes in the number of columns, otherwise
> you will indeed bump into the very problems that I am trying to solve at the
> moment. It's a known limitation that FOP can't handle pages of different 
> widths
> at the moment, and changes in the number of columns are basically that:
> different line widths.
> Your idea of deferring the calls to addAreas looks promising to me, I think 
> you
> should pursue in that direction and that may be enough for now. Also, in the
> sample file the dimensions of the region-body for the last page (PageBack) are
> the same as for the other pages (PageFront). I've seen a lot of documents for
> which that was the case, and the only difference was in the static-contents 
> for
> the page header/footer. It may be worthwhile to check the dimensions of the
> last page, and if they are the same there's no need to re-do page breaking at
> all. Or even, if the bpd of the last page is smaller than on other pages but
> big enough to receive the content for the last part, then no need to re-do 
> page
> breaking either. That would also solve the column-balancing problem.

Thinking more about that, assuming that we leave the changing IPD problem aside
for now, no re-layouting should be necessary at all. If the bpd of the last
page is smaller than the content, then I think the page should be left as is,
and another page should be generated using the page-master for
page-position="last" (plus possibly an additional empty one in between to
honour the force-page-count property).

In the case where the content fits on the last page, then maybe it's possible
to simply 'detach' from the page-area the region-viewport area corresponding to
the region-body, and re-attach it to a page-area produced by the page-master
for page-position="last". It may be simpler (and also more efficient) than
maintaining a list of deferred areas, re-launching the breaking algorithm, etc.



Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to