See also FOPProjectPages.
This page contains high-level tasks for Apache FOP. If you like to help with the development, look here for ideas what to implement and notify fop-dev' when you're starting with such a task. (see also FOPWorkEstimates)
General
Documentation
- Improve documentation on FOP Trunk.
Testing
Interfaces and frontends
(nothing here ATM)
AWT Viewer
- continue cleanup and improvements
- develop towards design with area tree/caching etc.
RTF Integration
JFOR has been integrated into FOP. Now the whole RTF support needs to be stabilized.
- Check text-decoration (it was disabled after a change in property handling for text-decoration)
- Improve property evaluation. No percentages, yet and "auto" values cause warnings.
- Better support for nested tables
- Problems with tables in static-content (messes up the document in Word)
Fonts
- Add support for font-variant. Limited support of this was available in 0.20.5.
- Support font-family lists to make life easier for our users. (should be resolved as part of the FOray integration)
- Add some sort of font substitution mechanism (becomes necessary with auto-detection)
(see also FOPFontSubsystemDesign)
FO Tree
- Remove FONode.getLogger() and make "log" protected instead.
- Allow region-before before region-body (with strict validation turned off)
- Better handling of the difference of strict and relaxed validation
- Add warning messages for misplaced non-inheritable properties during validation.
Layout managers
- Detailed documentation of layout system and overconstraint resolution
(see also FOPWorkEstimates)
Layout of
- block-containers
- multi-column documents
- tables
AutoTableLayout
- column creation when not defined
- background painting is incomplete, i.e. table-column and table-row
- column groups not supported, yet
- collapsing border model (in progress)
- Reimplement table-and-caption and table-caption
- support for table markers!
- footnotes/before floats
- space resolution in footnotes
- add proprietary option that doesn't span a footnote over all columns of a multi-column document
- fix the problem with footnote handling in multi-column documents
- keeps
- remaining issues with keep-with-previous (see keep-with-previous2-5)
- support for keep.within-line on fo:inline (partially done)
- support numeric values for keeps. Numerics would have a less favourable break than elements without keeps, but allow breaks which "always" does not. As a first phase this could be implemented as different numeric values would have no extra meaning, i.e. a value of 1 is just as likely to cause a break as 1000. (in progress)
- side floats
- layout with nearest reference area
- break/keep implications
- adding to areas
- handling of differring available IPD over multiple pages (Example: page 1 portrait, page 2 landscape)
- fix alignment of page-number-citations.
- graphics
- tests for e-g and i-f-o (look at line-stacking-strategy and place of images in a line)
Inline areas
Adding Areas
- must be able to adjust spacing (works in many places but not on tables, for example).
- add id/markers (some remaining problems when content is broken over multiple pages)
- ID has no affect on some elements, e.g. fo:table-row, i.e. such elements can't be referenced from a page-number-citation.
Area Tree
Writing mode, stacking direction and orientation, width/height vs. ipb/bpd. (See FOPWritingModesAndBidiDesign).
- Extend the intermediate format to support imposition ("two-up" etc.)
Add a new renderer which has output similar to Area Tree XML, but which is less verbose therefore improving performance. This will also require changing each renderer to be able to render from this new XML. (Intermediate Format Redesign, see AreaTreeIntermediateXml)
Renderers
PDF Renderer
- pdf state (still some improvements necessary)
- stacking directions
- Support for SVG fonts to be converted for PDF into Type 3 fonts (?)
- Support for tagged PDF
- PDF/X-3:2003 support: Fix for transparency and patterns in SVG support
PDF Library
SVG support for PDF
- Rendering of SVGs as Form XObjects.
Also see FOPBatikTranscoders.
PostScript renderer
- Support for TrueType/multibyte fonts
- SVG text painter (basics are there)
- Provide level 2 and 3 (make configurable)
- Support CMYK colours (in progress).
SVG renderer
- What's the status? broken. Could easily be restored using Batik's SVGGraphics2D to begin with.
Java2D/AWT renderer
XML renderer
(no issues ATM)
Miscellaneous
- Better integration with MathML extension, i.e. FOP needs to do baseline-adjustment in accordance with formula in MathXML (in progress at the JEuclid project).
- Bundle JEuclid with FOP once a stable release is published (caveat: JEuclid is using Java 1.5!)
- Bundle Barcode4J with FOP when the final 2.0 release is available (Jeremias Märki)
Compatibility with Harmony & GNU Classpath (GCJ, JamVM, Kaffee, IKVM etc.)
- .NET integration (using IKVM)
Whitespace Management enhancement, see WhitespaceManagement
SVG
Images
- min/opt/max support in IPD and BPD for e-g and i-f-o. IPD is easier, BPD adjustment requires feedback from page breaking.
Cleanup
There are several classes and variables left after refactorings that can probably be cleaned up. Here's a list of things that were found so far: