Added support for CCITT compression in the TIFFRenderer by switching to the ImageWriter abstraction from XML Graphics Commons.
Submitted by: Oliver Hernàndez Valls <ohernandez@notariado.org>
In addition to the contributor's patch, I made the necessary changes to use the new multi-page feature of the ImageWriter abstraction. Plus I fixed a few minor issues concerning configuration.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@447325 13f79535-47bb-0310-9956-ffa450edef68
Implemented limited support for extension properties through new methods on ElementMapping (backwards-compatible).
Moved block-progression-unit into the fox: namespace.
Implemented new extension properties: fox:orphan-content-limit and fox:widow-content-limit for fo:table and fo:list-block. See documentation for details.
Bugfix in ElementListUtils.removeLegalBreaks (concerning box/glue combinations). Added a unit test to cover the problem.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@442282 13f79535-47bb-0310-9956-ffa450edef68
Configuration option in the Java2D-based renderers that allows to disable the default white background in order to produce bitmap output with transparency.
Uninterrupted text blocks larger than 32K characters would cause overflows during layout,
so make sure the FOText char arrays are never larger, by splitting them up into multiple
instances.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@439511 13f79535-47bb-0310-9956-ffa450edef68
My last attempt at fixing SVG gradients in PDF wasn't successful. This one is:
Improved resolution of transformation matrices in PDF patterns.
Renamed PDFState.setTransform() to PDFState.concatenate() because setTransform() does a concationation and is therefore misleading. The old method is still there (just in case) but it is deprecated.
Simplified the whole transformation tracking by including the basic page transformation in the stack.
Verified the changes with basic-links in FO, fixed block-containers, a-links in SVG and SVG gradients.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@437210 13f79535-47bb-0310-9956-ffa450edef68
Rework of the marker/retrieve-marker implementation to cater for correct evaluation of percentages and relative font-sizes, as well as more correct white-space handling.
Changed the way overflowing pages are handled. The overflow property on region-body is now used to define the behaviour. It removes the "Some content could not fit..." exception that bugged so many. However, the change does not yet change any keep behaviour.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@428750 13f79535-47bb-0310-9956-ffa450edef68
Fixed a memory-leak: The FO tree part of a page-sequence was not released when a page-sequence was finished.
Added a "MemoryEater" debug helper which can replicate page-sequences of a regular FO file using the fo-replicator.xsl. Without the fix a JVM set to the normal 64MB heap size throws an OutOfMemoryError when replicating readme.fo 150 times. With the fix the memory consumption doesn't go above 10MB for the 1350 pages. Note that about one third of the time goes into garbage collection.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@428450 13f79535-47bb-0310-9956-ffa450edef68
Fixed handling for CCITT Group 4 images with fill order 2.
Submitted by: Gilles Beaugeais <gbeaugeais.at.voila.fr>
JM: Patch slightly modified/streamlined.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@424979 13f79535-47bb-0310-9956-ffa450edef68
Fixed two memory-leaks in image handling (ImageFactory and ExternalGraphic). The image cache is finally working properly. Currently implemented without the cleanup thread as done by Batik.
Added ImageIO provider for handling PNG in addition to the internal codec. ImageIO proved to be faster and less memory-intensive for PNGs. ImageIO takes precedence of the internal codec.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@424349 13f79535-47bb-0310-9956-ffa450edef68
Added initial support for PDF/X-3:2003 (ISO 15930-6:2003(E)).
Fixed bugs in PDF/A support: Transparency is now switched off and the CIDSet object is generated for CID fonts.
PDF/A and PDF/X are now "profiles" (see PDFProfile) which are used to control the allowed, required and forbidden features in PDF. PDF/A-1b and PDF/X-3:2003 can both be activated simultaneously as they are compatible.
For PDF/X, color handling has been improved a little (PDFColorSpace is now an interface, the old PDFColorSpace is now PDFDeviceColorSpace) and most importantly, the "DefaultRGB" color space is now mapped to the sRGB color space (for all colors in DeviceRGB) which ensures that all sRGB colors from XSL-FO are also sRGB colors in PDF which wasn't necessarily the case before.
For PDF/X, added support for a custom, non-sRGB output profile because PDF/X requires a "Output Device Profile" (which sRGB is not).
ICC profiles are now shared/cached among images.
Added support for fox:conversion-mode="bitmap" in the PDFRenderer to handle SVGs with transparency when transparency is forbidden (PDF/X and PDF/A). Only drawback: the image is not combined with the background. An opaque bitmap with a white background is generated.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@414272 13f79535-47bb-0310-9956-ffa450edef68
Bugfix: The combination of hyphenation and kerning resulted in slightly ragged right ends for right-aligned and justified text. The kerning values were not correctly placed and summed up for hyphenation and no-hyphenation conditions.
Bugfix: tables nested in inline elements caused a NullPointerException.
Furthermore, keep-together handling was not appropriate when a table is nested in an inline (fixes a ClassCastException).
Finally, TableContentPosition did not indicate that it generates area which made them be ignored by the InlineLM.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@406596 13f79535-47bb-0310-9956-ffa450edef68
The default sRGB color profile provided by the Java class library is no longer embedded if it is encountered. This should reduce the PDF size considerably.
Bugfix: Sections with span="all" lead to overlapping text if spanning multiple pages.
Tables and list produced an illegal value for break class on normal breaks.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@404751 13f79535-47bb-0310-9956-ffa450edef68
Content in block-containers makes better use of shrink to fit content vertically into the available area. This can be used indirectly to justify content vertically in a block-container.
PageBreakingAlgorithm now writes to a different logger than its base class. Makes debugging easier.
Some minor logging improvements to improve clarity.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@396915 13f79535-47bb-0310-9956-ffa450edef68
Bugfix: Fixed ClassCastException when retrieve-marker is used as a direct child if static-content in which case leading and trailing white space is not properly removed.
Note: This is probably more a hack than anything else, but it fixes the problem for now. If anyone has a better solution, please feel free to improve.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@396256 13f79535-47bb-0310-9956-ffa450edef68
Initial support for page-number-citation-last (XSL 1.1). Works without problems only for page-sequence so far.
Submitted by: Pierre-Henri Kraus <phkraus.at.skynet.be>
Modifications to the patch by jeremias during review:
- Tab character removed
- Some style fixes and javadoc enhancements
- Renamed some methods in AreaTreeHandler to some more speaking names
- Changed the ..._basic.xml testcase so it shows a remaining problem: Forward references are not properly resolved, yet.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@396243 13f79535-47bb-0310-9956-ffa450edef68
Bugfix: The generation of the PDF "d" (setdash) command was assuming that only integer values can be used but that isn't the case. Dash patterns PDFGraphics2D would be wrong in the process.
Bugfix: Fixed a division by zero problem in TTFReader popping up with arialuni.ttf.
Improved the detection of the capHeight and xHeight font metric values for TrueType fonts. Fonts that contain a version 3.0 PostScript table don't contain unicode glyph names. Without an xHeight value, super- and subscript does not work in FOP.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@393410 13f79535-47bb-0310-9956-ffa450edef68
Fixed various white space (non)removal issues during line building. white-space-treatment is now supported properly especially for the "preserve" case.
Made the loading of user-specified hyphenation patterns usable again and plugged it into URI resolution.
Backwards-compatibility should be maintained.
PatternParser now uses JAXP to get the SAX parser.
Moved the hyphenation pattern cache into a separate class so I can easily plug it into FopFactory later instead of having static variables.
Added serialVersionUID to HyphenationTree. Necessary because the class signature changed.
FOURIResolver does not complain about "file not found" on the log anymore since this should be done by the caller. Until now, this resulted in two log messages about the same problem on the log. "File not found" is still reported but only on level "debug" which might be helpful when tracking down a problem, but at least it's not a "WARNING" anymore.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@387477 13f79535-47bb-0310-9956-ffa450edef68