Jeremias Maerki [Mon, 5 Jan 2009 07:47:02 +0000 (07:47 +0000)]
FOP now creates ToUnicode CMaps for single-byte fonts that don't use built-in encodings to help PDF text extractors interpreting characters.
PDF CMaps now support single-byte characters.
Jeremias Maerki [Sun, 4 Jan 2009 12:59:29 +0000 (12:59 +0000)]
Added support for forcing single-byte encodings for TrueType fonts without creating an XML font metric file (see "encoding-mode" attribute on "font" element in updated documentation).
See also Acrobat PDF merge performance problem on fop-users: http://markmail.org/message/dbbaaht4qshhqs3v
Bugzilla 46319:
Fixed a memory-leak in Marker.MarkerAttribute, where an instance was used as both key and value
in a WeakHashMap, effectively neutralizing the benefit of using WeakReferences.
Solved by extending PropertyCache to work for MarkerAttributes as well.
Jeremias Maerki [Sun, 7 Dec 2008 12:28:27 +0000 (12:28 +0000)]
FopCharacterSet doesn't follow the same contract as its superclass. The metrics must not be multiplied by the font size in the FopCharacterSet class. Only RasterFont or OutlineFont should do that.
Minor changes; mostly code- and javadoc-aesthetics...
Most notable:
- made most member variables private (apart from objectCount, which is used by PDFFactory)
- the number of fully qualified collection names warranted separate import statements
- replaced a String concat with StringBuffer.append()
- some javadoc nits, reduce space in single-line, add space in multi-line, added some @links ...
Adrian Cumiskey [Thu, 27 Nov 2008 10:37:43 +0000 (10:37 +0000)]
* Text encoding is now handled by PresentationTextData and character set encoding errors are now handled by AFPEventProducer.
* Moved AFPEventProducer from org.apache.fop.render.afp package to org.apache.fop.afp package.
Adrian Cumiskey [Wed, 26 Nov 2008 13:45:04 +0000 (13:45 +0000)]
Merged revisions 719616,719629,719646,719654 via svnmerge from
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk
........
r719616 | jeremias | 2008-11-21 16:07:58 +0000 (Fri, 21 Nov 2008) | 1 line
Added support for SVG 1.2 inside fo:instream-foreign-object. The code just used the basic SVGDOMImplementation for SVG 1.1. Now it delegates the DOM building to Batik code instead of to a normal DOM builder.
........
r719629 | jeremias | 2008-11-21 16:33:33 +0000 (Fri, 21 Nov 2008) | 2 lines
Fix for unit test failure in transcoder tests (NullPointerException):
Have to pass the root PSGraphics2D to NativeTextHandler instead of the PSGenerator as this one hasn't been initialized in PSGraphics2D when the NativeTextHandler is built in AbstractPSTranscoder.
........
r719646 | jeremias | 2008-11-21 17:24:32 +0000 (Fri, 21 Nov 2008) | 1 line
Fixed possible ClassCastException that was caused by my earlier attempt to support SVG 1.2. Batik's SAXSVGDocumentFactory doesn't currently deal well with the case when namespaces are declared outside of its scope. Worked around that by doing the SVG version detection in FOP code. SVG12DOMImplementation is obtained by reflection in order to keep backwards compatilibility with earlier Batik versions that don't support SVG 1.2.
........
r719654 | jeremias | 2008-11-21 17:44:08 +0000 (Fri, 21 Nov 2008) | 1 line
Adrian Cumiskey [Tue, 25 Nov 2008 18:34:05 +0000 (18:34 +0000)]
* Reverted back the interface changes I made to ImageHandler.
* Created AbstractAFPImageHandlerRawStream base class to handle raw image streams for AFP.
* Fixed a bug in handling native embedded TIFF images.
I think its finally ready to roll now guys, sorry for the last minute glitches.
My apologies for not finding time to respond to the fop-dev mailing list this afternoon but have been trying to put my efforts into applying the final touches to the branch. If my good lady allows I'll respond to your comments later this evening :).
Jeremias Maerki [Fri, 21 Nov 2008 17:24:32 +0000 (17:24 +0000)]
Fixed possible ClassCastException that was caused by my earlier attempt to support SVG 1.2. Batik's SAXSVGDocumentFactory doesn't currently deal well with the case when namespaces are declared outside of its scope. Worked around that by doing the SVG version detection in FOP code. SVG12DOMImplementation is obtained by reflection in order to keep backwards compatilibility with earlier Batik versions that don't support SVG 1.2.
Jeremias Maerki [Fri, 21 Nov 2008 16:33:33 +0000 (16:33 +0000)]
Fix for unit test failure in transcoder tests (NullPointerException):
Have to pass the root PSGraphics2D to NativeTextHandler instead of the PSGenerator as this one hasn't been initialized in PSGraphics2D when the NativeTextHandler is built in AbstractPSTranscoder.
Jeremias Maerki [Fri, 21 Nov 2008 16:07:58 +0000 (16:07 +0000)]
Added support for SVG 1.2 inside fo:instream-foreign-object. The code just used the basic SVGDOMImplementation for SVG 1.1. Now it delegates the DOM building to Batik code instead of to a normal DOM builder.
Adrian Cumiskey [Fri, 21 Nov 2008 14:29:17 +0000 (14:29 +0000)]
<svg:image/> y-axis positioning fix in AFPGraphics2D.
GraphicsState inner class created in GraphicsObject.
Unused methods setFill() and incrementPageFontCount() removed.
Adrian Cumiskey [Thu, 20 Nov 2008 16:44:30 +0000 (16:44 +0000)]
Merged revisions 718666,718705,719038,719110 via svnmerge from
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk
........
r718666 | adelmelle | 2008-11-18 17:58:54 +0000 (Tue, 18 Nov 2008) | 1 line
Bugfix: do not reset TextLM.hasChanged, but combine (||) with previous value.
........
r718705 | adelmelle | 2008-11-18 20:14:22 +0000 (Tue, 18 Nov 2008) | 1 line
Change FontCache.changeLock to a boolean[1], so it can be serialized...
........
r719038 | jeremias | 2008-11-19 19:46:45 +0000 (Wed, 19 Nov 2008) | 1 line
Reduced warning on ascender+descender > EM box to DEBUG level, as this case is compensated for by additional code in guessVerticalMetricsFromGlyphBBox() and is therefore only confusing. I tested problematic fonts and they show an acceptable line layout. No semantics changed.
........
r719110 | adelmelle | 2008-11-19 22:45:06 +0000 (Wed, 19 Nov 2008) | 3 lines
Bugzilla 46240:
Fixed a bug in combining break-before with a span change.
........
Adrian Cumiskey [Thu, 20 Nov 2008 16:38:44 +0000 (16:38 +0000)]
SetCurrentPosition fix for line drawing.
AbstractPaintingState push(), pushAll(), pop(), popAll() renamed to save(), saveAll() and restore(), restoreAll().
Some Javadoc improvements/updates.
Added Completable, Startable object writing interfaces.
StructuredDataObject interface renamed to StructuredData.
High level DataStream class moved from afp.modca to afp package.
Graphics*Relative objects removed and feature provided by absolute implementation.
GraphicsArea broken into GraphicsAreaBegin and GraphicsAreaEnd since areas are able to span more than one segment.
Improvement in SetLineWidth thickness precision.
Jeremias Maerki [Wed, 19 Nov 2008 19:46:45 +0000 (19:46 +0000)]
Reduced warning on ascender+descender > EM box to DEBUG level, as this case is compensated for by additional code in guessVerticalMetricsFromGlyphBBox() and is therefore only confusing. I tested problematic fonts and they show an acceptable line layout. No semantics changed.
Adrian Cumiskey [Tue, 18 Nov 2008 14:13:51 +0000 (14:13 +0000)]
Removed AbstractGraphics2DImagePainter and Graphics2DImagePainterGOCA (painting preparator mechanism).
Adjusted AFPGraphics2D to TextHandler changes in XG commons.
Factored an AbstractFOPTextPainter which is extended by AFPTextPainter.
Improved the FAQ by creating a separate entry for the problem about keep-together on table-cell, and the added support for inline keeps in 0.95
........
r718570 | jeremias | 2008-11-18 13:16:32 +0000 (Tue, 18 Nov 2008) | 1 line
Bugzilla 46211:
Fixed some multi-threading issues in FontCache.java (+ some minor cleanup: simplification of conditionals)
Thanks to rogov.AT.devexperts.com for tracing and reporting the problem.
........
r718502 | adelmelle | 2008-11-18 06:43:08 +0000 (Tue, 18 Nov 2008) | 1 line
Bugzilla 46211:
Fixed some multi-threading issues in FontCache.java (+ some minor cleanup: simplification of conditionals)
Thanks to rogov.AT.devexperts.com for tracing and reporting the problem.
Adrian Cumiskey [Thu, 13 Nov 2008 16:11:58 +0000 (16:11 +0000)]
* PDFImageHandler interface split into ImageHandler and PDFImageHandler.
* Deleted AFPDataObjectInfoProvider and AFPImage*Factory implementations, and abstracted AbstractImageHandlerRegistry from PDFImageHandlerRegistry, creating AFPImageHandlerRegistry and AFPImageHandler so there is a common reuse of image handling implementation between AFP and PDF now.
* RendererContext instantiation is now overridable in PrintRenderer.
* Created AFPRendererContext that is able to provide AFPInfo.
* toString() added to RendererContext for ease of use.
* Removed GraphicsObjectPainterAFP.
* Added package.html for AFP (sub)packages.
* Abstracted AbstractFOPBridgeContext from PDFBridgeContext and provided AFPBridgeContext implementation.
* Abstracted AbstractFOPTextElementBridge from PDFTextElementBridge and provided AFPTextElementBridge implementation.
* Abstracted AbstractFOPImageElementBridge from PDFImageElementBridge and provided AFPImageElementBridge implementation.
* Provided inline image support/handling in AFPGraphics2D for SVG.
* Created NativeImageHandler interface.
* Fix for path iterator filled line drawing in AFPGraphics2D adding coordinate drawing implementations GraphicsLineRelative and GraphicsFilletRelative (Thanks for the patch Jeremias).
* Improved configuration.xml documentation for images mode/native setting in AFP renderer configuration.
Adrian Cumiskey [Tue, 4 Nov 2008 15:30:38 +0000 (15:30 +0000)]
"fixed" block container handling fixed (see block-container_absolute-position_fixed.xml).
Barcode4J generating barcodes correctly for both GOCA and conversion-mode="bitmap".
AbstractGenericSVGHandler now declares use of static final String BITMAP which is used by concrete subclasses and provides overridable methods. for buildGraphicsNode() and createPainter().
*State classes are now renamed *PaintingState.
AFPImageGraphics2DFactory - painter is not overriden but is now instead prepared for y-axis inversion.
AFPGraphics2DAdapter - commented lines removed.
Inlining now only done when the graphic is a non conversion-mode="bitmap".
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).
This was most probably introduced by rev 618992.
........
r708012 | adelmelle | 2008-10-26 16:32:16 +0000 (Sun, 26 Oct 2008) | 5 lines
Bugzilla 45113:
Added PDF /Launch action, which is used in case of references to URIs using the file:// protocol.
Thanks to Alexander Stamenov (astamenov.AT.gmail.com) for the input!
........
Adrian Cumiskey [Mon, 27 Oct 2008 11:11:31 +0000 (11:11 +0000)]
All AFP library classes without Renderer dependencies moved from org.apache.fop.renderer.afp.* to org.apache.fop.afp.*.
AbstractNamedAFPObject now truncates names to the last x characters of the name string instead of the first x (where x is the name length of the structured field).
Removed redundant package org.apache.fop.store.
Bugzilla 45113:
Added PDF /Launch action, which is used in case of references to URIs using the file:// protocol.
Thanks to Alexander Stamenov (astamenov.AT.gmail.com) for the input!
Jeremias Maerki [Fri, 24 Oct 2008 13:42:59 +0000 (13:42 +0000)]
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).
This was most probably introduced by rev 618992.
AFPFontReader a lot more robust now with less copy/pasted code but still far from ideal, the whole AFP FOCA parsing/handling still in need of a rewrite at some point.
CharacterSetOrientation width() renamed to getWidth() and now protects itself against a possible ArrayIndexOutOfBoundsException.
........
Adrian Cumiskey [Fri, 24 Oct 2008 13:20:51 +0000 (13:20 +0000)]
AFPFontReader a lot more robust now with less copy/pasted code but still far from ideal, the whole AFP FOCA parsing/handling still in need of a rewrite at some point.
CharacterSetOrientation width() renamed to getWidth() and now protects itself against a possible ArrayIndexOutOfBoundsException.
Bugzilla #45956:
Minimal support for leader-pattern="rule" for PCL output.
........
r706570 | jeremias | 2008-10-21 11:13:27 +0100 (Tue, 21 Oct 2008) | 1 line
Reluctantly added a note about how to clear the image cache.
........
r707083 | acumiskey | 2008-10-22 15:05:56 +0100 (Wed, 22 Oct 2008) | 2 lines
Been hanging around here unused since 2002 and no longer relevant as far as I can tell.
........
Adrian Cumiskey [Wed, 22 Oct 2008 13:42:56 +0000 (13:42 +0000)]
Default to inline resource level for GOCA graphic objects (when no afp:resource-level extension is provided).
This is due to a bug in the IBM AFP Workbench Viewer (2.04.01.07) (hard copy works just fine with default print-file level)
Adrian Cumiskey [Mon, 20 Oct 2008 13:42:28 +0000 (13:42 +0000)]
Merged revisions 706272,706276 via svnmerge from
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk
........
r706272 | jeremias | 2008-10-20 14:14:03 +0100 (Mon, 20 Oct 2008) | 1 line
Visually separated retroweaver part from hyphenation part.
........
r706276 | jeremias | 2008-10-20 14:20:26 +0100 (Mon, 20 Oct 2008) | 3 lines
Fixed size of images when vector graphic images are painted using fox:conversion-mode="bitmap" (for PDF output).
Added support for fox:conversion-mode="bitmap" for PS output.
Avoid "unsupported target ImageFlavor" error after the fix in XML Graphics Commons (rev 706270).
........
Jeremias Maerki [Mon, 20 Oct 2008 13:20:26 +0000 (13:20 +0000)]
Fixed size of images when vector graphic images are painted using fox:conversion-mode="bitmap" (for PDF output).
Added support for fox:conversion-mode="bitmap" for PS output.
Avoid "unsupported target ImageFlavor" error after the fix in XML Graphics Commons (rev 706270).