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