From branch: char encoding for pdf output.
From branch: delete output file if error occured.
From branch: add CCITT TIFF file support for embedding in pdf.
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 will need to be available for
retrieving. The marker can then be layed out as normal.
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 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.
Make it possible to redo static regions by determining which
areas need a new layout for new page.
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
PDF and PS transcoders now have a common base class. It also
optionally supports Avalon Logging and Configuration. Support for
plugging in an EntityResolver into Batik is now included.
Implemented on-the-fly stream output (less buffering leads to
decreased memory usage and increased speed).
General refactoring of the PDF library to centralize certain
behaviour and reduce redundancy. Some memory allocation
optimizations.
Enhanced PDF encryption support so it is optional depending on the
availability of JCE and/or cryptographic algorithms.
Added PDF encryption support (40bit RC4, PDF 1.3 level).
Moved all sources from src/org/** to src/java/org/**.
Port of the PDF TextPainter to PostScript. Support for SEG_QUADTO (curves).
Some support for viewport traits (background and borders).
Brought back the PostScript renderer. Compared to the branch it
has a cleaner separation of PostScript generation code from
renderer-specific code.
Fixed bug #16257: Get ascender/descender from OS/2 table if the ones in
hhea are zero (TrueType fonts).
Fixed bug #15877: ArrayIndexOutOfBoundException with certain TrueType
fonts. Reserved name indexes were not ignored.
Moved general font classes away from the PDF-dependent places to
org.apache.fop.fonts. Various detail improvements to make the code
easier to understand. No semantical changes.
Moved all TrueType font related classes to
org.apache.fop.fonts.truetype.
Moved all Adobe Type 1 font related classes to
org.apache.fop.fonts.type1. Added a PFB parser for proper decoding of
PFB files.
Updated to Xerces 2.2.1 and Xalan 2.4.1. Updated all the related files
and made sure all contrib builds work again. Removed necessity for a
buildtools.jar.
Correct ordering of loca table in embedded true type fonts.
Fix taken over from maintenance branch.
New dev fonts.xml file to store some useful links and information
about font work
Added links to the Eyebrowse mail list archives.
Added help and unsubscribe email addresses for the fop-user
& fop-dev lists.
Rewrote/rearranged some of the verbiage for better structure.
Valid URIs for all xdoc DTD declarations.
Some minor changes for xdoc documents that were discovered to be invalid
after the DTD declarations were fixed.
Changed tabs.xml so that the 2nd tab on our site will now read "Redesign"
instead of "dev".
Better links to Bugzilla.
Reorganized content into a checklist.
Added support for markers in fo tree. Markers added when valid
to proper fo objects.
Added compliance document showing table of fop compliance.
From branch: fixed jpeg icc profile error with acrobat 5.
Awt viewer improvements - uses java PropertyResourceBundle
for locale strings, cleaned up code and removed old classes
and other small improvements
Started list layout implementation.
Improved pagination and page number for page sequences.
Implemented border and background for many areas.
Started table layout implementation.
Added link for patch queue.
Fixed npe when a page has several forward links.
Use HashSet to store unresolved references (pages) in area tree
to prevent duplication.
Implemented example caching mechanism to store pages.
When a page contains a forward reference that has not been
resolved then it can save the page contents to
disk to save memory.
Linking to a specific page and a named destinations of an
external PDF file.
(see www.adobe.com/products/acrobat/pdfs/c01acrotip.pdf)
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