The Apache Software Foundation > Apache XML Graphics Project
Font size:      

Release Notes for Apache FOP 0.95beta

Notes

Besides the important changes listed below, the most important areas with improvements in this release are:

  • Many bugfixes in tables, plus some new features (full support for keeps and breaks, border conditionality, background on columns and header/footer/body)
  • Improvements and bugfixes for font handling and font auto-detection/-registration.
  • Performance improvements and memory optimizations for the property handling in the FO tree.

Please note that with this release, we've dropped support for Java 1.3. FOP will, from now on, require at least Java 1.4.

There have been a few changes in tables that make FOP both more strict and more compliant to the Recommendation:

  • XSL-FO 1.1 explicitly states that a row-spanning fo:table-cell element is not allowed to span further than its enclosing fo:table-header/footer/body element (see bottom of section 6.7.3). From now on FOP will give a validation error if a document contains such an erroneous cell.
  • If an fo:table element contains explicit fo:table-column children, then those elements set the total number of columns in the table. This means that a validation error will now occur if a row contains more cells than available columns. This change allows to improve performance, since the rendering of the table may start as soon as the table-column elements have been parsed.

    If more flexibility is needed, then the fo:table-column elements may be just omitted. The final number of columns will then be set by the row that has the most cells.

The image libraries Jimi and JAI are no longer needed (and used) for image loading. Instead we rely completely on the Image I/O API that has been introduced with Java 1.4. If you still need support for bitmap image formats that do not work out-of-the-box, we recommend adding JAI Image I/O Tools (an Image I/O compatible image codec package) to the classpath. JAI is still required for building the FOP distribution but it is optional for normal builds and at run-time.

Major Changes in Version 0.95beta

Note
This is not a complete list of changes, just some of the more important ones. A full list of changes in this release is available.

Changes to the Bundled Extensions

  • add Added new extension element: fox:external-document. It allows to add whole documents such as multi-page TIFF images to be inserted as peers to a page-sequence. Each image will make up an entire page. See the documentation for details. Committed by JM.

Changes to the Image Support

  • fix A new image loading framework has been introduced to fix various problems with external graphics and improve performance. Committed by JM.

Changes to the Layout Engine

  • add Added support for background on fo:table-column and fo:table-header/footer/body elements. Committed by VH.
  • add Added support for conditional borders in tables, for both the separate and the collapsing border model. Committed by VH. See Issue 43934.
  • add Added support for scale-down-to-fit and scale-up-to-fit (introduced in XSL 1.1). Committed by JM.

Changes to Renderers (Output Formats)

  • update PDF Transcoder (SVG) text painting has been completely rewritten. Except for some special cases (with filters for example), all text (including flow text) is now painted using PDF text operators. Committed by JM.