Adrian Cumiskey [Fri, 20 Mar 2009 15:18:54 +0000 (15:18 +0000)]
A little font configuration cleaning.
* Extracted business logic from PrintRendererConfigurator and created a new FontDetector and FontAdder in org.apache.fop.fonts package.
* Created a new FontInfoConfigurator that factors out a lot of the static stuff in PrintRendererConfigurator.
* PDFDocumentGraphics2DConfigurator now uses a new FontInfoConfigurator() instead of static PrintRendererConfigurator.buildFontListFromConfiguration() call.
* static method updateReferencedFonts() in PrintRendererConfigurator moved to an instance method in FontManager.
Bugzilla 46828: Activation of the possibility to use CachedRenderPagesModel to conserve memory in case of large documents with a lot of cross-references. (area tree will be serialized to disk to avoid keeping it entirely in memory)
Thanks to Dario Laeria for submitting and testing.
Jeremias Maerki [Tue, 10 Mar 2009 16:16:31 +0000 (16:16 +0000)]
Restored ability to specify any URI base URI (URL), not just file URLs. For file URLs and file paths there's still a check whether the directory exists.
Enabled FontBaseBadTestCase.
Jeremias Maerki [Mon, 9 Mar 2009 08:12:45 +0000 (08:12 +0000)]
Restored compatibility with Java VMs that don't support nio Charsets for codepages such as Cp500 (EBCDIC). The simplifications for the fallback case may look wrong but the code basically represents the state before revision 746664 which introduced this problem.
Jeremias Maerki [Sun, 1 Mar 2009 08:55:35 +0000 (08:55 +0000)]
Added support for adding extension elements and foreign attributes on fo:page-sequence.
AFP: Added support for Invoke Medium Map (IMM).
AFP: Fixed a bug adding TLEs in DataStream (TLEs were added to the page group instead of to the page).
Jeremias Maerki [Mon, 23 Feb 2009 13:25:08 +0000 (13:25 +0000)]
";mode=painter" MIME suffix removed from all new IFDocumentHandler implementations.
Changed RendererFactory to prefer IFDocumentHandler over Renderer if available.
A setting on RendererFactory allows to to prefer Renderer over IFDocumentHandler if necessary for compatibility. (not yet tied into CLI or configuration)
Jeremias Maerki [Sun, 22 Feb 2009 12:40:44 +0000 (12:40 +0000)]
Merged feature branch https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign (603620-746655) into Trunk.
This adds a new intermediate format to FOP. Please see the documentation for details.
Jeremias Maerki [Sun, 22 Feb 2009 11:07:43 +0000 (11:07 +0000)]
Trying to work around a problem reintegrating the branch. Found a blog entry that lists deleting mergeinfo entries in subdirectories as a possible solution. Hopefully, this will help.
Jeremias Maerki [Mon, 16 Feb 2009 08:25:25 +0000 (08:25 +0000)]
Added an additional font fallback to PrintRenderer to avoid some problems when processing an intermediate file generated for a different output format than the current one.
Jeremias Maerki [Mon, 16 Feb 2009 08:09:29 +0000 (08:09 +0000)]
Now using the "font" filter list entry for font streams.
Made T1 and TTF streams children of a commons base class.
Refactored default filter addition a bit.
Jeremias Maerki [Sun, 15 Feb 2009 16:38:14 +0000 (16:38 +0000)]
Fixed IllegalArgumentException (no object number assigned) for this makeLink method. It makes no sense to add this to the trailer objects AFAICS. This particular method is only used by PDFGraphics2D's makeLink() method (SVG's #svgView(viewBox()) functionality). The positioning of the viewbox is still wrong, though. It must have been broken at some point.
Jeremias Maerki [Wed, 11 Feb 2009 08:41:04 +0000 (08:41 +0000)]
Bugzilla #46686:
Use temporary directory for the font cache if the user home directory is not write-accessible.
Submitted by: Alok Singh <alok.at.jivesoftware.com>
Modifications to patch by jeremias:
- Bugfix: original code switched to temporary directory if the .fop directory already existed in user home.
Jeremias Maerki [Mon, 9 Feb 2009 16:58:29 +0000 (16:58 +0000)]
Added code to detect when a Type 1 font is not configured to use its native encoding. In such a case it needs to be re-encoded in PostScript. That used to always happen in earlier FOP versions but since support was added for all glyphs in a font, this has become a problem. So this change restores the behaviour of before when XML font metrics files or just the PFM are used.
Jeremias Maerki [Mon, 9 Feb 2009 15:29:33 +0000 (15:29 +0000)]
Bugzilla #45342:
AFP Fonts: Fixed interpretation of metric for fonts with fixed metrics and made sure all repeating groups in FNP (Font Position) are processed.
Submitted by: Emil Maskovsky <styryx.at.seznam.cz>
Modifications to patch by jeremias:
- Style changes (tabs, variable names, javadocs)
- Fixed handling of spaces in URLs (as in IF branch)
- Modified the way the metrics are calculated (Emil's solution didn't produce the values required by FOP)
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.