Remove unnecessary scale factor. This made all images added via SVG three times bigger than they need to be. The scale factor doesn't exist in PSGraphics2D.
Here's where this scale factor was introduced:
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/org/apache/fop/svg/Attic/PDFGraphics2D.java?r1=1.18&r2=1.19&diff_format=h
Also reported by Jay Chiu for Fop 0.20.5 (Feb 2004)
Glen Mazza [Fri, 27 Aug 2004 06:02:03 +0000 (06:02 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
Some code cleanup in Title and PageNumberGenerator, removal of apparently unused logger instance from latter.
Simon Pepping [Thu, 26 Aug 2004 20:58:30 +0000 (20:58 +0000)]
Moved some functionality from LMiter to the LayoutManagers. The LMs
now hold the list of child LMs and the method preLoadNext. This makes
it possible to create a new LMiter object for a LM, or even a list
iterator over the list of child LMs if the latter is known to be
complete.
Glen Mazza [Wed, 25 Aug 2004 05:03:08 +0000 (05:03 +0000)]
1. Implemented validateChildNode() for fo:simple-page-master. This may cause some stress with the user community--as any declared fo:region-xxxx children must follow a specific ordering.
2. Modified several of our sample and test FO files to be compliant with the XSL spec with respect to the change above.
3. @todo's added to FO's still missing validateChildNode()
4. New FONode missingPropertyError() method created, for the major cases where missing properties should halt processing.
5. Various cleanup in our layout-master-set and region classes, including the removal of error checks that are no longer needed due to validateChildNode() being implemented.
Jeremias Maerki [Mon, 16 Aug 2004 19:33:19 +0000 (19:33 +0000)]
Fix JPEG with many long APPS markers.
Also defers the creation of the original node until it absolutely has to thus avoiding decoding the JPEG file and creating the raster unless needed.
Submitted by: Thomas DeWeese <Thomas.DeWeese.at.Kodak.com>
Jeremias Maerki [Sat, 14 Aug 2004 18:50:37 +0000 (18:50 +0000)]
Updated Common IO to first release.
Build updated so the transcoder packages are built correctly (reflecting the changes in the source code)
JUnit failures now let the build fail (note: JUnit is currently not activated in Gump runs)
Glen Mazza [Sat, 14 Aug 2004 18:36:21 +0000 (18:36 +0000)]
1.) fo:Instream-Foreign-Object initialization logic moved from AddLMVisitor
to flow.InstreamForiegnObject.java, and the layout logic itself moved to
a new layoutmgr.InstreamForeignObjectLM.java. (Broke with usual nomenclature of adding
~LayoutManager to end, given that newer 1.1 and post-1.1 FO names are
getting even larger.)
Glen Mazza [Fri, 13 Aug 2004 00:03:49 +0000 (00:03 +0000)]
1.) Layout initialization logic for fo:table, fo:table-header, and fo:table-footer
moved from AddLMVisitor to fo.Table.
2.) Layout logic for fo:external-graphic moved from fo.ExternalGraphic to
layoutmgr.ExternalGraphicLayoutManager.
3.) Partial implementation of validateChildNode() for fo:footnote.
4.) fox:destination commented out from images.fo sample until purpose, content
model better defined. Also needs a Maker class. (Does not appear to work
in either maintenance or HEAD.)
Simon Pepping [Tue, 10 Aug 2004 19:30:33 +0000 (19:30 +0000)]
This change allows users to set the level of the javadocs task to
private, package or public. It also allows users to set a user
hyphenation directory from which hyphenation files are compiled and
added to the hyph directory in the build.
PR:
Obtained from:
Submitted by:
Reviewed by:
Glen Mazza [Sun, 8 Aug 2004 18:39:26 +0000 (18:39 +0000)]
Implemented getNameId() which returns the Constants enumeration ID
for the FO. For future array work or to reduce the amount of string comparisons being done.
Glen Mazza [Fri, 6 Aug 2004 15:41:12 +0000 (15:41 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
Moved three FO's from AddLMVisitor->FObj.AddLayoutManager(); will eventually need to create additional LM's for at least two of them to remove the Area-specific code these FO's now have.
Glen Mazza [Fri, 6 Aug 2004 04:22:18 +0000 (04:22 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
1.) Continued conversion/deprecation of AddLMVisitor. About 16 FO's remaining.
2.) Created a *temporary* LMVisited interface to mark those FO's still
needing conversion. This will be dropped once the process is complete.
Glen Mazza [Wed, 4 Aug 2004 22:21:04 +0000 (22:21 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
Start of conversion of AddLMVisitor to FObj.AddLayoutManager(): removed
acceptVisitor() methods from FO's that don't need LM's
(e.g., those FO's not yet implemented or those that don't return areas anyway).
Glen Mazza [Sun, 1 Aug 2004 15:26:53 +0000 (15:26 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
Consolidated RegionBASE into Region and RegionBA/RegionSE (RegionBASE was
supporting only one unique property.)
Glen Mazza [Sun, 1 Aug 2004 04:20:50 +0000 (04:20 +0000)]
1.) Moved from FOPException to SAXParseException for addProperties()
2.) FONode: locator object added, its three components (file, line, col) removed
3.) FONode: new attributeError() method created for attribute problems in input FO.
4.) Removed some setup() methods in the FO's, placed them in addProperties() instead.
Created a "isOutOfLineFODescendant" member variable to FObj, needed for
input FOValidation. As defined in Sect. 6.2 of the spec, certain child FO's
are not valid if the parent FO is a descendant of an out of line FO (sect. 6.10)
Removed the non-File constructors from the InputHandler subclasses in favor
of JAXP (for embedded use), and standardized FOFileHandler to use a
StreamSource (like XSLTInputHandler). Currently, command Line usage
works only with files, but We may need to expand the constructors here
somewhat again should we provide other input options from the command line.
other options
Combined the apps.Driver class into apps.Fop. (195 LOC total.) Primary
benefit is to make Fop self-documenting in external code, also none of the
API ideas called for retention of the Driver class (even if there were
different ideas for its replacement).
Let's try this for a few weeks, if it confuses people too much (or when
the API starts to grow again) we can bring back Driver, possibly under
a different name, apps.FopProcess, perhaps.
See also:
http://marc.theaimsgroup.com/?l=fop-dev&m=108947697611032&w=2
http://marc.theaimsgroup.com/?l=fop-dev&m=108966015504506&w=2
http://marc.theaimsgroup.com/?l=fop-dev&m=108942673103344&w=2
http://marc.theaimsgroup.com/?l=fop-dev&m=108958756030147&w=2
1.) Moved the SAXParser-creating method from FOFileHandler to CommandLineOptions,
the latter being the class directly using it.
2.) Decoupled the SVG classes from apps.FOFileHandler, the SVG classes for some reason
want a string containing a name of a SAXParser. We'll need to look in the future for
the actual need for this--normally error messages are done by the caller, not
the callee. It would appear that Batik can generate a SAXParser name by default,
and use that when not explicitly overridden by the caller.
1.) Moved exclusively to Simon's DefaultHandler object for both Transformer
and SAXParser usage. DefaultHandler implements the ContentHandler interface
so it can be used where the latter was previously used, also it provides more
functionality. [1]
2.) Updated the examples and internal code accordingly.
3.) Renamed ExampleFO2PDFUsingSAX to ...Parser to avoid confusion (both use
SAX.)
1.) Driver constructor modified to require RenderType, and setter functions
for RenderType and FOUserAgent removed, to allow for better checking of
a valid Driver object at time of construction. (Also, will reduce need to
validate Driver object should it be a parameter to a method.)
2.) Added validity checking of renderType to FOTreeBuilder as well, in
effect decoupling Driver from FOTreeBuilder (the latter can work on its own
now.)
3.) Updated the various examples and the documentation to indicate the
new API.
Removed the Driver(OutputStream) convenience constructor as not particularly
helpful, and a can of worms given all the possible permutations of constructors
that could be created.
1. New constructor for Driver created, takes FOUserAgent constructor.
Used for both CLI and AWTRenderer. (Thanks to Simon Pepping)
2. Removed Driver(AWTRenderer) constructor.
3. OutputStream validation moved to FOTreeBuilder.
4. Driver.reset() removed, not currently serving a purpose.
Moved user-defined ElementMapping initialization from Driver to FOUserAgent.
Moved only "string" method, the version we use internally--probably sufficient
for others' work as well. (Note: an additional unused FOUserAgent object will
be created in driver during command-line use--cp. its no-param constructor vs.
setUserAgent() call in apps.Fop; this will need to be ironed out at some time.)
*Temporary* commit showing how this process works via SAXParserFactory;
including just for future reference should we get a question on this class
or wish to document this method on our web pages in the future.
1.) Combined the AreaTree and FOTreeHandler into a new AreaTreeHandler
object. FOTreeHandler was primarily acting as an AreaTreeHandler,
and AreaTree had a 1-to-1 relationship with it. Comments most welcome.
2.) Created convenience methods in FOInputHandler for those subclasses
which do not handle certain signals/events called from the formatting
objects (i.e., AreaTreeHandler).
Simon Pepping [Fri, 9 Jul 2004 17:27:12 +0000 (17:27 +0000)]
Implementing user configuration file.
Adding debug logging for user configuration, user PDF filters and user
fonts.
Adding reporting of mime type to renderers.
PR:
Obtained from:
Submitted by:
Reviewed by:
Removed DocumentReader/DocumentInputSource from the API in favor of the
JAXP identity transformation for DOM Tree Handling. JAXP seems to be
the right way for us to go for 1.0 for DOM documents, and I think we can
make the change now, with few people using HEAD in production.
Still, we'll listen to the user email list on this change as a judge
of whether these classes need to return.
1.) Moved the Renderer creation further down from AreaTree to RenderPagesModel (subclass of AreaTreeModel). Still have the issue of the four-param constructor a bit messy, also some of the exceptions I have to declare to be thrown may not be necessary.
2.) Removed encapsulation-breaking methods from AreaTree; dropped the AreaTreeBuilder class as it wasn't conformant with our API and required too many objects to expose internal functionality.
3.) Validity checking added for fo:title, however still won't work as #PCDATA needs <fo:blocks> around it within FOP, but the Recommendation bans those for fo:title.
4.) isInlineItem() added to FObj, as a quick check for the %inline; parameter entity as defined in spec.
I am hoping this will streamline the code more.
Main drawback I can see is that the AreaTree constructor
gets a bit ugly--from one parameter, the Renderer,
to four (the items needed to create a Renderer.) Perhaps
we can have AreaTree construct the FontInfo object in the
future, dropping us to a three-parameter constructor.