Bugzilla #35749:
IDs on fo:wrapper didn't register on the pages because fo:wrapper didn't have an LM that does that job for it.
The new LM for wrapper creates a dummy area so addId() can be triggered. No area is actually sent to the area tree. The WrapperLM is simply inserted before its children.
Bugfix: Proper handling of page break between normally broken parts and the parts that need to be balanced. (multi-column layout, fixes multi-column2a)
Bugfix: Corrected the calculation of the full length of the section to be broken. Could lead to strange results.
Own private logger for easier debugging.
Column balancing seems to work now.
I had to modify BreakingAlgorithm to add best records for parts which are too short.
Furthermore, it took an additional computed value to tweak the balancing. It effectively makes shorter trailing parts preferred.
Test case for Bugzilla issue: http://issues.apache.org/bugzilla/show_bug.cgi?id=35656
(specifying column widths through the first table row as described in CSS2)
Jeremias Maerki [Thu, 30 Jun 2005 11:55:46 +0000 (11:55 +0000)]
Bugzilla #35561
Print quality improvement especially for printing. The implementations don't create a bitmap image anymore, but draw directly.
Submitted by: Richard Wheeldon <richardw@geoquip-rnd.demon.co.uk>
Jeremias Maerki [Wed, 29 Jun 2005 21:01:45 +0000 (21:01 +0000)]
Fixed checks or FO of footnotes2 and page-number3 to compensate for the fixed page-number and page-number-citation LMs.
Extended checks on linelayout2.xml and enabled it.
Jeremias Maerki [Wed, 29 Jun 2005 13:15:43 +0000 (13:15 +0000)]
Bugfix: IPD for footnote region now correct in multi-column layout.
Next step at multi-column layout:
- A multi-column section that needs column balancing is normally rendered until the next-to-last page. The rest of the element are re-broken by a special balancing page breaker.
- Multiple spans supported in area tree and through break handling.
- There are still problems with footnotes and column balancing.
- Main layout loop changed to render an element list right after it's broken. The block lists are not collected anymore and then rendered.
Bugfix: PageViewportProvider had a one-off (when accessing through "relative to current element list")
Jeremias Maerki [Wed, 29 Jun 2005 13:14:55 +0000 (13:14 +0000)]
My first laughable attempt at a page breaker for balancing columns. Doesn't work if the element list fits into the first available area and doesn't balance exactly like I would like it to when the balancing actually gets active.
But it's better than nothing to start with.
Jeremias Maerki [Wed, 29 Jun 2005 12:41:31 +0000 (12:41 +0000)]
notifyFlowsFinished() indirectly used by multi-column layout to determine the restart point after span changes.
getRemainingBPD() is used by the page breaking process in multi-column layout (multiple spans).
Jeremias Maerki [Mon, 27 Jun 2005 18:00:17 +0000 (18:00 +0000)]
This is a work-around for the missing TOC on the FAQ page.
The FAQ stylesheet generates exactly one top-level section ("Questions") and multiple nested sections. Therefore, setting the min-sections value to "3" disables the TOC for the FAQ page. It would be great if one could override this value on a single page to force the TOC to appear.
Jeremias Maerki [Wed, 22 Jun 2005 14:59:54 +0000 (14:59 +0000)]
breaks supported on tables, table-row and table-cell content now. Cheap approach for now. TableContentLM is not yet restartable, but the Breaker handles that pretty well.
Improved page break handling to support the different break classes even if no new block sequence is started.
Jeremias Maerki [Tue, 21 Jun 2005 12:04:12 +0000 (12:04 +0000)]
Test cases showing ClassCastExceptions with fo:blocks inside fo:inline and fo:wrapper because InlineLayoutManager currently doesn't expect block-level nodes.
Jeremias Maerki [Mon, 20 Jun 2005 09:02:42 +0000 (09:02 +0000)]
Bugzilla: #35358
Fixed the following:
Dialog appearing when panel embedded in custom apps.
NullPointerExceptions when embedding PreviewPanel.
PreviewPanel docs inaccurate.
Submitted by: Richard Wheeldon <richardw.at.geoquip-rnd.demon.co.uk>
Jeremias Maerki [Wed, 15 Jun 2005 12:24:01 +0000 (12:24 +0000)]
Bugzilla: #35358
Improvements on Viewer application:
- Separated out the preview panels and control logic from the buttons and dialog to make it easier to use elsewhere.
- Added a continuous scrolling mode similar to that used by acrobat reader. Also added continuous facing mode.
- Added fit-width and fit-to-page zoom options.
Submitted by: Richard Wheeldon <richardw.at.geoquip-rnd.demon.co.uk>
Jeremias Maerki [Wed, 15 Jun 2005 09:08:35 +0000 (09:08 +0000)]
Page breaking process now respects changing available BPD (not IPD) over multiple pages.
PageSequenceMaster allows backtracking.
PageViewports are delivered through a PageViewportProvider class which caches PVs and handles cases where the breaking algorithm allocates PVs that turn out to be unused later (because of hard breaks which may cause blank pages, for example).
Glen Mazza [Fri, 10 Jun 2005 03:56:49 +0000 (03:56 +0000)]
Removed unused functions. Team, I switched from generatesInlineAreas() calls
to "instanceof InlineLevelLayoutManager", because AFAICT there is a 1-to-1 mapping
between the two. If no one has problems with this, I will be removing
the generatesInlineAreas() implementations next.
Jeremias Maerki [Thu, 9 Jun 2005 12:49:05 +0000 (12:49 +0000)]
Default compression set to packbits which is widely supported. Uncompressed TIFFs are huge.
Enable encoding of color bitmaps (ideas stolen from Batik's TIFFTranscoder)
Commented the code that converts the color bitmap into a black and white image. The FAX compression types are not supported by the Batik TIFF codec so I disabled this. Later we will probably need a config switch to enable B/W images.
Resolution is written to the TIFF file.
Jeremias Maerki [Thu, 9 Jun 2005 09:56:24 +0000 (09:56 +0000)]
I don't know what change actually did this during the last few days but it seems that the pageSequence starts now come in the right order to the Area Tree Renderer so I have to change the checks now. I didn't bother to track down the oddity back then.
Jeremias Maerki [Thu, 9 Jun 2005 08:49:27 +0000 (08:49 +0000)]
Bugzilla: #33760
Resurrected Java2D/AWT Renderer (including bitmap output to PNG and TIFF using the Batik codecs and print capability).
Submitted by: Renaud Richardet <renaud.richardet.at.gmail.com>
Changes on the original patch:
- PageViewport: isResolved() caused a NPE which I fixed.
Jeremias Maerki [Thu, 9 Jun 2005 06:45:49 +0000 (06:45 +0000)]
Improvement for FOText instance creation. The text is consolidated into single FOText nodes instead of multiple ones due to multiple SAX characters() calls. This fixes some of the layout engine tests that failed in certain environments.
Submitted by: "Hock Szabolcs" <Hock.Szabolcs.at.t-online.co.hu>
Glen Mazza [Tue, 7 Jun 2005 20:43:43 +0000 (20:43 +0000)]
Removed LM.initialize() -- switched to internal initialization of all LM's.
Did initialization from constructor, as that appeared sufficient for all of them.
Should for any LM, initialization not be available until the parentLM set,
then we just need to do this process within a setParent() override.
Also removed calls to superclass initialization, because as yet no initialization
was occurring in those superclasses.