Hard breaks with even-page or odd-page were not handled correctly when spaces were surrounding the break. The code that retrieves the break-class from the penalty assumes that the penalty is on the last element in the list, but the space resolution added additional glues after the penalty.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@357942 13f79535-47bb-0310-9956-ffa450edef68
NOTE: API changes in a backwards-incompatible way: FOUserAgent.setResolution() -> FOUserAgent.setSourceResolution() and FOUserAgent.setTargetResolution()
Resolution parameter to the user agent is split into:
- a source resolution used to determine the pixel size in SVG images and bitmap without resolution information
- a target resolution used to specify the output resolution of bitmap images generated by bitmap renderers and bitmaps generated by Batik for filter effects.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@357081 13f79535-47bb-0310-9956-ffa450edef68
Some content inside a table-header may not have been renderered on pages n > 1 in certain conditions.
LineLM kept state between calls to addAreas which can have ugly side-effects in case of table-headers, for example, where the same positions are rendered more than once. I don't know why the bug only manifests if there's an overflow in the second line of the table-header in the test case.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@357045 13f79535-47bb-0310-9956-ffa450edef68
Hack: Work around an NPE in hyphenation when preserved line feeds are found.
Documenting a bug where linefeeds are painted as "#" and content is painted multiple times when hyphenation is on and linefeed-treatment="preserve".
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@356804 13f79535-47bb-0310-9956-ffa450edef68
Better approach for enforcing the overflow property on block-containers.
Fixed a bug in the PDF and PS renderers concerning the clipping of viewport areas. The order of clipping and establishing the new coordinate system was wrong. Removed an unnecessary save/restoreGraphicsState() pair.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@355131 13f79535-47bb-0310-9956-ffa450edef68
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.
Some check in the test cases had to be adjusted because the indices weren't correct anymore, since now some previously missing areas are generated.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@355105 13f79535-47bb-0310-9956-ffa450edef68
Alternative set of rules for text indent calculation (start-indent and end-indent) which tries to mimic many commercial FO implementation that have chosen to break the specification in this aspect. I think I have found the behaviour for most cases. But I'm operating in reverse-engineering mode here and not all FO implementations behave in the same way!
This is an optional feature that has to be explicitely enabled through the user agent. Otherwise, FOP will behave like before.
In the FO tree tests a processing instruction is used to enable the feature/bug ;-) in the user agent so I can test both cases.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@354763 13f79535-47bb-0310-9956-ffa450edef68
Bugfix: The combination of content-width="scale-to-fit" and content-height="100%" did not work as expected due to a datatype conversion bug.
Submitted by: Tom <tom.at.craddock.id.au>
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@354757 13f79535-47bb-0310-9956-ffa450edef68
Fixed a bug that occurred if the first block was span="all". A page break was inserted in this situation, the first span was calculated as if it were span="none".
Code added to remove empty span areas. This is a lot easier and cleaner than trying not to instantiate the first span right from the beginning.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@354752 13f79535-47bb-0310-9956-ffa450edef68
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.
Cleaned up all entries (except whitespace-related stuff) in disabled-testcases.xml.
block_padding_2's expected element list was wrong. An infinite penalty was missing for the "retain" element.
inline-block_keep-together was a misleading name: it is now inline_keep-together.xml.
Bug 36356 actually behaves like it should, now, but the checks were wrong. Only one margin was used in the width calculation and a count() was missing in the second check.
table_border-width_conditionality.xml specified conditionality for start and end edges instead of before and after. The test itself has to be looked at again because shorthands are in use and this case some consequences as discussed earlier.
Another test case could be enabled because it works now: page-number_initial-page-number_2
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@348708 13f79535-47bb-0310-9956-ffa450edef68
Updated from Jakarta Commons IO 1.0 to 1.1. CopyUtils.copy() becomes IOUtils.copy() again. CopyUtils in 1.0 was not ideal design decision.
Fixed most of the unappropriate System.err/System.out/Exception.printStackTrace(). Those that aren't fixed and are not legitimate calls (in main() methods etc.) are marked with a TODO item.
Some Javadocs and style updates.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@344111 13f79535-47bb-0310-9956-ffa450edef68
Deprecated constructors Fop(int) and Fop(int, FOUserAgent).
Deprecated Fop.getVersion() in favor for Version.getVersion().
Changed every place the newly deprecated methods were called.
Ant task and TestConverter changed to fully use MIME types.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@332791 13f79535-47bb-0310-9956-ffa450edef68
Bugfix: A normal break inside a table resulted in the next part to be sent to the next page instead of the next flow. TableContentLayoutManager produces KnuthPenalties with breakClass=0.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@332594 13f79535-47bb-0310-9956-ffa450edef68
Made the FO tree a little more consistent by renaming getName() to getLocalName() and adding additional methods like: getNamespaceURI() and getNormalNamespacePrefix(). getName() now returns the fully qualified name combined from getLocalName() and getNormalNamespacePrefix(). For special cases you can call getName(String) to return a different namespace prefix.