See also FOPProjectPages.
General
Interfaces and frontends
!decide on course of action
- Avalon integration
- simplified API
- complete renderer plugabillity
Configuration
AWT Viewer
- continue cleanup and improvements
- develop towards design with area tree/caching etc.
RTF Integration
jfor... for FOP (see JforIntegrationInFop)
Fonts
- use system fonts
- Central font registry (renderer-independent, so multiple renderers may be used in the same run in the future)
- clean up
- Add parser for AFM files (Type 1 support)
- Extend PFB parser so it can read metric data
(see FOPFontSubsystemDesign)
FO Tree
- Integrate Peter's work from the Alt-Redesign branch with the trunk.
(See FOPAltDesignIntegration)
Issues in the alt.design code
- Tidying existing structure
- Add corresponding properties handling
- Extend the initial handling of markers to all affected FO classes.
- Cleaning up validation of data types
Accessing property values
- No property objects
- Storage of property values
- Potential problem with static-content
Redesign of Properties
PropertiesRedesign Discussion dated 24-Nov-2003
Extending current design
- Add support for FOP extensions
- Tighter Area Tree integration
Layout managers
- Finding what to layout where.
- Bpd space hendling
- Adding areas to area tree.
Resolution of over-constrained documents (see FOPOverConstraintDesign)
- Detailed documentation of layout system and overconstraint resolution
Layout of
- tables
- auto layout
- column creation when not defined
- col/row spanning
- border handling, body/column/row area handling
- proper header/footer handling
- footnotes/before floats
- layout of footnote with other layout managers
- adding footnote area to area tree
- keeps
- layout issues
- markers
- adding markers when adding associated areas
- retrieving markers from available lists
- lists
- indent positionings
- side floats
- layout with nearest reference area
- break/keep implications
- adding to areas
Inline areas
- underline/strikethrough/overline
- baseline alignment
- ipd adjustment after page number resolution
Adding Areas
- must be able to adjust spacing.
- add id/markers
- setup area with traits: borders, background, ipd, bpd etc.
- clear area info once area added to parent and finished
- create correct hierarchy of areas, especially for tables, spans and page regions
Area Tree
- Is all the area tree information correct.
Are { { { BlockViewport } } } and other viewports correct.
- How can extra things be handled.
- Optimistaions.
Writing mode, stacking direction and orientation, width/height vs. ipb/bpd. (See FOPWritingModesAndBidiDesign).
Renderers
The renderer interface is used by the { { { LayoutHandler } } } and { { { AreaTree } } } for setup, page sequences and pages.
- Inline areas render themselves on the Renderer.
- The abstract renderer is meant to completely handle the area tree without doing any rendering. So that renderers that subclass this only need to override those methods that require/support particular areas.
- The super methods can be used for normal area tree handling and renderer positioning.
- Check that the current renderer design is suitable and covers all areas in all situations.
- Especially make sure the clipping can be done in a way that is supported by all renderers
Minimal work for subclasses to override { { { AbstractRenderer } } }.
- Try to port some similarities between PDF and PS renderers to a common base class.
- Avoid type casting where possible.
Is the { { { BlockViewport } } } handled appropriately.
- Can different orientation and stacking directions be handled. Should document extensions have an extension handler so that user defined extension can be handled.
- Bring back all the other renderers: PCL, AWT, TXT
- Develop new renderers: AFP, maybe EMF
PDF Renderer
- border/line styles
- pdf state
- background pattern with image
- stacking directions
- Support for SVG fonts to be converted for PDF into Type 3 fonts (?)
PDF Library
- documentation
- optimisations
- some additions so it can load and read pdf documents
- maybe add possibility to generate PDF 1.3 only (must be configurable)
- encryption (partly done, needs fixing, add support for PDF 1.4 level encryption)
- Improve building of PDF dictionaries (also needed to properly finish PDF encryption for string and text entries)
possible addition: Support of one or more of the PDF/X standards. See http://www.pdfx.info. Big question is which one(s)?
SVG support for PDF
- text drawing improvements.
Also see FOPBatikTranscoders.
{ { { PostScript } } } renderer
- Resolve problem with encoding mismatch.
- More complete SVG implementation
- SVG text painter (basics are there)
Full SVG transcoder (infrastructure started, See FOPBatikTranscoders)
- Provide level 2 and 3 (make configurable)
- Add infrastructure for enabling EPS output
SVG renderer
- What's the status?
AWT renderer
- We need that one soon for the validation of the API because of the special output formats (AWT, print)
XML renderer
- improve and update xml renderer so that it can output SAX
Miscellaneous
XML Format
improve and update { { { AreaTreeBuilder } } } so that it takes SAX input
SVG
- generic converter for svg to image for inserting into output (for renderers without SVG support and as an additional possibility)