Jeremias Maerki [Fri, 6 Feb 2009 14:39:07 +0000 (14:39 +0000)]
Moved area tree example to package embedding/atxml.
Created a new concatenation example for the new IF in package embedding/intermediate.
Exchanged IFRendererMaker with IFSerializerMaker.
Removed unused method getConfigurator() from document handler makers.
Extracting original nested IFException in IFParser's parse() method.
Removed obsolete IFSerializerConfiguration. Now covered by PrintRendererConfigurator.
Delegating FontInfo setter calls to mimic handlers in IFSerializer.
Fixed a bug in RendererFactory for the case when FOUserAgent.setDocumentHandlerOverride() is used.
Added a generic IFDocumentHandler proxy class (IFDocumentHandlerProxy).
Added a simple IFConcatenator helper class for simple IF concatenations (experimental).
Jeremias Maerki [Thu, 5 Feb 2009 10:40:52 +0000 (10:40 +0000)]
AFP Output: Added a configuration option to override the resource level defaults in the code. The chosen defaults in code may not always be the best. For example, a user reported that they can't use print-level images for some reason and it is not possible to switch on inlining for background images.
Jeremias Maerki [Wed, 4 Feb 2009 10:10:13 +0000 (10:10 +0000)]
Trying to work around a problem with Java 1.4 when spaces are in Ant's basedir property as happened on my local Hudson instance because I had spaces in the Hudson job name.
Jeremias Maerki [Wed, 4 Feb 2009 09:28:48 +0000 (09:28 +0000)]
Fixed classpath problem concerning XMLUnit.
Split JUnits targets into a reduced set (without layout engine tests) and a full set.
Reactivated "gump" target and assigning it the reduced set. I want to see if Gump can do a bit more of our test suite without failing.
Jeremias Maerki [Fri, 30 Jan 2009 19:28:59 +0000 (19:28 +0000)]
Fixed test error for transcoders.
Enabled disabling strict validation from inside the test case. This enabled activating the border/padding test case for region references.
Refactored layout engine and intermediate format tests a bit to increase code reuse.
Fixed the way border/padding are set on the area tree. The current way had unwanted side-effects for the AreaTreeParser.
Added support for border/padding on region references when parsing from area tree XML.
Bugzilla #46638: MinOptMaxUtil.toMinOptMax was converting LengthRangeProperty objects into illegal MinOptMax objects (in some cases opt could be inferior to min).
Bugzilla #46315: extension to disable column balancing before blocks spanning the whole page, in multiple-column documents.
Patch submitted by Georg Datterl, applied with some modifications (mainly Checkstyle issues)
Jeremias Maerki [Wed, 28 Jan 2009 13:30:22 +0000 (13:30 +0000)]
Updated dependency list.
Added XMLUnit 1.2 as we've already got many other build-only third-parties in lib/build and adding XMLUnit makes FOP easier to set up in an IDE.
Jeremias Maerki [Wed, 28 Jan 2009 11:10:51 +0000 (11:10 +0000)]
Moved MonochromeBitmapConverter from PCL to utility package for later reuse in AFP.
Moved BitmapImageUtil to a subpackage under util.
Added support for creating (hard) page segments for images when working in bi-level mode. Include Image Object (IOB) is a newer feature and not supported everywhere. Since page segments cannot be scaled, they have to be generated for each distinctive target size.
Bugfix: Reduced maximum chunk sizes for GraphicsData and ImageObject to conform to interchange set 1.
Bugfix: Removed PresentationSpaceResetMixingTriplet which is not allowed in interchange set 1.
Bugfix: Removed invalid byte in IDE Structure Parameter.
Added support for creating FS10 images for bi-level bitmaps for better interoperability.
Disabled optional and unnecessary name in ImageSegment. This name is never referenced.
Refactored environment groups a bit to avoid duplicate data structures due to subclassing.
Added explicit MappingOptionTriplet for image scaling.
Jeremias Maerki [Sun, 18 Jan 2009 12:48:58 +0000 (12:48 +0000)]
A bit of housekeeping:
- one site is infected with a Trojan horse
- Assentis no longer supports FOP
- removed dead links
- added xmlroff to complete the list of open source implementations
- PDFBox has migrated
Jeremias Maerki [Fri, 16 Jan 2009 14:35:12 +0000 (14:35 +0000)]
Added support for the AFP Extensions.
Added default font setup.
Added a last-resort font selection fallback for cases where an IF file was not created with the right font set.
Jeremias Maerki [Fri, 16 Jan 2009 14:20:59 +0000 (14:20 +0000)]
Bugfix: Weave included page segments into the object sequence instead of inserting them at the beginning. Otherwise they can be overpainted by marks that would otherwise lay under the page segment.
Jeremias Maerki [Thu, 15 Jan 2009 16:54:45 +0000 (16:54 +0000)]
Added in support for subtractive mode in 1-bit images. This should further reduce AFP file sizes for certain images.
We need to change the way the AFP library works in the long term. Adding one boolean flag causes changes in 5 different classes. That can't be it.
Jeremias Maerki [Thu, 15 Jan 2009 15:51:36 +0000 (15:51 +0000)]
Extracted some bitmap handling functions from the PCL implementation into new BitmapImageUtil class.
Added limited support for more efficient image encoding in AFP. Where possible the raw image data from the RenderedImage is used. Limitations include:
- missing support for color lookup tables (IndexColorModel)
- monochrome images: additive/subtractive flag is not supported by the AFP library, yet.
Images with fewer bits per pixel than specified in the configuration are no longer blown up to 4, 8 or even 24 bits.
Jeremias Maerki [Sun, 11 Jan 2009 11:31:24 +0000 (11:31 +0000)]
Started new IF implementation for AFP (incomplete, supporting filled rects, text and images). Work in progress!
Moved PTOCA (presentation text) command sequence production into the new "ptoca" package.
The PtocaBuilder class allows more flexible command sequence production than if you have to pass in an "info object".
Jeremias Maerki [Sun, 11 Jan 2009 11:27:03 +0000 (11:27 +0000)]
Added general support for the fox:conversion-mode inside the new IF.
Cleaned up usage of fox:conversion-mode foreign attribute.
Plus additional cleanup.
Jeremias Maerki [Sun, 11 Jan 2009 11:22:41 +0000 (11:22 +0000)]
Added shortcut that avoids painting text using the native text handler if the Graphics2D passed in is not compatible (as with SVG filter operations).
Avoid NPE when font size returns null.
Do anchor evaluation before the getText() method as it returns null afterwards when the ACI's state has changed.
Jeremias Maerki [Sun, 11 Jan 2009 11:15:34 +0000 (11:15 +0000)]
GOCA improvements:
Improved font size and line width calculation.
Removed superfluous AFPGraphics2D.setFontInfo() method.
Avoid ClassCastException inside SVG filter operations when not an AFPGraphics2D is passed in.
Fixed line width state handling (it appears as if after a new segment the line width is reset. Found that out empirically. Didn't find the corresponding reference in the spec).
Jeremias Maerki [Wed, 7 Jan 2009 08:49:29 +0000 (08:49 +0000)]
Give javadoc utility some more memory to avoid OutOfMemoryErrors.
Some additional package description and better package grouping.
Handle @event.severity tag.
Jeremias Maerki [Mon, 5 Jan 2009 07:47:02 +0000 (07:47 +0000)]
FOP now creates ToUnicode CMaps for single-byte fonts that don't use built-in encodings to help PDF text extractors interpreting characters.
PDF CMaps now support single-byte characters.
Jeremias Maerki [Sun, 4 Jan 2009 12:59:29 +0000 (12:59 +0000)]
Added support for forcing single-byte encodings for TrueType fonts without creating an XML font metric file (see "encoding-mode" attribute on "font" element in updated documentation).
See also Acrobat PDF merge performance problem on fop-users: http://markmail.org/message/dbbaaht4qshhqs3v
Jeremias Maerki [Fri, 2 Jan 2009 14:29:30 +0000 (14:29 +0000)]
Introduced IFContext to provide access to foreign attributes (as discussed on fop-dev).
Removed the foreign attributes map from the drawImage methods as a consequence.
Added support for foreign attributes on the page (PCL's paper-source and duplex-mode extensions).
Fixed a couple of bugs parsing the document navigation elements.
Build-time test suite now runs through.
Jeremias Maerki [Mon, 22 Dec 2008 18:23:03 +0000 (18:23 +0000)]
Most of the PostScript extensions are implemented in PSPainter now (and tested).
Bugfix: IFSerializer wrote out the page name instead of the page-master-name for the page-master-name attribute.
Jeremias Maerki [Mon, 22 Dec 2008 14:11:52 +0000 (14:11 +0000)]
Need to use xml:space="preserve" on text elements in IF and SVG output to avoid problems with editing those files in XML editors and rendering SVG text starting or ending with whitespace.
Jeremias Maerki [Wed, 17 Dec 2008 15:01:21 +0000 (15:01 +0000)]
Added getUserAgent() to IFDocumentHandler (implemented by all implementations already).
Full image support for PSPainter.
PostScript output now uses the ImageHandler facility (IF and renderer) for both inline (ImageHandler interface) and form image production (PSImageHandler interface). No more hard-coded image flavor list.
Resource optimization extended so images that are only used once are inlined to lower memory requirements in the PostScript VM.
Added test cases using Commons' DSC parser to verify the new functionality.
Added IFDocumentHandler override possibility in FOUserAgent (just like for FOEventHandler and Renderer).
Subject support for PDF output.
Jeremias Maerki [Thu, 11 Dec 2008 14:15:32 +0000 (14:15 +0000)]
My first attempt at implementing links was messed up. This second attempt actually works.
Optimized IF serialization a bit: only real changes in the IF state are serialized to the IF (makes smaller files and results in higher performance).
Jeremias Maerki [Tue, 9 Dec 2008 23:50:41 +0000 (23:50 +0000)]
Forgot to add link support. First version added now. Generalizing this for the IF is not so easy it seems.
Moved document navigation features (bookmarks, links, named destinations) into a separate handler interface that can be optionally implemented by document handler implementations.
This will need a bit more work to be complete (parsing for document navigation from IF, cleanup in PDF library etc.).
Jeremias Maerki [Tue, 9 Dec 2008 15:00:35 +0000 (15:00 +0000)]
Merge from Trunk revisions 719662 - 724689.
Conflict for ImageHandler interface resolved by renaming Trunk's ImageHandler to ImageHandlerBase and extending the other ImageHandler from that.
Bugzilla 46319:
Fixed a memory-leak in Marker.MarkerAttribute, where an instance was used as both key and value
in a WeakHashMap, effectively neutralizing the benefit of using WeakReferences.
Solved by extending PropertyCache to work for MarkerAttributes as well.
Jeremias Maerki [Sun, 7 Dec 2008 12:28:27 +0000 (12:28 +0000)]
FopCharacterSet doesn't follow the same contract as its superclass. The metrics must not be multiplied by the font size in the FopCharacterSet class. Only RasterFont or OutlineFont should do that.