Sort out page sequence details and page numbering.
Add markers to page when areas added.
When an area is added that is created by an FO that contains markers
then the markers can also be added. There are four types of positions
for markers.
Retrieve markers from page.
When doing the static areas the markers wil need to be available for
retrieving. The marker can then be layed out as normal.
implement the caching mechanism to store pages
when a page contains a forward reference that has not been
resolved then we need to be able to save the page contents to
disk to save memory
Implement table layout.
The table layout will use the same technique as the block layout. It
will locate suitable breaks between rows or inside rows until table
finished or end of bpd reached.
Implement list layout.
The list layout like the table layout will be looking for suitable
breaks from the child objects. The it will add the appropriate areas to
the area tree.
Implement spacing between blocks and the adjustment to
actual height when adding areas.
Implement force page breaks.
Implement page columns.
Each column will need to layout until the page is complete.
Need to improve the way that breaks are stored.
Implement footnote.
A footnote creates an inline parent and a block that is put into
the footnote area.
Implement border and background for block and inline areas.
Implement floats.
A float adds an anchor inline or block area to the parent
and a block is added to the nearest reference area. The
reference area layout manager needs to check it fits and
adjust ipd available to line areas.
Sort out writing directions and stacking.
All blocks and line areas can be stack in different directions
depending on writing mode and orientation.
Need to ensure that all areas can be stacked properly in the
correct direction.
Design FOP API interfaces.
Integrate with Jakarta Avalon: logging, configuration, URI resolver,
component management, image caching etc.
Investigate using form XObject for repeated areas
such as static and table header/footer only when the
area does not change.
Investigate using form XObject for svg images
this can make the svg cacheable in the pdf doc
Started table layout managers.
Implemented render pages model.
Implemented link part of basic link. Internal destination
is resolved. The link is a trait on the inline parent.
Got bookmark extension working.
Make sure the extension id references are resolved. Once the data is
fully resolved then implement a way for the pdf renderer to add the
bookmarks. See branch for code how to add bookmarks.
add the pdf side part of bookmark extension
complete resolving id areas
Add id areas to page when area added.
When the layout managers add an area to the page it can also add the id
information.
Resolve id references on other pages, extensions.
When an id is added to a page this will allow id references to be
resolved.
Fixed a bug in the TTFReader where it tried to read
values for the end character. Handles unsupported
non-unicode cmap better. Added logging.
Add static areas to page
The static areas will need to be handled in a similar way to the flow
except the bpd is unlimited and it will need to reset and repeat for
each page.
Implemented leader, get leader working and sort out
how inline objects adjust to the ipd
Calculate line height.
The line height is calculated while finding breaks.
Improved alignment to use the breaks and context.
Updated batik with change to TextPainter interface and UserAgent.
Improved PDFTextPainter to handle more types of text.
Added a RunLengthEncode filter for the PostScript renderer.
Replaced the PostScript filters with the refactored ones from the maintenance
branch.
First batch of changes in preparation for adoption of Avalon patterns.
Only changes on logging for now. Mostly usage of LogEnabled contract interface.
Improve build process for more flexibility when external jars change.
Changed to use -projecthelp option from Ant 1.5 instead of "usage" target.
Updated Avalon Framework JAR (with Log4J support, Bug 11274)
Copies across overview for javadocs build.
chmod antRun in build.sh.
Minor patch for the TTFReader to remove an unreachable statement
compiler warning
workaround for eps files that have invalid float bounding box values
float values are rounded off according to the spec the
%%HiResBoundingBox should be used instead for floating position
values
Simplified ASCII85Filter computation, thereby hopefully
working around JVM bugs
added understanding layout manager document
fixed master-name and a test setup problem
moved embed font info into the render.pdf package
reduced dependancy on Configuration
separated the specific PDFRender functionality from the CTM class
and created a small utility class for the renderer to use
FontState only used for calculations,
stores font name and size on area tree
Improved PDFTextPainter to handle different text better
Applied root element viewBox transform for svg to pdf transcoder
image test for formats, viewport and scaling
added various SVG to PDF tests for trancoder
and including in fo
Implemented viewport and scaling for images
Implemented viewport and scaling for instream svg
Removed old area tree
Optimised gstate usage in pdf files to minimize file size
Optimised function usage, reuses old functions in pdf files
to minimize file size
Added transparancy to pdf
Outputs images immediately to the stream, also drops
reference to image data
Added resource context for pattern resources
Added pdf transcoder build target
Made PDF streams externally configured
Fixed svg linking in pdf, works with viewbox and url
Start to mif implementation with new structure handlers
New structure handler for structure type documents, rtf, mif
and for better layout processing.
Changed extensions to allow for external xml
Can have a default element mapping for extensions
New area tree model
New renderer model
Added handlers for xml in renderer
svg now in an xml handler, FOP can be used without batik
Removed old xerces and xalan
Updated to use Jaxp
Updated to use new avalon framework logger
Redid image handling so it can use a cache and synchronizes properly
only on the current image while loading
Changed bookmark extension, now requires a wrapping element bookmark
New layout system using layout managers
Implemented handlers for whitespace handling that collapse whitespace
better in various places
Changed area tree xml format to match the area tree hierarchy