History of Changes
Version 2.0 (3 June 2015)
See Change list in Jira.
-
FOP-2456: PDF VT and Page Piece support
-
FOP-2448: PDF to PS deduplication of images
-
FOP-2447: Text cut off for changing IPD for page starting with a table
-
FOP-2446: OTF subset error
-
FOP-2445: PDF Linearization
-
FOP-2443: Repeated Table headers and footers with markers are not being treated as artifacts
-
FOP-2442: Specifying the expansion of an abbreviation
-
FOP-2433: Support CMYK TIFFs in AFP through IOCA FS45
-
FOP-2432: OTF font NPE
-
FOP-2424: Allow for type1 afm/pfm files to be in a different path than the pfb file
-
FOP-2422: fix erroneous use of mapped char with fixed width space chars
-
FOP-2420: ensure word area's bidi level is initialized when word is mapped to empty string, e.g., when controls are elided
-
FOP-2417: Exception caused by letter space handling in Chinese sentence
-
FOP-2416: add support for Arabic Joiners (ZWJ/ZWNJ) - preliminary
-
FOP-2415: prevent NPE when Indic script syllabizer is not available
-
FOP-2412: Reduce PDF to PS filesize
-
FOP-2411: PDF to PDF Link not working
-
FOP-2410: fix fo:page-number in bidi context
-
FOP-2410: add test for bug fix
-
FOP-2406: Error when image next to pdf
-
FOP-2398: Image written as having 72 DPI instead of its intrinstic resolution
-
FOP-2395: PDF encryption does not work when PDF version is set in FOP config; change suggested by Seifeddine Dridi.
-
FOP-2394: Removed non-standard layout extensions
-
FOP-2393: only the gradient's transform should be used. Other transforms will have already been applied to the user space.
-
FOP-2391: preliminary (but incomplete) support for complex script text nodes in svg foreign object
-
FOP-2389: PDFEncryption: error when Password length>32
-
FOP-2385: Add ability to specify custom properties in the Document Information Dictionary
-
FOP-2372: New extension to resize background images
-
FOP-2367: Support for color space OCA; patch submitted by Seifeddine Dridi
-
FOP-2363: Better error message when PDF/A enabled and SVG contains bitmap with transparency
-
FOP-2357: When an SVG image has transparency and a PDF profile is used that disallows it, ignore it and issue a warning rather than throw an error
-
FOP-2354: Subset support for Type 1 fonts
-
FOP-2353: PDF-A preflight warnings
-
FOP-2348: PDF File Attachment Extension is broken
-
FOP-2346: UnsupportedOperationException when handling an SVG containing a font-face
-
FOP-2345: SVG to AFP text spacing wrong
-
FOP-2341: Infinite loop when smaller used with a zero length font-size
-
FOP-2340: 64bit image missing in pdf; patch submitted by Simon Steiner
-
FOP-2339: GIF to PS transparency is black; patch by Simon Steiner
-
FOP-2337: Remove xobj type=form
-
FOP-2336: OOM for tiff output
-
FOP-2326: CMYK TIFF is rendered using RGB colourspace in Postscript output; patch submitted by Simon Steiner (xgc jar updated)
-
FOP-2323: NPE caused by missing local subroutine index in private dictonary of OTF font
-
FOP-2322: Type1 Font with Custom Encoding not visible in Postscript output; Patch submitted by Simon Steiner
-
FOP-2321: Latest fop snapshot crashes when processing rindolf-spec.fo
-
FOP-2317: crash when issuing warning for invalid property value
-
FOP-2315: Incorrect example for leaders
-
FOP-2314: Caching xmlParserClassName in org.apache.fop.svg.SimpleSVGUserAgent; patch submitted by Gonzalo Vasquez
-
FOP-2313: add support for svg gradients when generating PostScript; most code authored by Robert Meyer with a small contribution by Athanasios Giannimaras.
-
FOP-2312: font-base configuration setting not working as expected
-
FOP-2311: revert changes from FOP-1069 that regresses shorthand property handling.
-
FOP-2310: Fix misplaced table cell border in WM RTL context.
-
FOP-2308: text-transform="capitalize" assumes input text is lowercase
-
FOP-2307: Weird border color inheritance (hashCode collisions) -- patch submitted by Alexios Giotis.
-
FOP-2306: use the URI of the source FO document rather than the config file as a default base URI
-
FOP-2305: Poor resolution of PCL output in trunk vs. 1.1; fixed regression
-
FOP-2303: fix negative text indent in bidi context
-
FOP-2301: Enable support for PDF sub-page transitions.
-
FOP-2299: Non Unicode named glyphs not loaded for Type1 fonts
-
FOP-2298: Enable support for PDF Transitions by defining low-level mechanism to augment /Catalog and /Page dictionaries.
-
FOP-2296: SVG fill pattern not visible with encryption; patch submitted by Simon Steiner
-
FOP-2293: extension to the layout engine for managing white space at the bottom of a page
-
FOP-2287: support Tamil script (preliminary)
-
FOP-2281: factory is not initialized when -cache is used in org.apache.fop.cli.Main; patch submitted by Thanasis Giannimaras.
-
FOP-2275: Quadratic Bezier curves not properly rendered
-
FOP-2273: Stroke miter limit is not clamped when writing PDFs; patch submitted by Max Gilead
-
FOP-2271: XSL Infinite loop; patch submitted by Simon Steiner.
-
FOP-2265: Enable xlint cast; patch submitted by Simon Steiner
-
FOP-2263: PDFDocumentGraphics2D.closePage() should not nullify currentStream; change suggested by Max Gilead
-
FOP-2260: Smart quotes broken in RTF if at start of text
-
FOP-2259: 1 bit TIFF error; patch submitted by Simon Steiner
-
FOP-2258: fix erroneous mirroring
-
FOP-2252: OpenType CFF support for FOP; patch submitted by Robert Meyer
-
FOP-2250: Arabic characters are not connected on PCL; partial implementation.
-
FOP-2249: elide formatting controls - preliminary
-
FOP-2248: add support for AES 256 PDF encryption
-
FOP-2246: Exception java.lang.IllegalArgumentException: min (1650) > opt (0); changes to avoid exception and default to "reasonable" values if no invalid value was explicitly provided.
-
FOP-2245: height attribute on external-graphic with percentage value behaves incorrectly
-
FOP-2244: Encrypted image colorspace fails; patch submitted by Simon Steiner
-
FOP-2238: updated xgc jar (revision 1477369)
-
FOP-2226: Image resources are not closed when rendering into the Intermediate Format
-
FOP-2224: NPE for SVG text in AFP; patch submitted by Simon Steiner
-
FOP-2223: Lines do not span to the end in rounded border cells in AFP; patch submitted by Simon Steiner.
-
FOP-2221: Make overflow messages easier to read and fix wrong/ missing messages; patch submitted by Simon Steiner.
-
FOP-2217; Image scaling change was adversely affecting other image types
-
FOP-2216: PDF forms are offset; patch submitted by Simon Steiner
-
FOP-2215; Thin dashed border look like dots
-
FOP-2214; forgot to commit status.xml
-
FOP-2213: use kern table when no GPOS kern lookups are present
-
FOP-2211: fixed in previous
-
FOP-2206: Add support for CS placement and escapement data in PS renderer.
-
FOP-2203: Fix xml syntax in XSD
-
FOP-2197: missing GlyphTester class in transcoder archives
-
FOP-2195: use sparse arrays for position adjustments
-
FOP-2194: optimize lazy font load invocation for hot methods
-
FOP-2192: fix checkstyle and findbugs warnings
-
FOP-2191: cache matched lookups, assembled lookup spec uses; reduce glyph processing state allocation
-
FOP-2188: optimize string allocation in pdf output processing
-
FOP-2187: Generating pdf works awt & png crashes when overflow hidden
-
FOP-2186: optimize inefficient glyph processing state update operations
-
FOP-2184: optimize inefficient position adjustment array allocation in non-CS path.
-
FOP-2183: Use event producer when Colour Profile in PNG Image is bad; patch submitted by Simon Steiner
-
FOP-2181: Add a test case for the recent fix made in FOP-2174 and XGC-76 regarding source resolution scaling with SVG and images; patch submitted by Robert Meyer
-
FOP-2180: TTFReader outputs bounding box information for glyphs.
-
FOP-2179: Fix checkstyle and findbugs warnings.
-
FOP-2178: Fix incomplete kerning when complex script features are enabled.
-
FOP-2177: If a right aligned image exceeds a table cells bounds, it will overflow in the wrong direction; patch submitted by Robert Meyer
-
FOP-2174: When using SVG drawings, if no content-width and content-height is specified, 72 will be used instead of the source-resolution option
-
FOP-2173: Invalid Postscript created with SVG and custom fonts
-
FOP-2171: Missing Glyph in Postscript using DejaVuSans. Submitted by Simon Steiner.
-
FOP-2160: Fix NPE when rl writing mode is used in certain contexts.
-
FOP-2157: Deadlock in CompareUtil class; patch by Jacopo Cappellato based on original proposal by Morten Knudsen.
-
FOP-2148: make page-position="only" work
-
FOP-2107: org.apache.batik.bridge.BridgeException: Unable to make sense of URL for connection; patch suggested by Matthias Reischenbacher and Robert Meyer comments.
-
FOP-2106: Footnote put on earlier page than the one that contains the footnote call
-
FOP-2104: RTF renderer barfs when fo:table-row is missing inside fo-table-header
-
FOP-2094: preliminary support for mapping OTF script tags from @script property
-
FOP-2093: preliminary support for mapping OTF language tags from @language property
-
FOP-2060: adjoining blocks with break-before="page" break-after="page" cause extra empty page
-
FOP-2044: Hyphenation of Uppercase Words, Combined with Underlines; patch submitted by Robert Meyer
-
FOP-1976; committed change suggested by Matthias Reischenbacher
-
FOP-1872: External document is clipped when rotated; patch submitted by Thanasis Giannimaras.
-
FOP-1840: column balancing algorithm; applied patch 12550540 submitted by Robert Meyer.
-
FOP-1801: conversion B&W GIF=>PDF creates PDF with colorspace RGB if FOP0.95 and Gray if FOP0.20.5; patch submitted by Thanasis Giannimaras following suggestion by Jeremias Maerki
-
FOP-1749: Fix offset of footnote when it has a margin-top
-
FOP-1342: Incorrect rendering of GIF images; patch to xgc submitted by Thanasis Giannimaras.
-
FOP-1099: when table headers/footers are repeated at page breaks, also repeat the footnotes they may contain
-
FOP-1099: process footnotes coming from table headers or footers
-
FOP-1069: Warn instead or error on invalid property values.
-
FOP-1069: No error message on illegal/unknown values on a property
-
Bugzilla 37114: Implementation of changes necessary to warn of invalid property values.
-
Bugzilla #54196: configure big / little endian support for TIFF images; patch 29628 applied; submitted by Robert Meyer
-
Bugzilla #54169: Split the parent tree (the number tree corresponding to the ParentTree entry in the structure tree root) to avoid reaching the internal limits of Acrobat Pro, that would otherwise split it at the wrong place when saving the document.
-
Bugzilla #54167: Disable the overflow recovery mechanism when the flow IPD changes
-
Bugzilla #54120: Prevented NPEs when FOP asks Batik for AWT fonts for AFP output
-
Bugzilla #54081: properly tag hyphenated words in PDF output when accessibility is enabled
-
Bugzilla #54075: Fixed a regression
-
Bugzilla #54041: Added support for Rounded Corners.
-
Bugzilla #54038: Added PDF/A-2 output option
-
Bugzilla #54037: Issue a warning when accessibility is enabled for PDF output and language information is missing
-
Bugzilla #54024: rewrote generation of /PageLabels dictionary
-
Bugzilla #53980: PDF accessibility: Store language information coming from fo:block or fo:character in the structure tree.
-
Bugzilla #53942: fo:flow not rendered with -awt; patch 29465 submitted by Robert Meyer
-
Bugzilla #53924: Support for retrieve-table-markers, submitted by Luis Bernardo.
-
Bugzilla #53902: Added possibility to define 'header' table columns (the same way as fo:table-header allows to define header rows).
-
Bugzilla #53887: A revert of r1325624 as the java.awt.headless JVM argument should be enabled by the user
-
Bugzilla #53868: Full font embedding in PDF
-
Bugzilla #53865: Add Rows per Strip configuration for Tiff renderer
-
Bugzilla #53827: When an fo:block has a non-zero value for its text-indent property and is broken over two pages of different widths, then the first line on the second page is missing one word and appears indented.
-
Bugzilla #53790: Prevented the TIFF configurator from overriding the Bitmap configurator unless CCITT compression is enabled.
-
Bugzilla #53778: When PDF accessibility is enabled, the contents for the different regions must appear in the proper order in the structure tree.
-
Bugzilla #53751: Slightly restructured the way the FontCache creates a cache-file
-
Bugzilla #53688: Wrong page number reported when a column overflows the region-body in a multi-column document
-
Bugzilla #53685 - AFP charactersets are cached using more unique keys
-
Bugzilla #53639: When PDF accessibility is enabled, the Scope attribute must be present in the structure tree for table header elements.
-
Bugzilla #53630: make it clear that the PDFConformanceException is due to accessibility not being enabled
-
Bugzilla #53600: Added an event if a glyph and its metric information does not exist in the character set
-
Bugzilla #53598: avoid IllegalArgumentException by setting the breakClass field in BreakElement to a legal default value
-
Bugzilla #53596: When PDF accessibility is enabled, the structure tree must contain information about the number of columns or rows spanned by a table cell.
-
Bugzilla #53563: Removed a method call that could cause a java.awt.HeadlessException in PCLGraphics2D (brought it inline with PDF/PS/AFP-Graphics2D classes)
-
Bugzilla #53502: MODCA end structured field now more conformant with the spec by allowing 0xFFFF match (match any). Submitted by Robert Meyer
-
Bugzilla #48955: Allow AFP font codepage names to be less than 8 chars
-
Bugzilla #48954: Support for character encoding of TLEs in AFP output. Submitted by PH.
-
Bugzilla #48063: patches 28912 and 29015; fixes infinite loop in footnotes code
-
Bugzilla #45822: Changed the dashed borders to appear more like dashes and less like dotted-borders
-
Bugzilla #45715: Restored support for break-before on fo:table.
-
Bugzilla #40676: patch 29132 with changes, support for sRGB and iCCP chunks
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
- Adrian Cumiskey
- Andreas Delmelle
- Chris Bowditch
- Clay Leeds
- Glenn Adams
- Luis Bernardo
- Luca Furini
- Mehdi Houshmand
- Peter Hancock
- Pascal Sancho
- Robert Meyer
- Simon Steiner
- Vincent Hennebert
This is a list of other contributors:
- Alexey Neyman
- Alexios Giotis
- Athanasios Giannimaras
- Gonzalo Vasquez
- Jacopo Cappellato
- Jeremias Maerki
- Matthias Reischenbacher
- Max Gilead
- Morten Knudsen
- Seifeddine Dridi
- Stephen Moore
Version 1.1 (20 October 2012)
Changes to the Code Base
-
Added support for the role property on fo:page-sequence, fo:flow and fo:static-content. This allows to change the mapping of those FOs to PDF structure types when enabling accessibility. Committed by VH.
-
A global setting to wrap F11 images in page segments. Committed by PH. See issue FOP-1854.
-
Added support for PDF Object Streams. When accessibility is enabled and PDF version 1.5 selected, the structure tree will be stored in object streams in order to reduce the size of the final PDF. Committed by VH. Thanks to Peter Hancock.
-
Improved support for empty flow-name mapping. Committed by PH. See issue FOP-1870.
-
Improvements of the Accessibility features. Committed by PH. Thanks to Vincent Hennebert.
-
Suppress unnecessary "font not found warnings" when generating AFP with raster fonts Committed by CB. Thanks to Luis Bernardo. See issue FOP-2010.
-
SVG text in AFP creates miscoded GOCA text Committed by CB. Thanks to Luis Bernardo. See issue FOP-1934.
-
Add support for different flow-name of fo:region-body in FOP Committed by CB. Thanks to Peter Hancock. See issue FOP-1870.
-
Tagged PDF performance improvement plus tests Committed by CB. Thanks to Mehdi Houshmand. See issue FOP-1958.
-
Improved AdobeStandardEncoding support in AFM files for type1 fonts Committed by MH. See issue FOP-1995.
-
Added ant script to get JaCoCo code coverage. Committed by VH. Thanks to Mehdi Houshmand. See issue FOP-1991.
-
Added to build file JUnit target that uses a regex to run all of the test cases. This reduces the risk that some of them are omitted when building FOP. Committed by VH. Thanks to Mehdi Houshmand. See issue FOP-1986.
-
Allow JPEG images to be embedded in an AFP document as is, without being decoded and encoded. Committed by PH. Thanks to Mehdi Houshmand. See issue FOP-1984.
-
Simplification of the build: Reduced code duplication and layout engine tests. Committed by PH. Thanks to Mehdi Houshmand. See issue FOP-1980.
-
Fix for when the last simple-page-master referenced in a page-sequence-master is not chosen when force-page-count=odd. Committed by PH. Thanks to Mehdi Houshmand. See issue FOP-1976.
-
Upgraded all tests to JUnit 4. Committed by VH. Thanks to Mehdi Houshmand. See issue FOP-1973.
-
Added support for resolution of relative URIs against a specified xml:base during property refinement. Committed by AD. See issue FOP-1744.
-
Fix incorrect language and country code key generation in hyphenation tree cache. Committed by GA. Thanks to Dieter von Holten. See issue FOP-2082.
-
Eliminate javadocs warnings. Committed by GA.
-
Eliminate incorrect use of object identity which produces excessive property cache collisions. Committed by GA. Thanks to Alexios Giotis. See issue FOP-2078.
-
Eliminate javadocs warnings. Committed by GA.
-
Use new double format utility to improve thread safety and performance. Committed by GA. Thanks to Ognjen Blagojevic. See issue FOP-1460.
-
Convert block container overflow exception to event model, improving overflow property behavior. Committed by GA. Thanks to Luis Bernardo. See issue FOP-2045.
-
Update to use of checkstyle-5.5 as default configuration. Remove checkstyle-4.0 configuration. Also, import environment build properties before local properties, so that latter can refer to former. Committed by GA. See issue FOP-2042.
-
Prevent NPE on use of unsupported collapse-with-precedence; fall back to collapse. Fix checkstyle errors from prior commit. Committed by GA. Thanks to Pascal Sancho. See issue FOP-2018.
-
Invoke JVM in headless mode from FOP command scripts and JS shell to prevent stealing focus from GUI applications. Committed by GA. See issue FOP-1858.
-
Support list-block in marker, thus preventing NPE. Committed by GA. See issue FOP-2027.
-
Must use unqualified (local name) when reporting invalid child error. Committed by GA.
-
Restore lookup on Event message lookup field part. Add locale field to Event to enable locale dependent deferred bundle load during lookup field part substitution. Committed by GA. See issue FOP-2040.
-
Bug in AFP font metrics that performed integer arithmetic when it should have been double arithemetic. Committed by MH.
-
Bring clone() in line with the recommendations in Object.clone(). Committed by GA. Thanks to Simon Pepping. See issue FOP-1836.
-
How to use native text with EPSDocumentGraphics2D. Committed by GA. Thanks to Luis Bernardo. See issue FOP-2032.
-
Allow https scheme URI for PDF external action target. Committed by GA. Thanks to Paul Huemer. See issue FOP-1954.
-
RTF percentage table column width not calculated from table. Committed by GA. Thanks to Carsten Pfeiffer. See issue FOP-1908.
-
RTF generates unexpected lines for blocks in tables. Also fix three findbugs issues. Committed by GA. Thanks to Max Aster. See issue FOP-1918.
-
RTF tables do not support percent column-widths. Committed by GA. Thanks to Max Aster. See issue FOP-1916.
-
Access denied (java.util.PropertyPermission org.apache.fop.fo.properties.use-cache read). Committed by GA. Thanks to Armin Haaf. See issue FOP-1873.
-
Incorrect message when encountering a block in an inline in a footnote. Committed by GA. Thanks to Adrian Buza. See issue FOP-1837.
-
Specified rule-thickness applies only when leader-pattern is rule, otherwise should use default thickness. Committed by GA. Thanks to Georg Datterl. See issue FOP-1676.
-
Eliminate duplicate code. Committed by GA. Thanks to Julien Aymé. See issue FOP-1806
-
Correct coding error in AFPResourceLevel#equals. Committed by GA. Thanks to Julien Aymé. See issue FOP-1807.
-
Throw IFException instead of NPE if navigation target (page reference) doesn't exist. Committed by GA. Thanks to Melanie Drake. See issue FOP-1968.
-
Fixed memory waste in traits map. Committed by GA. Thanks to Sergey Vladimirov. See issue FOP-1967.
-
Fixed small memory waste in rowCells array construction. Committed by GA. Thanks to Sergey Vladimirov. See issue FOP-1966.
-
Fixed incorrect rejection of fo:wrapper inside fo:inline inside fo:footnote-body. Committed by GA. Thanks to Alberto Simões. See issue FOP-2036.
-
Fixed deadlock in PropertyCache. Committed by VH. Thanks to Alexios Giotis. See issue FOP-1646.
-
Fixed bug that caused a configured and installed SVG font to be stroked, also added an event indicating when fonts are stroked. Committed by MH. Thanks to Luis Bernardo. See issue FOP-2029.
-
Fix of a bug introduced when merging ImproveAccessibility. Committed by PH.
-
Fixed rendering of special glyphs when using single-byte encoding mode. Committed by VH. Thanks to Luis Bernardo. See issue FOP-2023.
-
Fixed regression introduced by issue FOP-1886: bookmarks pointing to a non-existing internal destination should just trigger a warning. Committed by AD. See issue FOP-1886.
-
Fix for issue in RenderPagesModel.checkPreparedPages() where the same page-sequence is potentially started multiple times. Committed by AD. Thanks to Martin Koegler. See issue FOP-1889.
-
Fix for performance issue when adding pages, if the total number of pages is significantly large. Committed by AD. Thanks to Martin Koegler. See issue FOP-1890.
-
Fix for performance issue when adding nodes, if the number of children is significantly large. Committed by AD. Thanks to Martin Koegler. See issue FOP-1888.
-
Fix for avoid ArrayIndexOutOfBoundsException for codepoints without a linebreak class Committed by AD. See issue FOP-1874.
-
Replaced magic numbers with constants from UnitConv and GraphicsConstants. Committed by VH. Thanks to Joshua Marquart. See issue FOP-1828.
-
Update xmlgraphics common jar to reflect recent fixes in XGC. Committed by GA. See issue FOP-2039.
-
Fix handling of NaN, {+,-}Infinity, and other edge cases. Submitted by Julien Aymé. Committed by GA. Thanks to Julien Aymé. See issue FOP-1460.
-
Improve property function argument parsing, specifically, better separate required, optional, and variable arguments and the handling of optional argument defaults. Regularize property function class names. Committed by GA.
-
Add run target for embedded examples. Add increased JVM memory heap flag for example8 in case font cache is rebuilt. Committed by GA. See issue FOP-1955.
Changes to the User Configuration
-
Added configuration option to set the version of the output PDF document. Committed by VH. Thanks to Mehdi Houshmand. See issue FOP-1945.
-
Fix crash on use of version switch (-v). Committed by GA. Thanks to Luis Bernardo. See issue FOP-1988.
-
Fix exception thrown from use of -print option in CLI. Committed by GA. Thanks to Luis Bernardo. See issue FOP-2065.
-
Fix for relative URIs in the configuration file (base, font-base, hyphenation-base) are evaluated relative to the base URI of the configuration file. Committed by SP.
Changes to Documentation
-
Fix renderer mime type for PCL output; should be application/x-pcl. Committed by GA. See issue FOP-2064.
-
Update FAQ and New Bug documentation. Committed by GA.
Changes to the Font Subsystem
-
Add support for OpenType advanced typographic tables (GDEF, GSUB, GPOS). Committed by GA.
-
Added support for lookup of alternative glyphs when additional single-byte encodings are used, ex. replacing "Omegagreek" by "Omega" and vice versa. Committed by JM. Thanks to Alexandros Papadakis. See issue FOP-1892.
-
Added convenience support for the flushing of the Fop font cache file from the command line. Committed by AC.
-
Fix performance regression in JDK 1.6 Update 19 due to use of Java Beans API. Fix checkstyle errors. Committed by GA. Thanks to Tassos Charoulis. See issue FOP-2057.
-
Ensure fonts are not loaded twice (redundantly). Committed by GA. See issue FOP-2055.
-
Bugfix for color model in IOCA IDE structure parameter for 4- and 8-bit grayscale images. Revision 4. Committed by PH. See issue FOP-1767.
-
Changes the way PostScript handles Graphics2D images such that if the language is set to level 3, the image is stored as an embedded file which has no length limit. Previously it was stored as an array which has a implementation limit of 65535 elements. Committed by PH. Thanks to Mehdi Houshmand. See issue FOP-1962.
-
PDFFactory responsible for asdigning name to a subset font. Committed by PH. Thanks to Mehdi Houshmand. See issue FOP-1961.
-
Improved support for EBCDIC encoded double byte fonts fo AFP. Committed by PH. Thanks to Mehdi Houshmand. See issue FOP-1950.
-
Corrected typographical errors in AFPBase12FontCollection. Committed by PH. Thanks to Mehdi Houshmand. See issue FOP-1933.
-
Fixed a bug in TTF subsetting where a composite glyph could get remapped more than once resulting in garbled character. Committed by JM. Thanks to Mehdi Houshmand. See issue FOP-1953.
-
Fixed a number of bugs concerning Type 1 and other single-byte fonts (glyph width mismatches and overlapping characters). Committed by JM. See issue FOP-1887.
-
Removed invalid entries in ToUnicode table of CID subset fonts. Committed by JM. Thanks to Mehdi Houshmand. See issue FOP-1931.
-
Reinstated support for being able to specify a font cache filepath in the fop user configuration. Committed by AC.
-
Removing experimental feature that violates XSL-FO and Unicode semantics by misinterpreting Basic Latin code points. Users must use private use codepoints to access font specific character mappings that have no assigned Unicode code point. See bug 50492. Committed by GA.
Changes to the Image Support
-
Fix incorrect SVG line dash pattern with PDF output format. Committed by GA. Thanks to Luis Bernardo. See issue FOP-2079.
-
Support use of ImageLoaderRawPNG decoder in order to prevent re-encoding of PNG images (and unnecssary output file bloat). Committed by GA. Thanks to Luis Bernardo, Matthias Reischenbacher. See issue FOP-1256.
-
Fix interoperability issue with Adobe reader regarding use of multiple filters. Committed by GA. Thanks to Luis Bernardo. See issue FOP-1256.
-
Update site documentation about PNG image loading configuration and support. Committed by GA. Thanks to Luis Bernardo. See issue FOP-1256.
-
Fix newly introduced findbugs warnings. Committed by GA. Thanks to Luis Bernardo. See issue FOP-1256.
Changes to the Layout Engine
-
Add support for complex scripts, including: full bidi support, support for advanced typographic tables, advanced support for number conversion. Committed by GA. See issues FOP-959, FOP-1790, FOP-1827.
-
Unify date formatting between FOP and XGC as well as tidying the date format code. Committed by GA. Thanks to Robert Meyer. See issue FOP-2059.
-
Fix for break before (break-before) not respected on blocks nested in inlines. Committed by GA. Thanks to Luis Bernardo. See issue FOP-1567.
-
Don't restart layout unless abs(ipd difference) > 1 in order to prevent rounding issues from triggering false restart. Committed by GA. Thanks to Pascal Sancho. See issue FOP-1921.
-
Ensure that table cell spanning works in right-to-left writing mode. Committed by GA. Thanks to Matthias Reischenbacher. See issue FOP-2047.
-
Ensure that table footer and header are included in bididirectional resolution. Committed by GA. See issue FOP-2043.
-
Ensure writing-mode specified on fo:table is used to determine writing mode of table and its descendants. Committed by GA. See issue FOP-2046.
-
Ensure square image is appropriately scaled. Committed by GA. Thanks to Luis Bernardo. See issue FOP-2014.
-
Issue FOP-1911: Fixed a regression in BlockContainerLayoutManager where margins were no longer reset after forced breaks. Committed by AD. Thanks to Martin Koegler. See issue FOP-1911.
-
Implemented non-standard behavior for basic-link areas, such that they take into account the heights of their descendants areas. Committed by VH.
-
Fix for keep-together does not apply to fo:table-cell. Committed by VH.
-
Fix for keep-together on a table containing row-spanning cells that was not honored. Committed by VH.
-
Fix for padding-start ignored when table-header/footer is repeated. Committed by VH. Thanks to Matthias Reischenbacher. See issue FOP-1864.
-
Fix for correct behavior of keep-together.within-line in case there are nested inlines Committed by AD. See issue FOP-1847.
-
Fix for avoid ClassCastException when using fox:widow-content-limit Committed by AD. See issue FOP-1746.
-
Fix for content after forced break in block-container is not rendered. Committed by VH. See issue FOP-1859.
-
Fixed adjustment of inline parent area for justified text containing a forward page reference. Committed by JM. See issue FOP-1344.
-
Fixed behavior when combining hyphenation with preserved linefeeds or whitespace. Committed by AD. See issue FOP-1133.
-
Fixed retrieval of available BPD for cases spanning columns and multiple pages with differing page masters. Committed by JM. See issue FOP-1853.
Changes to Renderers (Output Formats)
-
Added possibility to embed TrueType fonts in PostScript. Committed by VH. See issue FOP-2004.
-
Various bugfixes to make PDFDocumentGraphics2D operational again. Committed by JM.
-
Added support for 128bit encryption in PDF output. Committed by VH. Thanks to Michael Rubin.
-
Added an IFDocumentHandler filter for triggering rendering events. Created an Event that captures an end page event with the page number. Committed by PH.
-
Added option to place AFP NOPs right before the end of a named page group (page-sequence), rather than after the start. Committed by JM.
-
Added option for PostScript output to optimize for file size rather than quality. Committed by JM.
-
AFP GOCA: Added option to disable GOCA and to control text painting inside GOCA graphics. Committed by JM.
-
Added id element to intermediate format to track the origin of content. Committed by VH.
-
Added support for CIE Lab colors (from XSL-FO 2.0 WD). Committed by JM.
-
Initial work on spot colors (aka named colors) for PDF output. Committed by JM. Thanks to Patrick Jaromin. See issue FOP-1810.
-
Allow afp:no-operation to also appear under fo:page-sequence and fo:declarations. Committed by JM.
-
Added some support for break-before/-after for RTF output. Committed by JM. Thanks to Max Aster. See issue FOP-1371.
-
Added ability to embed an external AFP page segment resource file (AFP output only). Committed by JM. Thanks to Peter Hancock. See issue FOP-1809.
-
Added support for PDF File Attachments (Embedded Files). Committed by JM. Thanks to Andrejus Chaliapinas. See issue FOP-1498.
-
Add version attribute to AT and IF intermediate formats. Also eliminate redundant use of reversed attribute in AT format. Committed by GA. See issues FOP-2072, FOP-2073.
-
Add extension to place code just before PostScript %PageTrailer. Committed by GA. Thanks to Luis Bernardo. See issue FOP-2069.
-
Fix invalid PostScript file being created when font-size is 0. Committed by GA. Thanks to Robert Meyer. See issue FOP-2068.
-
Stop outputting the Type entry for structure elements in order to create a smaller PDF ouptut when accessibility is enabled. Committed by VH. Thanks to Martin Koegler.
-
Support fractional line widths in AFP renderer, fixing problem with SVG line drawing. Committed by GA. Thanks to Luis Bernardo. See issue FOP-2063.
-
Fix for invalid PDF for certain numerical values in SVG lineargradient. Committed by GA. Thanks to Luis Bernardo. See issue FOP-1259.
-
Fix for XGC when rendering PostScript using SVG being drawn upside down when using a custom affine transform. Committed by GA. Thanks to Robert Meyer. See issue FOP-1769.
-
Don't write final /sect suffix in RTF if section is last section. Committed by GA. Thanks to Benjamin Riefenstahl. See issue FOP-1948.
-
Take leading derived space before/after into account when computing rows for TXT renderer. Committed by GA. See issue FOP-1985.
-
Improved fix of a bug relating to PCL painter thread safetly. Previous fix in rev 895012 worked by synchronizing methods of a static instance of Java2DFontMetrics. This fix uses a unique instance for per thread. Committed by PH. See issue FOP-1718.
-
Fixed a bug in AFP where an ArrayOutofBoundsException is throwqn when embedding a Page Segment. Committed by PH.
-
Fixed a bug in AFP where the object area axes of an Include Object was incorrectly set when rotated by 180. Committed by PH.
-
Fixed a multi-threading bug for SVG images included through svg:image inside SVG documents. Committed by JM.
-
Fix for alternative text not working in tagged PDF for TIFF images. Committed by VH.
-
Fixed io exception in MODCAParser caused by the improper use of mark() and reset() on the MODCA data input stream. Added unit test. Committed by PH. See issue FOP-1909.
-
Fixed mapping of font weights between CSS values and TextAttribute.WEIGHT_*. Committed by JM. Thanks to Glenn Adams. See issue FOP-1907.
-
AFP GOCA: fonts were not embedded from within AFPGraphics2D. Committed by JM.
-
AFP GOCA: Changed the way FOP fonts are selected based on Batik's GVT fonts to match the behaviour of PDF/PS output. Committed by JM.
-
AFP GOCA: Work-around for InfoPrint's AFP implementation which seems to lose the character set state over Graphics Data (GAD) boundaries. Committed by JM.
-
Bugfix for AFP GOCA segments: they were not properly marked as appended which could lead to graphics state changes in some implementations. Committed by JM.
-
Issue FOP-1919: Bookmarks create useless lines in RTF Committed by CB. Thanks to Max Aster. See issue FOP-1919.
-
Issue FOP-1917: page-number-citation-last does not work in RTF Committed by CB. Thanks to Max Aster. See issue FOP-1917.
-
Issue FOP-1915: Fixed a NullPointerException in case a white-space fo:character was removed due to white-space handling. Committed by AD. Thanks to Matthias Reischenbacher. See issue FOP-1915.
-
Issue FOP-1914: Fixed an issue in PDF output where a link was added to the parent tree instead of the related structure element. Committed by AD. Thanks to Martin Koegler. See issue FOP-1914.
-
Issue FOP-1913: Fixed an issue where invalid PDF page content was generated due to incorrect ET/EMC sequences. Committed by AD. Thanks to Martin Koegler. See issue FOP-1913.
-
Increased maximum possible PDF size from 2GB to around 9GB (hard maximum imposed by the PDF specification). Committed by JM.
-
Fix to preserve the order of AFP TLEs and NOPs as given in the XSL-FO document. Committed by JM. Thanks to Mehdi Houshmand. See issue FOP-1894.
-
Fixed a multi-threading issue when rendering SVG. Committed by JM. Thanks to Alexios Giotis. See issue FOP-1610.
-
Removed old Renderer implementations for those output formats that have a version based on the new DocumentHandler architecture available (AFP, PCL, PDF, PS). Committed by VH.
Changes to unit tests or other test code
-
Fix errors and warnings in example files. Add build.xml for documentation examples. Committed by GA.
-
Add test for basic-link with padding. Committed by GA. Thanks to Matthias Reischenbacher. See issue FOP-1864.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Adrian Cumiskey (AC), Andreas Delmelle (AD), Chris Bowditch (CB), Glenn Adams (GA), Jeremias Märki (JM), Mehdi Houshmand (MH), Peter Hancock (PH), Simon Pepping (SP), Vincent Hennebert (VH).
This is a list of other contributors:
Adrian Buza, Alberto Simões, Alexandros Papadakis, Alexios Giotis, Andrejus Chaliapinas, Armin Haaf, Benjamin Riefenstahl, Carsten Pfeiffer, Dieter von Holten, Georg Datterl, Glenn Adams, Joshua Marquart, Julien Aymé, Luis Bernardo, Martin Koegler, Matthias Reischenbacher, Max Aster, Mehdi Houshmand, Melanie Drake, Michael Rubin, Ognjen Blagojevic, Pascal Sancho, Patrick Jaromin, Paul Huemer, Peter Hancock, Robert Meyer, Sergey Vladimirov, Simon Pepping, Tassos Charoulis, Vincent Hennebert.
Version 1.0 (21 July 2010)
Changes to the End-User API
- Added a command-line option '-catalog' to use a catalog resolver for the XML and XSLT files Committed by SP.
Changes to the Code Base
-
Added support for xmlfile and xsltfile parameters in FOP's Ant Task. Committed by AC.
-
Added 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). Committed by AD. Thanks to Dario Laera. See issue FOP-1637.
-
Added an event handling framework which allows to get better feedback from within FOP with the ability to customize problem management. Committed by JM.
-
Bugfix: when #CMYK pseudo-profile was used in the rgb-icc() function, always the fallback RGB colors were used instead. Committed by VH. Thanks to Venkat Reddy. See issue FOP-1730.
-
White-space handling in markers with inline-content throws a NullPointerException in some cases. Committed by AD. See issue FOP-1695.
-
Bugfix: previously retrieved markers were not cleared if the new marker was empty. Committed by AD. See issue FOP-1645.
-
Changed meaning of ‘-v’ option to ‘verbose’, which will print FOP’s version and proceed. Added a ‘-version’ option to simply print the version then exit, following Java practices. Committed by VH.
-
MinOptMaxUtil.toMinOptMax was converting LengthRangeProperty objects into illegal MinOptMax objects (in some cases opt could be inferior to min). Committed by VH. See issue FOP-1623.
-
Fixed a memory-leak in Marker.MarkerAttribute, where an instance was used both as key and value in a WeakHashMap, effectively neutralizing the benefit of using WeakReferences. Solved by extending PropertyCache to work for MarkerAttributes as well. Committed by AD. See issue FOP-1605.
-
Fixed some multi-threading issues in FontCache.java:
-
remove the unused private readObject()
-
make the changeLock member final (initialization-safety + impossible to reassign)
-
perform the HashMap check for a failed font inside the synchronized block to avoid a race condition Committed by AD. Thanks to rogov.AT.devexperts.com.
See issue FOP-1594.
-
-
Improved the behaviour of the command line interface. Committed by VH. Thanks to Tow Browder. See issue FOP-1586.
-
Make fop.bat and fop.cmd use the %FOP_OPTS% environment variable. Committed by AD. Thanks to Carsten Siedentop. See issue FOP-1578.
-
Quick-fix to avoid a possible NullPointerException when using empty inlines and hyphenation. Committed by AD. See issue FOP-1564.
-
Fixed memory leak in property cache (not cleaning stale PropertyCache$CacheEntry instances). Committed by JM.
-
Fixed a slight error when resolving non-file URLs: avoid altering the original 'href' if the protocol is other than 'file:' Committed by AD. Thanks to Thomas Stieler. See issue FOP-1559.
-
Corrected white-space-treatment for situations where an inline-node is the first/last child node of an fo:block, without preceding/following text. Committed by AD. See issue FOP-1536.
-
Fixed a logic error in Hyphenator.java: If the source had an associated InputStream, an UnsupportedOperationException was triggered. Committed by AD. See issue FOP-1478.
-
Changed FONode.addCharacters() parameter to closer match the signature of the standard SAX characters() event (reduces confusion and computations). !! Implementors of extensions that subclass FONode directly, and offer an implementation for addCharacters() should take care to make similar modifications in their code !! Committed by AD.
Changes to the Bundled Extensions
- Added support for the #CMYK pseudo-profile supported by some commercial XSL implementations on the rgb-icc() function. Committed by JM.
Changes to the Font Subsystem
-
Added support for TrueType fonts with symbol character maps (like "Wingdings" and "Symbol"). Character for these fonts are usually found in the 0xF020 to 0xF0FF range (a Unicode private use area). Committed by JM.
-
Added support for specifying referenced fonts per renderer in addition to the general match list. Committed by JM.
-
Added a command-line tool to list all configured fonts (org.apache.fop.tools.fontlist.FontListMain). Committed by JM.
-
AFP Fonts: Added support for full URI resolution on configured AFP fonts. Committed by JM.
-
FOP now creates ToUnicode CMaps for single-byte fonts that don't use built-in encodings to help PDF text extractors interpreting characters. Committed by JM.
-
Added support for forcing single-byte encodings for TrueType fonts without creating an XML font metric file (see "encoding-mode" attribute on "font" element) Committed by JM.
-
For auto-detected fonts it is now possible to specify that a font needs to be referenced rather than embedded (for the output formats that support this distinction). Committed by JM.
-
Add support for font substitution. Committed by AC.
-
Added support for auto-configuring TrueType Collections. XML font metrics files for *.ttc fonts are not required anymore. Committed by JM. Thanks to Jason Harrop. See issue FOP-1516.
-
Added support for addressing all glyphs available in a Type 1 font, not just the ones in the font's primary encoding. Committed by JM.
-
Bugfix: Font selection fallbacks did not work in some cases (ex. bold+italic to normal) Committed by JM.
-
Fixed generation of CIDSet object in PDF output. Committed by JM. Thanks to Nicolas Peninguy. See issue FOP-1696.
-
Bugfix: support PFM Files with no extent table. Committed by CB.
-
Bugfix: for the last character of a Type1 font, always a width of 0 was returned. Committed by VH. Thanks to Maxim Wirt. See issue FOP-1666.
-
Use temporary directory for the font cache if the user home directory is not write-accessible. Committed by JM. Thanks to Alok Singh. See issue FOP-1625.
-
More robust AFP font parsing, although it is still in need of some rework in the future. Committed by AC.
-
Fix for PFMReader after bug #43089 changed the behavior of PFMFile. Fixes baseline problems when Type 1 fonts are used in conjunction with XML font metric files. Committed by JM. Thanks to J. Frantzius. See issue FOP-1570.
Changes to the Image Support
-
Added customization ability for the image loading framework from FOP's configuration file. Committed by JM.
-
Added support for SVG 1.2 functionality inside fo:instream-foreign-object. Committed by JM. See issue FOP-1317.
-
Bugfix: use the effective color profile supplied by the ImageEncodingHelper, instead of the original one. Committed by JM.
Changes to the Layout Engine
-
Implement internal character classes if the hyphenation pattern file does not contain them Committed by SP.
-
Added limited support for pages of different inline-progression-dimensions within a page-sequence. Committed by VH.
-
Added basic implementation for column-keeps. Committed by AD. See issue FOP-1643.
-
Added extension to disable column balancing before blocks spanning the whole page, in multiple-column documents. Committed by VH. Thanks to Georg Datterl. See issue FOP-1604.
-
Added missing generation of areas for empty grid units in tables with collapsing border model. Committed by JM.
-
Allowing non-zero borders and padding on page regions when relaxed validation is turned on. Committed by LF.
-
Implemented word-by-ford font-selection strategy on text. Committed by MB.
-
Support character-by-character font-selection strategy on fo:character element. Committed by MB.
-
Added minimal support for integer keep values on the various keep properties on block-level FOs. For now, all integer values are treated the same (i.e. without strength distinction). Using integers allows to avoid overflows that can happen when "always" is used extensively. Committed by JM.
-
Bugfix: having a special page-master for the last page caused loss of content when normal blocks were mixed with blocks spanning all columns. Committed by VH. See issue FOP-1618.
-
Bugfix: value of conditional space not always taken into account in the calculation of a table’s height. Committed by VH. See issue FOP-1723.
-
Fixed handling of percentage values for provisional-label-separation. Committed by VH.
-
Fixed handling of percentage values for provisional-distance-between-starts. Committed by VH. Thanks to Jonathan Levinson. See issue FOP-1704.
-
Bugfix: The cells of a table inside a marker were duplicated at every marker retrieval. Committed by VH. See issue FOP-1656.
-
Bugfix: footnotes occurring within the forced height of a table row did not appear on the output Committed by VH.
-
Fixed a bug when combining a forced break with a "last" page-master. The restart of the algorithm would start at the index of the penalty corresponding to the last page-break. This has been changed to the index of the first element after the last page-break. Committed by AD. See issue FOP-1619.
-
Fixed BPD trait and border painting for leaders with leader-pattern="space" (and similar cases). Committed by JM.
-
Fixed fo:instream-foreign-object inside fo:marker. Committed by JM. See issue FOP-1550.
-
Fixed a bug when combining break-before with a span change. Committed by AD. See issue FOP-1595.
-
Fixed a problem where the BPD or a block area could be wrong if there is a nested, absolutely positioned area (for example a block-container). Committed by JM.
-
Issue FOP-1264: A conditional-page-master-reference with page-position="last" qualifies for a first page, if it is also the last. Additionally: also added support for page-position="only". Committed by AD. See issue FOP-1264.
-
Fixed the source for a division by zero when the content of an fo:leader with leader-pattern="use-content" collapses to zero width during layout. Committed by JM.
-
Fixed ID resolution for nested bookmarks with duplicated IDs. Committed by JM.
-
Added LayoutManagerMapping.registerMaker() to make registration of custom layout managers easier. Committed by JM. See issue FOP-1558.
-
Fixed absolute positioning of block-containers when specified using right and bottom instead of left and top. Committed by LF.
-
Fixed an inconsistency in footnote handling that led to unnecessary empty areas in pages whose last normal line contains footnotes when the page bpd is not the same for all pages. Committed by LF.
-
Added support for page-number-citation and page-number-citation-last of fo:inline. Corrected behavior for page-number-citation-last of fo:block: forward references now properly resolved. Committed by AD. See issue FOP-1520.
-
Added support for the "id" attribute on fo:wrappers when used as a child of the fo:flow. Committed by AD. See issue FOP-1363.
-
Fixed a ClassCastException when using an fo:wrapper as a child of an fo:block-container. Committed by AD. See issue FOP-1301.
-
Fixed a regression introduced by the fix for FOP-1482. Committed by AD. See issue FOP-1377.
-
Activated min-height/max-height and min-width/max-width properties. Committed by AD. See issue FOP-1428.
Changes to Renderers (Output Formats)
-
AFP Output: Added enhanced dithering functionality for images that are converted to bi-level images. Committed by JM.
-
Initial support for CID-keyed double-byte fonts (Type 0) in AFP output. Committed by JM. Thanks to Peter Hancock. See issue FOP-1762.
-
Added possibility to customize PDF tagging via the ‘role’ property. Committed by VH.
-
Added basic accessibility and Tagged PDF support. Committed by JM,VH. Thanks to Jost Klopfstein. See issue FOP-1627.
-
Added support for encoding CMYK bitmap images (IOCA FS45) and TIFF images as embedded objects. Committed by JM.
-
Added support for positioning Page Overlays in AFP Output Committed by CB.
-
Added support for creating thumbnails or preview bitmaps of fixed size for PNG and TIFF output. Committed by JM.
-
AFP Output: Added support for IMM Extension on fo:simple-page-master. Committed by CB.
-
Added an initial set of extensions for prepress support (fox:bleed, fox:crop-offset, fox:crop-box and fox:scale). This is currently supported only by PDF and Java2D renderers. Committed by JM. Thanks to Peter Coppens. See issue FOP-1671.
-
PCL Output: Added support for specifying the output bin. Committed by JM.
-
AFP Output: Added support for embedding external AFP form maps (form defs) using the afp:include-form-map extension. Committed by JM.
-
AFP Output: Added support for AFP font embedding. Note: this changes the default behaviour. Like with PDF and PS, all fonts are embedded by default unless matched in the "referenced-fonts" section in the configuration. Committed by JM.
-
AFP Renderer Raster Fonts:
-
added support for fractional font-sizes in the configuration.
-
selection of the smaller font-size, in case two possible fallbacks have the same difference to a requested size.
Committed by AD.
-
-
Added setting to enable dithered painting of filled rectangles in AFP and PCL. Committed by JM.
-
Added a custom text painter for rendering SVG text using text operators when rendering to PostScript or EPS. Text is no longer painted as shapes, thus creating much smaller files. Committed by JM. See issue FOP-1649.
-
AFP Output: Tag Logical Element (TLE) is now also allowed on fo:page-sequence (page group level). Committed by JM.
-
AFP Output: Added support for Invoke Medium Map (IMM). Committed by JM.
-
Introduced a new, additional intermediate format optimized for performance. Please see the intermediate format documentation for details. Committed by JM.
-
AFP Output: Added a configuration option to override the resource level defaults in the code. Committed by JM.
-
AFP Output: Bilevel images in resource groups as generated as hard page segments (instead of image objects) for better interoperability with older IPDS environments and for better printing performance. Committed by JM.
-
AFP Output: An AFPGraphics2D implementation which provides the ability to use Batik to drive the production of AFP Graphics (GOCA) output from SVG. Committed by AC.
-
AFP Output: Resource group leveling, external streaming, and de-duplication of images and graphics using IncludeObject and ResourceGroup. Committed by AC.
-
AFP Output: Native image embedding support (e.g. JPEG, GIF, TIFF) using ObjectContainer and a MOD:CA Registry implementation. Committed by AC.
-
Added PDF /Launch action: references to URIs using the file:// protocol will now generate a /Launch action as opposed to a more general /URI (which doesn't yield the expected result for this protocol). Committed by AD. Thanks to Alexander Stamenov. See issue FOP-1539.
-
PDF Output: Added support for handling 16-bit alpha channel. They are currently converted to 8 bits. Committed by JM. See issue FOP-1574.
-
Added PDF encryption parameter support in configuration. Committed by AC.
-
Added a PCL-specific extension attribute on simple-page-master for controlling the simplex/duplex mode. Committed by JM. Thanks to Martin Edge. See issue FOP-1540.
-
Add partial support for the "show-destination" property on fo:basic-link (PDF output only; see limitations on the compliance page) Committed by AD. See issue FOP-1510.
-
Added support for rendering pages using JPS (Java Printing System). See new example: examples/embedding/java/ExamplesFO2JPSPrint.java Committed by JM.
-
Restored ability to specify from/to and odd/even pages as well as the number of copies for printing from the command-line. Committed by JM. See issue FOP-1320.
-
Added ability to pass a preconfigured PrinterJob instance to the PrintRenderer via the rendering options map. Committed by JM. Thanks to Antti Karanta. See issue FOP-1514.
-
Added a public accessor for reference to the current page to PDFGraphics2D. Committed by JM. Thanks to Yegor Kozlov. See issue FOP-1517.
-
AFP Output: Fixed positioning of Java2D-based images (when GOCA is enabled). Committed by JM.
-
AFP Output: Fix for bitmap images inside an SVG or G2D graphic (printer errors) and positioning fix for bitmaps from G2D graphics. Committed by JM.
-
Fix for AWT viewer to correctly track page numbers in continuous display mode. Committed by JM. Thanks to Richard Wheeldon. See issue FOP-1356.
-
Bugfix for formatting of floating point numbers which could lead to invalid PDFs. Committed by JM.
-
Added a save/restoreGraphicsState pair for the initial coordinate system in PDF output for easier post-processing. Committed by JM.
-
Bugfix for color model in IOCA IDE structure parameter for 4- and 8-bit grayscale images. Committed by JM. Thanks to Peter Hancock. See issue FOP-1767.
-
Bugfix: AFP Renderer: Respect image color settings for svg Committed by CB. Thanks to Peter Hancock. See issue FOP-1736.
-
Bugfix: AFP Renderer: Page Overlays not generated when using Intermediate Format Committed by CB. Thanks to Venkat Reddy. See issue FOP-1745.
-
Bugfix: AFP Renderer: Underline is incorrectly placed when reference-orientation != 0 Committed by CB. See issue FOP-1752.
-
Bugfix: AFP Renderer: Page Segments not positioned correctly when reference-orientation != 0 Committed by CB. See issue FOP-1751.
-
Bugfix: AFP Renderer: AttributeQualifier Triplet occurs before TLE Value. Committed by CB. See issue FOP-1740.
-
Bugfix in AFP output: fixed flags in GOCA GBAR order. Committed by JM. Thanks to D.W. Harks. See issue FOP-1716.
-
Bugfix in AFP output: rounding error when computing the CMYK components of a color. Committed by VH. Thanks to Harald G. Henne. See issue FOP-1733.
-
BugFix: Maintain valid AFP by providing TLE truncation on Attribute Value Triplet values that are greater than 250 chars in length. Committed by AC. See issue FOP-1709.
-
Dithered Background Shading can produce illegal AFP if objects are very small Committed by CB. See issue FOP-1693.
-
Bugfix: Error while writing TLE's attribute qualifier in the output. Committed by AD. Thanks to Bharat Attaluri. See issue FOP-1681.
-
Bugfix: support justified text in AFP Renderer (already working in AFP Painter) Committed by CB.
-
Bugfix: reset graphic state when a page is finished in PostScript. Committed by JM.
-
Fixed a bug that left the PrintRenderer unconfigured even if a configuration was specified for "application/X-fop-print". Committed by JM.
-
Fixed the handling of CMYK colors in PDFGraphics2D. Committed by JM. Thanks to Yegor Kozlov. See issue FOP-1641.
-
AFP Fonts: Fixed interpretation of metric for fonts with fixed metrics and made sure all repeating groups in FNP (Font Position) are processed. Committed by JM. Thanks to Emil Maskovsky. See issue FOP-1552.
-
Fixed black backgrounds occurring for transparent images in PCL output. Committed by JM.
-
Fixed bug that caused AFP Renderer Extensions to be ignored. Committed by CB. See issue FOP-1613.
-
Fixed a multi-threading issue when rendering SVG. Committed by JM.
-
PDF Output: Made sure the XMP Metadata stream is never compressed. Committed by JM.
-
Fix for table handling in RTF output, so the output works with OpenOffice and AbiWord, too. Committed by JM. Thanks to Pavel Kysilka. See issue FOP-1563.
-
Fixed text stroking in SVG when the stroke-width is zero. Committed by JM.
-
Fixed border trait parsing for the area tree XML when CMYK or ICC colors were used. Committed by JM.
-
Fixed generation of "fonttbl" for RTF output to fix loading problem with AbiWord. Committed by JM. Thanks to Pavel Kysilka. See issue FOP-1562.
-
PCL Renderer: Improved page format selection so it doesn't interfere with duplex printing. Committed by JM. See issue FOP-1435.
-
PDFGraphics2D.writeClip doesn't generate a clip command anymore when the clip path is empty. Committed by JM. Thanks to Francois Fernandes. See issue FOP-1651.
-
When a JPEG image is embedded, an optionally embedded color profile is filtered out as it's already embedded separately in the PDF file. Committed by JM.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Adrian Cumiskey (AC), Andreas Delmelle (AD), Chris Bowditch (CB), Jeremias Märki (JM), (JM,VH), Luca Furini (LF), Max Berger (MB), Simon Pepping (SP), Vincent Hennebert (VH).
This is a list of other contributors:
Alexander Stamenov, Alok Singh, Antti Karanta, Bharat Attaluri, Carsten Siedentop, D.W. Harks, Dario Laera, Emil Maskovsky, Francois Fernandes, Georg Datterl, Harald G. Henne, J. Frantzius, Jason Harrop, Jonathan Levinson, Jost Klopfstein, Martin Edge, Maxim Wirt, Nicolas Peninguy, Pavel Kysilka, Peter Coppens, Peter Hancock, Richard Wheeldon, rogov.AT.devexperts.com, Thomas Stieler, Tow Browder, Venkat Reddy, Yegor Kozlov.
Version 0.95 (05 August 2008)
Changes to the End-User API
- Fixed the -imagein command-line option. Committed by JM.
Changes to the Code Base
- Fixed potential multi-threading problem concerning the use of DecimalFormat. Committed by JM. See issue XGC-13.
Changes to the Font Subsystem
-
Fixed text extraction problem with ZapfDingbats and Symbol font in PDF output. Committed by JM.
-
Fixed NullPointerException when loading a TrueType font using XML font metric files. Committed by JM.
Changes to the Image Support
-
Fixed two bugs concerning resolution handling with SVG images and their conversion to bitmaps for RTF output. Committed by JM.
-
Fixed a performance problem concerning image serialization. Committed by JM.
Changes to the Layout Engine
-
Fixed NullPointerException when page-number-citations are used inside a marker. Committed by AD. See issue FOP-1549.
-
Regression bugfix: Multiple collapsible breaks don't cause empty pages anymore. Committed by JM. See issue FOP-1492.
-
Various bugfixes for table layout. Committed by VH. See issue FOP-1509.
Changes to Renderers (Output Formats)
-
Added support for fo:leader for RTF output (no full support!). Fixes problems with empty leaders being used to force empty lines among other issues. Committed by JM. Thanks to Maximilian Aster. See issue FOP-1452.
-
Added support for page-number-citation for RTF output. Committed by JM. Thanks to Maximilian Aster. See issue FOP-1451.
-
Fixed a color selection problem which occurred after an image has been painted through the Graphics2DAdapter in PDF output. Committed by JM.
-
Fixed page ordering problem with AWTRenderer. Committed by JM. See issue FOP-1287.
-
Fixed image scaling for RTF output. Committed by JM. See issue FOP-1208.
-
Fixed handling of proportional-column-width() and percentages for table column in RTF output. Committed by JM. Thanks to Maximilian Aster. See issue FOP-1431.
-
Fixed resolution handling inside AWT preview dialog. Committed by JM.
-
Fixed positioning of absolutely positioned block-containers in multi-column documents. Committed by JM.
-
Fixed rendering of fixed block-containers in AFP output. Committed by JM.
-
Fixed regression causing bad positioning of block-containers if used as descendant of a table-cell. Committed by JM.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Andreas Delmelle (AD), Jeremias Märki (JM), Vincent Hennebert (VH).
This is a list of other contributors:
Maximilian Aster.
Version 0.95beta (26 March 2008)
Changes to the End-User API
- Removed deprecated methods in the "apps" package that were left-overs from the API discussions. Committed by JM.
Changes to the Code Base
-
Turned on XInclude processing for the main source given on the command line. Committed by MB.
-
Added very basic parsing for the xml:lang shorthand. Committed by AD.
-
Added support for SVGZ. Committed by JM. Thanks to Max Berger. See issue FOP-1429.
-
Added correct percentage resolution for arguments to the proportional-column-width() function. Committed by AD. See issue FOP-1308.
-
Fixed a bug when the rgb-icc() function was used either before the fo:declarations, or in documents without a fo:declarations node. In such cases, the sRGB fallback is now used to avoid an ugly NullPointerException. Committed by AD. See issue FOP-1440.
-
Fixed a bug when using relative font-size (smaller/larger) in combination with percentages. Committed by AD. See issue FOP-1489.
-
Fixed a memory-leak in XMLWhiteSpaceHandler. Committed by AD. Thanks to Stefan Ziel. See issue FOP-1482.
-
Bugfix for URI resolution: Make StreamSources without system identifier work again. Committed by JM.
-
Avoid a NullPointerException in AreaTreeHandler.endDocument(). Committed by JM. Thanks to David Delbecq. See issue FOP-1456.
Changes to the Bundled Extensions
-
New extension attribute fox:transform on fo:block-container allows free-form transformation (rotation, scaling etc.) of absolute and fixed block-containers. Supported only for PDF, PS and Java2D-based renderers. Committed by JM.
-
Added new extension element: fox:external-document. It allows to add whole documents such as multi-page TIFF images to be inserted as peers to a page-sequence. Each image will make up an entire page. See the documentation for details. Committed by JM.
Changes to the Font Subsystem
-
Added support for unusual font encodings (like for Symbol or Cyrillic fonts) of Type 1 fonts in PDF and PostScript output. Committed by JM.
-
Add Font support in jar files. Committed by AC. Thanks to Max Berger. See issue FOP-1399.
-
Improved the font auto-detection so fonts accessed using the font-family name are selected with higher accuracy. Committed by JM. Thanks to Justus Piater. See issue FOP-1496.
-
Bugfix for date formatting with negative time zones in the PDF's Info object. This affected PDF/A compliance. Committed by JM.
-
Bugfix for handling of optional tables in subset TrueType fonts. This bug caused errors in various PDF viewers. Committed by JM.
-
Bugfix: Use Font.getName() (logical font name) instead of Font.getFontName() (localized) when registering fonts from AWT. Committed by JM. Thanks to David Churavy. See issue FOP-1453.
-
Made the way TrueType fonts are embedded in PDF compliant to the specification so viewers correctly identify subset fonts. Committed by JM.
-
Fixed font-autodetection so fonts with uppercase extensions are detected, too. Committed by JM.
-
Fix to avoid NullPointerException when parsing ExpertEncoded and ExpertSubsetEncoded Type 1 fonts. Committed by AC. See issue FOP-1405.
-
Improved font auto-detection and handling of AWT-supplied fonts in order to achieve better results when using multiple output formats. Whenever possible, the font names appearing in the operating system can also be used in XSL-FO. Committed by JM.
Changes to the Image Support
- A new image loading framework has been introduced to fix various problems with external graphics and improve performance. Committed by JM.
Changes to the Layout Engine
-
Added support for background on fo:table-column and fo:table-header/footer/body elements. Committed by VH.
-
Added full support for keep-with-previous on fo:table-row and in fo:table-cell elements. Committed by VH.
-
Added full support for breaks before and after table cells (that is, break-before/after set on the first/last child of a cell). Committed by VH.
-
Added full support for breaks inside the cells of a table. Committed by VH.
-
Added support for conditional borders in tables, for both the separate and the collapsing border model. Committed by VH. See issue FOP-1459.
-
Added minimal support for the .minimum/.maximum components of block/inline-progression-dimension on fo:external-graphic and fo:instream-foreign-object. Committed by JM.
-
Added support for scale-down-to-fit and scale-up-to-fit (introduced in XSL 1.1). Committed by JM.
-
Added methods for fo:page-number-citation(-last) in FOEventHandler. Committed by JM. Thanks to V. Schappert. See issue FOP-1430.
-
Step towards performance: the collapsing-border resolution algorithm no longer triggers the retrieving of the whole table, when possible. Committed by VH.
-
Added check for table-cells which span more rows than available in their parent element (table-header/footer/body). Committed by VH.
-
Added support for fo:markers in fo:inline and fo:basic-link. Committed by AD.
-
Added support for ids on empty fo:inlines. Committed by AD. See issue FOP-1380.
-
Bugfix: The before border of a block is no longer swallowed if its first child issues a break-before. Committed by JM. See issue FOP-1492.
-
Bugfix: When there was a forced break after a block with (conditional) borders the border-after wasn't painted. Committed by JM. See issue FOP-1492.
-
Bugfix: a forced break inside a cell was ignored when occurring before the minimum height set on the enclosing row was set. Committed by VH.
-
Fixed exceptions when lists, tables or block-container are children of an inline-level FO. Committed by JM.
-
Fixed the rendering of the area of a table corresponding to border-separation, which must be filled with the background of the table, and not the rows. Committed by VH.
-
Improved conformance: even if a table-cell spans several rows its background must correspond to the first row spanned. Committed by VH.
-
Moved to the FO tree stage the check for break-before/after on table-row while spanning in progress. Committed by VH. See issue FOP-1486.
-
Fixed the resolution of borders when header/footer is omitted at page breaks. Committed by VH. See issue FOP-1483.
-
Fixed a possible IndexOutOfBoundsException that could happen with certain constellations when footnotes are used. Committed by JM. See issue FOP-1473.
-
Compliance fix: for absolutely positioned block-containers, "top" wasn't interpreted correctly. Committed by JM.
-
Bugfix: content of a row with zero height overriding the previous row Committed by VH. See issue FOP-1434.
-
Bugfix for border-after painting and element list generation when a forced break is involved. Committed by JM. See issue FOP-1457.
-
Bugfix: no empty page is generated anymore if there's no content after a break-after. Committed by JM. See issue FOP-1223.
-
Restored proper handling of fo:table-cell having no children, which is allowed in relaxed validation mode. Committed by VH. See issue FOP-1448.
-
Memory Leak fixed in the Property Cache. Fixed by Jeremias Maerki. Reported and Tested By Chris Bowditch. Committed by JM.
-
Bugfix in tables: wrong element generation by the merging algorithm when glues must be produced to cope with conditional spaces. The corresponding length was added twice: one in the glue itself and one in the following box. Committed by VH. See issue FOP-1442.
-
Bugfix: breaks generated by the merging algorithm for a table-row containing empty cells had always a penalty of 900. Committed by VH. See issue FOP-1446.
-
In case of missing cells the border-end of the table was applied to an inner cell, instead of the (empty) cell in the last column. Committed by VH.
-
Fixed the resolution of borders with table-columns (border-before/after was wrongly applied to every cell of the column). Committed by VH.
-
Fixed the resolution of border-end on cells spanning several rows. Committed by VH. See issue FOP-1381.
-
Bugfix for NPE with empty table-row (regression from 0.93). Committed by JM.
-
Fixed swallowing PCDATA in text-node children of retrieved markers. Committed by AD. See issue FOP-1378.
-
Fixed erroneous white-space removal in retrieved markers. Committed by AD. See issue FOP-1377.
-
Fixed erroneous usage of inherited color-values in SVG. Committed by AD. Thanks to ckohrn.at.tng.de. See issue FOP-1410.
-
Facilitate the implementation for font-selection-strategy:
- Changed FontInfo.fontLookup to always return an array of FontTriplet.
- Changed CommonFont.getFontState to return an array of FontTriplet.
- Initial modifications to the related LMs: initialized with the font corresponding to the first of the triplets.
Committed by AD.
-
PropertyCache phase 2:
- improvement of the PropertyCache itself should now guarantee acceptable performance of the static caches in multi-session environments, which is a possible problem with synchronizedMap.
- changed CommonFont to use the cache: added CachedCommonFont to contain the properties that are always cacheable CommonFont itself is only cached if the remaining properties are absolutes.
- changed CommonHyphenation, KeepProperty, ColorProperty and FontFamilyProperty to use the cache.
Committed by AD.
Changes to Renderers (Output Formats)
-
Added an option to disable the default sRGB profile in PDF output for those who don't care about color fidelity, but care about PDF file size. Committed by JM.
-
Added support for the natural language indentifier ("Lang" in the document catalog) for PDF documents based on the language/country values on fo:page-sequence. Committed by JM.
-
PostScript output now generates the bounding box DSC comments for the whole document. Committed by JM.
-
Added support for PDF page labels. Committed by JM.
-
Added support for custom fonts in Java2DRenderer and derived renderers. Committed by JM. Thanks to Patrick Jaromin. See issue FOP-1474.
-
Added generic structures to the PDF library in order to support PDF file in fo:external-graphic later. Committed by JM.
-
Added a configuration setting to the PCL renderer to disable PJL commands. Committed by JM.
-
Added a configuration setting for the renderer/device resolution to the AFP renderer. Committed by JM. Thanks to Adrian Cumiskey. See issue FOP-1400.
-
Slight improvement for thin lines in Java2D/AWT output. Committed by JM. Thanks to Gordon Cooke.
-
Fixed logic error setting the transformation matrix for block-container viewports (applies to absolute and fixed block-containers only). Important: External renderer implementations need to adjust for the change and implement the new method concatenateTransformationMatrix(AffineTransform) if the renderer is derived from AbstractPathOrientedRenderer. Committed by JM.
-
Fixed generation of named destinations so it works when the PDF document is encrypted. Committed by JM.
-
Bugfix: allow multiple bookmarks to point at the same destination. Committed by JM. See issue FOP-1116.
-
Fixed regression: transparent-page-background was not recognized for PNG output. Committed by JM.
-
Postscript extension cleanup. Committed by AC. Thanks to Andrejus Chaliapinas. See issue FOP-1401.
-
Fix to avoid ClassCastException where multiple ps:ps-comments are declared within fo:declarations. Committed by AC. See issue FOP-1427.
-
Fixes missing TLE value attribute when using AreaTree input with the AFP renderer. Committed by AC. See issue FOP-1419.
-
Fix to avoid a ClassCastException in renderer configuration. Committed by JM. Thanks to Bruno Feurer. See issue FOP-1420.
-
Fixed the restoration of the TLE values from the intermediate format for the AFP extension elements. Committed by JM. Thanks to Adrian Cumiskey. See issue FOP-1419.
-
PDF Transcoder (SVG) text painting has been completely rewritten. Except for some special cases (with filters for example), all text (including flow text) is now painted using PDF text operators. Committed by JM.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Adrian Cumiskey (AC), Andreas Delmelle (AD), Jeremias Märki (JM), Max Berger (MB), Vincent Hennebert (VH).
This is a list of other contributors:
Adrian Cumiskey, Andrejus Chaliapinas, Bruno Feurer, ckohrn.at.tng.de, David Churavy, David Delbecq, Gordon Cooke, Justus Piater, Max Berger, Patrick Jaromin, Stefan Ziel, V. Schappert.
Version 0.94 (24th August 2007)
Changes to the Code Base
-
Support for keep-together.within-line="always". Committed by MM.
-
Add support for conditional spaces in table-cells. Committed by VH.
-
Support alignment-adjust for images. Committed by AD. Thanks to Max Berger. See issue FOP-1385.
-
Partial application of the patch in patch FOP-1271: * addition of a generic PropertyCache to be used by all Property types that can be safely canonicalized * modified EnumProperty, StringProperty, NumberProperty, EnumNumber and FixedLength to make use of the cache infrastructure Committed by AD. Thanks to Richard Wheeldon. See issue FOP-1271.
-
Slight improvement of relative font-weight handling in the properties package. Committed by AD.
-
Add support for font auto-detection (easier font configuration). Committed by JM. Thanks to Adrian Cumiskey. See issue FOP-1326.
-
Add support for exact positioning of internal PDF links. Committed by JM. Thanks to Paul Vinkenoog. See issue FOP-1348.
-
Add support for the collapsing-border model in tables. Committed by VH, JM. See issue FOP-1064.
-
Add support for named destinations in PDF. Committed by JB.
-
Add support for a two-pass production for PostScript output to minimize file size. This adds images only once and adds only the fonts that are really used. Committed by JM.
-
Support for GIF images in RTF output (RTF handler, only. Does not affect the RTF library.) Committed by JM.
-
Support for soft masks (transparency) with ImageIO image adapter. Committed by JM.
-
Added support for the soft hyphen (SHY) character. Committed by MM.
-
Added support for line-height-shift-adjustment property. Committed by MM.
-
Added support for the system property fop.home to cli.Main.getJARList(). Committed by SP.
-
Added support for display-align for table-cell in RTF output. Committed by JM. See issue FOP-1268.
-
Added support for UAX#14 type line breaking. Support does not extend across nested fo:inline elements. Committed by MM.
-
AFP Renderer: Bugfix for 1 bit images where the width is not a multiple of 8. Committed by JM.
-
Fixed incomplete support for Unicode Word Joiner characters (U+2060 and U+FEFF). Committed by MM.
-
Fixed the rendering of zero-width spaces for certain fonts by not generating them into the area tree. Committed by JM. Thanks to Paul Vinkenoog. See issue FOP-1349.
-
Fixed a problem with disappearing footnotes inside hyphenated inlines (and footnotes with hyphenated inline child). Committed by LF.
-
Fix PDF Genaration for non-ASCII compatible locales. Committed by JM. Thanks to Martin Kögler. See issue FOP-1294.
-
Fix several exceptions when break-before/after is set on the first/last row of a table. Committed by VH.
-
Fix extra page break when break-before is set on both a table and its first row. Committed by VH.
-
Make keep-with-next and keep-with-previous work on fo:table. Committed by VH.
-
Fixed a problem with keep-with-next on table-rows. Once a keep-with-next was set inside a table, the FO following the table would always be glued to the previous table. Committed by JM.
-
Fixed a problem with the auto-rotate-landscape setting in the PostScript renderer. It didn't generate the right setpagedevice command. Committed by JM.
-
Fixed an IllegalArgumentException for absolutely positioned block-containers with a border and no height/bpd set. Committed by JM.
-
If a line contained nothing but a linefeed, this didn't produce empty lines. Replaced the auxiliary zero-width box with a glue the width of a line, and shrinkable to zero-width. Committed by AD. See issue FOP-1315.
-
Stricter FOP user configuration checking Committed by VH. Thanks to Adrian Cumiskey. See issue FOP-1217.
-
Fix parsing 'url(...)' when the URL itself contains a bracketed part. Committed by AD. Thanks to Erwin Tratar. See issue FOP-1306.
-
Fix for NPE with PNG images for RTF output. Committed by JM.
-
Fix for properly parsing font-family names containing spaces. Committed by AD.
-
Fix incorrect behaviour of the BreakingAlgorithm when some inline content is wider than the available ipd, causing a restart. Committed by LF. See issue FOP-1270.
-
Fix for PDF corruption when a TrueType font with spaces in its name is embedded and no XML font metrics file for that font is used. Committed by JM.
-
Fix for ClassCastException when fo:wrapper was used as direct child of fo:flow. Note: "id" attributes are still not handled properly on fo:wrapper! Committed by JM. Thanks to Adrian Cumiskey. See issue FOP-1293.
-
Refactoring in the fo package: -> removal of the childNodes instance member in fop.fo.FObj -> addition of a firstChild instance member in fop.fo.FObj -> addition of a siblings instance member in fop.fo.FONode -> addition of a FONodeIterator interface in FONode + corresponding implementation in FObj -> changed implementations of FObj.addChildNode(), .removeChild() and .getChildNodes() Committed by AD. See issue FOP-1316.
-
Code cleanup and restructuring: Refactoring of PageSequenceLayoutManager and provide common FObj id property use Committed by AD. Thanks to Adrian Cumiskey. See issue FOP-1387.
-
Updated PDF/A-1b support according to ISO-19005-1:2005/Cor.1:2007. Committed by JM.
-
Use source resolution setting for bitmap images which don't provide their own resolution. Committed by JM. Thanks to Hussein Shafie. See issue FOP-1362.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Andreas Delmelle (AD), Jay Bryant (JB), Jeremias Märki (JM), Luca Furini (LF), Manuel Mall (MM), Simon Pepping (SP), Vincent Hennebert (VH), (VH, JM).
This is a list of other contributors:
Adrian Cumiskey, Erwin Tratar, Hussein Shafie, Martin Kögler, Max Berger, Paul Vinkenoog, Richard Wheeldon.
Version 0.93 (9 January 2007)
Changes to the Code Base
-
Added support for the use of Open Type fonts Committed by BD.
-
Added initial support for loading fonts without a pre-created XML font metric file. Committed by JM.
-
Support for the rgb-icc() function and for a proprietary cmyk() function (for device CMYK colors only through the PDF renderer so far). Committed by JM. Thanks to Peter Coppens. See issue FOP-1261.
-
Added support for SVG in fo:instream-foreign objects for RTF output. Committed by JM. Thanks to Dominic Brügger. See issue FOP-1267.
-
Added support for CCITT compression in the TIFFRenderer by switching to the ImageWriter abstraction from XML Graphics Commons. Committed by JM. Thanks to Oliver Hernàndez Valls. See issue FOP-1243.
-
Extension properties fox:orphan-content-limit and fox:widow-content-limit which help with list-block and table layout. See the documentation for details. Committed by JM.
-
Configuration option in the Java2D-based renderers that allows to disable the default white background in order to produce bitmap output with transparency. Committed by JM.
-
Added support for PDF/A-1b and PDF/X-3:2003. (Note: this may still be a bit incomplete. Feedback is welcome!) Committed by JM.
-
The CIDSet object is now generated for CID fonts which are embedded in PDFs. (Required by PDF/A). Committed by JM.
-
Automatic support for all fonts available to the Java2D subsystem for all Java2D-descendant renderers (TIFF, PNG, print, AWT). Committed by JM.
-
Initial support for page-number-citation-last (XSL 1.1). Works without problems only for page-sequence so far. Committed by JM. Thanks to Pierre-Henri Kraus. See issue FOP-1167.
-
Bugfix: Fixed bug when the sum of column widths of a table is larger than the specified widths. The table width was not adjusted. Committed by JM.
-
Bugfix: Nested tables with headers and footers were not handled correctly and could overlap with the region-after. Committed by JM.
-
Split up FOText instances larger than 32K characters to avoid integer overflow during layout. Committed by AD. See issue FOP-1178.
-
Bugfix: Corrected painting of shading patterns and position of links for SVG images inside FO documents. Committed by JM.
-
Deferred property resolution for markers until they are actually retrieved, which leads to percentages and relative font-sizes now getting the correct values. Also deferred white-space-handling for markers. Committed by AD.
-
Fixed a memory-leak: The FO tree part of a page-sequence was not released when a page-sequence was finished. Committed by JM.
-
Bugfix: Table headers and footers were swallowed when a table was nested in a list-block. Committed by JM.
-
Fixed a bug with indent handling when margins are used on a surrounding block and not start/end-indent. Committed by JM.
-
Compatibility fix for GCJ (GNU Classpath): Using "UTF-16BE" instead of "UnicodeBigUnmarked" encoding. Committed by JM. Thanks to Jeroen Meijer. See issue FOP-1215.
-
Fixed handling for CCITT Group 4 TIFF images with fill order 2. Committed by JM. Thanks to Gilles Beaugeais. See issue FOP-1211.
-
Fixed setting of page margins in AWT Renderer like it was done in the print renderer. Committed by JM. Thanks to Igor Istomin. See issue FOP-1210.
-
Fixed two memory-leaks in image handling. The image cache is finally working properly. Committed by JM.
-
Let numeric property values without a unit be treated as pixels like in HTML. This fixes certain NullPointerException when no units are specified. (Note: the use of pixels in XSL-FO is discouraged!) Committed by JM. See issue FOP-1189.
-
Bugfix: Potential multi-threading issue (ConcurrentModificationException) eliminated for ElementMapping classes. Committed by JM.
-
No more System.exit() and look & feel setting calls inside the reusable parts of the AWT viewer. Committed by JM.
-
Proper escaping of characters in list-items labels for RTF output. Committed by JM.
-
Bugfix: FOUserAgent specific configuration parameters specified in config file were not set when FOP was invoked from command line. Committed by MM.
-
Bugfix: components of the border-separation property weren't set when in shorthand-mode, leading to a NPE being thrown. Committed by AD. See issue FOP-1194.
-
Bugfix: Table headers were omitted when a table is a child of a block-container. Committed by JM.
-
Bugfix: Bookmarks in PDF will be generated even if some bookmarks cannot be resolved. Committed by JM.
-
Bugfix: the interaction between the table FOs and properties package in determining initial values for column-number should be a one-time process, not repeated when the table is in a marker that is retrieved. Committed by AD. See issue FOP-1185.
-
Bugfix: All fonts names were converted unnecessarily to lower case in RTF output. Committed by JM.
-
Bugfix: The combination of hyphenation and kerning resulted in slightly ragged right ends for right-aligned and justified text. Committed by JM.
-
Bugfix: NullPointerException in AreaAdditionUtil in a table-cell spanning multiple pages and with a marker. Committed by JM.
-
Bugfix: NullPointerException in RTF output when a table does not contain table-columns. Committed by JM. See issue FOP-1184.
-
Bugfix: NullPointerException in RTF library when there are no borders on the parent table. Committed by JM. Thanks to Julien Aymé. See issue FOP-1188.
-
Bugfix: Improved baseline detection in TTFReader for TrueType fonts. Committed by JM.
-
Bugfix: tables nested in inline elements caused a NullPointerException. Committed by JM. See issue FOP-1182.
-
Bugfix: Sections with span="all" lead to overlapping text if spanning multiple pages. Committed by JM. See issue FOP-1182.
-
Bugfix: Percentages in vertical-align property values were not correctly handled. Committed by MM.
-
Bugfix: Gaps in table-columns cause a NullPointerException. Committed by JM. Thanks to Gerhard Oettl. See issue FOP-1129.
-
Bugfix: TABs were not correctly replaced by spaces in some circumstances. Committed by MM.
-
Bugfix: basic-links with internal destinations in documents with multiple page-sequences sometimes pointed at the wrong page. Committed by JM.
-
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. Committed by JM.
-
Bugfix: Fixed OutOfMemoryException with long data URLs (RFC 2397). Committed by JM. See issue FOP-1172.
-
Enabled Copy/Paste from PDF content in Acrobat Reader for text using embedded TrueType fonts. Committed by BD. Thanks to Adam Strzelecki, Victor Mote. See issue FOP-230.
-
Commented out unused properties, in order to minimize memory usage. Committed by SP. Thanks to Richard Wheeldon. See issue FOP-1271.
-
Removed unused attributes from TableCell. Committed by SP. Thanks to Richard Wheeldon. See issue FOP-1269.
-
Minor fixes and improvements for the AWT Preview (keyboard shortcuts, scrolling, windows setup). Committed by JM. Thanks to Richard Wheeldon. See issue FOP-1265.
-
Minor fix: correctly set negative values for ipd/bpd to zero. Committed by AD.
-
Rework of default column-creation / column-width setting from cells in the first row. Committed by AD. See issue FOP-997.
-
Added relaxed validation for empty list-item-*, as suggested by Gary Reed. Committed by AD. Thanks to Gary Reed. See issue FOP-1225.
-
Modified proportional-column-width() function to log an error if used with table-layout=auto Committed by AD.
-
Changed the way overflowing pages are handled. The overflow property on region-body is now used to define the behaviour. Committed by JM.
-
The Java2DRenderer (and therefore the print and bitmap renderers) is now offering the same quality as the PDF and PS renderers. Note: There can still be little differences between PDF and Print/PNG/TIFF because the latter uses a different font metrics source. Committed by JM.
-
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. Committed by JM.
-
Changed the internal representation of colors to use Java's own color infrastructure instead of FOP's home-grown classes. Committed by JM. Thanks to Max Berger. See issue FOP-1159.
-
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. Committed by JM.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Andreas Delmelle (AD), Bertrand Delacrétaz (BD), Jeremias Märki (JM), Manuel Mall (MM), Simon Pepping (SP).
This is a list of other contributors:
Adam Strzelecki, Victor Mote, Dominic Brügger, Gary Reed, Gerhard Oettl, Gilles Beaugeais, Igor Istomin, Jeroen Meijer, Julien Aymé, Max Berger, Oliver Hernàndez Valls, Peter Coppens, Pierre-Henri Kraus, Richard Wheeldon.
Version 0.92beta (18 Apr 2006)
Changes to the Code Base
-
Initial support for page-position="last" added. Committed by JM.
-
Reenabled loading of user-supplied hyphenation patterns that was available in FOP 0.20.5. (See "hyphenation-base" option in the user configuration) Committed by JM.
-
Added support for fixed-width spaces. Committed by JM.
-
Added support for kerning. Committed by JM.
-
Support for "userconfig" attribute in FOP Ant Task. Committed by JM. Thanks to Jirí Mareš.
-
Initial support for XMP metadata (PDF 1.4) under fo:declarations. Committed by JM.
-
Added support for the background-position shorthand property. Committed by AD.
-
Added support for the font shorthand property. Committed by AD.
-
Added support for system-color() function. Committed by JM. Thanks to Max Berger. See issue FOP-1144.
-
Added support for the from-table-column() function. Committed by AD. Thanks to Gerhard Oettl (gerhard.oettl.at.oesoft.at). See issue FOP-1134.
-
New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. Committed by JM.
-
Relative URLs for the font configuration attributes metrics-url and embed-url are now supported. A new configuration property font-base has been added. It sets the base URL against which relative font URLs are resolved. If font-base is not set base is used. Committed by MM. See issue FOP-1059.
-
Added support for RFC2397 "data" URLs. Committed by JM. Thanks to Richard Wheeldon. See issue FOP-1125.
-
The font loading code now reads the encoding value from the XML font metrics file so that fonts like Symbol and ZapfDingbats can be embedded explicitely (Required by PDF/A). Committed by JM.
-
Added feature: support for white-space shorthand Committed by AD.
-
Added feature: support for page-break-* shorthands Committed by AD.
-
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. Committed by JM.
-
Bugfix: Fixed a division by zero problem in TTFReader and improved the detection of the capHeight and xHeight font metric values for TrueType fonts. Committed by JM.
-
Bugfix: Allow URLs in basic-link's external-destination to be wrapped in "url()". Committed by JM.
-
Bugfix: Corrected enumerated property value for white-space property from "no-wrap" to "nowrap". Committed by MM.
-
Bugfix: Added support for white-space-treatment="preserve" in particular to support the white-space="pre" short hand property. Committed by MM. See issue FOP-1141.
-
Corrected expectation and behaviour for the text-indent property to only apply to the first line area generated by a block. Committed by JM.
-
Bugfix for invalid handling of ICC color profiles in JPEG images and for dealing with CMYK JPEG images with the Adobe APPE marker. Committed by JM.
-
Bugfix: Certain filter combinations in PDF could lead to invalid PDFs. DecodeParams were not properly handled. Committed by JM.
-
Bugfix: CCITT Group 4 encoded TIFF images with multiple strips are now properly embedded in PDF files. Committed by JM.
-
Bugfix: Fixed a copy/paste error in the table layout code that caused wrong page break decisions when table-headers and/or table-footers are used. Committed by JM.
-
Bugfix: Fixed an NPE that was thrown when a table was used inside a footnote-body. Committed by JM.
-
Bugfix: Fixed a problem with certain TrueType fonts which are missing the "PCLT" table, where a baseline-shift="sub" had no effect due to a missing x-height value. (Note: This only affects TTFReader, so the font metric file has to be regenerated.) Committed by JM.
-
Bugfix: When the base URL was specified as a file system path, the constructed URL was wrong. Committed by JM.
-
Bugfix: Fixed two causes for ClassCastExceptions in BlockContainerLayoutManager. Committed by JM.
-
Bugfix: padding-top and padding-bottom on list-items could lead to wrong page break decisions and thus to overlapping text. Committed by JM.
-
Bugfix: break-before and break-after were ignored on list-items. Committed by JM.
-
Bugfix: The elements representing a non-breaking space weren't always correct. Committed by LF. See issue FOP-1142.
-
Bugfix: Text-decoration was not promoted if no text-decoration attribute was specified on a nested element. Committed by JM. See issue FOP-1140.
-
Bugfix: Spanned cells could lead to an false error message about overlapping cells and ultimately a NullPointerException. Committed by JM. See issue FOP-1136.
-
Bugfix: Regions with non-standard names got ignored in RTF output leading to missing headers and footers. Committed by JM.
-
The RTF output now properly generates the "\landscape" flag for documents in landscape orientation. Committed by JM.
-
Following a clarification by the XSL FO SG, space traits are only set on the first and last area generated by an FO, and not on every area anymore. Committed by JM.
-
Bugfix: Floating point numbers were not properly formatted in the PDF renderer which could lead to error messages while opening a PDF in Acrobat Reader. Committed by JM.
-
Bugfix: Spans that end up with a negative height don't get swallowed anymore. Committed by JM. See issue FOP-1119.
-
Bugfix: Certain border styles could lead to a NullPointerException. Committed by JM. See issue FOP-1125.
-
Bugfix: Space was not adjusted if the space was on a nested block. This could lead to content overflowing the bottom of a page. Committed by JM. See issue FOP-1123..
-
Bugfix: TableCell did not properly report that it generates reference-areas which could lead to wrong inherited values for start-indent and end-indent. Committed by JM.
-
Bugfix: Image height for BMP images was incorrectly calculated Committed by MM. See issue FOP-1121..
-
Bugfix: NullPointerException on certain fo:inline within lists. Committed by MM. See issue FOP-1118..
-
Bugfix: ClassCastException on certain fo:inline with border combinations. Committed by MM. See issue FOP-1105..
-
Changed a method name in LineArea from finalize to finalise because it was never intended for the method to be an override of the Java Object finalize method. If invoked by the Java garbage collector it may cause a NPE. Committed by MM.
-
Implement property name as default argument on some xsl-function calls. Committed by SP. Thanks to Gerhard Oettl. See issue FOP-1122..
-
Implement force-page-count property of page-sequence. Committed by SP. Thanks to Gerhard Oettl. See issue FOP-1120..
-
Improvements to the code for inline block content. Committed by SP.
-
Revision of refinement white-space handling. Committed by AD.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Andreas Delmelle (AD), Jeremias Märki (JM), Luca Furini (LF), Manuel Mall (MM), Simon Pepping (SP).
This is a list of other contributors:
Gerhard Oettl, Gerhard Oettl (gerhard.oettl.at.oesoft.at), Jirí Mareš, Max Berger, Richard Wheeldon.
Version 0.91beta (23 Dec 2005)
Changes to the Code Base
-
Added checks that warn about tables and block-containers that are wider than the available content area. Committed by JM.
-
First attempt at SVG support in RTF output. SVG images are converted to 300dpi JPEG images internally. Committed by JM.
-
The command-line now automatically sets two parameters for any XSLT transformation: "fop-output-format" contains the MIME type of the currently selected output format, "fop-version" contains FOP's version number. Committed by JM.
-
Added an alternative set of rules for calculating text indents which tries to mimic the behaviour of many commercial FO implementations that chose to break the rules in the FO specification in order to better meet the natural expectations of inexperienced FO users. Committed by JM.
-
font-family list still not fully supported but a comma-separated list is now properly tokenized. FOP will now go through all fonts in the list to find one that is available, but it doesn't do so per character, yet. Committed by JM.
-
Implemented "Overconstrained Geometry" rules (5.3.4, XSL 1.0) for the most important cases. Committed by JM.
-
Support for leader painting in PostScript output. Committed by JM.
-
Support for hyphenation-ladder-count. Committed by LF, MM.
-
Fixed a bug where the linefeed-treatment property value "preserve" was not honoured when used in conjunction with text-align="center". Committed by MM.
-
Bugfix: hard breaks with even-page or odd-page were not handled correctly when spaces were surrounding the break. Committed by JM. See issue FOP-1114..
-
Fixed a bug where SVG content could be clipped when rendered to PostScript. Committed by JM.
-
Changed the way resolutions are handled. The single resolution in the user agent got split up into source and target resolutions. For more info, see the updated documentation. Note: backwards-incompatible change! Committed by JM.
-
Bugfix: Some content inside a table-header may not have been renderered on pages n > 1 in certain conditions. Committed by JM. See issue FOP-1109..
-
Fixed a bug where an empty line, i.e. a block containing only a , was not rendered at all. Committed by MM.
-
Fixed a bug where the area for a finished cell that is broken over pages was created once for each row it was spanned over instead of only once. Committed by JM.
-
Bugfix: Footnotes were lost if the footnote appeared in centered text. Committed by JM. See issue FOP-1112..
-
Fix to correct image sizes in RTF output. Committed by JM.
-
The output file is now deleted when an exception occurs when calling FOP from the command-line. Committed by JM.
-
Bugfix: Areas for table-cells that are broken over more than one page are now generated even if all its content is already painted on a previous page. This fixes strange effects like a table grid that is not completely painted. Committed by JM.
-
Bugfix: Column balancing produced strange break decisions in certain multi-column documents with large amounts of text. Committed by JM. See issue FOP-1108..
-
Bugfix: The combination of content-width="scale-to-fit" and content-height="100%" did not work as expected due to a datatype conversion bug. Committed by JM. Thanks to Tom Craddock. See issue FOP-1107..
-
Bugfix: A span="all" on the first block cause a subsequent page break and the first block didn't span all columns. Committed by JM. See issue FOP-1106..
-
Bugfix: Self-created OutputStreams in PNG Renderer were not properly closed. Committed by JM.
-
Bugfix: Relatively positioned BlockViewports (from block-containers) caused the paint cursor not be be properly advanced when space-before or space-after were present. Committed by JM.
-
Bugfix: Space resolution was incomplete for content in table-cells. Conditional elements didn't get removed. Committed by JM.
-
The validation check for non-zero borders and padding on a region-* and for empty static-content elements is now turned off when relaxed validation is active to improve compatibility with FO documents written for other FO implementations. Committed by JM.
-
Bugfix for "/ by zero" ArithmeticExceptions when an URL to a non-existing image is used and content-width and/or content-height is used. Committed by JM.
-
Bugfix for a multi-threading problem: propertyListTable initialization moved from the constructor to a static block in FONode. This fixes NullPointerExceptions in PropertyList. Committed by JM.
-
Bugfix for placement of text inside a text area when borders are present in PostScript output. Committed by JM.
-
Deprecated Fop constructors that use integer constants to select the output format have been removed in favor or the constructors that use MIME types. Committed by JM.
-
Changed the XMLHandler interface so it doesn't report the MIME type it supports but instead can report whether it supports a particular Renderer implementation. XMLHandlers are now configurable. Committed by JM.
-
Improved log and error messages in a number of places by adding additional context information that should make it easier to find the location in the source files. Committed by JM.
-
Additional checks to detect text overflows. The overflow property is now properly handled where applicable. Committed by JM.
-
Source location information improved. If location information is not available, the context information is provided based on text content. Committed by JM.
-
The border-collapse property on fo:table is now forced to the value "separate" until the collapsing border has been implemented. Committed by JM.
-
Improvements on leader painting in PDF output. Committed by JM.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Jeremias Märki (JM), (LF, MM), Manuel Mall (MM).
This is a list of other contributors:
Tom Craddock.
Version 0.90alpha1 (22 Nov 2005)
Changes to the Code Base
- Complete redesign of the FOP codebase in the period between Dec 2001 and Nov 2005. There are just too many changes to list here. If you like to know details, run
"svn log --verbose http://svn.apache.org/repos/asf/xmlgraphics/fop/trunk/"
. Committed by all.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
the FOP committers (all).
Version 0.20.5 (18 July 2003)
Changes to the Code Base
- For the change log for the maintenance branch (where FOP 0.20.5 came from), please see the "CHANGES" file in the distribution, or the CHANGES file in the SVN repository. Committed by all.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
the FOP committers (all).
All Committers
This is a list of all people who have ever participated as committers on this project.
-
Glenn Adams (GA)
-
Max Berger (MB)
-
Chris Bowditch (CB)
-
Jay Bryant (JB)
-
Adrian Cumiskey (AC)
-
Bertrand Delacrétaz (BD)
-
Andreas Delmelle (AD)
-
Luca Furini (LF)
-
Christian Geisert (CG)
-
Peter Hancock (PH)
-
Vincent Hennebert (VH)
-
Mehdi Houshmand (MH)
-
Clay Leeds (CL)
-
Manuel Mall (MM)
-
Jeremias Märki (JM)
-
Simon Pepping (SP)
-
the FOP committers (all)
-
Volunteer needed (open)