Jeremias Maerki [Wed, 18 Jun 2008 09:02:45 +0000 (09:02 +0000)]
Bugzilla #44412:
Regression fix for empty pages caused by multiple collapsible breaks.
No more empty block areas if a break-before occurs on the first child of an FO to match the behaviour of tables and other FO implementations (clarification by XSL WG pending).
Added an accessor interface for break-before/-after to avoid long if..else lists in BlockStackingLayoutManager.
Jeremias Maerki [Thu, 15 May 2008 07:07:18 +0000 (07:07 +0000)]
Fixed rendering of fixed block-containers in AFP output. The break-out was actually never implemented which is necessary for supporting fixed positioned viewports.
Fixed regression causing bad positioning of block-containers if used as descendant of a table-cell. This was not caught because of the lack of a test case that would have shown the problem in visual testing with BatchDiffer.
See also: http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/200804.mbox/%3c20080424164128.973A.DEV@jeremias-maerki.ch%3e
Fixed text extraction problem with ZapfDingbats and Symbol font in PDF output. These fonts are symbolic and must not use an Encoding value in PDF. Applies to the built-in base 14 variant and to the case where these fonts are explicitely embedded.
Performance improvement when encoding images: Fixed an important hotspot by extending CloseBlocker from ProxyOutputStream instead of FilterOutputStream as the latter routes all write(byte[]) calls through write(int).
Jeremias Maerki [Mon, 31 Mar 2008 07:12:40 +0000 (07:12 +0000)]
Added version number to xml-apis-ext (as suggested by Karel Vervaeke).
Moved xml-apis to same version as xml-apis-ext.
Added missing licensing info about xml-apis-ext.
Bugzilla #44621: when the after border of a cell, in the trailing case, is bigger than in the normal case, the generated sequence of Knuth elements was wrong, leading to content being swallowed
This is a partial fix only: the content is no longer swallowed, but the penalty is wrong (shorter than it should be). This will lead to the table overflowing the region-body without warning.
Jeremias Maerki [Mon, 17 Mar 2008 12:24:33 +0000 (12:24 +0000)]
Partially reverted revision 637791:
Restored JAI as a required dependency for distribution builds (used for error diffusion dithering in the PCL Renderer). It is optional otherwise.
Updated the licensing info and release notes to make the changes clear.
Bugzilla #44412:
Bugfix: When there was a forced break after a block with (conditional) borders the border-after wasn't painted.
Changes made by Jeremias
Updated the disabled-testcases.xml file: re-enabled testcases which could easily be updated, removed the other ones which anyway were superseded by more complete ones
Jeremias Maerki [Mon, 10 Mar 2008 10:06:37 +0000 (10:06 +0000)]
Fixed NPE in BlockContainerLayoutManager when used as a child of an inline-level FO. Split IP and BP stack limits in LayoutContext (there's now a certain amount of redundancy with "refIPD" in LayoutContext which I didn't resolve).
Areas are now generated for block-level FOs when used as children of inline-level FOs.
ClassCastException in ListLayoutManager.mustKeepTogether() fixed (occured if used as child of an inline-level FO).
- 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.
- Improved conformance: even if a table-cell spans several rows its background must correspond to the first row spanned.
- Added support for background on fo:table-column and fo:table-header/footer/body
TODO more testcases needed, especially tables with collapsing border model and tables broken over pages
Jeremias Maerki [Tue, 4 Mar 2008 17:35:52 +0000 (17:35 +0000)]
Update FOP poster for OpenExpo 2008 in Bern.
This fixes various warnings, updates the history and simplifies configuration (if you're on Windows, it will work out of the box because all fonts are available).
Jeremias Maerki [Tue, 4 Mar 2008 17:30:40 +0000 (17:30 +0000)]
Bugfix: If there's shrink available in an auto-height situation, the difference is now set to 0 in order to avoid unwanted effects. IOW, never shrink in an auto-height situation.
Jeremias Maerki [Tue, 4 Mar 2008 11:50:34 +0000 (11:50 +0000)]
Renamed to 0.95beta.
Made changes and release notes work again by switching to the projectInfo plug-in rather than relying on our local copy of the stylesheets. There's a little bug (missing images) in the release notes for which I submitted a patch (https://issues.apache.org/jira/browse/FOR-1076) to Forrest.
Brought status.xml more in line with the official status DTD.
Jeremias Maerki [Tue, 4 Mar 2008 09:15:50 +0000 (09:15 +0000)]
Using Forrest Trunk from now on (in order to use FOP 0.94 for PDFs). We'll switch to a stable release as soon as a release with a new FOP version is available.
Jeremias Maerki [Mon, 3 Mar 2008 07:51:14 +0000 (07:51 +0000)]
Tried to make font configuration easier to understand by splitting the basics from the advanced stuff. Otherwise, people will believe for the next 100 years that generating XML font metrics file is still always necessary.
Jeremias Maerki [Fri, 29 Feb 2008 14:03:01 +0000 (14:03 +0000)]
Bugfix: Disabled setting widths from AFM since we're using WinAnsiEncoding internally but the AFM delivers the character widths using the font's native encoding which causes problems with some characters.
Jeremias Maerki [Tue, 26 Feb 2008 11:07:20 +0000 (11:07 +0000)]
Reverted revision 603590 which broke the AFP renderer. The other changes after revision 603590 should be preserved as well as possible, including the switch to the new image library.
Adjustments for change in behaviour of the block viewport CTM.
Bugfix: SVG painting is now always done on a color canvas (like for PCL) because Batik cannot handle gradients on a grayscale canvas.
- added full support for keep-with-previous on table-row and in table-cell
- added more testcases for keeps in tables
- assign the right table-row element to grid units that are not on the first row spanned
- slightly re-worked the RowGroupBuilder interface to make it more SAX-like
Jeremias Maerki [Tue, 19 Feb 2008 15:47:48 +0000 (15:47 +0000)]
Added support for reading the OS/2 table's usWeightClass value which supports the same font weight values as we use in XSL-FO.
However, in my tests these values proved to be unreliable (like ExtraBlack fonts returning 400). I just hooked the whole thing in so this work isn't lost if anyone has an idea to make it work. The FontInfoFinder will continue to only use guessed font weights for now.
Jeremias Maerki [Tue, 19 Feb 2008 13:08:39 +0000 (13:08 +0000)]
Bugzilla #44451:
The patch fixes two problems:
- If distinct fonts declare the same font family name, the resulting font mapping is currently arbitrary; now, a name-similarity heuristic is used to prioritize the font mappings.
- "Medium" and "demi" fonts are now recognized as "bold", solving several real-world problems (although this solution may be an oversimplification).
Submitted by: Justus Piater <justus-bulk.at.piater.name>
Patch modified by jeremias:
- Style fixes (tab chars)
- Refined font weight identification: medium -> 500, semi/demi -> 600
Jeremias Maerki [Mon, 18 Feb 2008 15:02:39 +0000 (15:02 +0000)]
fop-rgb-icc() function did not make the round-trip which caused an error in the color_1.xml test case (intermediate format tests). Added a unit test to test the parsing and round-trip.
Documented the cmyk() function.
Jeremias Maerki [Mon, 18 Feb 2008 09:41:03 +0000 (09:41 +0000)]
Extract original exception in BasePDFTestCase.java. They are normally embedded in a TransformerException and sometimes additionally in a SAXException (depending on the JAXP implementation).
Restore validation for Base14 font check when PDF/A is active. Got lost when I refactored to generic structures in the PDF library.
Jeremias Maerki [Sat, 16 Feb 2008 12:28:48 +0000 (12:28 +0000)]
Extracted most of the code in CodePointMapping (generated by XSLT) into a base class for easier maintenance and proper Javadocs.
Deprecated FOP's copy of Glyphs.java.
Took a different approach at handling mapping alternatives for single-byte fonts. The AFM now only lists the main character. Substitution is done through Glyphs.java later in CodePointMapping.
Fixed a problem in Type1FontLoader where the PFM overrides asc/desc/cap/x even though the AFM provides the values. It showed itself because the URW Symbol font has wrong values in the PFM.
Added a note to myself in Type1FontLoader to implement the "Flags" value. The whole thing still seems to work without that part.
Added a glyph name list to the CodePointMapping so we can work with the original list from the AFM. Otherwise, various mapping operations to and from resulted in unwanted mappings (because the mappings are not necessarily 1:1) and in the end the PDF received an incorrect Encoding map. Now there's no such problem anymore.
rowStarted doesn't need to be set in the signalNewRow method. If it is, it will prevent the startTablePart event from being triggered on RowGroupBuilder, in addChildNode. This will lead to a NPE being thrown in CollapsingBorderResolver because it would be improperly set up.