Browse Source

white-space and line-ending fixes


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195685 13f79535-47bb-0310-9956-ffa450edef68
pull/30/head
William Victor Mote 21 years ago
parent
commit
48f9283544
17 changed files with 399 additions and 399 deletions
  1. 55
    55
      CHANGES
  2. 11
    11
      LICENSE
  3. 9
    9
      README
  4. 6
    6
      STATUS
  5. 126
    126
      build.xml
  6. 9
    9
      buildtools.xml
  7. 3
    3
      contrib/mathml/build.xml
  8. 62
    62
      contrib/mathml/docs/example.mml
  9. 4
    4
      contrib/plan/build.xml
  10. 3
    3
      contrib/servlet/README
  11. 16
    16
      contrib/servlet/conf/web.xml
  12. 1
    1
      docs/readme
  13. 63
    63
      docs/xml2pdf.xsl
  14. 6
    6
      docs/xslfoRef.xml
  15. 10
    10
      fop.sh
  16. 1
    1
      forrest.properties
  17. 14
    14
      status.xml

+ 55
- 55
CHANGES View File

Submitted by: Jeremias Maerki <jeremias.maerki@outline.ch> Submitted by: Jeremias Maerki <jeremias.maerki@outline.ch>
- (Options.java) fixed error where configfile was not being set (KLiddle) - (Options.java) fixed error where configfile was not being set (KLiddle)
- (Options.java) Added patch for loading config via Thread ContextClassLoader - (Options.java) Added patch for loading config via Thread ContextClassLoader
Submitted by: Davanum Srinivas
Submitted by: Davanum Srinivas
- (StreamRenderer.java) This just moves the marker supporting code from before - (StreamRenderer.java) This just moves the marker supporting code from before
Mark's patch into StreamRenderer. Not tested. (SCoffman) Mark's patch into StreamRenderer. Not tested. (SCoffman)


instead of lines for borders to eliminate pixel errors (KLease) instead of lines for borders to eliminate pixel errors (KLease)
- (awt.AWTRenderer.java) updated to new batik interface (KLiddle) - (awt.AWTRenderer.java) updated to new batik interface (KLiddle)
improvements to AWTRenderer (borders,backgrounds...) improvements to AWTRenderer (borders,backgrounds...)
(Ralph LaChance/Andy Langowitz):
(Ralph LaChance/Andy Langowitz):
[ AWTRenderers (-awt and -print options) [ AWTRenderers (-awt and -print options)
- eliminated 3D-effect in rendering background color - eliminated 3D-effect in rendering background color
- borders now draw wider than 1 pixel if appropriate - borders now draw wider than 1 pixel if appropriate
- (TestConverter.java) fixes a problem relating to rendering options for xml - (TestConverter.java) fixes a problem relating to rendering options for xml
renderer (KLiddle) renderer (KLiddle)


test/Testing:
test/Testing:
- testing system, for use with the w3c defined testsuite.dtd including our - testing system, for use with the w3c defined testsuite.dtd including our
tests (KLiddle) tests (KLiddle)
- added some simple test files with blocks (KLiddle) - added some simple test files with blocks (KLiddle)
- added: a bunch more properties on svg elements [Keiron Liddle] - added: a bunch more properties on svg elements [Keiron Liddle]
- added: subset fonts embedding [Tore Engvig] - added: subset fonts embedding [Tore Engvig]
- added: Dutch hyphenation file [Reinout Verkerk] - added: Dutch hyphenation file [Reinout Verkerk]
- added: Fop is now self-contained (all necessary jar files included) and
a runnable jar (can be started with java -jar fop.jar) [Kelly Campbell]
- added: Fop is now self-contained (all necessary jar files included) and
a runnable jar (can be started with java -jar fop.jar) [Kelly Campbell]
- added: support for border and padding shorthand properties [Karen Lease] - added: support for border and padding shorthand properties [Karen Lease]
- added: use of property manager, new properties handling [Karen Lease] - added: use of property manager, new properties handling [Karen Lease]
- added: support for region-start, region-end [Arved Sandstrom] - added: support for region-start, region-end [Arved Sandstrom]
- added: to migrate FOP to use the svg facilities from Batik in a special cvs branch [Keiron Liddle] - added: to migrate FOP to use the svg facilities from Batik in a special cvs branch [Keiron Liddle]
- added: enabling CID keyed truetype fonts; this gives support - added: enabling CID keyed truetype fonts; this gives support
for other encodings besides WinAnsiEncoding (eg japanese, chinese, arabic, for other encodings besides WinAnsiEncoding (eg japanese, chinese, arabic,
iso-whatever, etc). Also makes font inclusion easier [Tore Engvig]
iso-whatever, etc). Also makes font inclusion easier [Tore Engvig]
- added: new font configuration [Fotis Jannidis] - added: new font configuration [Fotis Jannidis]
- added: support for body-start and label-end in lists [Peter S. Housel] - added: support for body-start and label-end in lists [Peter S. Housel]
- added: support for non-rotated arcs in svg [Keiron Liddle] - added: support for non-rotated arcs in svg [Keiron Liddle]
- added: break before and break after for table rows [Keiron Liddle] - added: break before and break after for table rows [Keiron Liddle]
- added: error is reported if the number of columns the cells are using is
- added: error is reported if the number of columns the cells are using is
different to the number of columns in the table [Keiron Liddle] different to the number of columns in the table [Keiron Liddle]
- updated: better handling of svg properties using xsl conversion to svgproperties [Keiron Liddle] - updated: better handling of svg properties using xsl conversion to svgproperties [Keiron Liddle]
- updated: the FOP build to fix the problems of the output location for the
property code generation. updated ant.jar to version 1.3,
added all needed jar files [Kelly Campbell]
- changed: cleaned up renderWordArea. removed unused code.
optimized object creation a little. [Kelly Campbell]
- changed: refactored FontState so it doesn't do excessive font lookups per character [Kelly Campbell]
- changed: Driver to make embedding Fop easier [Kelly Campbell]
- updated: the FOP build to fix the problems of the output location for the
property code generation. updated ant.jar to version 1.3,
added all needed jar files [Kelly Campbell]
- changed: cleaned up renderWordArea. removed unused code.
optimized object creation a little. [Kelly Campbell]
- changed: refactored FontState so it doesn't do excessive font lookups per character [Kelly Campbell]
- changed: Driver to make embedding Fop easier [Kelly Campbell]
- changed: apps package and commandline usage of Fop [Fotis Jannidis] - changed: apps package and commandline usage of Fop [Fotis Jannidis]
- changed: adding a PrintRenderer for all print oriented renderers [Art Welch]
- changed: adding a PrintRenderer for all print oriented renderers [Art Welch]
- fixed: problems if calculated leader-length < 0 [Fotis Jannidis] - fixed: problems if calculated leader-length < 0 [Fotis Jannidis]
- fixed: fixes problem with page break after last row of table body [Keiron Liddle] - fixed: fixes problem with page break after last row of table body [Keiron Liddle]
- fixed: fixed svg placement bug, now puts the image at the correct offset [Keiron Liddle] - fixed: fixed svg placement bug, now puts the image at the correct offset [Keiron Liddle]
- fixed: broken support of jdk 1.1 [Art Welch] - fixed: broken support of jdk 1.1 [Art Welch]
- fixed: xalan 1 support works again, was broken after changes in apps [Kelly Campbell] - fixed: xalan 1 support works again, was broken after changes in apps [Kelly Campbell]
- fixed: properly adjusts the max height of table parts, when a footnote is added - fixed: properly adjusts the max height of table parts, when a footnote is added
table will not overlap with the footnote [Keiron Liddle]
- fixed: hexadecimal escape sequences in dutch hyphenation file converted
table will not overlap with the footnote [Keiron Liddle]
- fixed: hexadecimal escape sequences in dutch hyphenation file converted
to iso-latin-1 [Carlos Villegas] to iso-latin-1 [Carlos Villegas]
- fixed: the typos in the fonts example in the userconfig.xml - fixed: the typos in the fonts example in the userconfig.xml
and optimized conversions to String in TTFReader and use of StringBuffer [Alain Fagot] and optimized conversions to String in TTFReader and use of StringBuffer [Alain Fagot]
- fixed: put text-anchor in the correct place [Keiron Liddle] - fixed: put text-anchor in the correct place [Keiron Liddle]
- fixed: InstreamForeignObject checks for no more room in block area [Keiron Liddle] - fixed: InstreamForeignObject checks for no more room in block area [Keiron Liddle]
- fixed: false border rendering for PCL renderer [Art Welch] - fixed: false border rendering for PCL renderer [Art Welch]
- fixed: added default producer to fix a bug where the PDF producer is set to null in the default
- fixed: added default producer to fix a bug where the PDF producer is set to null in the default
commandline usage. [Kelly Campbell] commandline usage. [Kelly Campbell]
- fixed: Made logging go to the same stream (out) for pages and the newline after a page
- fixed: Made logging go to the same stream (out) for pages and the newline after a page
sequence. The newline was previously going to the err stream. [Kelly Campbell] sequence. The newline was previously going to the err stream. [Kelly Campbell]




docs/examples/fo/pdfoutline.fo [Kelly Campbell] docs/examples/fo/pdfoutline.fo [Kelly Campbell]
- added: some text rendering optimizations for PDF [Kelly Campbell] - added: some text rendering optimizations for PDF [Kelly Campbell]
- added: limited support for fo:wrapper [Kelly Campbell] - added: limited support for fo:wrapper [Kelly Campbell]
- added: support in pdfrenderer for using TrueType fonts, and embedding of TrueType
- added: support in pdfrenderer for using TrueType fonts, and embedding of TrueType
and Type1 fonts, and support for kerning [Tore Engvig] and Type1 fonts, and support for kerning [Tore Engvig]
- added: further support for complete font handling in pdf renderer [Alain Fagot] - added: further support for complete font handling in pdf renderer [Alain Fagot]
- added: support for fo:footnote, fo:footnote-body [Keiron Liddle] - added: support for fo:footnote, fo:footnote-body [Keiron Liddle]
- fixed: leader didn't fill rest of line in table of contents [Fotis Jannidis] - fixed: leader didn't fill rest of line in table of contents [Fotis Jannidis]
- fixed: throws a more useful error if non-row inside table body [Keiron Liddle] - fixed: throws a more useful error if non-row inside table body [Keiron Liddle]
- fixed: duplicate ID bug for tables that flow over a page [Keiron Liddle] - fixed: duplicate ID bug for tables that flow over a page [Keiron Liddle]
- fixed: empty flow bug [Kai Strackbein]
- fixed: empty flow bug [Kai Strackbein]
- fixed: broken support of jdk 1.1 [Peter Housel] - fixed: broken support of jdk 1.1 [Peter Housel]


Done since 0.15 release Done since 0.15 release


- added: support for background color property, column breaks [Arved Sandstrom] - added: support for background color property, column breaks [Arved Sandstrom]
- added: support for xalan 2 in xslt task [Kelly Campbell] - added: support for xalan 2 in xslt task [Kelly Campbell]
- added: support for the properties table-omit-header-at-break,
- added: support for the properties table-omit-header-at-break,
table-omit-footer-at-break, number-columns-spanned (partly), orphans, widows (only for tables) [Keiron Liddle] table-omit-footer-at-break, number-columns-spanned (partly), orphans, widows (only for tables) [Keiron Liddle]
- added: support for multi-column and column spanning (column-count, column-gap, span)[Arved Sandstrom] - added: support for multi-column and column spanning (column-count, column-gap, span)[Arved Sandstrom]
- added: compression for pdf files, changed output format to OutputStream [Kelly Campbell] - added: compression for pdf files, changed output format to OutputStream [Kelly Campbell]
- added: interim configuration package [Fotis Jannidis] - added: interim configuration package [Fotis Jannidis]
- added: FopImage class that uses JAI [Eric Schaeffer] and JAI compile target [Kelly Campbell] - added: FopImage class that uses JAI [Eric Schaeffer] and JAI compile target [Kelly Campbell]
- added: support for rule-style [Fotis Jannidis] - added: support for rule-style [Fotis Jannidis]
- added: support for fo:table-header, fo:table-footer, and for the following properties
- added: support for fo:table-header, fo:table-footer, and for the following properties
in tables: keep-with-next, keep-with-previous [Keiron Liddle] in tables: keep-with-next, keep-with-previous [Keiron Liddle]
- updated: svg stuff for the latest java bindings [Keiron Liddle] - updated: svg stuff for the latest java bindings [Keiron Liddle]
- fixed: enhanced error messages for page layout (region names, master) [Norm Walsh] - fixed: enhanced error messages for page layout (region names, master) [Norm Walsh]
table row going over the page [Kelly Campbell] table row going over the page [Kelly Campbell]
- fixed colspanning so that the cell state keeps track of the - fixed colspanning so that the cell state keeps track of the
width so far properly [Keiron Liddle] width so far properly [Keiron Liddle]
- fix to allow JDK 1.1 users to compile and use FOP [Mikko Honkala, Art Welch]
- fix to allow JDK 1.1 users to compile and use FOP [Mikko Honkala, Art Welch]
- fix: removing duplicate character mappings [Dharamveer Salecha] - fix: removing duplicate character mappings [Dharamveer Salecha]
- fix: NullPointerException in FopImageFactory [Kelly Campbell]
- fix: NullPointerException in FopImageFactory [Kelly Campbell]
- fixed: space after's where not being removed if table row was being removed [Keiron Liddle] - fixed: space after's where not being removed if table row was being removed [Keiron Liddle]
- fixed problem with keep-with not storing the correct rows [Keiron Liddle] - fixed problem with keep-with not storing the correct rows [Keiron Liddle]
- fixed: extra space after was left behind for rows going over a page [Keiron Liddle] - fixed: extra space after was left behind for rows going over a page [Keiron Liddle]


Done since 0.14 release Done since 0.14 release
- added region-name support, refactoring of region, PageSequence,
- added region-name support, refactoring of region, PageSequence,
PageMasterReference, flow/static [Kelly Campbell, Arved Sandstrom] PageMasterReference, flow/static [Kelly Campbell, Arved Sandstrom]
- added CommandLine/Driver -d option to output stack traces [Kelly Campbell, Arved Sandstrom] - added CommandLine/Driver -d option to output stack traces [Kelly Campbell, Arved Sandstrom]
- added: a new package for image support and analysis [Pankaj Narula] - added: a new package for image support and analysis [Pankaj Narula]
- added better svg support (linear gradients, radial gradients, css style selectors,
css colour names, patterns, path curves (except arcs), text tspan and tref, text whitespace
- added better svg support (linear gradients, radial gradients, css style selectors,
css colour names, patterns, path curves (except arcs), text tspan and tref, text whitespace
handling, text outline and fill, switch, images (including external svg images) handling, text outline and fill, switch, images (including external svg images)
references in external svg documents, svg elements (below top element), symbol element) [Keiron Liddle] references in external svg documents, svg elements (below top element), symbol element) [Keiron Liddle]
- added large test suite for svg [Keiron Liddle] - added large test suite for svg [Keiron Liddle]
- added support for property textdecoration (only value 'underline') [Christian Geisert] - added support for property textdecoration (only value 'underline') [Christian Geisert]
- added support for type 1 fonts [Jeremias Maerki,Alan Fagot] - added support for type 1 fonts [Jeremias Maerki,Alan Fagot]
- added support for compile target jdk 1.1 only [Art Welch] - added support for compile target jdk 1.1 only [Art Welch]
- added support for partial borders in block, block-container,
- added support for partial borders in block, block-container,
table-row, table-column and table-cell [Corinna Hischke] table-row, table-column and table-cell [Corinna Hischke]
- redesign of properties handling, support for computed, compound and shorthand properties,
- redesign of properties handling, support for computed, compound and shorthand properties,
supporting docs [Karen Lease] supporting docs [Karen Lease]
- redesign of font handling for AWTRenderer [Dorothea Wiarda] - redesign of font handling for AWTRenderer [Dorothea Wiarda]
- added: support for leader-alignment, leader-pattern-width, leader-pattern (dots,space) [Fotis Jannidis] - added: support for leader-alignment, leader-pattern-width, leader-pattern (dots,space) [Fotis Jannidis]
- fixed: broken buildFOTree [Marcus Holmberg] - fixed: broken buildFOTree [Marcus Holmberg]
- fixed: problems with borders and padding in tables [Corinna Hischke] - fixed: problems with borders and padding in tables [Corinna Hischke]
- fixed: XMLRenderer, unbalanced " in the produced output [Dorothea Wiarda] - fixed: XMLRenderer, unbalanced " in the produced output [Dorothea Wiarda]
- fixed: renamed: inline-sequence -> inline, simple-link -> basic-link,
- fixed: renamed: inline-sequence -> inline, simple-link -> basic-link,
white-space-treatment -> white-space-collapse [Fotis Jannidis] white-space-treatment -> white-space-collapse [Fotis Jannidis]
- fixed: images were rendered only half size (Mikko Honkala) - fixed: images were rendered only half size (Mikko Honkala)
- fixed: pdf file in XalanCommandFile explicitly closed [Dharamveer Salecha]
- fixed: lists containing list do not keep their indentation correctly
- fixed: pdf file in XalanCommandFile explicitly closed [Dharamveer Salecha]
- fixed: lists containing list do not keep their indentation correctly
over a page boundary [Dorothea Wiarda] over a page boundary [Dorothea Wiarda]


Done since 0.13 release Done since 0.13 release
- added a MessageHandler [Fotis Jannidis] - added a MessageHandler [Fotis Jannidis]
- fixed table overflow bug [Jordan Naftolin] - fixed table overflow bug [Jordan Naftolin]
- finally fixed postscript printing of generated PDF [Domagoj Cosic] - finally fixed postscript printing of generated PDF [Domagoj Cosic]
- removed XTCommandLine from build.xml
- removed PDFOutputHandler from build.xml
- removed XTCommandLine from build.xml
- removed PDFOutputHandler from build.xml
- added XalanCommandLine [Fotis Jannidis] - added XalanCommandLine [Fotis Jannidis]
- added: fo:instream-foreign-object [Keiron Liddle] - added: fo:instream-foreign-object [Keiron Liddle]
- added: goto button in AWT viewer [Stanislav Gorkhover] - added: goto button in AWT viewer [Stanislav Gorkhover]
- updated: AWT viewer now works again and supports - with some restrictions - the new SVG support [Stanislav Gorkhover] - updated: AWT viewer now works again and supports - with some restrictions - the new SVG support [Stanislav Gorkhover]


Done since 0.12.1 release
- using Ant to build Fop instead of make [Giacomo Pati]
- borders, padding and absolute positioning [Jon Smirl]
0.12.1 release
to make the bug fix on XTCommandLine available to non developers
basic support for padding-{top,left,bottom,right} on blocks.
implemented simple-link (don't think it works, though)
XTCommandLine now works again
background color works on list-block
list-blocks can now be in table-cell
Done for 0.12.0 release:
Make sure Makefiles work
Switch to using Status object as return from layout()
Incorporate Eric Schaeffer's fix to tables in static-content
Incorporate Kelly Campell's fixes to GifJpegImage
Incorporate Eric Schaeffer's background colour implementation
(actually used different approach with background colour as trait)
Done since 0.12.1 release
- using Ant to build Fop instead of make [Giacomo Pati]
- borders, padding and absolute positioning [Jon Smirl]
0.12.1 release
to make the bug fix on XTCommandLine available to non developers
basic support for padding-{top,left,bottom,right} on blocks.
implemented simple-link (don't think it works, though)
XTCommandLine now works again
background color works on list-block
list-blocks can now be in table-cell
Done for 0.12.0 release:
Make sure Makefiles work
Switch to using Status object as return from layout()
Incorporate Eric Schaeffer's fix to tables in static-content
Incorporate Kelly Campell's fixes to GifJpegImage
Incorporate Eric Schaeffer's background colour implementation
(actually used different approach with background colour as trait)



+ 11
- 11
LICENSE View File

============================================================================ ============================================================================
The Apache Software License, Version 1.1 The Apache Software License, Version 1.1
============================================================================ ============================================================================
Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved. Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modifica- Redistribution and use in source and binary forms, with or without modifica-
tion, are permitted provided that the following conditions are met: tion, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, 1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer. this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution. and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must 3. The end-user documentation included with the redistribution, if any, must
include the following acknowledgment: "This product includes software include the following acknowledgment: "This product includes software
developed by the Apache Software Foundation (http://www.apache.org/)." developed by the Apache Software Foundation (http://www.apache.org/)."
Alternately, this acknowledgment may appear in the software itself, if Alternately, this acknowledgment may appear in the software itself, if
and wherever such third-party acknowledgments normally appear. and wherever such third-party acknowledgments normally appear.
4. The names "FOP" and "Apache Software Foundation" must not be used to 4. The names "FOP" and "Apache Software Foundation" must not be used to
endorse or promote products derived from this software without prior endorse or promote products derived from this software without prior
written permission. For written permission, please contact written permission. For written permission, please contact
apache@apache.org. apache@apache.org.
5. Products derived from this software may not be called "Apache", nor may 5. Products derived from this software may not be called "Apache", nor may
"Apache" appear in their name, without prior written permission of the "Apache" appear in their name, without prior written permission of the
Apache Software Foundation. Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software consists of voluntary contributions made by many individuals This software consists of voluntary contributions made by many individuals
on behalf of the Apache Software Foundation and was originally created by on behalf of the Apache Software Foundation and was originally created by
James Tauber <jtauber@jtauber.com>. For more information on the Apache
James Tauber <jtauber@jtauber.com>. For more information on the Apache
Software Foundation, please see <http://www.apache.org/>. Software Foundation, please see <http://www.apache.org/>.

+ 9
- 9
README View File

What is FOP? What is FOP?
FOP is the world's first print formatter driven by XSL formatting FOP is the world's first print formatter driven by XSL formatting
objects. It is a Java application that reads a formatting object objects. It is a Java application that reads a formatting object
tree conforming to the XSL candidate release (21. November 2000) and
then turns it into a PDF document or allows you to preview it
directly on screen.
FOP is part of Apache's XML project. The homepage of FOP is
http:/xml.apache.org/fop
tree conforming to the XSL candidate release (21. November 2000) and
then turns it into a PDF document or allows you to preview it
directly on screen.


HTML-Documentation can be found in the subdirectory xml-fop/docs/html-docs.
FOP is part of Apache's XML project. The homepage of FOP is
http:/xml.apache.org/fop

HTML-Documentation can be found in the subdirectory xml-fop/docs/html-docs.


The names of the committers of this project and what the developers are working on The names of the committers of this project and what the developers are working on
can be found in the file STATUS in root. can be found in the file STATUS in root.


Please report bugs to bugzilla at http://nagoya.apache.org/bugzilla/ Please report bugs to bugzilla at http://nagoya.apache.org/bugzilla/


Discussion of Fop takes place in fop-dev@xml.apache.org (subscribe at
Discussion of Fop takes place in fop-dev@xml.apache.org (subscribe at
fop-dev-subscribe@xml.apache.org) fop-dev-subscribe@xml.apache.org)


Before you post any questions, please have a look at the FAQ at
Before you post any questions, please have a look at the FAQ at
http://www.owal.co.uk:8090/asf/servlet/asf/ http://www.owal.co.uk:8090/asf/servlet/asf/





+ 6
- 6
STATUS View File

**** COMMITTERS ****
**** COMMITTERS ****


Arved Sandstrom (release coordinator)
James Tauber (started it all and wrote most of the code)
Arved Sandstrom (release coordinator)
James Tauber (started it all and wrote most of the code)


Kelly Campbell Kelly Campbell
Steven Coffman Steven Coffman
Tore Engvig Tore Engvig
Christian Geisert Christian Geisert
Stanislav Gorkhover Stanislav Gorkhover
Fotis Jannidis
Fotis Jannidis
Karen Lease Karen Lease
Keiron Liddle Keiron Liddle
Jeremias Maerki Jeremias Maerki
Jordan Naftolin Jordan Naftolin
Joerg Pietschmann Joerg Pietschmann
Eric Schaeffer
Jon Smirl
Eric Schaeffer
Jon Smirl
Art Welch Art Welch
Peter B. West Peter B. West



+ 126
- 126
build.xml View File

Building instructions Building instructions
===================== =====================


First, make sure your current working directory is where this very file is
First, make sure your current working directory is where this very file is
located. Then type located. Then type


./build.sh (on unixes) ./build.sh (on unixes)
is used by fop maintainers to take care of everything in the Fop is used by fop maintainers to take care of everything in the Fop
project, no less and no more. project, no less and no more.


Call the build script (see above) with the parameter "-projecthelp" to get a
Call the build script (see above) with the parameter "-projecthelp" to get a
list of possible build targets. list of possible build targets.


============================================================================ --> ============================================================================ -->
<project default="package" basedir="."> <project default="package" basedir=".">


<!-- used to set values for testing etc. -->
<!-- used to set values for testing etc. -->
<!-- build-local.properties is not stored in CVS and overrides values from build.properties --> <!-- build-local.properties is not stored in CVS and overrides values from build.properties -->
<property file="build-local.properties"/> <property file="build-local.properties"/>
<property file="build.properties"/> <property file="build.properties"/>
<fileset dir="${basedir}" id="dist.bin"> <fileset dir="${basedir}" id="dist.bin">
<include name="conf/**"/> <include name="conf/**"/>
<include name="docs/**"/> <include name="docs/**"/>
<exclude name="build/**"/> <exclude name="build/**"/>
<exclude name="lib/**"/> <exclude name="lib/**"/>
</fileset> </fileset>
<fileset dir="${basedir}" id="dist.bin.lib"> <fileset dir="${basedir}" id="dist.bin.lib">
<include name="lib/xercesImpl-2.2.1.jar"/> <include name="lib/xercesImpl-2.2.1.jar"/>
<include name="lib/xalan-2.4.1.jar"/> <include name="lib/xalan-2.4.1.jar"/>
<include name="lib/jimi*"/> <include name="lib/jimi*"/>
<include name="lib/jfor*.jar"/> <include name="lib/jfor*.jar"/>
</fileset> </fileset>
<fileset dir="${basedir}" id="dist.src"> <fileset dir="${basedir}" id="dist.src">
<exclude name="lib/classes/**"/> <exclude name="lib/classes/**"/>
<exclude name="lib/org/**"/> <exclude name="lib/org/**"/>
<include name="fop.bat"/> <include name="fop.bat"/>
<include name="fop.sh"/> <include name="fop.sh"/>
</fileset> </fileset>
<path id="libs-build-classpath"> <path id="libs-build-classpath">
<fileset dir="lib"> <fileset dir="lib">
<include name="*.jar"/> <include name="*.jar"/>
</fileset> </fileset>
</path> </path>
<path id="libs-run-classpath"> <path id="libs-run-classpath">
<fileset dir="lib"> <fileset dir="lib">
<include name="*.jar"/> <include name="*.jar"/>
<include name="fop.jar"/> <include name="fop.jar"/>
</fileset> </fileset>
</path> </path>
<path id="checkstylepath"> <path id="checkstylepath">
<fileset dir="lib"> <fileset dir="lib">
<include name="checkstyle-all-*.jar"/> <include name="checkstyle-all-*.jar"/>
</fileset> </fileset>
</path> </path>
<patternset id="exclude-jimi"> <patternset id="exclude-jimi">
<exclude name="org/apache/fop/image/JimiImage.java"/> <exclude name="org/apache/fop/image/JimiImage.java"/>
</patternset> </patternset>
<patternset id="exclude-jai"> <patternset id="exclude-jai">
<exclude name="org/apache/fop/image/JAIImage.java"/> <exclude name="org/apache/fop/image/JAIImage.java"/>
</patternset> </patternset>
<patternset id="base-sources"> <patternset id="base-sources">
<include name="**/*.java"/> <include name="**/*.java"/>
<exclude name="**/*${ignore_this}"/> <exclude name="**/*${ignore_this}"/>
<patternset refid="exclude-jimi"/> <patternset refid="exclude-jimi"/>
<patternset refid="exclude-jai"/> <patternset refid="exclude-jai"/>
</patternset> </patternset>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Initialization target --> <!-- Initialization target -->
<!-- =================================================================== --> <!-- =================================================================== -->
<property name="version" value="1.0dev"/> <property name="version" value="1.0dev"/>
<filter token="version" value="${version}"/> <filter token="version" value="${version}"/>
<property name="year" value="1999-2002"/> <property name="year" value="1999-2002"/>
<echo message="------------------- ${Name} ${version} [${year}] ----------------"/> <echo message="------------------- ${Name} ${version} [${year}] ----------------"/>
<echo message="See build.properties and build-local.properties for additional build settings"/> <echo message="See build.properties and build-local.properties for additional build settings"/>
<property name="build.compiler" value="classic"/> <property name="build.compiler" value="classic"/>
<property name="debug" value="on"/> <property name="debug" value="on"/>
<property name="optimize" value="off"/> <property name="optimize" value="off"/>
<property name="deprecation" value="on"/> <property name="deprecation" value="on"/>
<property name="textfontencoding" value="WinAnsiEncoding"/> <property name="textfontencoding" value="WinAnsiEncoding"/>
<property name="src.dir" value="./src"/> <property name="src.dir" value="./src"/>
<property name="src.codegen" value="./src/codegen"/> <property name="src.codegen" value="./src/codegen"/>
<property name="docs.dir" value="./docs"/> <property name="docs.dir" value="./docs"/>


<property name="viewer.resources.src.dir" value="./src/org/apache/fop/viewer/resources"/> <property name="viewer.resources.src.dir" value="./src/org/apache/fop/viewer/resources"/>
<property name="viewer.images.src.dir" value="./src/org/apache/fop/viewer/Images"/> <property name="viewer.images.src.dir" value="./src/org/apache/fop/viewer/Images"/>
<property name="build.dir" value="./build"/> <property name="build.dir" value="./build"/>
<property name="build.src" value="./build/src"/> <property name="build.src" value="./build/src"/>
<property name="build.gensrc" value="./build/gensrc"/> <property name="build.gensrc" value="./build/gensrc"/>
<property name="foproperties.xml" value="${build.codegen}/foproperties.xml"/> <property name="foproperties.xml" value="${build.codegen}/foproperties.xml"/>
<property name="colorkw.xml" value="${build.codegen}/colorkw.xml"/> <property name="colorkw.xml" value="${build.codegen}/colorkw.xml"/>
<property name="allprops.xml" value="${build.codegen}/allprops.xml"/> <property name="allprops.xml" value="${build.codegen}/allprops.xml"/>
<property name="properties.xsl" value="${build.codegen}/properties.xsl"/> <property name="properties.xsl" value="${build.codegen}/properties.xsl"/>
<property name="propmap.xsl" value="${build.codegen}/propmap.xsl"/> <property name="propmap.xsl" value="${build.codegen}/propmap.xsl"/>
<property name="enumgen.xsl" value="${build.codegen}/enumgen.xsl"/> <property name="enumgen.xsl" value="${build.codegen}/enumgen.xsl"/>
<property name="fontfile.xsl" value="${build.codegen}/font-file.xsl"/> <property name="fontfile.xsl" value="${build.codegen}/font-file.xsl"/>
<property name="t1fontfile.xsl" value="${build.codegen}/t1font-file.xsl"/> <property name="t1fontfile.xsl" value="${build.codegen}/t1font-file.xsl"/>
<property name="ttffontfile.xsl" value="${build.codegen}/ttffontfile.xsl"/> <property name="ttffontfile.xsl" value="${build.codegen}/ttffontfile.xsl"/>
<property name="Courier.xml" value="${build.codegen}/Courier.xml"/> <property name="Courier.xml" value="${build.codegen}/Courier.xml"/>
<property name="Courier-Oblique.xml" value="${build.codegen}/CourierOblique.xml"/> <property name="Courier-Oblique.xml" value="${build.codegen}/CourierOblique.xml"/>
<property name="Courier-Bold.xml" value="${build.codegen}/CourierBold.xml"/> <property name="Courier-Bold.xml" value="${build.codegen}/CourierBold.xml"/>
<property name="Times-BoldItalic.xml" value="${build.codegen}/TimesBoldItalic.xml"/> <property name="Times-BoldItalic.xml" value="${build.codegen}/TimesBoldItalic.xml"/>
<property name="ZapfDingbats.xml" value="${build.codegen}/ZapfDingbats.xml"/> <property name="ZapfDingbats.xml" value="${build.codegen}/ZapfDingbats.xml"/>
<property name="Symbol.xml" value="${build.codegen}/Symbol.xml"/> <property name="Symbol.xml" value="${build.codegen}/Symbol.xml"/>
<property name="trax" value="TraxTransform.java"/> <property name="trax" value="TraxTransform.java"/>
<property name="xsltransform" value="XSLTransform.java"/> <property name="xsltransform" value="XSLTransform.java"/>
<property name="tools.pkg" value="org/apache/fop/tools"/> <property name="tools.pkg" value="org/apache/fop/tools"/>


<property name="main.class" value="org.apache.fop.apps.Fop"/> <property name="main.class" value="org.apache.fop.apps.Fop"/>
<filter filtersfile="${build.codegen}/filter" /> <filter filtersfile="${build.codegen}/filter" />
</target> </target>
<target name="init-avail"> <target name="init-avail">
<available property="jimi.present" classname="com.sun.jimi.core.Jimi" classpathref="libs-build-classpath"/> <available property="jimi.present" classname="com.sun.jimi.core.Jimi" classpathref="libs-build-classpath"/>
<available property="jai.present" classname="javax.media.jai.JAI" classpathref="libs-build-classpath"/> <available property="jai.present" classname="javax.media.jai.JAI" classpathref="libs-build-classpath"/>
<available property="jdk14.present" classname="java.lang.CharSequence"/> <available property="jdk14.present" classname="java.lang.CharSequence"/>
</target> </target>
<target name="init-filters-jdk13" depends="init-avail" unless="jdk14.present"> <target name="init-filters-jdk13" depends="init-avail" unless="jdk14.present">
<echo message="JDK 1.3 or earlier present."/>
<copy file="src/codegen/jdk13.filter" toFile="build/src/codegen/filter"/>
<echo message="JDK 1.3 or earlier present."/>
<copy file="src/codegen/jdk13.filter" toFile="build/src/codegen/filter"/>
</target> </target>
<target name="init-filters-jdk14" depends="init-avail" if="jdk14.present"> <target name="init-filters-jdk14" depends="init-avail" if="jdk14.present">
<echo message="JDK 1.4 present."/>
<copy file="src/codegen/jdk14.filter" toFile="build/src/codegen/filter"/>
<echo message="JDK 1.4 present."/>
<copy file="src/codegen/jdk14.filter" toFile="build/src/codegen/filter"/>
</target> </target>


<!-- =================================================================== --> <!-- =================================================================== -->
<target name="usage"> <target name="usage">
<echo message="Use the -projecthelp option instead"/> <echo message="Use the -projecthelp option instead"/>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Prepares the build directory --> <!-- Prepares the build directory -->
<!-- =================================================================== --> <!-- =================================================================== -->
<mkdir dir="${build.gensrc}/${fonts.dir}"/> <mkdir dir="${build.gensrc}/${fonts.dir}"/>
<mkdir dir="${build.dest}/hyph"/> <mkdir dir="${build.dest}/hyph"/>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Generate the source code --> <!-- Generate the source code -->
<!-- =================================================================== --> <!-- =================================================================== -->
<target name="codegen" depends="prepare" description="Generates the java files from the xml resources"> <target name="codegen" depends="prepare" description="Generates the java files from the xml resources">
<!-- resetting codegen directory --> <!-- resetting codegen directory -->
<echo message="Resetting codegen directory"/> <echo message="Resetting codegen directory"/>
<!-- copy codegen directory --> <!-- copy codegen directory -->
<copy todir="${build.codegen}" filtering="on"> <copy todir="${build.codegen}" filtering="on">
<fileset dir="${src.codegen}"/> <fileset dir="${src.codegen}"/>
</copy> </copy>
<!-- generate the java files from xml resources --> <!-- generate the java files from xml resources -->
<echo message="Generating the java files from xml resources"/> <echo message="Generating the java files from xml resources"/>
<dependset> <dependset>
<srcfilelist dir="./" files="${propinc.xsl}"/> <srcfilelist dir="./" files="${propinc.xsl}"/>
<targetfilelist dir="./" files="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this},${build.gensrc}/${replacestring}/fo/properties/FOPropertyMapping.java,${build.gensrc}/${replacestring}/fo/properties/foenums_${ignore_this}"/> <targetfilelist dir="./" files="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this},${build.gensrc}/${replacestring}/fo/properties/FOPropertyMapping.java,${build.gensrc}/${replacestring}/fo/properties/foenums_${ignore_this}"/>
</dependset> </dependset>
<style in="${allprops.xml}" style="${genconst.xsl}"
<style in="${allprops.xml}" style="${genconst.xsl}"
out="${build.gensrc}/${replacestring}/fo/properties/Constants.java"/> out="${build.gensrc}/${replacestring}/fo/properties/Constants.java"/>
<style in="${foproperties.xml}" style="${properties.xsl}"
<style in="${foproperties.xml}" style="${properties.xsl}"
out="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this}"/> out="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this}"/>
<style in="${foproperties.xml}" style="${propmap.xsl}"
<style in="${foproperties.xml}" style="${propmap.xsl}"
out="${build.gensrc}/${replacestring}/fo/properties/FOPropertyMapping.java"/> out="${build.gensrc}/${replacestring}/fo/properties/FOPropertyMapping.java"/>
<style in="${foproperties.xml}" style="${enumgen.xsl}"
<style in="${foproperties.xml}" style="${enumgen.xsl}"
out="${build.gensrc}/${replacestring}/fo/properties/foenums_${ignore_this}"/> out="${build.gensrc}/${replacestring}/fo/properties/foenums_${ignore_this}"/>
<style in="${encodings.xml}" style="${charlist.xsl}"
<style in="${encodings.xml}" style="${charlist.xsl}"
out="${build.gensrc}/${replacestring}/render/pdf/CodePointMapping.java"/> out="${build.gensrc}/${replacestring}/render/pdf/CodePointMapping.java"/>
<!-- <!--
<style basedir="src/codegen" includes="Helvetica*.xml,Times*.xml,Courier*.xml" <style basedir="src/codegen" includes="Helvetica*.xml,Times*.xml,Courier*.xml"
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
--> -->
<style in="${Courier.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Courier.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/Courier.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/Courier.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Courier-Oblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Courier-Oblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/CourierOblique.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/CourierOblique.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Courier-Bold.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Courier-Bold.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/CourierBold.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/CourierBold.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Courier-BoldOblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Courier-BoldOblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/CourierBoldOblique.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/CourierBoldOblique.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Helvetica.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Helvetica.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/Helvetica.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/Helvetica.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Helvetica-Bold.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Helvetica-Bold.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/HelveticaBold.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/HelveticaBold.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Helvetica-Oblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Helvetica-Oblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/HelveticaOblique.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/HelveticaOblique.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Helvetica-BoldOblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Helvetica-BoldOblique.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/HelveticaBoldOblique.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/HelveticaBoldOblique.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Times-Roman.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Times-Roman.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesRoman.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesRoman.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Times-Italic.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Times-Italic.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesItalic.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesItalic.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Times-Bold.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Times-Bold.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesBold.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesBold.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Times-BoldItalic.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Times-BoldItalic.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesBoldItalic.java"> out="${build.gensrc}/${replacestring}/render/pdf/fonts/TimesBoldItalic.java">
<param name="encoding" expression="${textfontencoding}"/> <param name="encoding" expression="${textfontencoding}"/>
</style> </style>
<style in="${Symbol.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${Symbol.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/Symbol.java"/> out="${build.gensrc}/${replacestring}/render/pdf/fonts/Symbol.java"/>
<style in="${ZapfDingbats.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
<style in="${ZapfDingbats.xml}" style="${fontfile.xsl}"
destdir="${build.gensrc}/${replacestring}/render/pdf/fonts"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/ZapfDingbats.java"/> out="${build.gensrc}/${replacestring}/render/pdf/fonts/ZapfDingbats.java"/>
<style
in="${Symbol.xml}" style="${fontfile.xsl}"
<style
in="${Symbol.xml}" style="${fontfile.xsl}"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/Symbol.java"/> out="${build.gensrc}/${replacestring}/render/pdf/fonts/Symbol.java"/>
<style
in="${ZapfDingbats.xml}" style="${fontfile.xsl}"
<style
in="${ZapfDingbats.xml}" style="${fontfile.xsl}"
out="${build.gensrc}/${replacestring}/render/pdf/fonts/ZapfDingbats.java"/> out="${build.gensrc}/${replacestring}/render/pdf/fonts/ZapfDingbats.java"/>
<!-- prepare JDK dependant files --> <!-- prepare JDK dependant files -->
<copy todir="${build.gensrc}" filtering="on"> <copy todir="${build.gensrc}" filtering="on">
<mapper type="glob" from="*.javat" to="*.java"/> <mapper type="glob" from="*.javat" to="*.java"/>
<include name="**/*.javat"/> <include name="**/*.javat"/>
</fileset> </fileset>
</copy> </copy>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Compiles the source directory --> <!-- Compiles the source directory -->
<!-- =================================================================== --> <!-- =================================================================== -->
<echo message="Compiling the sources "/> <echo message="Compiling the sources "/>
<!-- create directories --> <!-- create directories -->
<mkdir dir="${build.dest}"/> <mkdir dir="${build.dest}"/>
<mkdir dir="${viewer.resources.dest.dir}"/> <mkdir dir="${viewer.resources.dest.dir}"/>
<copy todir="${viewer.resources.dest.dir}"> <copy todir="${viewer.resources.dest.dir}">
<fileset dir="${viewer.resources.src.dir}"/> <fileset dir="${viewer.resources.src.dir}"/>
<copy todir="${viewer.images.dest.dir}"> <copy todir="${viewer.images.dest.dir}">
<fileset dir="${viewer.images.src.dir}"/> <fileset dir="${viewer.images.src.dir}"/>
</copy> </copy>
<javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> <javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}">
<src path="${build.gensrc}"/> <src path="${build.gensrc}"/>
<src path="${src.dir}"/> <src path="${src.dir}"/>
<patternset refid="base-sources"/> <patternset refid="base-sources"/>
</javac> </javac>
</target> </target>
<target name="compile-jimi" depends="compile-src" if="jimi.present"> <target name="compile-jimi" depends="compile-src" if="jimi.present">
<echo message="Jimi library is present. Fop installs jimi support."/> <echo message="Jimi library is present. Fop installs jimi support."/>
<javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> <javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}">
<include name="**/${jimi}"/> <include name="**/${jimi}"/>
</javac> </javac>
</target> </target>
<target name="compile-jai" depends="compile-src" if="jai.present"> <target name="compile-jai" depends="compile-src" if="jai.present">
<echo message="JAI library is present. Fop installs JAI support."/> <echo message="JAI library is present. Fop installs JAI support."/>
<javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> <javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}">
</javac> </javac>
</target> </target>
<target name="compile" depends="compile-src,compile-jimi,compile-jai" description="Compiles the source code"/> <target name="compile" depends="compile-src,compile-jimi,compile-jai" description="Compiles the source code"/>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- compiles hyphenation patterns --> <!-- compiles hyphenation patterns -->
<!-- =================================================================== --> <!-- =================================================================== -->
<path refid="libs-build-classpath"/> <path refid="libs-build-classpath"/>
<pathelement location="${build.dir}/classes"/> <pathelement location="${build.dir}/classes"/>
</path> </path>
<taskdef name="serHyph" classname="org.apache.fop.tools.anttasks.SerializeHyphPattern" classpathref="hyph-classpath"/>
<serHyph includes="*.xml"
sourceDir="${hyph.dir}"
targetDir="${build.dest}/hyph"/>
<taskdef name="serHyph" classname="org.apache.fop.tools.anttasks.SerializeHyphPattern" classpathref="hyph-classpath"/>
<serHyph includes="*.xml"
sourceDir="${hyph.dir}"
targetDir="${build.dest}/hyph"/>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Creates the class package --> <!-- Creates the class package -->
<!-- =================================================================== --> <!-- =================================================================== -->
<map from="${basedir}${file.separator}lib${file.separator}" to=""/> <map from="${basedir}${file.separator}lib${file.separator}" to=""/>
<map from="${basedir}${file.separator}build${file.separator}fop.jar" to=""/> <map from="${basedir}${file.separator}build${file.separator}fop.jar" to=""/>
</pathconvert> </pathconvert>
<jar jarfile="${build.dir}/${name}.jar" basedir="${build.dest}" includes="org/**,hyph/**"> <jar jarfile="${build.dir}/${name}.jar" basedir="${build.dest}" includes="org/**,hyph/**">
<manifest> <manifest>
<attribute name="Main-Class" value="${main.class}"/> <attribute name="Main-Class" value="${main.class}"/>
</manifest> </manifest>
</jar> </jar>
</target> </target>
<target name="all" depends="package"/> <!-- "all" target for us Makefile converts ;-) --> <target name="all" depends="package"/> <!-- "all" target for us Makefile converts ;-) -->
<target name="pdf-transcoder" depends="compile" description="Generates the jar for the pdf transcoder for Batik"> <target name="pdf-transcoder" depends="compile" description="Generates the jar for the pdf transcoder for Batik">
<echo message="Creating the jar file ${build.dir}/pdf-transcoder.jar"/> <echo message="Creating the jar file ${build.dir}/pdf-transcoder.jar"/>
<property name="pdf-transcoder.name" value="FOP PDF Transcoder"/> <property name="pdf-transcoder.name" value="FOP PDF Transcoder"/>
<property name="pdf-transcoder.version" value="1.0beta2"/> <property name="pdf-transcoder.version" value="1.0beta2"/>
<tstamp> <tstamp>
<format property="ts" pattern="yyyyMMdd-HHmmss-z"/> <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
</tstamp> </tstamp>
<jar jarfile="${build.dir}/pdf-transcoder.jar"> <jar jarfile="${build.dir}/pdf-transcoder.jar">
<fileset dir="${build.dest}" includes="org/apache/fop/pdf/**"/> <fileset dir="${build.dest}" includes="org/apache/fop/pdf/**"/>
<fileset dir="${build.dest}" includes="org/apache/fop/svg/**"/> <fileset dir="${build.dest}" includes="org/apache/fop/svg/**"/>
</manifest> </manifest>
</jar> </jar>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Testing --> <!-- Testing -->
<!-- =================================================================== --> <!-- =================================================================== -->
refVersion="${ref-version}"/> refVersion="${ref-version}"/>
--> -->
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Prepares the docs --> <!-- Prepares the docs -->
<!-- =================================================================== --> <!-- =================================================================== -->
<target name="prepare-docs" depends="init"> <target name="prepare-docs" depends="init">
<mkdir dir="${build.docs}"/> <mkdir dir="${build.docs}"/>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Creates the API documentation --> <!-- Creates the API documentation -->
<!-- =================================================================== --> <!-- =================================================================== -->
<target name="javadocs" depends="prepare" description="Generates javadocs"> <target name="javadocs" depends="prepare" description="Generates javadocs">
<echo message="Producing the javadoc files "/> <echo message="Producing the javadoc files "/>
<mkdir dir="${build.javadocs}"/> <mkdir dir="${build.javadocs}"/>
<javadoc
packagenames="${packages}"
destdir="${build.javadocs}"
classpathref="libs-build-classpath"
author="true"
version="true"
windowtitle="${Name} API"
doctitle="${Name}"
bottom="Copyright &#169; ${year} Apache Software Foundation. All Rights Reserved."
overview="${src.dir}/overview.html"
<javadoc
packagenames="${packages}"
destdir="${build.javadocs}"
classpathref="libs-build-classpath"
author="true"
version="true"
windowtitle="${Name} API"
doctitle="${Name}"
bottom="Copyright &#169; ${year} Apache Software Foundation. All Rights Reserved."
overview="${src.dir}/overview.html"
failonerror="true"> failonerror="true">
<sourcepath> <sourcepath>
<pathelement path="${src.dir}"/> <pathelement path="${src.dir}"/>
</sourcepath> </sourcepath>
</javadoc> </javadoc>
</target> </target>
<target name="html" depends="javadocs, htmldoc" description="Generates javadocs and documentation in html format"/> <target name="html" depends="javadocs, htmldoc" description="Generates javadocs and documentation in html format"/>
<target name="htmldoc" depends="html-fop, html-design" description="Generates documentation in html format"/> <target name="htmldoc" depends="html-fop, html-design" description="Generates documentation in html format"/>
<target name="html-fop" depends="prepare"> <target name="html-fop" depends="prepare">
<copy file="${xdocs}/fop.xml" tofile="${xdocs}/book.xml" filtering="on"/> <copy file="${xdocs}/fop.xml" tofile="${xdocs}/book.xml" filtering="on"/>
<java classname="${doc.generator}" fork="yes"> <java classname="${doc.generator}" fork="yes">
<arg line="targetDirectory=${docs} ${xdocs}/book.xml ${skins}"/> <arg line="targetDirectory=${docs} ${xdocs}/book.xml ${skins}"/>
</java> </java>
</target> </target>
<target name="html-design" depends="prepare, html-newdesign, <target name="html-design" depends="prepare, html-newdesign,
html-altdesign, html-understanding"/>
html-altdesign, html-understanding"/>
<target name="html-newdesign" depends="prepare"> <target name="html-newdesign" depends="prepare">
<java classname="${doc.generator}" fork="yes"> <java classname="${doc.generator}" fork="yes">
<classpath refid="libs-build-classpath"/> <classpath refid="libs-build-classpath"/>
<arg line="targetDirectory=${docs}/design/ docs/design/book.xml ${skins}"/> <arg line="targetDirectory=${docs}/design/ docs/design/book.xml ${skins}"/>
</java> </java>
</target> </target>
<target name="html-altdesign" depends="prepare"> <target name="html-altdesign" depends="prepare">
<java classname="${doc.generator}" fork="yes"> <java classname="${doc.generator}" fork="yes">
<classpath refid="libs-build-classpath"/> <classpath refid="libs-build-classpath"/>
<arg line="targetDirectory=${docs}/design/alt.design/ docs/design/alt.design/book.xml ${skins}"/> <arg line="targetDirectory=${docs}/design/alt.design/ docs/design/alt.design/book.xml ${skins}"/>
</java> </java>
</target> </target>
<target name="html-understanding" depends="prepare"> <target name="html-understanding" depends="prepare">
<java classname="${doc.generator}" fork="yes"> <java classname="${doc.generator}" fork="yes">
<classpath refid="libs-build-classpath"/> <classpath refid="libs-build-classpath"/>
<arg line="targetDirectory=${docs}/design/understanding docs/design/understanding/book.xml ${skins}"/> <arg line="targetDirectory=${docs}/design/understanding docs/design/understanding/book.xml ${skins}"/>
</java> </java>
</target> </target>
<target name="pdfdoc" depends="package" description="Generates the documentation in pdf format"> <target name="pdfdoc" depends="package" description="Generates the documentation in pdf format">
<copy file="${xdocs}/fop.xml" tofile="${xdocs}/book.xml" filtering="on"/> <copy file="${xdocs}/fop.xml" tofile="${xdocs}/book.xml" filtering="on"/>
<style in="${xdocs}/fop.xml" style="${xdocs}/xml2xml.xsl" out="${xdocs}/fop-doc.xml"/> <style in="${xdocs}/fop.xml" style="${xdocs}/xml2xml.xsl" out="${xdocs}/fop-doc.xml"/>
<style in="${xdocs}/fop-doc.xml" style="${xdocs}/xml2pdf.xsl" out="${xdocs}/fop.fo"/> <style in="${xdocs}/fop-doc.xml" style="${xdocs}/xml2pdf.xsl" out="${xdocs}/fop.fo"/>
<java classname="org.apache.fop.apps.Fop" fork="yes"> <java classname="org.apache.fop.apps.Fop" fork="yes">
<classpath refid="libs-run-classpath"/> <classpath refid="libs-run-classpath"/>
<arg line="-fo ${xdocs}/fop.fo -pdf ${xdocs}/fop.pdf"/> <arg line="-fo ${xdocs}/fop.fo -pdf ${xdocs}/fop.pdf"/>
</java> </java>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Checkstyle --> <!-- Checkstyle -->
<!-- =================================================================== --> <!-- =================================================================== -->
<available property="checkstyle.available" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstylepath"/> <available property="checkstyle.available" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstylepath"/>
<fail message="Please put checkstyle-all-*.jar in the lib directory. Get it from http://checkstyle.sourceforge.net" unless="checkstyle.available"/> <fail message="Please put checkstyle-all-*.jar in the lib directory. Get it from http://checkstyle.sourceforge.net" unless="checkstyle.available"/>
<taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstylepath"/> <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstylepath"/>
<checkstyle properties="checkstyle.cfg" failonviolation="false"> <checkstyle properties="checkstyle.cfg" failonviolation="false">
<fileset dir="${src.dir}" includes="org/apache/fop/**/*.java"/> <fileset dir="${src.dir}" includes="org/apache/fop/**/*.java"/>
<formatter type="plain" toFile="${build.dir}/checkstyle_report.txt"/> <formatter type="plain" toFile="${build.dir}/checkstyle_report.txt"/>
<available property="checkstyle.stylesheet.available" file="checkstyle-noframes.xsl"/> <available property="checkstyle.stylesheet.available" file="checkstyle-noframes.xsl"/>
<antcall target="checkstyle-html"/> <antcall target="checkstyle-html"/>
</target> </target>
<target name="checkstyle-html" if="checkstyle.stylesheet.available"> <target name="checkstyle-html" if="checkstyle.stylesheet.available">
<style in="${build.dir}/checkstyle_report.xml" out="${build.dir}/checkstyle_report.html" style="checkstyle-noframes.xsl"/> <style in="${build.dir}/checkstyle_report.xml" out="${build.dir}/checkstyle_report.html" style="checkstyle-noframes.xsl"/>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Creates the distribution --> <!-- Creates the distribution -->
<!-- =================================================================== --> <!-- =================================================================== -->
<target name="dist" depends="dist-src,dist-bin" description="Generates the distribution package"/> <target name="dist" depends="dist-src,dist-bin" description="Generates the distribution package"/>
<target name="dist-bin" depends="package"> <target name="dist-bin" depends="package">
<echo message="Building the binary distribution files (zip,tar)"/> <echo message="Building the binary distribution files (zip,tar)"/>
<mkdir dir="${dist.bin.result.dir}"/> <mkdir dir="${dist.bin.result.dir}"/>
<mkdir dir="${dist.bin.result.dir}/build"/> <mkdir dir="${dist.bin.result.dir}/build"/>
<copy todir="${dist.bin.result.dir}/build" file="build/fop.jar"/> <copy todir="${dist.bin.result.dir}/build" file="build/fop.jar"/>
<chmod file="${dist.bin.result.dir}/fop.sh" perm="ugo+rx"/> <chmod file="${dist.bin.result.dir}/fop.sh" perm="ugo+rx"/>
<zip zipfile="${Name}-${version}-bin.zip" basedir="${dist.bin.dir}" includes="**"/> <zip zipfile="${Name}-${version}-bin.zip" basedir="${dist.bin.dir}" includes="**"/>
<tar tarfile="${Name}-${version}-bin.tar" basedir="${dist.bin.dir}" includes="**"/> <tar tarfile="${Name}-${version}-bin.tar" basedir="${dist.bin.dir}" includes="**"/>
<gzip zipfile="${Name}-${version}-bin.tar.gz" src="${Name}-${version}-bin.tar"/> <gzip zipfile="${Name}-${version}-bin.tar.gz" src="${Name}-${version}-bin.tar"/>
<delete file="${Name}-${version}-bin.tar"/> <delete file="${Name}-${version}-bin.tar"/>
</target> </target>
<target name="dist-src" depends="package, javadocs"> <target name="dist-src" depends="package, javadocs">
<echo message="Building the source distribution files (zip,tar)"/> <echo message="Building the source distribution files (zip,tar)"/>
<mkdir dir="${dist.src.result.dir}"/> <mkdir dir="${dist.src.result.dir}"/>
<copy todir="${dist.src.result.dir}/build" file="build/fop.jar"/> <copy todir="${dist.src.result.dir}/build" file="build/fop.jar"/>
<chmod file="${dist.src.result.dir}/build.sh" perm="ugo+rx"/> <chmod file="${dist.src.result.dir}/build.sh" perm="ugo+rx"/>
<chmod file="${dist.src.result.dir}/fop.sh" perm="ugo+rx"/> <chmod file="${dist.src.result.dir}/fop.sh" perm="ugo+rx"/>
<zip zipfile="${Name}-${version}-src.zip" basedir="${dist.src.dir}" includes="**"/> <zip zipfile="${Name}-${version}-src.zip" basedir="${dist.src.dir}" includes="**"/>
<tar tarfile="${Name}-${version}-src.tar" basedir="${dist.src.dir}" includes="**"/> <tar tarfile="${Name}-${version}-src.tar" basedir="${dist.src.dir}" includes="**"/>
<gzip zipfile="${Name}-${version}-src.tar.gz" src="${Name}-${version}-src.tar"/> <gzip zipfile="${Name}-${version}-src.tar.gz" src="${Name}-${version}-src.tar"/>
<delete file="${Name}-${version}-src.tar"/> <delete file="${Name}-${version}-src.tar"/>
</target> </target>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Generate example PDFs --> <!-- Generate example PDFs -->
<!-- =================================================================== --> <!-- =================================================================== -->
<target name="clean" depends="init" description="Cleans the build directory"> <target name="clean" depends="init" description="Cleans the build directory">
<delete dir="${build.dir}"/> <delete dir="${build.dir}"/>
</target> </target>
<target name="distclean" depends="clean" description="Cleans the distribution target directories"> <target name="distclean" depends="clean" description="Cleans the distribution target directories">
<delete dir="${dist.src.dir}"/> <delete dir="${dist.src.dir}"/>
<delete dir="${dist.bin.dir}"/> <delete dir="${dist.bin.dir}"/>

+ 9
- 9
buildtools.xml View File

<?xml version="1.0"?> <?xml version="1.0"?>


<!-- =======================================================================
<!-- =======================================================================


Instructions for building the buildtools.jar: Instructions for building the buildtools.jar:


Run "ant -f buildtools.xml" to build a new version of the buildtools jar Run "ant -f buildtools.xml" to build a new version of the buildtools jar


======================================================================= --> ======================================================================= -->


<project default="buildtools" basedir="."> <project default="buildtools" basedir=".">
<target name="init"> <target name="init">
<target name="compile" depends="init,prepare.src"> <target name="compile" depends="init,prepare.src">
<mkdir dir="${build.dest}"/> <mkdir dir="${build.dest}"/>
<javac srcdir="${build.src}" <javac srcdir="${build.src}"
destdir="${build.dest}"/>
destdir="${build.dest}"/>
</target> </target>


<target name="buildtools" depends="clean,init,compile"> <target name="buildtools" depends="clean,init,compile">
<echo message="Creating the jar file ${buildtools.jar}"/> <echo message="Creating the jar file ${buildtools.jar}"/>
<jar jarfile="${buildtools.jar}" <jar jarfile="${buildtools.jar}"
basedir="${build.dest}"
includes="${tools}/**,${hyph}/**"/>
basedir="${build.dest}"
includes="${tools}/**,${hyph}/**"/>
</target> </target>


<target name="prepare.src" depends="prepare.trax"> <target name="prepare.src" depends="prepare.trax">
<copy todir="${build.src}"> <copy todir="${build.src}">
<fileset dir="${src.dir}" <fileset dir="${src.dir}"
includes="${tools}/**,${hyph}/**"
excludes="${tools}/anttasks/Fop.java,${tools}/TestConverter.java,${tools}/AreaTreeBuilder.java,${hyph}/Hyphenator.java,**/${trax}"/>
includes="${tools}/**,${hyph}/**"
excludes="${tools}/anttasks/Fop.java,${tools}/TestConverter.java,${tools}/AreaTreeBuilder.java,${hyph}/Hyphenator.java,**/${trax}"/>
</copy> </copy>
</target> </target>


<echo message="JAXP1.1 transforms is present. Installing TRaX support"/> <echo message="JAXP1.1 transforms is present. Installing TRaX support"/>
<copy todir="${build.src}"> <copy todir="${build.src}">
<fileset dir="${src.dir}" <fileset dir="${src.dir}"
includes="**/${trax}"/>
includes="**/${trax}"/>
</copy> </copy>
</target> </target>



+ 3
- 3
contrib/mathml/build.xml View File

<include name="*.jar"/> <include name="*.jar"/>
</fileset> </fileset>
</path> </path>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Initialization target --> <!-- Initialization target -->
<!-- =================================================================== --> <!-- =================================================================== -->
<target name="prepare-src" depends="prepare"> <target name="prepare-src" depends="prepare">
<!-- copy src files --> <!-- copy src files -->
<copy todir="${build.src}"> <copy todir="${build.src}">
<fileset dir="${src.dir}"
<fileset dir="${src.dir}"
excludes="**/Makefile*, **/package.html"/> excludes="**/Makefile*, **/package.html"/>
</copy> </copy>
<copy todir="${build.dest}/"> <copy todir="${build.dest}/">
<jar jarfile="${build.dir}/${name}.jar" <jar jarfile="${build.dir}/${name}.jar"
basedir="${build.dest}" basedir="${build.dest}"
includes="**"> includes="**">
<manifest>
<manifest>
<attribute name="Implementation-Title" value="${Name}"/> <attribute name="Implementation-Title" value="${Name}"/>
<attribute name="Implementation-Version" value="${version}"/> <attribute name="Implementation-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/fop/)"/> <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/fop/)"/>

+ 62
- 62
contrib/mathml/docs/example.mml View File

<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display">
<mrow>
<mo stretchy="false">{</mo>
<munder>
<mrow>
<mover>
<mrow>
<mpadded width="0"/>
<!--mpadded width="0">(</mpadded-->
<!-- \mathstrut -ugly hack a la TeX -->
<mi>a</mi>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>a</mi>
</mrow>
<mover>
<mo>&#x0FE37;</mo>
<mrow>
<mi>k</mi>
<mtext>&#x000A0;</mtext>
<mi>a</mi>
<mtext>'s</mtext>
</mrow>
</mover>
</mover>
<mo>,</mo>
<mover>
<mrow>
<mpadded/>
<!--mpadded width="0">(</mpadded-->
<!-- \mathstrut -ugly hack a la TeX -->
<mi>b</mi>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>b</mi>
</mrow>
<mover>
<mo>&#x0FE37;</mo>
<mrow>
<mi>&#x02113;</mi>
<mtext>&#x000A0;</mtext>
<mi>b</mi>
<mtext>'s</mtext>
</mrow>
</mover>
</mover>
</mrow>
<munder>
<mo>&#x0FE38;</mo>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mi>&#x02113;</mi>
<mtext>&#x000A0;elements</mtext>
</mrow>
</munder>
</munder>
<mo stretchy="false">}</mo>
</mrow>
</math>
<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display">
<mrow>
<mo stretchy="false">{</mo>
<munder>
<mrow>
<mover>
<mrow>
<mpadded width="0"/>
<!--mpadded width="0">(</mpadded-->
<!-- \mathstrut -ugly hack a la TeX -->
<mi>a</mi>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>a</mi>
</mrow>
<mover>
<mo>&#x0FE37;</mo>
<mrow>
<mi>k</mi>
<mtext>&#x000A0;</mtext>
<mi>a</mi>
<mtext>'s</mtext>
</mrow>
</mover>
</mover>
<mo>,</mo>
<mover>
<mrow>
<mpadded/>
<!--mpadded width="0">(</mpadded-->
<!-- \mathstrut -ugly hack a la TeX -->
<mi>b</mi>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>b</mi>
</mrow>
<mover>
<mo>&#x0FE37;</mo>
<mrow>
<mi>&#x02113;</mi>
<mtext>&#x000A0;</mtext>
<mi>b</mi>
<mtext>'s</mtext>
</mrow>
</mover>
</mover>
</mrow>
<munder>
<mo>&#x0FE38;</mo>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mi>&#x02113;</mi>
<mtext>&#x000A0;elements</mtext>
</mrow>
</munder>
</munder>
<mo stretchy="false">}</mo>
</mrow>
</math>

+ 4
- 4
contrib/plan/build.xml View File

<include name="fop.jar"/> <include name="fop.jar"/>
</fileset> </fileset>
</path> </path>
<!-- =================================================================== --> <!-- =================================================================== -->
<!-- Initialization target --> <!-- Initialization target -->
<!-- =================================================================== --> <!-- =================================================================== -->


<property name="main.class" value="org.apache.fop.plan.Main"/> <property name="main.class" value="org.apache.fop.plan.Main"/>
<property name="runtime.classpath" value="fop.jar xml-apis.jar xercesImpl-2.2.1.jar xalan-2.4.1.jar batik.jar"/> <property name="runtime.classpath" value="fop.jar xml-apis.jar xercesImpl-2.2.1.jar xalan-2.4.1.jar batik.jar"/>
</target> </target>


<!-- =================================================================== --> <!-- =================================================================== -->
<target name="prepare-src" depends="prepare"> <target name="prepare-src" depends="prepare">
<!-- copy src files --> <!-- copy src files -->
<copy todir="${build.src}"> <copy todir="${build.src}">
<fileset dir="${src.dir}"
<fileset dir="${src.dir}"
excludes="**/Makefile*, **/package.html"/> excludes="**/Makefile*, **/package.html"/>
</copy> </copy>
<copy todir="${build.dest}/"> <copy todir="${build.dest}/">
<jar jarfile="${build.dir}/${name}.jar" <jar jarfile="${build.dir}/${name}.jar"
basedir="${build.dest}" basedir="${build.dest}"
includes="**"> includes="**">
<manifest>
<manifest>
<attribute name="Main-Class" value="${main.class}"/> <attribute name="Main-Class" value="${main.class}"/>
<attribute name="Class-Path" value="${runtime.classpath}"/> <attribute name="Class-Path" value="${runtime.classpath}"/>
<attribute name="Implementation-Title" value="${Name}"/> <attribute name="Implementation-Title" value="${Name}"/>

+ 3
- 3
contrib/servlet/README View File



This directory contains two sample servlets that use FOP: This directory contains two sample servlets that use FOP:


- FopServlet can take a XSL:FO file or a XML+XSLT as parameters to create a PDF
- FopServlet can take a XSL:FO file or a XML+XSLT as parameters to create a PDF
that is being shown in the browser. that is being shown in the browser.


- FopPrintServlet has the same parameters but prints the generated document to
- FopPrintServlet has the same parameters but prints the generated document to
the default printer instead of generating a PDF. the default printer instead of generating a PDF.


Creating the WAR file: Creating the WAR file:
2. Run build.bat (on Windows) or build.sh (on Unix) to create the WAR file. 2. Run build.bat (on Windows) or build.sh (on Unix) to create the WAR file.
3. Put the WAR file in you favourite web container. 3. Put the WAR file in you favourite web container.


Sample URLs:
Sample URLs:
http://localhost:8080/fop/servlet/FopServlet?fo=readme.fo http://localhost:8080/fop/servlet/FopServlet?fo=readme.fo
http://localhost:8080/fop/servlet/FopPrintServlet?fo=readme.fo http://localhost:8080/fop/servlet/FopPrintServlet?fo=readme.fo



+ 16
- 16
contrib/servlet/conf/web.xml View File

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app> <web-app>
<servlet>
<servlet-name>Fop</servlet-name>
<servlet-class>FopServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Fop</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FopPrint</servlet-name>
<servlet-class>FopPrintServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FopPrint</servlet-name>
<url-pattern>/fopprint</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Fop</servlet-name>
<servlet-class>FopServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Fop</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FopPrint</servlet-name>
<servlet-class>FopPrintServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FopPrint</servlet-name>
<url-pattern>/fopprint</url-pattern>
</servlet-mapping>
</web-app> </web-app>

+ 1
- 1
docs/readme View File



design UML diagrams showing the Fop design design UML diagrams showing the Fop design
graphics some graphics used by the examples and test files graphics some graphics used by the examples and test files
examples a lot of xs:fo example files
examples a lot of xs:fo example files
examples/fo some simple examples to get you started examples/fo some simple examples to get you started
examples/ examples/
pagination some simple and some not so simple examples how to use the pagination some simple and some not so simple examples how to use the

+ 63
- 63
docs/xml2pdf.xsl View File

xmlns:fo="http://www.w3.org/1999/XSL/Format"> xmlns:fo="http://www.w3.org/1999/XSL/Format">


<xsl:template match ="root"> <xsl:template match ="root">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<!-- defines page layout -->
<fo:layout-master-set>
<fo:simple-page-master master-name="simple"
page-height="29.7cm"
page-width="21cm"
margin-top="1.5cm"
margin-bottom="1.5cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="1.5cm"/>
<fo:region-before extent="1.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simple">
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="14pt" >
xsl:fo short reference - p. <fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="18pt"
font-family="sans-serif"
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<!-- defines page layout -->
<fo:layout-master-set>
<fo:simple-page-master master-name="simple"
page-height="29.7cm"
page-width="21cm"
margin-top="1.5cm"
margin-bottom="1.5cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="1.5cm"/>
<fo:region-before extent="1.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simple">
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="14pt" >
xsl:fo short reference - p. <fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt" line-height="24pt"
space-after.optimum="15pt" space-after.optimum="15pt"
background-color="blue" background-color="blue"


<!-- generates table of contents and puts it into a table --> <!-- generates table of contents and puts it into a table -->


<fo:block font-size="10pt"
font-family="sans-serif"
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="10pt" line-height="10pt"
space-after.optimum="3pt" space-after.optimum="3pt"
font-weight="bold" font-weight="bold"
<fo:table space-after.optimum="15pt"> <fo:table space-after.optimum="15pt">
<fo:table-column column-width="1cm"/> <fo:table-column column-width="1cm"/>
<fo:table-column column-width="15cm"/> <fo:table-column column-width="15cm"/>
<fo:table-body font-size="10pt"
<fo:table-body font-size="10pt"
font-family="sans-serif"> font-family="sans-serif">
<xsl:for-each select="div0/head"> <xsl:for-each select="div0/head">
<fo:table-row line-height="12pt"> <fo:table-row line-height="12pt">
<fo:table-cell> <fo:table-cell>
<fo:block text-align="end" > <fo:block text-align="end" >
<xsl:number value="position()" format="1"/>)
<xsl:number value="position()" format="1"/>)
</fo:block> </fo:block>
</fo:table-cell> </fo:table-cell>
<fo:table-cell> <fo:table-cell>
</fo:table-body> </fo:table-body>
</fo:table> </fo:table>


<xsl:apply-templates/>
<fo:block font-size="10pt"
font-family="sans-serif"
<xsl:apply-templates/>
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="11pt" line-height="11pt"
space-before.optimum="2cm"> space-before.optimum="2cm">
The explanation of the flow objects is based (mostly verbatim) on the section
6.2 of the XSL W3C Candidate Recommendation 21 November 2000. More info at the beginning
The explanation of the flow objects is based (mostly verbatim) on the section
6.2 of the XSL W3C Candidate Recommendation 21 November 2000. More info at the beginning
of the file xslfoRef.xml. of the file xslfoRef.xml.
</fo:block> </fo:block>


</fo:flow>
</fo:page-sequence>
</fo:root>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template> </xsl:template>




<xsl:template match ="div"> <xsl:template match ="div">
<fo:block font-size="14pt"
font-family="sans-serif"
<fo:block font-size="14pt"
font-family="sans-serif"
space-before.optimum="3pt" space-before.optimum="3pt"
space-after.optimum="3pt" space-after.optimum="3pt"
text-align="center" text-align="center"
padding-top="3pt" padding-top="3pt"
> >
<xsl:apply-templates/>
<xsl:apply-templates/>
</fo:block> </fo:block>
</xsl:template> </xsl:template>


<xsl:template match ="div0/head"> <xsl:template match ="div0/head">
<fo:block font-size="16pt"
<fo:block font-size="16pt"
line-height="18pt" line-height="18pt"
text-align="center" text-align="center"
padding-top="3pt" padding-top="3pt"




<xsl:template match ="div/fo"> <xsl:template match ="div/fo">
<fo:block font-size="13pt"
<fo:block font-size="13pt"
line-height="14pt" line-height="14pt"
text-align="start" text-align="start"
> >
</xsl:template> </xsl:template>


<xsl:template match ="explanation"> <xsl:template match ="explanation">
<fo:block font-size="11pt"
font-family="sans-serif"
<fo:block font-size="11pt"
font-family="sans-serif"
line-height="12pt" line-height="12pt"
text-align="start" text-align="start"
start-indent="0.5cm" start-indent="0.5cm"
> >
<xsl:apply-templates/>
<xsl:apply-templates/>
</fo:block> </fo:block>
</xsl:template> </xsl:template>


<xsl:template match ="div/content"> <xsl:template match ="div/content">
<fo:block font-size="10pt"
font-family="Courier"
<fo:block font-size="10pt"
font-family="Courier"
start-indent="0.5cm" start-indent="0.5cm"
line-height="11pt" line-height="11pt"
text-align="start" text-align="start"
</xsl:template> </xsl:template>


<xsl:template match ="div/properties"> <xsl:template match ="div/properties">
<fo:block font-size="10pt"
font-family="Courier"
<fo:block font-size="10pt"
font-family="Courier"
line-height="11pt" line-height="11pt"
text-align="start" text-align="start"
start-indent="0.5cm"> start-indent="0.5cm">
Properties: Properties:
</fo:block> </fo:block>
<fo:block space-after.optimum="3pt"> <fo:block space-after.optimum="3pt">
<xsl:apply-templates/>
<xsl:apply-templates/>
</fo:block> </fo:block>
</xsl:template> </xsl:template>


<xsl:template match ="properties/property">
<fo:block font-size="9pt"
font-family="sans-serif"
<xsl:template match ="properties/property">
<fo:block font-size="9pt"
font-family="sans-serif"
line-height="10pt" line-height="10pt"
text-align="start" text-align="start"
start-indent="1cm"> start-indent="1cm">




<xsl:template match ="div/property-def"> <xsl:template match ="div/property-def">
<fo:block font-size="13pt"
<fo:block font-size="13pt"
line-height="14pt" line-height="14pt"
text-align="start" text-align="start"
> >

+ 6
- 6
docs/xslfoRef.xml View File

<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--
tbd: - internal linking
<!--
tbd: - internal linking
- one line explanation - one line explanation
- example - example
please note: the short explanation of each fo is based (mostly verbatim) on the section 6.3 of
the Extensible Stylesheet Language (XSL) Version 1.0 W3C Candidate Recommendation 21 November 2000.
please note: the short explanation of each fo is based (mostly verbatim) on the section 6.3 of
the Extensible Stylesheet Language (XSL) Version 1.0 W3C Candidate Recommendation 21 November 2000.
authors: Sharon Adler, Anders Berglund, Jeff Caruso, Stephen Deach authors: Sharon Adler, Anders Berglund, Jeff Caruso, Stephen Deach
Paul Grosso, Eduardo Gutentag, Alex Milowski, Scott Parnell,
Paul Grosso, Eduardo Gutentag, Alex Milowski, Scott Parnell,
Jeremy Richman, Steve Zilles Jeremy Richman, Steve Zilles
url: http://www.w3.org/TR/2000/CR-xsl-20001121/ url: http://www.w3.org/TR/2000/CR-xsl-20001121/


</properties> </properties>
</div><div id="fo:bidi-override"> </div><div id="fo:bidi-override">
<fo>fo:bidi-override</fo> <fo>fo:bidi-override</fo>
<explanation> overrides the default Unicode-bidirectionality algorithm direction for different
<explanation> overrides the default Unicode-bidirectionality algorithm direction for different
(or nested) inline scripts in mixed-language documents</explanation> (or nested) inline scripts in mixed-language documents</explanation>
<content>(#PCDATA|%inline;|%block;)*</content> <content>(#PCDATA|%inline;|%block;)*</content>
<properties> <properties>

+ 10
- 10
fop.sh View File

# #
# Shell script to run FOP, adapted from the Jakarta-Ant project. # Shell script to run FOP, adapted from the Jakarta-Ant project.


if [ -f $HOME/.foprc ] ; then
if [ -f $HOME/.foprc ] ; then
. $HOME/.foprc . $HOME/.foprc
fi fi




if [ -z "$FOP_HOME" ] ; then if [ -z "$FOP_HOME" ] ; then
# try to find FOP # try to find FOP
if [ -d /opt/fop ] ; then
if [ -d /opt/fop ] ; then
FOP_HOME=/opt/fop FOP_HOME=/opt/fop
fi fi


if [ -d ${HOME}/opt/fop ] ; then
if [ -d ${HOME}/opt/fop ] ; then
FOP_HOME=${HOME}/opt/fop FOP_HOME=${HOME}/opt/fop
fi fi


## resolve links - $0 may be a link to fop's home ## resolve links - $0 may be a link to fop's home
PRG=$0 PRG=$0
progname=`basename $0` progname=`basename $0`
while [ -h "$PRG" ] ; do while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"` ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'` link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then if expr "$link" : '.*/.*' > /dev/null; then
PRG="$link"
PRG="$link"
else else
PRG="`dirname $PRG`/$link"
PRG="`dirname $PRG`/$link"
fi fi
done done
FOP_HOME=`dirname "$PRG"` FOP_HOME=`dirname "$PRG"`


fi fi
CLASSPATH=`cygpath --path --unix "$CLASSPATH"` CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi fi


if [ -z "$JAVACMD" ] ; then
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables # IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java JAVACMD=$JAVA_HOME/jre/sh/java
else else
JAVACMD=java JAVACMD=java
fi fi
fi fi
if [ ! -x "$JAVACMD" ] ; then if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." echo "Error: JAVA_HOME is not defined correctly."
echo " We cannot execute $JAVACMD" echo " We cannot execute $JAVACMD"

+ 1
- 1
forrest.properties View File

############## ##############


# Prints out a summary of Forrest settings for this project # Prints out a summary of Forrest settings for this project
#forrest.echo=true
#forrest.echo=true


# Project name (used to name .war file) # Project name (used to name .war file)
project.name=fop-project project.name=fop-project

+ 14
- 14
status.xml View File

<changes> <changes>
<release version="?" date="2002"> <release version="?" date="2002">
<action context="build" dev="JM" type="update"> <action context="build" dev="JM" type="update">
Updated to Xerces 2.2.1 and Xalan 2.4.1. Updated all the related files
and made sure all contrib builds work again. Removed necessity for a
Updated to Xerces 2.2.1 and Xalan 2.4.1. Updated all the related files
and made sure all contrib builds work again. Removed necessity for a
buildtools.jar. buildtools.jar.
</action> </action>
<action context="code" dev="KL" type="fix" fixes-bug="14290"> <action context="code" dev="KL" type="fix" fixes-bug="14290">
Correct ordering of loca table in embedded true type fonts.
Correct ordering of loca table in embedded true type fonts.
Fix taken over from maintenance branch. Fix taken over from maintenance branch.
</action> </action>
<action context="docs" dev="KLL" type="update" <action context="docs" dev="KLL" type="update"
<action context="code" dev="KLL" type="update"> <action context="code" dev="KLL" type="update">
Add id areas to page when area added. Add id areas to page when area added.
When the layout managers add an area to the page it can also add the id When the layout managers add an area to the page it can also add the id
information.
information.
</action> </action>
<action context="code" dev="KLL" type="update"> <action context="code" dev="KLL" type="update">
Resolve id references on other pages, extensions. Resolve id references on other pages, extensions.
Added a RunLengthEncode filter for the PostScript renderer. Added a RunLengthEncode filter for the PostScript renderer.
</action> </action>
<action dev="JM" type="update" context="code"> <action dev="JM" type="update" context="code">
Replaced the PostScript filters with the refactored ones from the maintenance
Replaced the PostScript filters with the refactored ones from the maintenance
branch. branch.
</action> </action>
<action dev="JM" type="update" context="code"> <action dev="JM" type="update" context="code">
First batch of changes in preparation for adoption of Avalon patterns.
First batch of changes in preparation for adoption of Avalon patterns.
Only changes on logging for now. Mostly usage of LogEnabled contract interface. Only changes on logging for now. Mostly usage of LogEnabled contract interface.
</action> </action>
<action dev="JM" type="update" context="build"> <action dev="JM" type="update" context="build">
separated the specific PDFRender functionality from the CTM class separated the specific PDFRender functionality from the CTM class
and created a small utility class for the renderer to use and created a small utility class for the renderer to use
</action> </action>
<action dev="KLL" type="update" context="code">
<action dev="KLL" type="update" context="code">
FontState only used for calculations, FontState only used for calculations,
stores font name and size on area tree stores font name and size on area tree
</action> </action>
<action dev="KLL" type="update" context="code">
<action dev="KLL" type="update" context="code">
Improved PDFTextPainter to handle different text better Improved PDFTextPainter to handle different text better
</action> </action>
<action dev="KLL" type="update" context="code">
<action dev="KLL" type="update" context="code">
Applied root element viewBox transform for svg to pdf transcoder Applied root element viewBox transform for svg to pdf transcoder
</action> </action>
<action dev="KLL" type="update" context="code">
<action dev="KLL" type="update" context="code">
image test for formats, viewport and scaling image test for formats, viewport and scaling
</action> </action>
<action dev="KLL" type="add" context="code">
<action dev="KLL" type="add" context="code">
added various SVG to PDF tests for trancoder added various SVG to PDF tests for trancoder
and including in fo and including in fo
</action> </action>
<action dev="KLL" type="update" context="code">
<action dev="KLL" type="update" context="code">
Implemented viewport and scaling for images Implemented viewport and scaling for images
</action> </action>
<action dev="KLL" type="update" context="code">
<action dev="KLL" type="update" context="code">
Implemented viewport and scaling for instream svg Implemented viewport and scaling for instream svg
</action> </action>
<action dev="KLL" type="update" context="code"> <action dev="KLL" type="update" context="code">
</action> </action>
<action dev="KLL" type="update" context="code"> <action dev="KLL" type="update" context="code">
Added handlers for xml in renderer Added handlers for xml in renderer
</action>
</action>
<action dev="KLL" type="update" context="code"> <action dev="KLL" type="update" context="code">
svg now in an xml handler, FOP can be used without batik svg now in an xml handler, FOP can be used without batik
</action> </action>

Loading…
Cancel
Save