git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195685 13f79535-47bb-0310-9956-ffa450edef68pull/30/head
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) | |||||
============================================================================ | ============================================================================ | ||||
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/>. | ||||
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/ | ||||
**** 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 | ||||
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 © ${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 © ${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}"/> |
<?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> | ||||
<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/)"/> |
<?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>︷</mo> | |||||
<mrow> | |||||
<mi>k</mi> | |||||
<mtext> </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>︷</mo> | |||||
<mrow> | |||||
<mi>ℓ</mi> | |||||
<mtext> </mtext> | |||||
<mi>b</mi> | |||||
<mtext>'s</mtext> | |||||
</mrow> | |||||
</mover> | |||||
</mover> | |||||
</mrow> | |||||
<munder> | |||||
<mo>︸</mo> | |||||
<mrow> | |||||
<mi>k</mi> | |||||
<mo>+</mo> | |||||
<mi>ℓ</mi> | |||||
<mtext> 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>︷</mo> | |||||
<mrow> | |||||
<mi>k</mi> | |||||
<mtext> </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>︷</mo> | |||||
<mrow> | |||||
<mi>ℓ</mi> | |||||
<mtext> </mtext> | |||||
<mi>b</mi> | |||||
<mtext>'s</mtext> | |||||
</mrow> | |||||
</mover> | |||||
</mover> | |||||
</mrow> | |||||
<munder> | |||||
<mo>︸</mo> | |||||
<mrow> | |||||
<mi>k</mi> | |||||
<mo>+</mo> | |||||
<mi>ℓ</mi> | |||||
<mtext> elements</mtext> | |||||
</mrow> | |||||
</munder> | |||||
</munder> | |||||
<mo stretchy="false">}</mo> | |||||
</mrow> | |||||
</math> |
<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}"/> |
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 | ||||
<!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> |
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 |
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" | ||||
> | > |
<?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> |
# | # | ||||
# 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" |
############## | ############## | ||||
# 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 |
<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> |