==============================================================================
Done since 0.20.2 release
+*** General
+- Added correct metrics for euro sign in standard fonts
+ (bug 2105 and bug 4654)
+ Submitted by: Rainer Garus <rainer.garus@nexgo.de>
+- Fixed problem with computing remaining with in LineArea where start-indent <> 0
+ (bug 4839)
+ Submitted by: Rainer Garus <rainer.garus@nexgo.de>
+- Support for CMYK and embedded ICC profiles in jpeg images (Tore Engvig)
+- Support for jpeg images in PS Renderer (Tore Engvig)
+- Add support for EPS images in PostScript renderer and limited EPS support in
+ PDF Renderer (Tore Engvig)
+- fixed bug in TTFReader (unsigned lsb changed to signed)
+ Submitted by: Cristi Ruja, c_ruja@yahoo.com
+- fixed threading problem (Keiron Liddle)
+- Formatting results patch to enable embedders to obtain info from render doc
+ Submitted by: Jeremias Maerki <jeremias.maerki@outline.ch>
+- Better handling of missing markers (Keiron Liddle)
+- jimi.jar removed for removed for license reasons
+- Added "Printing from a servlet" example
+ Submitted by: Ralph LaChance <Ralph_LaChance@compuserve.com>
+- Proper use of font encodings for "native" fonts
+ Submitted by: Peter S. Housel (housel@acm.org) and Rainer Garus (rainer.garus@arcor.de)
+- fixed Marker (Christian Geisert)
+- updated logkit from 1.0b4 to to 1.0 (Christian Geisert)
+
*** Tables
- Implement the proportional-column-width() function in table-column and
make it possible to specify table width (or inline-progression-dimension)
- Fix a bug causing strange layout when a cell containing a nested table
was laid out again because another cell in the same row was split (David
Dixon's example). (Karen Lease)
+- Fix for infinite loops with table keeps (Christian Geisert)
+
*** Datatypes
- Rearrange the Length class hierarchy as part of the table-column proportional
width work. (Karen Lease)
+
+*** Functions
+- make sure label-end() value gets calculated
+ (fix for bug #6094, endless loop while processing list-item-label))
+
*** Areas
- Fix BlockArea to account for padding and border when calculating space
remaining for content. (Karen Lease)
+- Improved line breaking for japanese
+ Submitted by: Satoshi Ishigami <ishigami@victokai.co.jp>
+
*** Properties
+- Changed "master-name" to "master-reference" on fo:page-sequence,
+ fo:single-page-master-reference, fo:repeatable-page-master-reference and
+ fo:conditional-page-master-reference to comply with the latest XSL recommendation.
+ Also changed the unimplemented property space-treatment to white-space-treatment and
+ updated examples and tests to use the new syntax.
+ Submitted by: Christian Geisert [Christian.Geisert@isu-gmbh.de]
- Add support for inline-progression-dimension and table-layout. (Karen)
+- Add support for letter-spacing.
+ Submitted by: Raymond Penners <raymond@duologix.nl>
+- text-decoration support for blocks (Christian Geisert)
+- Added inheritance for the text-decoration property from parent inline or
+ block elements (Christian Geisert)
+
+*** SVG
+- updated to cvs batik 3/12/2001 for api changes
+- fixed problem where width of scaled lines was not correct
+
+*** Images
+- fixed problem where streams where opened for cached images
+
+*** Messages
+- Improved for some common errors
+
+*** FOTreeBuilder
+- fixed npe problem when text outside root element
+- handles document errors and unknown namespace better
+
+*** AWTRenderer
+- Fixed small border problem
+ Submitted by: Ralph LaChance <Ralph_LaChance@compuserve.com>
+- Improved i18n support for AWT viewer (Japanese dialogs)
+ Submitted by: Satoshi Ishigami (ishigami@victokai.co.jp)
+
+*** TXTRenderer
+- Generated text is written in UTF-8 encoding instead of ISO-8859-1
+
+*** MIFRenderer
+- MIF output strings escaping (see bug #1332)
+ Submitted by: Vicente Salvador (vicentesalvador@netscape.net)
+- Fixed NoSuchElementException in MIF renderer (Christian Geisert)
+
+*** Hyphenation
+- Added Polish Hyphenation based on TeX hypenation
+ Submitted by: Marcin Kuthan [M.Kuthan@elka.pw.edu.pl]
+- Fixed infinite loop with hyphenation
+ Submitted by: Enrico Schnepel <enrico.schnepel@gmx.de>
+- Added greek Hyphenation
+ Submitted by: Dimitris Kamenopoulos <el97146@mail.ntua.gr>
+- Added hungarian Hyphenation
+ Submitted by: Simon Geza <simon@mail.drotposta.hu>
+
==============================================================================
Done since 0.20 release
Submitted by: Jeremias Maerki <jeremias.maerki@outline.ch>
- (Options.java) fixed error where configfile was not being set (KLiddle)
- (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
Mark's patch into StreamRenderer. Not tested. (SCoffman)
- 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: 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]
Done since 0.15 release
What is FOP?
FOP is the world's first print formatter driven by XSL formatting
objects. It is a Java application that reads a formatting object
- tree conforming to the XSL candidate release (21. November 2000) and
+ tree conforming to the XSL-FO Version 1.0 W3C Recommendation and
then turns it into a PDF document or allows you to preview it
directly on screen.
Discussion of Fop takes place in fop-dev@xml.apache.org (subscribe at
fop-dev-subscribe@xml.apache.org)
+ User questions should be sent to fop-user@xml.apache.org
+ Archives are available at: http://marc.theaimsgroup.com
Before you post any questions, please have a look at the FAQ at
http://www.owal.co.uk:8090/asf/servlet/asf/
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+ <head>
+ <meta http-equiv="Refresh" content="3; URL=docs/html-docs/relnotes.html">
+ <title>Fop 0.20.3</title>
+ </head>
+ <body>
+ <h1 align="center">Fop 0.20.3</h1>
+ <h2>Redirecting to Documentation...</h2>
+ <p>
+ In a few seconds, you should be redirected to FOP 0.20.3
+ documentation. If you are not automatically redirected, please click
+ on the following link:
+ <blockquote>
+ <a href="docs/html-docs/relnotes.html">FOP 0.20.3 Release Notes</a>
+ </blockquote>
+ </p>
+ </body>
+</html>
James Tauber (started it all and wrote most of the code)
Kelly Campbell
-Steven Coffman
+Steven Coffman
+Bertrand Delacretaz
+Tore Engvig
+Christian Geisert
Stanislav Gorkhover
Fotis Jannidis
Karen Lease
Jordan Naftolin
Eric Schaeffer
Jon Smirl
-
+Art Welch
**** THINGS WORKED ON *****
if "%JAVA_HOME%" == "" goto error
set LIBDIR=lib
-set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip;%LIBDIR%\ant.jar;%LIBDIR%\batik.jar;%LIBDIR%\buildtools.jar;%LIBDIR%\xerces-1.2.3.jar;%LIBDIR%\xalan-2.0.0.jar;%LIBDIR%\xalanj1compat.jar;%LIBDIR%\bsf.jar
-set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jimi-1.0.jar;%LIBDIR%\logkit-1.0b4.jar;%LIBDIR%\avalon-framework-4.0.jar
+set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip;%LIBDIR%\ant.jar;%LIBDIR%\ant-1.3-optional.jar;%LIBDIR%\batik.jar;%LIBDIR%\buildtools.jar;%LIBDIR%\xerces-1.2.3.jar;%LIBDIR%\xalan-2.0.0.jar;%LIBDIR%\xalanj1compat.jar;%LIBDIR%\bsf.jar
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jimi-1.0.jar;%LIBDIR%\logkit-1.0.jar;%LIBDIR%\avalon-framework-4.0.jar
set ANT_HOME=%LIBDIR%
exit 1
fi
LIBDIR=lib
-LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip:$LIBDIR/ant.jar:$LIBDIR/batik.jar:$LIBDIR/buildtools.jar:$LIBDIR/xerces-1.2.3.jar:$LIBDIR/xalan-2.0.0.jar:$LIBDIR/xalanj1compat.jar:$LIBDIR/bsf.jar
-LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/jimi-1.0.jar:$LIBDIR/logkit-1.0b4.jar:$LIBDIR/avalon-framework-4.0.jar
+LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip:$LIBDIR/ant.jar:$LIBDIR/ant-1.3-optional.jar:$LIBDIR/batik.jar:$LIBDIR/buildtools.jar:$LIBDIR/xerces-1.2.3.jar:$LIBDIR/xalan-2.0.0.jar:$LIBDIR/xalanj1compat.jar:$LIBDIR/bsf.jar
+LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/jimi-1.0.jar:$LIBDIR/logkit-1.0.jar:$LIBDIR/avalon-framework-4.0.jar
ANT_HOME=$LIBDIR
============
FOP is the world's first print formatter driven by XSL formatting objects. It
-is a Java 1.1 application that reads a formatting object tree and then turns
+is a Java 1.2 application that reads a formatting object tree and then turns
it into a PDF document. The formatting object tree, can be in the form of an
XML document (output by an XSLT engine like XT or Xalan) or can be passed in
memory as a DOM Document or (in the case of XT) SAX events.
<include name="LICENSE"/>
<include name="README"/>
<include name="STATUS"/>
+ <include name="ReleaseNotes.html"/>
<include name="fop.bat"/>
<include name="fop.sh"/>
<exclude name="src/**"/>
<fileset dir="${basedir}" id="dist.bin.lib">
<include name="lib/xerces-1.2.3.jar"/>
+ <include name="lib/xerces.LICENSE.txt"/>
<include name="lib/xalan-2.0.0.jar"/>
<include name="lib/xalanj1compat.jar"/>
+ <include name="lib/xalan.LICENSE.txt"/>
<include name="lib/batik.jar"/>
- <include name="lib/logkit-1.0b4.jar"/>
+ <include name="lib/batik.LICENSE.txt"/>
+ <include name="lib/logkit-1.0.jar"/>
+ <include name="lib/logkit.LICENSE.txt"/>
<include name="lib/avalon-framework-4.0.jar"/>
- <include name="lib/jimi*"/>
+ <include name="lib/avalon.LICENSE.txt"/>
+ <include name="lib/ant.jar"/>
+ <include name="lib/ant.license.txt"/>
</fileset>
<fileset dir="${basedir}" id="dist.src">
<include name="LICENSE"/>
<include name="README"/>
<include name="STATUS"/>
+ <include name="ReleaseNotes.html"/>
<include name="build*"/>
<include name="fop.bat"/>
<include name="fop.sh"/>
</fileset>
+ <path id="libs-build-classpath">
+ <fileset dir="lib">
+ <include name="stylebook*.jar"/>
+ <include name="xalan*.jar"/>
+ <include name="xerces*.jar"/>
+ </fileset>
+ </path>
+
<!-- =================================================================== -->
<!-- Initialization target -->
<!-- =================================================================== -->
<tstamp/>
<property name="Name" value="Fop"/>
<property name="name" value="fop"/>
- <property name="version" value="0.20.1"/>
+ <property name="version" value="0.20.3"/>
<filter token="version" value="${version}"/>
- <property name="year" value="1999-2001"/>
+ <property name="year" value="1999-2002"/>
<echo message="------------------- ${Name} ${version} [${year}] ----------------"/>
<property name="optimize" value="on"/>
<property name="deprecation" value="off"/>
+ <property name="textfontencoding" value="WinAnsiEncoding"/>
+
<property name="src.dir" value="./src"/>
<property name="src.codegen" value="./src/codegen"/>
<property name="docs.dir" value="./docs"/>
<property name="conf.dir" value="./conf"/>
<property name="packages" value="org.apache.fop.*"/>
+ <property name="docs" value="docs/html-docs"/>
+ <property name="xdocs" value="docs/xml-docs"/>
+ <property name="skins" value="docs/xml-docs/skins/xml.apache.org/"/>
<property name="doc.generator" value="org.apache.stylebook.StyleBook"/>
<property name="doc.generator.package" value="${lib.dir}/stylebook-1.0-b2.jar"/>
<!-- <property name="dist.dir" value="./dist"/> -->
<property name="dist.bin.dir" value="./dist-bin"/>
<property name="dist.src.dir" value="./dist-src"/>
- <property name="dist.bin.result.dir" value="${dist.bin.dir}/${Name}-${version}"/>
- <property name="dist.src.result.dir" value="${dist.src.dir}/${Name}-${version}"/>
+ <property name="dist.bin.result.dir" value="${dist.bin.dir}/${name}-${version}"/>
+ <property name="dist.src.result.dir" value="${dist.src.dir}/${name}-${version}"/>
<property name="properties.dir" value="org/apache/fop/fo/properties"/>
<property name="fonts.dir" value="org/apache/fop/render/pdf/fonts"/>
<property name="jimi" value="JimiImage.java"/>
<property name="jai" value="JAIImage.java"/>
- <property name="ignore_jdk11"
- value="org/apache/fop/render/awt/**
- ,org/apache/fop/viewer/**
- ,**/GifJpegImage.java
- ,**/JimiImage.java
- ,**/PrintStarter.java
- ,**/AWTStarter.java"/>
-
<property name="xslt" value="org.apache.xalan.xslt.Process"/>
<property name="src.properties.xsl" value="${src.codegen}/properties.xsl"/>
<property name="src.propmaker.xsl" value="${src.codegen}/propmaker.xsl"/>
<property name="propinc.xsl" value="${build.codegen}/propinc.xsl"/>
<property name="genconst.xsl" value="${build.codegen}/genconst.xsl"/>
<property name="src.charlist.xsl" value="${src.codegen}/code-point-mapping.xsl"/>
- <property name="charlist.xml" value="${build.codegen}/charlist.xml"/>
+ <property name="encodings.xml" value="${build.codegen}/encodings.xml"/>
<property name="charlist.xsl" value="${build.codegen}/code-point-mapping.xsl"/>
<property name="fontfile.xsl" value="${build.codegen}/font-file.xsl"/>
<property name="t1fontfile.xsl" value="${build.codegen}/t1font-file.xsl"/>
<taskdef name="runTest" classname="org.apache.fop.tools.anttasks.RunTest"/>
<property name="main.class" value="org.apache.fop.apps.Fop"/>
- <property name="runtime.classpath" value="lib/xerces-1.2.3.jar lib/xalan-2.0.0.jar lib/xalanj1compat.jar lib/batik.jar lib/jimi-1.0.jar lib/logkit-1.0b4.jar lib/avalon-framework-4.0.jar"/>
+ <property name="runtime.classpath" value="lib/xerces-1.2.3.jar lib/xalan-2.0.0.jar lib/xalanj1compat.jar lib/batik.jar lib/jimi-1.0.jar lib/logkit-1.0.jar lib/avalon-framework-4.0.jar"/>
<filter filtersfile="${build.src}/codegen/filter"/>
<target name="usage">
<echo message=""/>
<echo message=""/>
- <echo message="${Name} Build file"/>
+ <echo message="${name} Build file"/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=" available targets are:"/>
dependent="${propinc.xsl}"
outfile="${build.src}/${replacestring}/fo/properties/extenums_${ignore_this}" smart="yes"/>
- <xslt infile="${charlist.xml}" xsltfile="${charlist.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/CodePointMapping.java" smart="yes"/>
- <xslt infile="${Courier.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/Courier.java" smart="yes"/>
- <xslt infile="${Courier-Oblique.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/CourierOblique.java" smart="yes"/>
- <xslt infile="${Courier-Bold.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/CourierBold.java" smart="yes"/>
- <xslt infile="${Courier-BoldOblique.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/CourierBoldOblique.java" smart="yes"/>
- <xslt infile="${Helvetica.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/Helvetica.java" smart="yes"/>
- <xslt infile="${Helvetica-Oblique.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/HelveticaOblique.java" smart="yes"/>
- <xslt infile="${Helvetica-Bold.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/HelveticaBold.java" smart="yes"/>
- <xslt infile="${Helvetica-BoldOblique.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/HelveticaBoldOblique.java" smart="yes"/>
- <xslt infile="${Times-Roman.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/TimesRoman.java" smart="yes"/>
- <xslt infile="${Times-Italic.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/TimesItalic.java" smart="yes"/>
- <xslt infile="${Times-Bold.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/TimesBold.java" smart="yes"/>
- <xslt infile="${Times-BoldItalic.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/TimesBoldItalic.java" smart="yes"/>
- <xslt infile="${ZapfDingbats.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/ZapfDingbats.java" smart="yes"/>
- <xslt infile="${Symbol.xml}" xsltfile="${fontfile.xsl}"
- outfile="${build.src}/${replacestring}/render/pdf/fonts/Symbol.java" smart="yes"/>
+ <style
+ in="${encodings.xml}" style="${charlist.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf"
+ out="${build.src}/${replacestring}/render/pdf/CodePointMapping.java"/>
+ <style
+ in="${Courier.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/Courier.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Courier-Oblique.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/CourierOblique.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Courier-Bold.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/CourierBold.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Courier-BoldOblique.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/CourierBoldOblique.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Helvetica.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/Helvetica.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Helvetica-Bold.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/HelveticaBold.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Helvetica-Oblique.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/HelveticaOblique.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Helvetica-BoldOblique.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/HelveticaBoldOblique.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Times-Roman.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/TimesRoman.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Times-Italic.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/TimesItalic.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Times-Bold.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/TimesBold.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Times-BoldItalic.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/TimesBoldItalic.java">
+ <param name="encoding" expression="${textfontencoding}"/>
+ </style>
+ <style
+ in="${Symbol.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/Symbol.java"/>
+ <style
+ in="${ZapfDingbats.xml}" style="${fontfile.xsl}"
+ destdir="${build.src}/${replacestring}/render/pdf/fonts"
+ out="${build.src}/${replacestring}/render/pdf/fonts/ZapfDingbats.java"/>
<!-- custom fonts (Use t1fontfile.xsl instead of fontfile.xsl for Type 1 fonts!) step 2/2 -->
<!-- use this as a template for type 1 fonts:
excludes="**/*${ignore_this},${jimi}"/>
</target>
- <target name="compile-jdk11" depends="codegen, prepare-src">
- <echo message="Compiling the sources for JDK1.1"/>
- <!-- create directories -->
- <mkdir dir="${build.dest}"/>
-
- <javac srcdir="${build.src}"
- destdir="${build.dest}"
- debug="${debug}"
- deprecation="${deprecation}"
- optimize="${optimize}"
- excludes="**/${ignore_this},${Jimi},${ignore_jdk11}"/>
- </target>
-
<!-- =================================================================== -->
<!-- Creates the class package -->
<!-- =================================================================== -->
<target name="test" depends="package">
<echo message="Testing build in jar file ${build.dir}/${name}.jar against reference"/>
<runTest testSuite="basictests.xml" basedir="test/" reference="test/reference/fop.jar"
- refVersion="FOP 0.20.1"/>
+ refVersion="FOP 0.20.3"/>
<runTest testSuite="bugtests.xml" basedir="test/" reference="test/reference/fop.jar"
- refVersion="FOP 0.20.1"/>
+ refVersion="FOP 0.20.3"/>
<!--
<runTest testSuite="testsuite.xml" basedir="TestSuite/NIST/" reference="test/reference/fop.jar"
refVersion="FOP 0.19.0-CVS"/>
<target name="all" depends="package"/> <!-- "all" target for us Makefile converts ;-) -->
- <target name="package-jdk11" depends="compile-jdk11,hyphenation">
- <echo message="Creating the jar file ${build.dir}/${name}11.jar"/>
- <jar jarfile="${build.dir}/${name}-jdk11.jar"
- basedir="${build.dest}"
- includes="org/**,conf/**,hyph/**"/>
- </target>
-
<!-- =================================================================== -->
<!-- Prepares the docs -->
<!-- =================================================================== -->
/>
</target>
+ <target name="htmldoc" depends="prepare-src">
+ <copy file="${xdocs}/fop.xml"
+ tofile="${xdocs}/book.xml"
+ filtering="on"/>
+ <java classname="${doc.generator}" fork="yes">
+ <classpath refid="libs-build-classpath"/>
+ <arg line="targetDirectory=${docs} ${xdocs}/book.xml ${skins}"/>
+ </java>
+ <java classname="${doc.generator}" fork="yes">
+ <classpath refid="libs-build-classpath"/>
+ <arg line="targetDirectory=${docs}/design/ docs/design/book.xml ${skins}"/>
+ </java>
+ </target>
+
+
<!-- =================================================================== -->
<!-- Creates the distribution -->
<!-- =================================================================== -->
<target name="dist" depends="dist-src,dist-bin"/>
- <target name="dist-bin" depends="package">
+ <target name="dist-bin" depends="package, htmldoc">
<echo message="Building the binary distribution files (zip,tar)"/>
<mkdir dir="${dist.bin.result.dir}"/>
<copy todir="${dist.bin.result.dir}">
<mkdir dir="${dist.bin.result.dir}/build"/>
<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.src.result.dir}/docs/examples/runtests.sh" perm="ugo+rx" />
- <zip zipfile="${Name}-${version}-bin.zip" 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" />
- <delete file="${Name}-${version}-bin.tar"/>
+ <zip zipfile="${name}-${version}-bin.zip" 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" />
+ <delete file="${name}-${version}-bin.tar"/>
</target>
- <target name="dist-src" depends="package, javadocs">
+ <target name="dist-src" depends="package, javadocs, htmldoc">
<echo message="Building the source distribution files (zip,tar)"/>
<mkdir dir="${dist.src.result.dir}"/>
<copy todir="${dist.src.result.dir}">
<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}/fop.sh" perm="ugo+rx" />
+ <chmod file="${dist.src.result.dir}/docs/examples/runtests.sh" perm="ugo+rx" />
- <zip zipfile="${Name}-${version}-src.zip" 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" />
- <delete file="${Name}-${version}-src.tar"/>
+ <zip zipfile="${name}-${version}-src.zip" 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" />
+ <delete file="${name}-${version}-src.tar"/>
</target>
<delete dir="${dist.src.dir}"/>
<delete dir="${dist.bin.dir}"/>
<delete>
- <fileset dir="${basedir}" includes="${Name}-*.tar.gz"/>
- <fileset dir="${basedir}" includes="${Name}-*.zip"/>
+ <fileset dir="${basedir}" includes="${name}-*.tar.gz"/>
+ <fileset dir="${basedir}" includes="${name}-*.zip"/>
</delete>
</target>
<font-triplet name="ArialMT" style="italic" weight="bold"/>
</font>
-->
+ <!-- Example Japanese fonts
+ <font metrics-file="msgothic.xml" embed-file="D:\winnt\font\msgothic.ttc" kerning="yes">
+ <font-triplet name="Gothic" style="normal" weight="normal"/>
+ <font-triplet name="Gothic" style="normal" weight="bold"/>
+ <font-triplet name="Gothic" style="italic" weight="normal"/>
+ <font-triplet name="Gothic" style="italic" weight="bold"/>
+ </font>
+ <font metrics-file="msmincho.xml" embed-file="Cyberbit.ttf" kerning="yes">
+ <font-triplet name="Mincho" style="normal" weight="normal"/>
+ <font-triplet name="Mincho" style="normal" weight="bold"/>
+ <font-triplet name="Mincho" style="italic" weight="normal"/>
+ <font-triplet name="Mincho" style="italic" weight="bold"/>
+ </font>
+ -->
</fonts>
+++ /dev/null
-These documents are written for docbook
-http://sourceforge.net/projects/docbook
-
-To convert to pdf:
-- place the docbook files in a directory named "docbook"
-download and unzip the docbook distribution into the
-directory <cvs>/docs/design/dockbook/
-
-- place docbookx package in a directory name "docbookx"
-the files are avaialable here:
-http://www.oasis-open.org/docbook/xml/4.1.2/index.shtml
-
-
-- run the build script
-
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+
+<document>
+ <header>
+ <title>Architecture</title>
+ <subtitle>Architecture information for FOP</subtitle>
+ <authors>
+ <person name="Arved Sandstrom"/>
+ </authors>
+ </header>
+
+ <body>
+
+<s1 title="FOP Mechanics">
+
+<s2 title="Introduction">
+<p>
+The overall process is controlled by <em>org.apache.fop.apps.Driver</em>.
+This class handles the FO Tree building, renderers, output and logging.
+</p>
+<p>
+The process in general is that the FO document is sent to the tree
+builder via SAX events. This creates an FO Tree. The FO Tree is then
+handled by the layout processor which converts the FO Tree into an area
+tree. This area tree is then given to the renderer and the renderer converts
+the area tree into a stream of data containing the output document.
+</p>
+</s2>
+
+<s2 title="Formatting Object Tree">
+<p>
+The class <em>org.apache.fop.fo.FOTreeBuilder</em> is responsible for
+actually constructing the FO tree. The key SAX events used are </p>
+<p><code>startElement()</code>,</p>
+<p><code>endElement()</code> and <code>characters()</code>.</p>
+
+<p>All formatting objects derive from abstract class
+<em>org.apache.fop.fo.FONode</em>. The other FO classes inherit from
+<em>FONode</em> as follows:</p>
+
+</s2>
+
+<s2 title="Rendering">
+<p>
+This is a separate process. The <code>render()</code> method in
+<em>Driver</em> is invoked (say,
+by <em>CommandLine</em>) with the laid-out <em>AreaTree</em> and a
+<em>PrintWriter</em> as arguments.
+This actually calls the <code>render()</code> method in a specific implementation of
+the <em>Renderer</em> interface, typically <em>PDFRenderer</em> or
+<em>AWTRenderer</em>.
+</p>
+</s2>
+
+</s1>
+ </body>
+</document>
+
-<?xml version = "1.0" encoding = "UTF-8"?>
-<section id="areatree">
- <title>Area Tree</title>
- <para>
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>Area Tree</title>
+ <subtitle>Area Tree Design for FOP</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Area Tree">
+<p>
The code to implement the area tree will attempt to match the areas
defined in the specification. A number of optimisations may be possible
-for similar areas and groups of areas.
- </para>
- <para>
+for similar areas and groups of areas.
+ </p>
+ <p>
Since the area tree will be used during the layout by the layout managers
it will need to store information that affects the layout. The information
such as spacing and keeps will be held in such a way that it can be
-discarded once the layout is finalised.
- </para>
-
-<section>
- <title>The Area Tree</title>
- <para>
+discarded once the layout is finalised.
+ </p>
+<s2 title="Structure">
+<p>
The area tree is a root element that has a list of page-viewport-areas.
Each page viewport has a page-reference-area which holds the contents of
the page. To handle the processing better FOP does not maintain a list
at the root level but lets another class handle each page as it is added.
- </para>
-</section>
-
-<section>
- <title>Page</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Page">
+<p>
A page is made up of five area regions. These are before, start, body,
end and after. Each region has a viewport and contains the areas
produced from the children in the FO object heirarchy.
- </para>
- <para>
+ </p>
+ <p>
For the body area there are more subdivisions for before floats,
footnotes and the main reference area. The main reference area is
made from span areas which have normal flow reference areas as
children. The flow areas are then created inside these normal flow
reference areas.
- </para>
- <para>
+ </p>
+ <p>
Since the layout is done inside a page, the page is created from the
pagemaster with all the appropriate areas. The layout manager then
uses the page to add areas into the normal flow reference areas
and floats and footnotes. After the layout of the body region
is complete then the other regions can be done.
- </para>
-</section>
-
-<section>
- <title>Block Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Block Areas">
+<p>
Block areas are created and/or returned by all top level elements
in the flow. These areas have keep and spacing information that
needs to be retained until the page is finalised. A block area
is stacked with other block areas in a particular direction, it
has a size and it contains either line areas made from a group
of inline areas or block areas.
- </para>
- <para>
+ </p>
+ <p>
A block area can also be split into two block areas by splitting
between two line areas or splitting between two block areas (or
groups) that are stacked in the block progression direction of
the page. The split may also be in a child block area.
- </para>
-</section>
-
-<section>
- <title>Line Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Line Areas">
+<p>
A line areas is simply a collection of inline areas that are stacked
in the inline progression direction. A line area has a height and
width. It also contains information about floats and footnotes
that are associated with the inline areas.
- </para>
- <para>
+ </p>
+ <p>
A line area gets a set of inline areas added until complete then
it is justified and vertically aligned. If the line area contains
unresolved areas it will retain the justification information
until all areas are resolved.
- </para>
-</section>
-
-<section>
- <title>Inline Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Inline Areas">
+<p>
There are a few different types of inline areas. All inline areas
have a height. Their width may be variable until the line is
finalised.
- </para>
- <para>
+ </p>
+ <p>
Unresolved areas can reserve some space to allow for possible
sizes once it is resolved. Then the line can be re-justified
and finalised.
- </para>
-</section>
-
-<section>
- <title>Cloning</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Cloning">
+<p>
Any subtree of the area tree should be cloneable so that for
areas that are repeated the area tree can simply be copied rather
than going through the layout again. This will only work if the
width is the same.
- </para>
- <para>
+ </p>
+ <p>
Resolveable areas may be converted into an unresolved form.
- </para>
-</section>
-
-<section>
- <title>Classes</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Classes">
+<p>
The following class structure will be used to represent the area
tree.
- </para>
- <para>
-
- </para>
-<section>
- <title>Page Area Classes</title>
- <para>
+ </p>
+<s3 title="Page Area Classes">
+<p>
The page area classes hold the top level layout of a page. The
areas are created by the page master and should be ready to have
flow areas added.
- </para>
-</section>
-<section>
- <title>Block Area Classes</title>
- <para>
+ </p>
+ </s3>
+<s3 title="Block Area Classes">
+<p>
The block areas typically hold either a set of line areas or a set of
block areas. The child areas are usually stacked in a particular
direction.
- </para>
- <para>
+ </p>
+ <p>
Areas for tables and lists have their child block areas stacked
in different ways. Lists also can have spacing between the block
areas.
- </para>
-</section>
-<section>
- <title>Inline Area Classes</title>
- <para>
+ </p>
+ </s3>
+<s3 title="Inline Area Classes">
+<p>
The inline areas are used to make up a line area. An inline area
typically has a height, width and some content. The alignment is
used for block progression direction displacement and to determine
the height of a line.
- </para>
-</section>
+ </p>
+ </s3>
+ </s2>
-</section>
-
-<section>
- <title>Rendering Area Tree</title>
- <para>
+<s2 title="Rendering Area Tree">
+<p>
The rendering of an area tree is done by rendering each page
to a suitable output. The regions are rendered in order and each
region is contained by a viewport.
- </para>
- <para>
+ </p>
+ <p>
The relevent structures that will need to be rendered are:
Page
Viewport
Block
Line
Inline
- </para>
- <para>
+ </p>
+ <p>
The renderer will need to be able to:
<itemizedlist>
<listitem><para>
draw various lines and rectangles
</para></listitem>
</itemizedlist>
- </para>
- <para>
+ </p>
+ <p>
An abstract renderer will be able to handle the generic positioning
of child areas, iterating through areas that have child areas.
- </para>
-</section>
+ </p>
+ </s2>
+
+ </s1>
+
+ </body>
+</document>
-</section>
--- /dev/null
+<?xml version="1.0"?>
+
+<book title="FOP Design" copyright="1999-2002 The Apache Software Foundation">
+ <external href="http://xml.apache.org/fop/" label="About FOP"/>
+ <separator/>
+ <page id="index" label="Design" source="intro.xml"/>
+ <page id="architecture" label="Architecture" source="architecture.xml" />
+ <page id="properties" label="Properties" source="properties.xml" />
+ <page id="fotree" label="FO Tree" source="fotree.xml" />
+ <page id="areatree" label="Area Tree" source="areas.xml" />
+ <separator/>
+ <page id="layout" label="Layout" source="layout.xml" />
+ <page id="renderers" label="Renderers" source="renderers.xml" />
+ <page id="useragent" label="User Agent" source="useragent.xml" />
+ <page id="optimise" label="Optimisations" source="optimise.xml" />
+ <separator/>
+ <page id="embedding" label="Embedding" source="embedding.xml" />
+ <separator/>
+ <page id="status" label="Status" source="status.xml" />
+</book>
+++ /dev/null
-
-echo NOTE: Do NOT use jdk1.4 - It doesn't work properly
-@echo off
-
-echo Design Doc Build System
-echo ----------------
-
-if "%JAVA_HOME%" == "" goto error
-
-set LIBDIR=..\..\lib
-set TARGET_CLASSPATH=%LIBDIR%\xerces-1.2.3.jar;%LIBDIR%\batik.jar;%LIBDIR%\ant.jar;%LIBDIR%\buildtools.jar;%LIBDIR%\xalan-2.0.0.jar;%LIBDIR%\bsf.jar;..\..\build\fop.jar;%LIBDIR%\logkit-1.0b4.jar;%LIBDIR%\avalon-framework-4.0.jar;%LIBDIR%\jimi-1.0.jar
-set TARGET_CLASSPATH=%TARGET_CLASSPATH%;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip
-
-set ANT_HOME=%LIBDIR%
-
-%JAVA_HOME%\bin\java.exe -classpath "%TARGET_CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4
-
-goto end
-
-:error
-
-echo ERROR: JAVA_HOME not found in your environment.
-echo Please, set the JAVA_HOME variable in your environment to match the
-echo location of the Java Virtual Machine you want to use.
-
-:end
-
-rem set TARGET_CLASSPATH=
-
+++ /dev/null
-#! /bin/sh
-# $Id$
-
-LIBDIR=../../lib
-TARGET_CLASSPATH=$LIBDIR/ant.jar:\
-$LIBDIR/buildtools.jar:\
-$LIBDIR/xalan-2.0.0.jar:\
-$LIBDIR/xerces-1.2.3.jar:\
-$LIBDIR/bsf.jar:\
-../../build/fop.jar:\
-$LIBDIR/logkit-1.0b4.jar:\
-$LIBDIR/avalon-framework-4.0.jar:\
-$LIBDIR/batik.jar:\
-$LIBDIR/jimi-1.0.jar
-
-if [ "$JAVA_HOME" != "" ] ; then
- TARGET_CLASSPATH=$TARGET_CLASSPATH:$JAVA_HOME/lib/tools.jar
-else
- echo "Error: The JAVA_HOME environment variable is not set."
-fi
-
-java -classpath $TARGET_CLASSPATH org.apache.tools.ant.Main $*
+++ /dev/null
-<?xml version="1.0"?>
-<!-- ======================================================================= -->
-<!-- JBoss documentation build file -->
-<!-- ======================================================================= -->
-<project name="FOPDocs" default="docs" basedir="./">
- <target name="init">
- <property name="Name" value="FOPDocs"/>
- <property name="name" value="fopdocs"/>
- <property name="version" value="0.1"/>
- <property name="lib.dir" value="${basedir}/lib"/>
- <taskdef name="xslt" classname="org.apache.fop.tools.anttasks.Xslt"/>
- <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"/>
- </target>
- <!-- =================================================================== -->
- <!-- Generate a help screen -->
- <!-- =================================================================== -->
- <target name="help" depends="init">
- <echo message="${name}-${version} build file, available targets:"/>
- <echo message="------------------------------------------------------------"/>
- <echo message="main : Compile and prepare deployment directory. "/>
- <echo message="pdf : Compile and prepare pdf user docs. "/>
- <echo message="clean : Clean deployment and distribution. "/>
- <echo message="------------------------------------------------------------"/>
- <echo message=" USAGE: build <target> "/>
- </target>
- <!-- =================================================================== -->
- <!-- Prepares the build directory -->
- <!-- =================================================================== -->
- <target name="prepare" depends="init"/>
- <!-- =================================================================== -->
- <!-- Generates the pdf documentation -->
- <!-- =================================================================== -->
- <target name="pdf" depends="prepare">
- <echo message="Building pdf documentation. Please wait ..."/>
- <delete file="fop.fo"/>
- <xslt infile="fop.xml" xsltfile="docbook/fo/docbook.xsl" dependent="fop.xml" outfile="fop.fo" smart="yes"/>
- <!--
- <style basedir="./"
- destdir="./"
- style="docbook/fo/docbook.xsl"
- extension=".fo"
- includes="fop.xml"/>
--->
- <fop fofile="fop.fo" outfile="fop.pdf"/>
- <!-- <delete file="fop.fo"/>-->
- </target>
- <!-- =================================================================== -->
- <!-- Generates pdf and html documentation -->
- <!-- =================================================================== -->
- <target name="docs" depends="pdf"/>
- <!-- =================================================================== -->
- <!-- Cleans up generated stuff -->
- <!-- =================================================================== -->
- <target name="clean" depends="init">
- <delete file="fop.fo"/>
- <delete file="fop.pdf"/>
- </target>
-</project>
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>FOP Design</title>
+ <subtitle>Design Approach to FOP</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Introduction">
+<p>
+This is the design for the external interface when FOP is to be embedded
+inside another java application.
+ </p>
+ <p>
+Common places where FOP is embedded is in a report production application
+of a server side application such as <jump href="http://xml.apache.org/cocoon/index.html">Cocoon</jump>.
+ </p>
+ </s1>
+
+ </body>
+</document>
+
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbookx/docbookx.dtd" [
- <!ENTITY intro.xml SYSTEM "intro.xml">
- <!ENTITY layout.xml SYSTEM "layout.xml">
- <!ENTITY areas.xml SYSTEM "areas.xml">
- <!ENTITY optimise.xml SYSTEM "optimise.xml">
- <!ENTITY useragent.xml SYSTEM "useragent.xml">
-]>
-<book>
- <bookinfo>
- <title>FOP documentation</title>
- <copyright>
- <year>2001</year>
- <holder>The Apache Software Foundation. All rights reserved.</holder>
- </copyright>
- </bookinfo>
-&intro.xml;
-<chapter id="fop">
- <title>FOP</title>
-&layout.xml;
-</chapter>
-<chapter id="areas">
- <title>Areas</title>
-&areas.xml;
-</chapter>
-<chapter id="optimise">
- <title>Optimising</title>
-&optimise.xml;
-</chapter>
-<chapter id="useragent">
- <title>User Agent</title>
-&useragent.xml;
-</chapter>
-</book>
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>FO Tree</title>
+ <subtitle>Design of FO Tree Structure</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Introduction">
+<p>
+The FO Tree is an internal representation of the input FO document.
+The tree is created by building the elements and attributes from
+the SAX events.
+ </p>
+ <p>
+The FO Tree is used as an intermediatory structure which is converted
+into the area tree. The complete FO tree should not be held in memory
+since FOP should be able to handle FO documents of any size.
+ </p>
+
+<s2 title="FONode">
+<p>
+The class inheritance described above only describes the nature of the
+content. Every FO in FOP also has a parent, and a Vector of children. The
+parent attribute (in the Java sense), in particular, is used to enforce
+constraints required by the FO hierarchy.
+</p>
+
+<p>
+FONode, among other things, ensures that FO's have a parent, that they
+have children, that they maintain a marker of where the layout was up to
+(for FObj's it is the child number, and for FOText's it is the character
+number), and that they have a <code>layout()</code> method.
+</p>
+</s2>
+
+<s2 title="Making FO's">
+<p>
+An FO maker is read from a hashmap lookup using the namespace and
+element name. This maker is then used to create a new class that
+represents an FO element. This is then added to the FO tree as a child
+of the current parent.
+</p>
+
+<p>
+Properties (recall that FO's have properties, areas have traits, and XML
+nodes have attributes) are also a concern of <em>FOTreeBuilder</em>. It
+accomplishes this by using a <em>PropertyListBuilder</em>. There is a
+separate <em>PropertyListBuilder</em> for each namespace encountered
+while building the FO tree. Each Builder object contains a hash of
+property names and <ref>their</ref> respective makers. It may also
+contain element-specific property maker hashes; these are based on the
+<em>local name</em> of the flow object, ie. <em>table-row</em>, not
+<em>fo:table-row</em>. If an element-specific property mapping exists,
+it is preferred to the generic mapping.</p>
+<p>The base class for all
+properties is <em>Property</em>, and all the property makers extend
+<em>Property.Maker</em>. A more complete discussion of the property
+architecture may be found in <jump href="properties.html">Properties</jump>.
+</p>
+</s2>
+
+<s2 title="Foreign XML">
+<p>
+FOP supports the handlingof foreign XML.
+The XML is converted internally into a DOM, this is then available to
+the FO tree to convert the DOM into another format which can be rendered.
+In the case of SVG the DOM needs to be created with Batik, so an element
+mapping is used to read all elements in the SVG namespace and pass them
+into the Batik DOM.
+</p>
+</s2>
+
+<s2 title="Extensions">
+<p>
+It is possible to add extensions to FOP so that you can extend the ability of
+FOP with respect to render output, document specific information or extended
+layout functionality.
+</p>
+</s2>
+
+ </s1>
+
+ </body>
+</document>
+
-<?xml version = "1.0" encoding = "UTF-8"?>
-<preface>
- <title>About this Document</title>
- <para>
-This document is written in docbook with the hope that it will
-provide a good test case of a common usage of FO created by
-docbook. The information is then processed by fop to produce
-a PDF document.
- </para>
- <para>
-It is hoped that this document can be used as a basis for designing
-a new layout system for FOP so that it can handle all necessary
-situations when deciding line breaks, page breaks and spacing.
-It should also allow for the easy implementation of different
-writing modes and character sets.
- </para>
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>FOP Design</title>
+ <subtitle>Design Approach to FOP</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Introduction">
+<p>
+<note><p>
+The information here is still in the early stage, some information
+may be wrong or misleading. In general there is not a broad enough
+input and it is lacking in depth of information.
+</p></note>
+The information here describes the design and architecture details for FOP.
+Currently this is part of a redesign process for some of the core parts of
+FOP.
+ </p>
+ <p>
+The redesign is mainly focusing on some particular process involved
+with the layout process when converting the FO tree into the Area Tree.
+ </p>
+<s2 title="Aims">
+ <p>
+The main aim for FOP is to comply with the spec and to be able to
+process files of any size.
+ </p>
+ <p>
+In achieving this aim we need to understand the problem and break it
+into small problems that can be solved.
+ </p>
+ <p>
+<ul>
+<li>use SAX as input</li>
+<li>process FO elements ASAP</li>
+<li>dispose of unused memory, keep memory minimal</li>
+<li>layout handles floats, footnotes and keeps in a simple straight forward way</li>
+<li>id references are kept simple</li>
+<li>pages are rendered ASAP, can be cached until resolved</li>
+<li>renderers are totally responsible for their output format</li>
+<li>output is sent to a stream</li>
+</ul>
+ </p>
+</s2>
+ </s1>
+
+ </body>
+</document>
-</preface>
-<?xml version = "1.0" encoding = "UTF-8"?>
-<section id="layout">
- <title>FO Layout</title>
- <para>
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>Layout</title>
+ <subtitle>Layout Process in FOP</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="FO Layout">
+<p>
The aim of the layout system is to be self contained and allow for
easy changes or extensions for future development. For example the
line breaking should be decided at a particular point in the process
that makes it easier to handle other languages.
- </para>
- <para>
+ </p>
+ <p>
The layout begins once the hierarchy of FO objects has been constructed.
Note: it may be possible to start immediately after a block formatting
object has been added to the flow but this is not currently in the scope
of the layout. It is also possible to layout all pages in a page sequence
after each page sequence has been added from the xml.
- </para>
- <para>
+ </p>
+ <p>
The layout process is handled by a set of layout managers. The block
level layout managers are used to create the block areas which are
added to the region area of a page.
- </para>
- <section>
- <title>Layout Managers</title>
- <para>
+ </p>
+<s2 title="Layout Managers">
+ <p>
The layout managers are set up from the hierarchy of the formatting
object tree. A manager represents a hierachy of area producing objects.
A manager is able to handle the block area(s) that it creates and
organise or split areas for page breaks.
- </para>
- <para>
+ </p>
+ <p>
Normally any object that creates a block area will have an associated
layout manager. Other cases are tables and lists, these objects will
also have layout managers that will manager the group of layout managers
that make up the object.
- </para>
- <para>
+ </p>
+ <p>
A layout manager is also able to determine height (min/max/optimum)
and keep status. This will be used when organising the layout on
a page. The manager will be able to determine the next place a break
can be made and then be able to organise the height.
- </para>
- <para>
+ </p>
+ <p>
A layout manager is essentially a bridge between the formatting objects
and the area tree. It will keep a list of line areas inside block areas.
Each line area will contain a list of inline areas that is able to be
adjusted if the need arises.
- </para>
- <para>
+ </p>
+ <p>
The objects in the area tree that are organised by the manager will mostly
contain the information about there layout such as spacing and keeps, this
information will be thrown away once the layout for a page is finalised.
- </para>
-</section>
-
- <section>
- <title>Creating Managers</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Creating Managers">
+ <p>
The managers are created by the page sequence. The top level manager
is the Page manager. This asks the flow to add all managers in this
page sequence.
- </para>
- <para>
+ </p>
+ <p>
For block level objects they have a layout manager. Neutral objects
don't represent any areas but are used to contain a block level
area and as such these objects will ask the appropriate child to
create a layout manager.
- </para>
- <para>
+ </p>
+ <p>
Any nested block areas or inline areas may be handled by the layout
manager at a later stage.
- </para>
-</section>
-
- <section>
- <title>Using Managers</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Using Managers">
+ <p>
Block area layout managers are used to create a block area, other block
level managers may ask their child layout managers to create block areas
which are then added to the area tree (subset).
- </para>
- <para>
+ </p>
+ <p>
A manager is used to add areas to a page until the page is full,
then the manages contain all the information necessary to make
the decision about page break and spacing. A manager can split an
area that it has created will keep a status about what has been
added to the current area tree.
- </para>
-</section>
-
- <section>
- <title>Page Layout</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Page Layout">
+ <p>
Once the Page layout manager, belonging to the page sequence, is ready
then we can start laying out each page. The page sequence will create
the current page to put the page data, the next page and if it exists
a last page.
- </para>
- <para>
+ </p>
+ <p>
The current page will have the areas added to it from the block layout
managers. The next page will be used when splitting a block that goes
over the page break. Note: any page break overrides the layout decided
here. The last page will be necessary if the last block area is added
to this page. The size of the last page will be considered and the
areas will be added to the last page instead.
- </para>
- <para>
+ </p>
+ <p>
The first step is to add areas to the current page until the area is full
and the lines of the last block area contain at least n(orphans) and at least
n(orphans) + n(widows) in total. This will only be relevant for areas at
the start or end of a particular reference area.
- </para>
- <para>
- <mediaobject>
- <imageobject>
- <imagedata fileref = "page.svg"/>
- </imageobject>
- </mediaobject>
- </para>
- <para>
+ </p>
+ <p>
+ <image src="page.svg"/>
+ </p>
+ <p>
The spacing between the areas (including spacing in block areas inside
an inline-container) will be set to the minimum values. This will allow
the page to have at least all the information it needs to organise the
page properly.
- </para>
- <para>
+ </p>
+ <p>
This should handle the situation where there are keeps on some
block areas that go over the end of the page better. It is possible that
fitting the blocks on the page using a spacing between min and optimum
are placed first at optimum then you will need to keep going to see if
there is a lower keep further on that has a spacing that is closer to the
optimum.
- </para>
- <para>
+ </p>
+ <p>
The spacing and keep information is stored so that the area positions
and sizes can be adjusted.
- </para>
- <section>
- <title>Balancing Page</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Balancing Page">
+ <p>
The page is vertically justified so that it distributes the areas
on the page for the best result when considering keeps and spacing.
- </para>
- <section>
- <title>Finding Break</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Finding Break">
+ <p>
First the keeps are checked. The available space on the page may have
changed due to the presence of before floats or footnotes. The page break
will need to be at a height <= the available space on the page.
- </para>
- <para>
+ </p>
+ <p>
A page break should be made at the first available position that
has the lowest keep value when searching from the bottom. Once the first
possible break is found then the next possible break, with equally low
keep value, is considered. If the height of the page is closer to the
optimal spacing then this break will be used instead.
- </para>
- <para>
+ </p>
+ <p>
Keep values include implicit and explicit values when trying to
split a block area into more than one area. Implicit keeps may
be such things as widows/orphans.
- </para>
- <para>
+ </p>
+ <p>
If the page contains before floats or footnotes then as each area or line
-area is removed the float/footnote should also be removed. This will
+area is removed the float/footnote should also be removed. This will
change the available space and is a one way operation. The footnote
-should be removed first as a footnote may be placed on the next page.
+should be removed first as a footnote may be placed on the next page.
The lowest keep value may need to be reassessed as each conditional
area is removed.
- </para>
- <para>
+ </p>
+ <p>
The before float and footnote regions are managed so that the separator
regions will be present if it contains at least one area.
- </para>
-</section>
- <section>
- <title>Optimising</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Optimising">
+ <p>
Once the areas for the page are finalised then the spacing will
need to be adjusted. The available height on the page is compared
with the min and max spacing. All of the spacing in all the areas
on the page is then adjusted by the appropriate percentage value.
- </para>
-</section>
-
- <section>
- <title>Multi-Column Pages</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Multi-Column Pages">
+ <p>
In the case of multi-column pages the column breaks and eventually
the page break must be found in a slightly different way.
- </para>
- <para>
+ </p>
+ <p>
The columns need to be layed out completely from first to last but
this can only be done after a rough estimate of all the elements
on the page in case of before floats or footnotes.
- </para>
- <para>
+ </p>
+ <p>
So first the complete page is layed out with all columns filled
with areas and the spacing at a minimum. Then if there are any
before floats or footnotes then the availabe space is adjusted.
the first column. If any before floats or footnotes are removed
as a result of the new breaks and optimised spacing then all the
columns should still be layed out for the same column height.
- </para>
-</section>
-
-</section>
-</section>
-
- <section>
- <title>Completing Page</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Completing Page">
+ <p>
After the region body has been finished the static areas can be
layed out. The width of the static area is set and the height is
inifinite, that is all block areas should be placed in the area
and their visibility is controlled be other factors.
- </para>
- <para>
+ </p>
+ <p>
The area tree for the region body will contain the information
about markers that may be necessary for the retrieve marker.
- </para>
- <para>
+ </p>
+ <p>
The ordering of the area tree must be adjusted so that the areas are
before, start, body, end and after in that order. The body region
should be in the order before float, main then footnote.
- </para>
-</section>
-
- <section>
- <title>Line Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Line Areas">
+ <p>
Creating a line areas uses a similair concept. Each inline area
is placed across the available space until there is no room left.
The line is then split by considering all keeps and spacing.
- </para>
- <para>
+ </p>
+ <p>
Each word (group of adjacent character inline areas) will have keeps
based on hyphenation. The line break is at the lowest keep value
starting from the end of the line.
- </para>
- <para>
+ </p>
+ <p>
Once a line has been layed out for a particular width
then that line is fixed for the page (except for unresolved
page references).
- </para>
-</section>
-
- <section>
- <title>Before Floats and Footnotes</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Before Floats and Footnotes">
+ <p>
The before float region and footnote region are handled by the page
layoutmanger. These regions will handle the addition and removal
of the separator regions when before floats/footnotes area added
and removed.
- </para>
-</section>
-
- <section>
- <title>Side Floats</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Side Floats">
+ <p>
If a float anchor is present in a particular line area then the available
space for that line (and other in the block) will be reduced. The side float
adds to the height of the block area and this height also depends
on the clear value of subsequent blocks. The keep status of the block is
also effected as there must be enough space on the page to fit the
side float.
- </para>
- <para>
- <mediaobject>
- <imageobject>
- <imagedata fileref = "float.svg"/>
- </imageobject>
- </mediaobject>
- </para>
-</section>
-
- <section>
- <title>Unresolved Areas</title>
- <para>
+ </p>
+ <p>
+<image src="float.svg"/>
+ </p>
+ </s2>
+<s2 title="Unresolved Areas">
+ <p>
Once the layout of the page is complete there may be unresolved areas.
- </para>
- <para>
+ </p>
+ <p>
Page number citations and links may require following pages to be
layed out before they can be resolved. These will remain in the
area tree as unresolved areas.
- </para>
- <para>
+ </p>
+ <p>
As each page is completed the list of unresolved id's will be checked
and if the id can be resolved it will be. Once all id's are resolved
then the page can be rendered.
- </para>
- <para>
+ </p>
+ <p>
Each page contains a map of all unresolved id's and the corresponding
areas.
- </para>
- <para>
+ </p>
+ <p>
In the case of page number citations. The areas reserves the equivalent
of 3 number nines in the current font. When the area is resolved
then the area is adjusted to its proper size and the line area is
re-aligned to accomodate the change.
- </para>
-</section>
-
- <section>
- <title>ID and Link Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="ID and Link Areas">
+ <p>
Any formatting object that has an ID or any inline link defines an area
that will be required when rendering and resolving id references.
- </para>
- <para>
+ </p>
+ <p>
This area is stored in the parent area and may be a shape that exists
in more than one page, for example over a page break. This shape consists
of the boundary of all inline (or block) areas that the shape is defined
for.
- </para>
-</section>
-
- <section>
- <title>Inline Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Inline Areas">
+ <p>
This is the definition of all inline areas that will exist in the
area.
- </para>
- <section>
- <title>Fixed Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Fixed Areas">
+ <p>
instream-foreign-object, external-graphic, inline-container
- </para>
- <para>
+ </p>
+ <p>
These areas have a fixed width and height. They also have a viewport.
- </para>
-</section>
- <section>
- <title>Stretch Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Stretch Areas">
+ <p>
leader, inline space
- </para>
- <para>
+ </p>
+ <p>
These areas have a fixed height but the width may vary.
- </para>
-</section>
- <section>
- <title>Character Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Character Areas">
+ <p>
character
- </para>
- <para>
+ </p>
+ <p>
This is an simple character that has fixed properties according to
the current font. There are implicit keeps with adjacent characters.
- </para>
-</section>
- <section>
- <title>Anchor Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Anchor Areas">
+ <p>
float anchor, footnote anchor
- </para>
- <para>
+ </p>
+ <p>
This area has no size. It keeps the position for footnotes and floats
and has a keep with the associated inline area.
- </para>
-</section>
- <section>
- <title>Unresolved Page Numbers</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Unresolved Page Numbers">
+ <p>
page-number-citation
- </para>
- <para>
+ </p>
+ <p>
A page number area that needs resolving, behaves as a character and
has the space of 3 normal characters reserved. The size will adjust
when the value is resolved.
- </para>
-</section>
-
-</section>
-
- <section>
- <title>Block Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Block Areas">
+ <p>
The block area has info about the following:
<itemizedlist>
<listitem><para>
widows and orphans
</para></listitem>
</itemizedlist>
- </para>
- <para>
+ </p>
+ <p>
Once the layout has been finalised then this information can be
discarded.
- </para>
-</section>
-
- <section>
- <title>Page Areas</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Page Areas">
+ <p>
Contains inforamtion about all the block areas in the body,
before area and footer area.
- </para>
- <para>
+ </p>
+ <p>
Has a list of the unresolved page references and a list of id refences
that can be used to obtain the area associated with that id.
- </para>
-</section>
-
- <section>
- <title>Test Cases</title>
- <para>
+ </p>
+ </s2>
+<s2 title="Test Cases">
+ <p>
Here a few layout possibilities areas explored to determine how the
layout process will handle these situations.
- </para>
- <section>
- <title>Simple Pages</title>
- <para>
+ </p>
+<s3 title="Simple Pages">
+ <p>
All blocks (including nested) are placed on the page with minimum spacing
and the last block has the minimum number of lines past the page end.
The lowest keep value is then found within the body area limits. Then the next
equally low keep is found to determine if the spacing will be closer to
the optimum values.
- </para>
- </section>
- <section>
- <title>Before Floats/Footnotes</title>
- <para>
+ </p>
+ </s3>
+<s3 title="Before Floats/Footnotes">
+ <p>
After filling the page with the block areas then the new body height
is used to find the best position to break. Before each line area or block
area is remove any associated before floats and footnotes are removed.
breaking point until the areas fit on the page. When finding the
optimum spacing the removal of before floats and footnotes must also
be considered.
- </para>
- </section>
- <section>
- <title>Multicolumn</title>
- <para>
+ </p>
+ </s3>
+<s3 title="Multicolumn">
+ <p>
First the page is filled with all columns for the intial page area.
Then each column is adjusted for the new height starting from the
first column. The best break for the column is found then the next
column. Once all the columns are finished then all the columns are
adjusted to fit in the same height columns. This handles the situation
where before floats or footnotes may have been removed.
- </para>
- </section>
- <section>
- <title>Last Page</title>
- <para>
+ </p>
+ </s3>
+<s3 title="Last Page">
+ <p>
If in the process of adding areas to a page it is found that there
are no more areas in the flow then this page will need to be changed to
the last page (if applicable). The areas are then placed on a last
page.
- </para>
- </section>
+ </p>
+ </s3>
+ </s2>
+
+ </s1>
-</section>
+ </body>
+</document>
-</section>
-<?xml version = "1.0" encoding = "UTF-8"?>
-<section id="optimisations">
- <title>Process Optimisations</title>
- <para>
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>FOP Optimisations</title>
+ <subtitle>Notes for Optimising FOP</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Process Optimisations">
+<p>
FOP should be able to handle very large documents. A document can be
supplied using SAX and the information should be passed entirely through
the system, from fo elements to rendered output as soon as possible.
- </para>
- <para>
+ </p>
+ <p>
A top level block area, immediately below the flow, can be added to the
page layout as soon as the element is complete.
- </para>
- <para>
+ </p>
+ <p>
The fo elements used to construct a page can be discarded as soon as the
layout for the page is complete. Some information may be stored in the
area tree of the page in order to handle unresolved page references
and links.
- </para>
- <para>
+ </p>
+ <p>
Once the layout of a page has been completed, all elements are fully
resolved, then the page can be rendered. Some renderers may support
out of order rendering of pages.
- </para>
- <para>
+ </p>
+ <p>
The main problem that will remain is that any page with forward
references will need to be stored until the refence is resolved.
-This means that the information contained in the page should be
+This means that the information contained in the page should be
as minimal as possible.
- </para>
- <para>
+ </p>
+ <p>
Line areas can be optimised once the layout for the line has
been finalised. Consecutive characters with the same properties
can be combined into a "word" to hold the information with
limited overhead.
- </para>
- <para>
+ </p>
+ <p>
If there are a large number of pages where forward references
cannot be resolved the a method of writing a page onto disk
could be used to save memory. The easiest way to achieve this
is to make the page and all children serializable.
- </para>
+ </p>
+ </s1>
+
+ </body>
+</document>
-</section>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- $Id$ -->
+
+<document>
+ <header>
+ <title>Properties</title>
+ <subtitle>Properties overview</subtitle>
+ <authors>
+ <person name="Karen Lease"/>
+ </authors>
+ </header>
+
+ <body>
+
+<s1 title="Properties">
+ <s2 title="Property datatypes">
+<p>The property datatypes are defined in the
+org.apache.fop.datatypes package, except Number and String which are java
+primitives. The FOP datatypes are:</p>
+<ul>
+<li>Number</li>
+<li>String</li>
+<li>ColorType</li>
+<li>Length (has several subclasses)</li>
+<li>CondLength (compound)</li>
+<li>LengthRange (compound)</li>
+<li>Space (compound)</li>
+<li>Keep (compound)</li>
+</ul>
+<p>The <em>org.apache.fop.fo.Property</em> class is the superclass for all
+Property subclasses. There is a subclass for each kind of property
+datatype. These are named using the datatype name plus the word
+Property, resulting in NumberProperty, StringProperty, and so
+on. There is also a class EnumProperty which uses an <code>int</code>
+primitive to hold enumerated values. There is no corresponding Enum
+datatype class.</p>
+<p>The Property class provides a "wrapper" around any possible
+property value. Code manipulating property values (in layout for
+example) usually knows what kind (or kinds) of datatypes are
+acceptable for a given property and will use the appropriate accessor.</p>
+<p>The base Property class defines accessor methods for all FO property
+datatypes, such as getNumber(), getColorType(), getSpace(), getEnum(),
+etc. It doesn't define
+accessors for SVG types, since these are handled separately (at least
+for now.) In the base Property class, all of these methods return
+null, except getEnum which returns 0. Individual subclasses return a value of the appropriate type,
+such as Length or ColorType. A subclass may also choose to return a
+reasonable value for other accessor types. For example, a
+SpaceProperty will return the optimum value if asked for a Length.</p>
+ </s2>
+
+ <s2 title="Property Makers">
+<p>The Property class contains a nested class called
+<em>Maker</em>. This is the base class for all other property Makers. It
+provides basic framework functionality which is overridden by the
+code generated by properties.xsl from the *properties.xml files. In
+particular it provides basic expression evaluation, using
+PropertyParser class in the org.apache.fop.fo.expr package.</p>
+<p>Other Property subclasses such as LengthProperty define their own
+nested Maker classes (subclasses of Property.Maker). These handle
+conversion from the Property subclass returned from expression
+evaluation into the appropriate subclass for the property.</p>
+<p>For each generic or specific property definition in the
+properties.xml files, a new subclass of one of the Maker classes is
+created. Note that no new Property subclasses are created, only new
+PropertyMaker subclasses. Once the property value has been parsed and
+stored, it has no specific functionality. Only the Maker code is
+specific. Maker subclasses define such aspects as keyword
+substitutions, whether the property can be inherited or not, which
+enumerated values are legal, default values, corresponding properties
+and specific datatype conversions.</p>
+</s2>
+ <s2 title="XML property specification format">
+ <s3 title="Generic properties">
+<p>In the properties xml files, one can define generic property
+definitions which can serve as a basis for individual property
+definitions. There are currently several generic properties defined in
+foproperties.xml. An example is GenericColor, which defines basic properties
+for all ColorType properties. Since the generic specification doesn't include
+the inherited or default elements, these should be set in each property
+which is based on GenericColor. Here is an example:</p>
+<p>
+<code>
+ <property type='generic'>
+ <name>background-color</name>
+ <use-generic>GenericColor</use-generic>
+ <inherited>false</inherited>
+ <default>transparent</default>
+ </property>
+</code></p>
+<p>A generic property specification can include all of the elements
+defined for the property element in the DTD, including the description
+of components for compound properties, and the specification of
+keyword shorthands.</p>
+
+<p>Generic property specifications can be based on other generic
+specifications.
+An example is GenericCondPadding template which is based on the
+GenericCondLength definition but which extends it by adding an inherited
+element and a default value for the length component.</p>
+<p>
+Generic properties can specify enumerated values, as in the
+GenericBorderStyle template. This means that the list of values, which
+is used by 8 properties (the "absolute" and "writing-mode-relative"
+variants for each BorderStyle property) is only specified one time.</p>
+<p>
+When a property includes a "use-generic" element and includes no other
+elements (except the "name" element), then no class is generated for the
+property. Instead the generated mapping will associate this
+property directly with an instance of the generic Maker.</p>
+<p>
+A generic class may also be hand-coded, rather than generated from the
+properties file.
+Properties based on such a generic class are indicated by the
+attribute <code>ispropclass='true'</code> on the
+<em>use-generic</em> element.</p>
+<p> This is illustrated by the SVG properties, most of
+which use one of the Property subclasses defined in the
+<em>org.apache.fop.svg</em>
+package. Although all of these properties are now declared in
+svgproperties.xml, no specific classes are generated. Classes are only
+generated for those SVG properties which are not based on generic
+classes defined in svg.</p>
+ </s3>
+ <s3 title="Element-specific properties">
+<p>Properties may be defined for all flow objects or only for
+particular flow objects. A PropertyListBuilder object will always look
+first for a Property.Maker for the flow object before looking in the
+general list. These are specified in the
+<code>element-property-list</code> section of the properties.xml
+files. The <code>localname</code> element children of this element specify for
+which flow-object elements the property should be registered.</p>
+<p><em>NOTE</em>: All the properties for an object or set of objects
+must be specified in a single element-property-list element. If the
+same localname appears in several element lists, the later set of
+properties will hide the earlier ones! Use the <em>ref</em>
+functionality if the same property is to be used in different sets of
+element-specific mappings.
+</p>
+ </s3>
+ <s3 title="Reference properties">
+ <p>A property element may have a type attribute with the value
+ <code>ref</code>. The
+ content of the <em>name</em> child element is the name of the referenced
+ property (not its class-name!). This indicates that the property
+ specification has
+ already been given, either in this same specification file or in a
+ different one (indicated by the <code>family</code> attribute). The
+ value of the family attribute is <em>XX</em> where the file
+ <em>XXproperties.xml</em> defines the referenced property. For
+ example, some SVG objects may have properties defined for FO. Rather
+ than defining them again with a new name, the SVG properties simply
+ reference the defined FO properties. The generating mapping for the
+ SVG properties will use the FO Maker classes.</p>
+ </s3>
+ <s3 title="Corresponding properties">
+<p>Some properties have both <em>absolute</em> and
+<em>writing-mode-relative</em> forms. In general, the absolute forms
+are equivalent to CSS properties, and the writing-mode-relative forms
+are based on DSSSL. FO files may use either or both forms. In
+FOP code, a request for an absolute form will retrieve that value if it
+was specified on the FO; otherwise the corresponding relative property
+will be used if it was specified. However, a request for a relative
+form will only use the specified relative value if the corresponding
+absolute value was <em>not</em> specified for that FO.
+</p>
+<p>Corresponding properties are specified in the properties.xml files
+using the element <code>corresponding</code>, which has at least one
+<code>propval</code> child and may have a <code>propexpr</code> child,
+if the corresponding
+value is calculated based on several other properties, as for
+<code>start-indent</code>.
+</p>
+<p><em>NOTE</em>: most current FOP code accesses the absolute variants
+of these properties, notably for padding, border, height and width
+attributes. However it does use start-indent and end-indent, rather
+than the "absolute" margin properties.
+</p>
+</s3>
+ </s2>
+
+ <s2 title="Mapping">
+<p>The XSL script <code>propmap.xsl</code> is used to generate
+property mappings based on
+both foproperties.xml and svgproperties.xml. The mapping classes
+in the main fop packages simply load these automatically generated
+mappings. The mapping code still uses the static
+"maker" function of the generated object to obtain a Maker
+object. However, for all generated classes, this method returns an
+instance of the class itself (which is a subclass of Property.Maker)
+and not an instance of a separate nested Maker class.</p>
+<p>For most SVG properties which use the SVG Property classes directly,
+the generated mapper code calls the "maker" method of the SVG Property
+class, which returns an instance of its nested Maker class.</p>
+<p>The property generation also handles element-specific property
+mappings as specified in the properties XML files.</p>
+ </s2>
+
+ <s2 title="Enumerated values">
+<p>For any property whose datatype is <code>Enum</code> or which
+contains possible enumerated values, FOP code may need to access
+enumeration constants. These are defined in the interfaces whose name
+is the same as the generated class name for the property,
+for example <code>BorderBeforeStyle.NONE</code>. These interface classes
+are generated by the XSL script <code>enumgen.xsl</code>. A separate
+interface defining the enumeration constants is always generated for
+every property which uses the constants, even if the constants
+themselves are defined in a generic class, as in BorderStyle.</p>
+<p>If a subproperty or component of a compound property has enumerated
+values, the constants are defined in a nested interface whose name is
+the name of the subproperty (using appropriate capitalization
+rules). For example,
+the keep properties may have values of AUTO or FORCE or an integer
+value. These are defined for each kind of keep property. For example,
+the keep-together property is a compound property with the components
+within-line, within-column and within-page. Since each component may
+have the values AUTO or FORCE, the KeepTogether interface defines
+three nested interfaces, one for each component, and each defines
+these two constants. An example of a reference in code to the constant
+is <code>KeepTogether.WithinPage.AUTO</code>.</p>
+
+ </s2>
+
+ <s2 title="Compound property types">
+<p>Some XSL FO properties are specified by compound datatypes. In the FO file,
+these are defined by a group of attributes, each having a name of the
+form <code>property.component</code>, for example
+<code>space-before.minimum</code>. These are several compound
+datatypes:</p>
+<ul>
+<li>LengthConditional, with components length and conditionality</li>
+<li>LengthRange, with components minimum, optimum, and maximum</li>
+<li>Space, with components minimum, optimum, maximum, precedence and
+conditionality </li>
+<li>Keep, with components within-line, within-column and within-page</li>
+</ul>
+<p>These are described in the properties.xml files using the element
+<code>compound</code> which has <code>subproperty</code> children. A subproperty element is much
+like a property element, although it may not have an <code>inherited</code> child
+element, as only a complete property object may be inherited.
+</p>
+<p>Specific datatype classes exist for each compound property. Each
+component of a compound datatype is itself stored as a Property
+object. Individual components may be accessed either by directly
+performing a get operation on the name, using the "dot" notation,
+eg. <code>get("space-before.optimum")</code>; or by using an accessor on the compound
+property, eg. <code>get("space-before").getOptimum()</code>.
+In either case,
+the result is a Property object, and the actual value may be accessed
+(in this example) by using the "getLength()" accessor.
+</p>
+ </s2>
+</s1>
+ </body>
+</document>
+
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>Renderers</title>
+ <subtitle>Design of Renderers</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Introduction">
+<p>
+A render is primarily design to convert a given area tree into the output
+document format. It should be able to produce pages and fill the pages
+with the text and graphical content. Usually the output is sent to
+an output stream.
+ </p>
+ <p>
+Some output formats may support extra information that is not available
+from the area tree or depends on the destination of the document.
+ </p>
+ </s1>
+
+ </body>
+</document>
+
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>Design Status</title>
+ <subtitle>Current Status of FOP and Design</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Status">
+<p>
+Currently some of FOP is being re-written so that the layout can be handled
+properly without the problems that have been encountered and to make
+it possible to handle keeps/breaks and spacing better.
+ </p>
+<p>
+
+ </p>
+ </s1>
+
+ </body>
+</document>
+
-<?xml version = "1.0" encoding = "UTF-8"?>
-<section id="useragent-use">
- <title>Usage</title>
- <para>
+<?xml version="1.0" standalone="no"?>
+
+<document>
+ <header>
+ <title>FO User Agent</title>
+ <subtitle>Design of FO User Agent</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Purpose">
+<p>
+Technically the user agent is FOP in the role of determining the
+output format and when resolving various attributes. The user
+agent is represented by a class that is available to others to
+specify how FOP should behave.
+ </p>
+ <p>
The user agent is used by the formatting process to determine
certain user definable values.
- </para>
- <para>
+ </p>
+ <p>
It will enable the customisation of values for generating and
rendering the document.
- </para>
- <para>
+ </p>
+ <p>
The user agent must be available to the layout processor and
the renderer. Users can supply their own user agent or use
the default one for a particular renderer.
- </para>
- <para>
+ </p>
+ <p>
The user agent needs to be made available to the property
resolution layout process and the renderer.
- </para>
+ </p>
- <para>
+ <p>
Standard Features:
<itemizedlist>
<listitem><para>
rendering processor of content-type (mime type)
</para></listitem>
</itemizedlist>
- </para>
+ </p>
- <para>
+ <p>
Interactive Features:
<itemizedlist>
<listitem><para>
media usage of auto
</para></listitem>
</itemizedlist>
- </para>
+ </p>
+
+ </s1>
+
+ </body>
+</document>
-</section>
</fox:outline>
- <fo:page-sequence master-name="A4">
+ <fo:page-sequence master-reference="A4">
<fo:flow flow-name="xsl-region-body">
<fo:wrapper font-family="Times" font-size="12pt" text-align="justify">
</fo:simple-page-master>
<fo:page-sequence-master master-name="A4">
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first" page-position="first"/>
- <fo:conditional-page-master-reference master-name="rest" page-position="rest"/>
- <fo:conditional-page-master-reference master-name="rest"/>
+ <fo:conditional-page-master-reference master-reference="first" page-position="first"/>
+ <fo:conditional-page-master-reference master-reference="rest" page-position="rest"/>
+ <fo:conditional-page-master-reference master-reference="rest"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="A4">
+ <fo:page-sequence master-reference="A4">
<fo:static-content flow-name="xsl-region-after">
<fo:table space-before.optimum="1in div 12" margin-left="2in div 12" margin-top="1in div 10" font-family="sans-serif" font-size="7pt" color="green">
<fo:table-column column-width="8in div 10 - 2in div 12"/>
<fo:block>SVG logo and bar code</fo:block>
</fo:flow>
</fo:page-sequence>
-</fo:root>
\ No newline at end of file
+</fo:root>
--- /dev/null
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg" language="ja">
+<fo:layout-master-set>
+<fo:simple-page-master master-name="one">
+<fo:region-body margin-top="50pt" margin-bottom="50pt" margin-left="100pt" margin-right="100pt"/>
+</fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence master-reference="one" font-family="Gothic">
+<fo:flow flow-name="xsl-region-body">
+<fo:block>ブロック</fo:block>
+<fo:block text-align="end" font-weight="bold">右揃えのブロック</fo:block>
+<fo:block text-align="center" font-style="italic">中央揃えのブロック</fo:block>
+<fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。配置は、デフォルトです。</fo:block>
+<fo:block text-align="end">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。配置は、右揃えです。</fo:block>
+<fo:block text-align="center">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。配置は、中央揃えです。</fo:block>
+<fo:block text-align="justify">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。三行となり、全行末が揃っているか確認して下さい。どうでしょうか。配置は、両端揃えです。</fo:block>
+<fo:block>比較用ブロック</fo:block>
+<fo:block space-before.optimum="12pt">space-before に 12pt を指定したブロック</fo:block>
+<fo:block>比較用ブロック</fo:block>
+<fo:block space-after.optimum="12pt">space-after に 12pt を指定したブロック</fo:block>
+<fo:block>比較用ブロック</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt">space-before と space-after の両方に 12pt を指定したブロック</fo:block>
+<fo:block font-weight="bold" font-style="italic">比較用ブロック</fo:block>
+<fo:block start-indent="50pt">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。start-indent に 50pt を指定しています。</fo:block>
+<fo:block end-indent="50pt">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。end-indent に 50pt を指定しています。</fo:block>
+<fo:block start-indent="50pt" end-indent="50pt">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。start-indent と end-indent に 50pt を指定しています。</fo:block>
+<fo:block font-size="15pt">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。font-size に 15pt を指定しています。</fo:block>
+<fo:block line-height="20pt">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。line-height に 20pt を指定しています。</fo:block>
+<fo:block font-size="15pt" line-height="20pt">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。font-size に 15pt、line-height に 20pt を指定しています。</fo:block>
+<fo:block font-size="15pt" line-height="15pt">この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。font-size に 15pt、line-height に 15pt を指定しています。</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt"><fo:block space-before.optimum="12pt" space-after.optimum="12pt">ブロック内のブロック</fo:block></fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt">前のテキスト<fo:block space-before.optimum="12pt" space-after.optimum="12pt">ブロック内のブロック</fo:block>後ろのテキスト</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">前のテキスト<fo:block space-before.optimum="12pt" space-after.optimum="12pt">start-indent が 50pt のブロック内のブロック</fo:block>後ろのブロック</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">And again for the page break, text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">start-intent が 50pt のブロック内のブロック</fo:block>後ろのテキスト</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">前のテキスト<fo:block space-before.optimum="12pt" space-after.optimum="12pt">start-intent が 50pt のブロック内の start-intent が 50pt のブロック</fo:block>後ろのブロック</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">前のテキスト<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="100pt">start-intent が 50pt のブロック内の start-intent が 100pt のブロック</fo:block>後ろのテキスト</fo:block>
+<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+<fo:list-block start-indent="50pt" provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。start-indent に 50pt、text-align は両端揃えの list-block です。</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block><fo:block start-indent="100pt">この行は、一行以上にわたる start-intent が 100pt の複数のラインブロックです。適切な改行がされなければなりません。</fo:block><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。<fo:block>この行は、一行以上にわたる埋め込まれた複数のラインブロックです。適切な改行がされなければ成りません。</fo:block>この行は、一行以上にわたる複数のラインブロックです。適切な改行がされなければなりません。</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+ <fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt">
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()"><fo:block>list-item-body 内のブロック</fo:block></fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:list-block provisional-distance-between-starts="12pt">
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()"><fo:block>•</fo:block></fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()"><fo:block>これ自体がリストアイテムであるリスト内のリストアイテム</fo:block></fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ <fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">次のステージ</fo:block>
+ <fo:block>新たに実装された罫線の試験です。以下は、太さはデフォルトの 1pt、space-before と space-after が 12pt で表示された罫線です。</fo:block>
+ <fo:block><fo:leader leader-pattern="rule" space-before.optimum="12pt" space-after.optimum="12pt"/></fo:block>
+ <fo:block>以下は、太さ5pt、start-indentが100pt (前のspace-before/afterと同一) のリーダです。</fo:block>
+ <fo:block><fo:leader leader-pattern="rule" space-before.optimum="12pt" space-after.optimum="12pt" rule-thickness="5pt" start-indent="100pt"/></fo:block>
+ <fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt"
+ ><fo:inline color="#500">C</fo:inline
+ ><fo:inline color="#700">o</fo:inline
+ ><fo:inline color="#900">l</fo:inline
+ ><fo:inline color="#B00">o</fo:inline
+ ><fo:inline color="#D00">u</fo:inline
+ ><fo:inline color="#F00">r</fo:inline
+ ></fo:block>
+ <fo:block color="black">黒色</fo:block>
+ <fo:block color="green">緑色</fo:block>
+ <fo:block color="silver">銀色</fo:block>
+ <fo:block color="lime">ライム色</fo:block>
+ <fo:block color="gray">灰色</fo:block>
+ <fo:block color="olive">オリーブ色</fo:block>
+ <fo:block color="white">白色</fo:block>
+ <fo:block color="yellow">黄色</fo:block>
+ <fo:block color="maroon">栗色</fo:block>
+ <fo:block color="navy">ネイビ色</fo:block>
+ <fo:block color="red">赤色</fo:block>
+ <fo:block color="blue">青色</fo:block>
+ <fo:block color="purple">紫色</fo:block>
+ <fo:block color="teal">茶色</fo:block>
+ <fo:block color="fuchsia">赤紫色</fo:block>
+ <fo:block color="aqua">水色</fo:block>
+ <fo:block break-before="even-page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">ラップ</fo:block>
+ <fo:block space-before.optimum="12pt">この文は、表示領域よりも長い文です。標準のラッピング処理を行っており、wrap-option に no-wrap を設定した下の段落と比較すると、どのような処理が行われているのか分かるかと思います。</fo:block>
+ <fo:block space-before.optimum="12pt" wrap-option="no-wrap">この文は、表示領域よりも長い文です。wrap-option に no-wrap を指定しており、デフォルトのラッピング処理を行っている上の段落と比較すると、どのような処理が行われているか分かるかと思います。</fo:block>
+ <fo:block space-before.optimum="12pt" wrap-option="wrap">この文は、表示領域よりも長い文です。標準のラッピング処理を行っていますが、これら三節の最初の段落との違いは、wrap-option に明示的に wrap を指定していることです。</fo:block>
+ <fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">空白つぶし</fo:block>
+<fo:block>この文 は デフォルトです!</fo:block>
+<fo:block white-space-collapse="false">この文 は falseです!</fo:block>
+<fo:block white-space-collapse="true">この文 は trueです!</fo:block>
+<fo:block font-family="Mincho" white-space-collapse="false">
+<![CDATA[
+<?xml version="1.0"?>
+<document>
+ <heading>見出し</heading>
+ <list>
+ <item>一項目目</item>
+ <item>二項目目</item>
+ </list>
+</document>
+]]>
+</fo:block>-->
+ <fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">埋め込まれた SVG</fo:block>
+ <fo:block><fo:instream-foreign-object>
+ <svg:svg width="400pt" height="200pt">
+ <svg:rect style="fill:none;stroke:blue" x="20pt" y="20pt" width="100pt" height="100pt"/>
+ <svg:line x1="20pt" y1="20pt" x2="120pt" y2="120pt"/>
+ <svg:line x1="120pt" y1="20pt" x2="20pt" y2="120pt"/>
+ <svg:text x="20pt" y="150pt">こんにちは SVG!</svg:text>
+ </svg:svg>
+ </fo:instream-foreign-object></fo:block>
+ <fo:block>上図は、SVG グラフィックの例です</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+
+
--- /dev/null
+/*
+ * $Id$
+ * Copyright (C) 2002 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
+ */
+
+import java.io.*;
+import java.util.Vector ;
+
+import java.awt.print.PrinterJob ;
+import java.awt.print.PrinterException ;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLReader;
+
+import org.apache.fop.apps.Driver;
+import org.apache.fop.layout.Page;
+import org.apache.fop.apps.Version;
+import org.apache.fop.apps.XSLTInputHandler;
+
+import org.apache.fop.render.awt.AWTRenderer ;
+
+import org.apache.log.*;
+
+/**
+ * Example servlet to generate a fop printout from a servlet.
+ * Printing goes to the default printer on host where the servlet executes.
+ * Servlet param is:
+ * <ul>
+ * <li>fo: the path to a formatting object file to render
+ * </ul>
+ *
+ * Example URL: http://servername/servlet/FopPrintServlet?fo=readme.fo
+ * Example URL: http://servername/servlet/FopPrintServlet?xml=data.xml&xsl=format.xsl
+ * Compiling: you will need
+ * - servlet_2_2.jar
+ * - fop.jar
+ * - sax api
+ * - logkit jar
+ *
+ * Running: you will need in the WEB-INF/lib/ directory:
+ * - fop.jar
+ * - batik.jar
+ * - avalon-framework-4.0.jar
+ * - logkit-1.0.jar
+ * - xalan-2.0.0.jar
+ */
+
+public class FopPrintServlet extends HttpServlet
+{
+ public static final String FO_REQUEST_PARAM = "fo";
+ public static final String XML_REQUEST_PARAM = "xml";
+ public static final String XSL_REQUEST_PARAM = "xsl";
+ Logger log = null;
+
+ public void doGet(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException
+ {
+ if (log == null)
+ {
+ Hierarchy hierarchy = Hierarchy.getDefaultHierarchy();
+ log = hierarchy.getLoggerFor("fop");
+ log.setPriority(Priority.WARN);
+ }
+
+ try
+ {
+ String foParam = request.getParameter(FO_REQUEST_PARAM);
+ String xmlParam = request.getParameter(XML_REQUEST_PARAM);
+ String xslParam = request.getParameter(XSL_REQUEST_PARAM);
+
+ if (foParam != null)
+ {
+ FileInputStream file = new FileInputStream(foParam);
+ renderFO(new InputSource(file), response);
+ }
+ else if ((xmlParam != null) && (xslParam != null))
+ {
+ XSLTInputHandler input = new XSLTInputHandler(new File(xmlParam), new File(xslParam));
+ renderXML(input, response);
+ }
+ else
+ {
+ response.setContentType ("text/html");
+
+ PrintWriter out = response.getWriter();
+ out.println("<html><title>Error</title>\n"+
+ "<body><h1>FopServlet Error</h1><h3>No 'fo' or 'xml/xsl' "+
+ "request param given.</h3></body></html>");
+ }
+ }
+ catch (ServletException ex)
+ {
+ throw ex;
+ }
+ catch (Exception ex)
+ {
+ throw new ServletException(ex);
+ }
+ }
+
+ /**
+ * renders an FO inputsource into a PDF file which is rendered
+ * directly to the response object's OutputStream
+ */
+ public void renderFO(InputSource foFile, HttpServletResponse response)
+ throws ServletException
+ {
+ try
+ {
+ Driver driver = new Driver(foFile, null);
+ PrinterJob pj = PrinterJob.getPrinterJob();
+ PrintRenderer renderer = new PrintRenderer(pj);
+
+ driver.setLogger (log);
+ driver.setRenderer(renderer);
+ driver.run();
+
+ reportOK (response) ;
+ }
+ catch (Exception ex)
+ {
+ throw new ServletException(ex);
+ }
+ }
+
+ public void renderXML(XSLTInputHandler input, HttpServletResponse response)
+ throws ServletException
+ {
+ try
+ {
+ Driver driver = new Driver();
+ PrinterJob pj = PrinterJob.getPrinterJob();
+ PrintRenderer renderer = new PrintRenderer(pj);
+
+ pj.setCopies(1);
+
+ driver.setLogger (log);
+ driver.setRenderer (renderer);
+ driver.render (input.getParser(), input.getInputSource());
+
+ reportOK (response) ;
+ }
+ catch (Exception ex)
+ {
+ throw new ServletException(ex);
+ }
+ }
+
+ // private helper, tell (browser) user that file printed
+
+ private void reportOK (HttpServletResponse response)
+ throws ServletException
+ {
+ String sMsg = "<html><title>Success</title>\n" +
+ "<body><h1>FopPrintServlet: </h1>" +
+ "<h3>The requested data was printed</h3></body></html>" ;
+
+ response.setContentType ("text/html");
+ response.setContentLength (sMsg.length());
+
+ try
+ {
+ PrintWriter out = response.getWriter();
+ out.println (sMsg) ;
+ out.flush() ;
+ }
+ catch (Exception ex)
+ {
+ throw new ServletException(ex);
+ }
+ }
+
+
+ /**
+ * creates a SAX parser, using the value of org.xml.sax.parser
+ * defaulting to org.apache.xerces.parsers.SAXParser
+ *
+ * @return the created SAX parser
+ */
+ static XMLReader createParser()
+ throws ServletException
+ {
+ String parserClassName = System.getProperty("org.xml.sax.parser");
+ if (parserClassName == null)
+ {
+ parserClassName = "org.apache.xerces.parsers.SAXParser";
+ }
+
+ try
+ {
+ return (XMLReader) Class.forName(parserClassName).newInstance();
+ }
+ catch (Exception e)
+ {
+ throw new ServletException(e);
+ }
+ }
+
+ // This is stolen from PrintStarter
+ class PrintRenderer extends AWTRenderer
+ {
+
+ private static final int EVEN_AND_ALL = 0;
+ private static final int EVEN = 1;
+ private static final int ODD = 2;
+
+ private int startNumber;
+ private int endNumber;
+ private int mode = EVEN_AND_ALL;
+ private int copies = 1;
+ private PrinterJob printerJob;
+
+ PrintRenderer(PrinterJob printerJob)
+ {
+ super(null);
+
+ this.printerJob = printerJob;
+ startNumber = 0 ;
+ endNumber = -1;
+
+ printerJob.setPageable(this);
+
+ mode = EVEN_AND_ALL;
+ String str = System.getProperty("even");
+ if (str != null)
+ {
+ try
+ {
+ mode = Boolean.valueOf(str).booleanValue() ? EVEN : ODD;
+ }
+ catch (Exception e)
+ {}
+
+ }
+
+ }
+
+
+
+ public void stopRenderer(OutputStream outputStream)
+ throws IOException {
+ super.stopRenderer(outputStream);
+
+ if(endNumber == -1)
+ endNumber = getPageCount();
+
+ Vector numbers = getInvalidPageNumbers();
+ for (int i = numbers.size() - 1; i > -1; i--)
+ removePage(Integer.parseInt((String)numbers.elementAt(i)));
+
+ try {
+ printerJob.print();
+ } catch (PrinterException e) {
+ e.printStackTrace();
+ throw new IOException(
+ "Unable to print: " + e.getClass().getName() +
+ ": " + e.getMessage());
+ }
+ }
+
+ public void renderPage(Page page) {
+ pageWidth = (int)((float)page.getWidth() / 1000f);
+ pageHeight = (int)((float)page.getHeight() / 1000f);
+ super.renderPage(page);
+ }
+
+
+ private Vector getInvalidPageNumbers() {
+
+ Vector vec = new Vector();
+ int max = getPageCount();
+ boolean isValid;
+ for (int i = 0; i < max; i++) {
+ isValid = true;
+ if (i < startNumber || i > endNumber) {
+ isValid = false;
+ } else if (mode != EVEN_AND_ALL) {
+ if (mode == EVEN && ((i + 1) % 2 != 0))
+ isValid = false;
+ else if (mode == ODD && ((i + 1) % 2 != 1))
+ isValid = false;
+ }
+
+ if (!isValid)
+ vec.add(i + "");
+ }
+
+ return vec;
+ }
+ } // class PrintRenderer
+
+
+}
+
* - fop.jar
* - batik.jar
* - avalon-framework-4.0.jar
- * - logkit-1.0b4.jar
+ * - logkit-1.0.jar
* - xalan-2.0.0.jar
*/
public class FopServlet extends HttpServlet {
<fo:page-sequence-master master-name="psmA">
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="psmA">
+ <fo:page-sequence master-reference="psmA">
<fo:flow flow-name="xsl-region-body">
<fo:block-container height="4cm" width="12cm" top="0cm" left="0cm" position="absolute">
<fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
the attribute value of master-name refers to the page layout
which is to be used to layout the text contained in this
page-sequence-->
- <fo:page-sequence master-name="simple">
+ <fo:page-sequence master-reference="simple">
<!-- start fo:flow
each flow is targeted
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:region-body margin-top="50pt" margin-bottom="50pt" margin-left="100pt" margin-right="100pt"/>
</fo:simple-page-master>
</fo:layout-master-set>
-<fo:page-sequence master-name="one">
+<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">
<fo:block>A Block</fo:block>
<fo:block text-align="end">An End Aligned Block</fo:block>
</fo:layout-master-set>
<!-- starts actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:flow flow-name="xsl-region-body">
Helvetica
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Helvetica">
-! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~    ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ
+! " # $ % & ' ( ) *
++ , - . / 0 1 2 3 4
+5 6 7 8 9 : ; < = >
+? @ A B C D E F G H
+I J K L M N O P Q R
+S T U V W X Y Z [ \
+] ^ _ ` a b c d e f
+g h i j k l m n o p
+q r s t u v w x y z
+{ | } ~ ¡ ¢ £ ¤ ¥ ¦
+§ ¨ © ª « ¬ ® ¯ ° ±
+² ³ ´ µ ¶ · ¸ ¹ º »
+¼ ½ ¾ ¿ À Á Â Ã Ä Å
+Æ Ç È É Ê Ë Ì Í Î Ï
+Ð Ñ Ò Ó Ô Õ Ö × Ø Ù
+Ú Û Ü Ý Þ ß à á â ã
+ä å æ ç è é ê ë ì í
+î ï ð ñ ò ó ô õ ö ÷
+ø ù ú û ü ý þ ÿ
+Œ œ Š š Ÿ
+Ž ž ƒ ˜ – — ‘
+’ ‚ “ ” „ † ‡
+• … ‰ ‹ › ™
</fo:block>
<fo:block font-family="Helvetica" font-size="14pt">
Times Roman
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Times Roman">
-! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~    ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ
+! " # $ % & ' ( ) *
++ , - . / 0 1 2 3 4
+5 6 7 8 9 : ; < = >
+? @ A B C D E F G H
+I J K L M N O P Q R
+S T U V W X Y Z [ \
+] ^ _ ` a b c d e f
+g h i j k l m n o p
+q r s t u v w x y z
+{ | } ~ ¡ ¢ £ ¤ ¥ ¦
+§ ¨ © ª « ¬ ® ¯ ° ±
+² ³ ´ µ ¶ · ¸ ¹ º »
+¼ ½ ¾ ¿ À Á Â Ã Ä Å
+Æ Ç È É Ê Ë Ì Í Î Ï
+Ð Ñ Ò Ó Ô Õ Ö × Ø Ù
+Ú Û Ü Ý Þ ß à á â ã
+ä å æ ç è é ê ë ì í
+î ï ð ñ ò ó ô õ ö ÷
+ø ù ú û ü ý þ ÿ Œ
+œ Š š Ÿ Ž ž ƒ
+˜ – — ‘ ’ ‚
+“ ” „ † ‡ • …
+‰ ‹ › ™
</fo:block>
<fo:block font-family="Helvetica" font-size="14pt">
Courier
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Courier">
-! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~    ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ
+! " # $ % & ' ( ) *
++ , - . / 0 1 2 3 4
+5 6 7 8 9 : ; < = >
+? @ A B C D E F G H
+I J K L M N O P Q R
+S T U V W X Y Z [ \
+] ^ _ ` a b c d e f
+g h i j k l m n o p
+q r s t u v w x y z
+{ | } ~ ¡ ¢ £ ¤ ¥ ¦
+§ ¨ © ª « ¬ ® ¯ ° ±
+² ³ ´ µ ¶ · ¸ ¹ º »
+¼ ½ ¾ ¿ À Á Â Ã Ä Å
+Æ Ç È É Ê Ë Ì Í Î Ï
+Ð Ñ Ò Ó Ô Õ Ö × Ø Ù
+Ú Û Ü Ý Þ ß à á â ã
+ä å æ ç è é ê ë ì í
+î ï ð ñ ò ó ô õ ö ÷
+ø ù ú û ü ý þ ÿ Œ
+œ Š š Ÿ Ž
+ž ƒ ˜ – — ‘
+’ ‚ “ ” „ † ‡
+• … ‰ ‹ › ™
</fo:block>
<fo:block font-family="Helvetica" font-size="14pt">
ZapfDingbats:
</fo:block>
<fo:block space-after.optimum="10pt" font-family="ZapfDingbats">
-! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~    ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ
+✁ ✂ ✃ ✄ ☎ ✆ ✇
+✈ ✉ ☛ ☞ ✌ ✍ ✎
+✏ ✐ ✑ ✒ ✓ ✔ ✕
+✖ ✗ ✘ ✙ ✚ ✛ ✜
+✝ ✞ ✟ ✠ ✡ ✢ ✣
+✤ ✥ ✦ ✧ ★ ✩ ✪
+✫ ✬ ✭ ✮ ✯ ✰ ✱
+✲ ✳ ✴ ✵ ✶ ✷ ✸
+✹ ✺ ✻ ✼ ✽ ✾ ✿
+❀ ❁ ❂ ❃ ❄ ❅ ❆
+❇ ❈ ❉ ❊ ❋ ● ❍
+■ ❏ ❐ ❑ ❒ ▲ ▼
+◆ ❖ ◗ ❘ ❙ ❚ ❛
+❜ ❝ ❞ ❡ ❢ ❣ ❤
+❥ ❦ ❧ ♣ ♦ ♥ ♠
+① ② ③ ④ ⑤ ⑥ ⑦
+⑧ ⑨ ⑩ ❶ ❷ ❸ ❹
+❺ ❻ ❼ ❽ ❾ ❿ ➀
+➁ ➂ ➃ ➄ ➅ ➆ ➇
+➈ ➉ ➊ ➋ ➌ ➍ ➎
+➏ ➐ ➑ ➒ ➓ ➔ →
+↔ ↕ ➘ ➙ ➚ ➛ ➜
+➝ ➞ ➟ ➠ ➡ ➢ ➣
+➤ ➥ ➦ ➧ ➨ ➩ ➪
+➫ ➬ ➭ ➮ ➯ ➱ ➲
+➳ ➴ ➵ ➶ ➷ ➸ ➹
+➺ ➻ ➼ ➽ ➾  
+      
+    
</fo:block>
-
<fo:block font-family="Helvetica" font-size="14pt">
Symbol:
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Symbol">
-! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~    ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ
+! # % & ( ) + , . /
+0 1 2 3 4 5 6 7 8 9
+: ; < = > ? [ ] _ m
+{ | } ¬ ° ± µ × ÷
+ƒ Α Β Γ Ε Ζ Η
+Θ Ι Κ Λ Μ Ν Ξ
+Ο Π Ρ Σ Τ Υ Φ
+Χ Ψ α β γ δ ε
+ζ η θ ι κ λ ν
+ξ ο π ρ ς σ τ
+υ φ χ ψ ω ϑ ϒ
+ϕ ϖ • … ′ ″ ⁄
+ℑ ℘ ℜ Ω ℵ ← ↑
+→ ↓ ↔ ↵ ⇐ ⇑ ⇒
+⇓ ⇔ ∀ ∂ ∃ ∅ ∆
+∇ ∈ ∉ ∋ ∏ ∑ −
+∗ √ ∝ ∞ ∠ ∧ ∨
+∩ ∪ ∫ ∴ ∼ ≅ ≈
+≠ ≡ ≤ ≥ ⊂ ⊃ ⊄
+⊆ ⊇ ⊕ ⊗ ⊥ ⋅ ⌠
+⌡ 〈 〉 ◊ ♠ ♣ ♥
+♦      
+      
+      
+      
+ 
</fo:block>
<fo:block font-family="Helvetica" font-size="12pt">
the attribute value of master-name refers to the page layout
which is to be used to layout the text contained in this
page-sequence-->
- <fo:page-sequence master-name="simple">
+ <fo:page-sequence master-reference="simple">
<!-- start fo:flow
each flow is targeted
<fo:page-sequence-master master-name="psmOddEven" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="right"
+ <fo:conditional-page-master-reference master-reference="right"
page-position="first" />
- <fo:conditional-page-master-reference master-name="left"
+ <fo:conditional-page-master-reference master-reference="left"
odd-or-even="even" />
- <fo:conditional-page-master-reference master-name="right"
+ <fo:conditional-page-master-reference master-reference="right"
odd-or-even="odd" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
-<fo:page-sequence id="N2528" master-name="psmOddEven">
+<fo:page-sequence id="N2528" master-reference="psmOddEven">
<fo:static-content flow-name="xsl-region-after">
<fo:block text-align-last="center" font-size="10pt">
</fo:flow>
</fo:page-sequence>
-<fo:page-sequence id="N2561" master-name="psmOddEven">
+<fo:page-sequence id="N2561" master-reference="psmOddEven">
<fo:static-content flow-name="xsl-region-after">
<fo:block text-align-last="center" font-size="10pt">
<fo:page-number/></fo:block>
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="50pt" margin-right="50pt" />
</fo:simple-page-master>
</fo:layout-master-set>
-<fo:page-sequence master-name="one">
+<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">
<fo:block>This is used to show how foreign objects are placed in a line area.</fo:block>
<fo:block>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:flow flow-name="xsl-region-body">
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<!-- text body -->
<fo:flow flow-name="xsl-region-body">
the attribute value of master-name refers to the page layout
which is to be used to layout the text contained in this
page-sequence-->
- <fo:page-sequence master-name="simple">
+ <fo:page-sequence master-reference="simple">
<!-- start fo:flow
each flow is targeted
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-size="10pt" font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-size="10pt" font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-size="10pt" font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-size="10pt" font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-size="10pt" font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-size="10pt" font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:list-item start-indent="0.5cm">
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
- <fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+ <fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<fo:static-content flow-name="xsl-region-before">
<fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>root </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>layout-master-set </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>simple-page-master </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>region-body </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>region-before </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>region-after </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-sequence </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specification </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specifier-single </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specifier-repeating </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specifier-alternating </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>flow </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>static-content </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>block </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-block </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-item </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-item-label </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-item-body </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-number </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>display-sequence </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>inline </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>display-rule </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>display-graphic </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-column (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-body (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-row (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-cell (minimal support)</fo:block>
<fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>end-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-name </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-first </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-repeating </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-odd </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-even </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-top (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-bottom (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-left (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-right (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>extent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-width </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-height </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>flow-name </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-family </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-style </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-weight </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-size </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>line-height </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>text-align </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>text-align-last </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>space-before.optimum </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>space-after.optimum </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>start-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>end-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>provisional-distance-between-starts </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>provisional-label-separation </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>rule-thickness </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>color </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>wrap-option </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>white-space-treatment </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>break-before </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>break-after </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>text-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>href</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>column-width</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>background-color</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-top (only in conjunction with background color)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-left (only in conjunction with background color)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-bottom (only in conjunction with background color)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-right (only in conjunction with background color)</fo:block>
<fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<fo:static-content flow-name="xsl-region-before">
<fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>root </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>layout-master-set </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>simple-page-master </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>region-body </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>region-before </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>region-after </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-sequence </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specification </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specifier-single </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specifier-repeating </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>sequence-specifier-alternating </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>flow </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>static-content </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>block </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-block </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-item </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-item-label </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>list-item-body </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-number </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>display-sequence </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>inline </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>display-rule </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>display-graphic </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-column (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-body (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-row (minimal support)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>table-cell (minimal support)</fo:block>
<fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>end-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-name </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-first </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-repeating </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-odd </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-master-even </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-top (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-bottom (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-left (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>margin-right (only on pages and regions)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>extent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-width </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>page-height </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>flow-name </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-family </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-style </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-weight </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>font-size </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>line-height </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>text-align </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>text-align-last </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>space-before.optimum </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>space-after.optimum </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>start-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>end-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>provisional-distance-between-starts </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>provisional-label-separation </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>rule-thickness </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>color </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>wrap-option </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>white-space-treatment </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>break-before </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>break-after </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>text-indent </fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>href</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>column-width</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>background-color</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-top (only in conjunction with background color)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-left (only in conjunction with background color)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-bottom (only in conjunction with background color)</fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>padding-right (only in conjunction with background color)</fo:block>
<fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
-<fo:block><fo:inline font-family="Symbol">·</fo:inline></fo:block>
+<fo:block><fo:inline font-family="Symbol">•</fo:inline></fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
the attribute value of master-name refers to the page layout
which is to be used to layout the text contained in this
page-sequence-->
- <fo:page-sequence master-name="simple">
+ <fo:page-sequence master-reference="simple">
<!-- start fo:flow
each flow is targeted
</fo:layout-master-set>
<!-- starts actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:flow flow-name="xsl-region-body">
</fo:layout-master-set>
<!-- starts actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:flow flow-name="xsl-region-body">
<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
- <fo:conditional-page-master-reference master-name="first"
+ <fo:conditional-page-master-reference master-reference="first"
page-position="first" />
- <fo:conditional-page-master-reference master-name="rest"
+ <fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
- <fo:conditional-page-master-reference master-name="rest" />
+ <fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="basicPSM">
+ <fo:page-sequence master-reference="basicPSM">
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" text-align="justify" space-after.optimum="10pt">
The "text-decoration"-property describes decorations that are added to the text of an element.
If the property is specified for a block-level element, it should affect all inline-level descendants
- of the element (does not work yet!).
+ of the element.
If it is specified for (or affects) an inline-level
element, it affects all boxes generated by the element.
</fo:block>
line-height="15pt"
space-after.optimum="10pt"
text-align="start">
- This is simple test of the text-decoration<fo:inline text-decoration="underline">underline</fo:inline>.
+ This is simple test of the text-decoration <fo:inline text-decoration="underline">'underline'</fo:inline>.
</fo:block>
<fo:block font-size="22pt"
font-family="sans-serif"
</fo:block>
<fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" text-align="justify" space-after.optimum="3pt">
- The following text decorations are defined in the CR:
+ The following text decorations are defined in the REC:
</fo:block>
<fo:list-block space-after.optimum="13pt">
What about underlining of whitespace only<fo:inline text-decoration="underline"> </fo:inline>?
</fo:block>
+ <fo:block space-after.optimum="13pt" font-size="14pt" text-decoration="underline">
+ A whole block should work now.
+ And again some more text to get at least two lines.
+ </fo:block>
+
+ <fo:block space-after.optimum="13pt" font-size="14pt" >
+
+ <fo:inline text-decoration="underline">
+ <fo:block>
+ Let's see if all inline-areas are <fo:inline>affected</fo:inline> ...
+ </fo:block>
+ </fo:inline>
+
+ </fo:block>
+
+ <fo:block space-after.optimum="13pt" font-size="14pt" >
+ <fo:inline text-decoration="underline">
+ This is a workaround for
+ <fo:inline text-decoration="overline">
+ the combination of
+ <fo:inline text-decoration="line-through">different text-decoration values...
+ </fo:inline>
+ </fo:inline>
+ </fo:inline>
+ </fo:block>
+
+ <fo:block space-after.optimum="13pt" font-size="14pt" >
+ Enter your name here:
+ <fo:inline text-decoration="underline">_       
+              
+              </fo:inline>
+ </fo:block>
</fo:flow>
</fo:page-sequence>
</fo:layout-master-set>
<!-- actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
</fo:flow>
</fo:page-sequence>
- <fo:page-sequence master-name="next">
+ <fo:page-sequence master-reference="next">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
<fo:region-after extent="0.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
-<fo:page-sequence master-name="one">
+<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">
<fo:block space-after.optimum="10pt" font-weight="bold" font-size="16pt" text-align="center">
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="all">
+ <fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="all">
+ <fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt">
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="all">
+ <fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="all">
+ <fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="all">
+ <fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
</fo:layout-master-set>
- <fo:page-sequence master-name="all" format="i">
+ <fo:page-sequence master-reference="all" format="i">
<!-- header with running glossary entries -->
<fo:static-content flow-name="xsl-region-before">
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
<fo:block>
</fo:flow>
</fo:page-sequence>
- <fo:page-sequence master-name="first" initial-page-number="1">
+ <fo:page-sequence master-reference="first" initial-page-number="1">
<fo:static-content flow-name="xsl-region-before">
<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute"> <fo:block>
<fo:retrieve-marker retrieve-class-name="message"
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="only" initial-page-number="1">
+ <fo:page-sequence master-reference="only" initial-page-number="1">
<!-- usage of page layout -->
<!-- header -->
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="only" initial-page-number="1">
+ <fo:page-sequence master-reference="only" initial-page-number="1">
<!-- usage of page layout -->
<!-- header -->
</fo:simple-page-master>
<fo:page-sequence-master master-name="single">
- <fo:single-page-master-reference master-name="only"/>
+ <fo:single-page-master-reference master-reference="only"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="single" initial-page-number="1">
+ <fo:page-sequence master-reference="single" initial-page-number="1">
<!-- usage of page layout -->
<!-- header -->
</fo:simple-page-master>
<fo:page-sequence-master master-name="run1">
- <fo:repeatable-page-master-reference master-name="noheaders_center"
+ <fo:repeatable-page-master-reference master-reference="noheaders_center"
maximum-repeats="6"/>
</fo:page-sequence-master>
<fo:page-sequence-master master-name="run2">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference
- master-name="headers_center"
+ master-reference="headers_center"
page-position="first" />
<fo:conditional-page-master-reference
- master-name="headers_right"
+ master-reference="headers_right"
odd-or-even="odd" />
<fo:conditional-page-master-reference
- master-name="headers_left"
+ master-reference="headers_left"
odd-or-even="even" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="run1" initial-page-number="1">
+ <fo:page-sequence master-reference="run1" initial-page-number="1">
<fo:flow flow-name="xsl-region-body">
</fo:flow>
</fo:page-sequence>
- <fo:page-sequence master-name="run2" initial-page-number="7">
+ <fo:page-sequence master-reference="run2" initial-page-number="7">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:page-sequence-master master-name="alternating">
<fo:repeatable-page-master-alternatives maximum-repeats="no-limit">
- <fo:conditional-page-master-reference master-name="right"
+ <fo:conditional-page-master-reference master-reference="right"
odd-or-even="odd" />
- <fo:conditional-page-master-reference master-name="left"
+ <fo:conditional-page-master-reference master-reference="left"
odd-or-even="even" />
- <fo:conditional-page-master-reference master-name="center"/>
+ <fo:conditional-page-master-reference master-reference="center"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="alternating" initial-page-number="1">
+ <fo:page-sequence master-reference="alternating" initial-page-number="1">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
</fo:simple-page-master>
<fo:page-sequence-master master-name="repeating_pm">
- <fo:repeatable-page-master-reference master-name="repeating"/>
+ <fo:repeatable-page-master-reference master-reference="repeating"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="repeating_pm" initial-page-number="1">
+ <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
</fo:simple-page-master>
<fo:page-sequence-master master-name="repeating_pm">
- <fo:repeatable-page-master-reference master-name="repeating"
+ <fo:repeatable-page-master-reference master-reference="repeating"
maximum-repeats="15"/>
- <fo:single-page-master-reference master-name="repeating"/>
+ <fo:single-page-master-reference master-reference="repeating"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="repeating_pm" initial-page-number="1">
+ <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
</fo:simple-page-master>
<fo:page-sequence-master master-name="repeating_pm">
- <fo:repeatable-page-master-reference master-name="repeating"
+ <fo:repeatable-page-master-reference master-reference="repeating"
maximum-repeats="15"/>
- <fo:single-page-master-reference master-name="repeating"/>
+ <fo:single-page-master-reference master-reference="repeating"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="repeating_pm" initial-page-number="1">
+ <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
</fo:simple-page-master>
<fo:page-sequence-master master-name="repeating_pm">
- <fo:repeatable-page-master-reference master-name="repeating"
+ <fo:repeatable-page-master-reference master-reference="repeating"
maximum-repeats="no-limit"/>
- <fo:single-page-master-reference master-name="repeating"/>
+ <fo:single-page-master-reference master-reference="repeating"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="repeating_pm" initial-page-number="1">
+ <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
</fo:layout-master-set>
<!-- actual layout -->
- <fo:page-sequence master-name="only">
+ <fo:page-sequence master-reference="only">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
</fo:layout-master-set>
<!-- actual layout -->
- <fo:page-sequence master-name="only" >
+ <fo:page-sequence master-reference="only" >
<fo:static-content flow-name="xsl-region-before" >
<fo:block font-size="16pt"
font-family="sans-serif"
</fo:layout-master-set>
<!-- actual layout -->
- <fo:page-sequence master-name="only">
+ <fo:page-sequence master-reference="only">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
</fo:layout-master-set>
<!-- actual layout -->
- <fo:page-sequence master-name="only">
+ <fo:page-sequence master-reference="only">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
set LIBDIR=..\..\lib
-set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip;%LIBDIR%\ant.jar;%LIBDIR%\batik.jar;%LIBDIR%\buildtools.jar;%LIBDIR%\xerces-1.2.3.jar;%LIBDIR%\xalan-2.0.0.jar;%LIBDIR%\xalanj1compat.jar;%LIBDIR%\bsf.jar;%LIBDIR%\avalon-framework-4.0.jar;%LIBDIR%\logkit-1.0b4.jar;%LIBDIR%\jimi-1.0.jar;%LIBDIR%\..\build\fop.jar
+set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip;%LIBDIR%\ant.jar;%LIBDIR%\batik.jar;%LIBDIR%\buildtools.jar;%LIBDIR%\xerces-1.2.3.jar;%LIBDIR%\xalan-2.0.0.jar;%LIBDIR%\xalanj1compat.jar;%LIBDIR%\bsf.jar;%LIBDIR%\avalon-framework-4.0.jar;%LIBDIR%\logkit-1.0.jar;%LIBDIR%\jimi-1.0.jar;%LIBDIR%\..\build\fop.jar
set ANT_HOME=%LIBDIR%
echo Starting Tests ...
exit 1
fi
LIBDIR=../../lib
-LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip:$LIBDIR/ant.jar:$LIBDIR/batik.jar:$LIBDIR/buildtools.jar:$LIBDIR/xerces-1.2.3.jar:$LIBDIR/xalan-2.0.0.jar:$LIBDIR/xalanj1compat.jar:$LIBDIR/bsf.jar:$LIBDIR/avalon-framework-4.0.jar:$LIBDIR/logkit-1.0b4.jar:$LIBDIR/jimi-1.0.jar:$LIBDIR/../build/fop.jar
+LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip:$LIBDIR/ant.jar:$LIBDIR/batik.jar:$LIBDIR/buildtools.jar:$LIBDIR/xerces-1.2.3.jar:$LIBDIR/xalan-2.0.0.jar:$LIBDIR/xalanj1compat.jar:$LIBDIR/bsf.jar:$LIBDIR/avalon-framework-4.0.jar:$LIBDIR/logkit-1.0.jar:$LIBDIR/jimi-1.0.jar:$LIBDIR/../build/fop.jar
ANT_HOME=$LIBDIR
echo Building with classpath $CLASSPATH:$LOCALCLASSPATH
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">Embedding SVG examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">External SVG examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">table examples</fo:block>
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>FOP Mechanics</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/architecture-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Architecture" border="0" height="12" hspace="0" src="graphics/architecture-label-1.jpg" vspace="0" width="120"><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Introduction</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-
-<P>
-The overall process is controlled by <B>org.apache.fop.apps.Driver</B>. In
-this class, a typical sequence is:</P>
-
-<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>Driver driver = new Driver();<BR>
-driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);<BR>
-driver.setOutputStream(new FileOutputStream(args[1]));<BR>
-driver.render(parser, inputHandler.getInputSource());</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
-</FONT></TD></TR></TABLE><BR>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Formatting Object Tree</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>The class <B>org.apache.fop.fo.FOTreeBuilder</B> is responsible for actually
-constructing the FO tree. The key SAX events used are </P>
-<P><CODE><FONT face="courier, monospaced">startElement()</FONT></CODE>,</P>
-<P><CODE><FONT face="courier, monospaced">endElement()</FONT></CODE> and <CODE><FONT face="courier, monospaced">characters()</FONT></CODE>.</P>
-
-<P>All formatting objects derive from abstract class
-<B>org.apache.fop.fo.FONode</B>. The other FO classes inherit from
-<B>FONode</B> as follows:</P>
-
-<P><CODE><FONT face="courier, monospaced"> FONode</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> |</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> __________|________</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> | |</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> FObj FOText</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> |</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> |___________________</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> | |</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> FObjMixed SequenceSpecifier
-</FONT></CODE></P>
-
-<P>FO's extending FObj:</P>
-
-<P>Package org.apache.fop.fo.pagination:</P>
-
-
-<P><CODE><FONT face="courier, monospaced"> LayoutMasterSet</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> PageSequence</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> RegionAfter</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> RegionBefore</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> RegionBody</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> Root</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> SequenceSpecification</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> SimplePageMaster</FONT></CODE></P>
-
-
- <P>Package org.apache.fop.fo.flow:</P>
-
-
-<P><CODE><FONT face="courier, monospaced">BlockContainer</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">DisplayGraphic</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">DisplayRule</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">DisplaySequence</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">Flow</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">InlineGraphic</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">ListBlock</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">ListItem</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">ListItemBody</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">ListItemLabel</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">PageNumber</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">StaticContent</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">Table</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">TableBody</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">TableCell</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">TableColumn</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">TableRow</FONT></CODE></P>
-
-<P>FO's extending SequenceSpecifier:</P>
-
- <P>Package org.apache.fop.fo.pagination:</P>
-
-
-<P><CODE><FONT face="courier, monospaced">SequenceSpecifierAlternating</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">SequenceSpecifierRepeating</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">SequenceSpecifierSingle</FONT></CODE></P>
-
-<P>FO's extending FObjMixed:</P>
-
- <P>Package org.apache.fop.fo.flow:</P>
-
-
-<P><CODE><FONT face="courier, monospaced">Block</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">Inline</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">BasicLink</FONT></CODE></P>
-
-</FONT></TD></TR></TABLE><BR>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>FONode</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>
-The class inheritance described above only describes the nature of the
-content. Every FO in FOP also has a parent, and a Vector of children. The
-parent attribute (in the Java sense), in particular, is used to enforce
-constraints required by the FO hierarchy.
-</P>
-
-<P>
-FONode, among other things, ensures that FO's have a parent, that they
-have children, that they maintain a marker of where the layout was up to
-(for FObj's it is the child number, and for FOText's it is the character
-number), and that they have a <CODE><FONT face="courier, monospaced">layout()</FONT></CODE> method.
-</P>
-</FONT></TD></TR></TABLE><BR>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Making FO's</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-
-<P>
-Every FO class has code that looks something like this:
-</P>
-
-<P><CODE><FONT face="courier, monospaced">public static class Maker extends FObj.Maker {</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> public FObj make(FObj parent, PropertyList propertyList)</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> throws FOPException</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> {</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> return new SimplePageMaster(parent, propertyList);</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> }</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced">}</FONT></CODE></P>
-
-
-<P>
-The class also has a static method that resembles
-</P>
-
-<P><CODE><FONT face="courier, monospaced">public static FObj.Maker maker()</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> {</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> return new PageSequence.Maker();</FONT></CODE></P>
-<P><CODE><FONT face="courier, monospaced"> }</FONT></CODE></P>
-
-<P>
-A hash 'fobjTable' exists in <B>FOTreeBuilder</B>, and maps the FO names (such as
-'fo:table') to object references to the appropriate factories
-(such as <B>Table.Maker</B>).
-</P>
-
-<P>
-Properties (recall that FO's have properties, areas have traits, and XML
-nodes have attributes) are also a concern of <B>FOTreeBuilder</B>. It
-accomplishes this by using a <B>PropertyListBuilder</B>. There is a
-separate <B>PropertyListBuilder</B> for each namespace encountered
-while building the FO tree. Each Builder object contains a hash of
-property names and <I>their</I> respective makers. It may also
-contain element-specific property maker hashes; these are based on the
-<B>local name</B> of the flow object, ie. <B>table-row</B>, not
-<B>fo:table-row</B>. If an element-specific property mapping exists,
-it is preferred to the generic mapping.</P>
-<P>The base class for all
-properties is <B>Property</B>, and all the property makers extend
-<B>Property.Maker</B>. A more complete discussion of the property
-architecture may be found in <A href="properties.html">Properties</A>.
-</P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>FO Formatting</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-
-<P>
-<B>FOTreeBuilder</B> calls <CODE><FONT face="courier, monospaced">format()</FONT></CODE> on the root FO, passing
-it the <B>AreaTree</B>
-reference. In turn, <B>Root</B> calls <CODE><FONT face="courier, monospaced">format()</FONT></CODE> on each
-<B>PageSequence</B>, passing <I>it</I>
-the <B>AreaTree</B> reference.
-</P>
-
-<P>
-The <B>PageSequence</B> <CODE><FONT face="courier, monospaced">format()</FONT></CODE> method does the following things:
-</P>
-
-<OL>
-<LI>Makes a <B>Page</B>, using <B>PageMasterFactory</B> to produce a
-<B>PageMaster</B>, and
-using <CODE><FONT face="courier, monospaced">makePage()</FONT></CODE> in the latter class. In the simplest picture,
-a <B>Page</B> has
-5 areas represented by <B>AreaContainers</B>;</LI>
-
-<LI>Handles layout for <B>StaticContent</B> objects in the 'before' and 'after'
-regions, if set. This uses the <CODE><FONT face="courier, monospaced">layout()</FONT></CODE> method in
-<B>StaticContent</B>;</LI>
-
-<LI>If a page break is not forced, it will continue to layout the flow into
-the body area (<B>AreaContainer</B>) of the current page;</LI>
-
-<LI>It continues with (1) when layout into the current page is done, but
-the flow is not empty.</LI>
-</OL>
-</FONT></TD></TR></TABLE><BR>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Area Layout</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-
-<P>
-FO's that represent actual areas, starting with <B>Flow</B> and
-<B>StaticContent</B>, have
-a <CODE><FONT face="courier, monospaced">layout()</FONT></CODE> method, with the following signature:
-</P>
-
-<P>
-<CODE><FONT face="courier, monospaced">
- public Status layout(Area area)
-</FONT></CODE>
-</P>
-
-<P>
-The fundamental role of the <CODE><FONT face="courier, monospaced">layout()</FONT></CODE> method is to manage the layout of
-children and/or to generate new areas.
-</P>
-
-<P>
-<B>Example</B>: the <CODE><FONT face="courier, monospaced">layout()</FONT></CODE> method for <B>Flow</B> generates no new areas - it manages the
-layout of the flow children.
-</P>
-
-<P>
-<B>Example</B>: the <CODE><FONT face="courier, monospaced">layout()</FONT></CODE> method for <B>Block</B>
-generates a new <B>BlockArea</B> in and of
-itself, and also manages the layout of the block children, which are added
-to the <B>BlockArea</B> before that is itself added to its parent
-<B>Area</B>.
-</P>
-
-<P>
-<CODE><FONT face="courier, monospaced">Layout()</FONT></CODE> methods are subject to the general constraint that possibly not
-all of their children can be accommodated, and they report back accordingly
-with an appropriate <B>Status</B>.
-</P>
-</FONT></TD></TR></TABLE><BR>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Rendering</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-
-<P>
-This is a separate process. The <CODE><FONT face="courier, monospaced">render()</FONT></CODE> method in
-<B>Driver</B> is invoked (say,
-by <B>CommandLine</B>) with the laid-out <B>AreaTree</B> and a
-<B>PrintWriter</B> as arguments.
-This actually calls the <CODE><FONT face="courier, monospaced">render()</FONT></CODE> method in a specific implementation of
-the <B>Renderer</B> interface, typically <B>PDFRenderer</B> or
-<B>AWTRenderer</B>.
-</P>
-
-<P>
-At the highest level <B>PDFRenderer</B>, for example, begins by rendering each
-<B>Page</B>. The <CODE><FONT face="courier, monospaced">render()</FONT></CODE> method in <B>Page</B> (as is the case for other areas),
-invokes a particular method in the renderer of choice, e.g.
-<CODE><FONT face="courier, monospaced">renderPage()</FONT></CODE>.
-<B>NOTE</B>: this system is bypassed for <B>Page</B>, incidentally.
-</P>
-
-</FONT></TD></TR></TABLE><BR>
-
-
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Renderers</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>PrintRenderer</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>The PrintRenderer is an abstract base class for print type renderers. Currently the PCL, PDF, and TXT renderers extend from this. This allows as much common functionality to be contained in one place as possible (at least as much as I could consolidate fairly quickly). Unfortunately I have not yet been able to make the renderPage and renderWordArea methods common. This is unfortunate because these methods seem to experience the most activity. Maybe soneone else will have a clever solution to this (without breaking them into a bunch of little bits).</P>
- <P>It is my hope that this base class will be useful for other renderers as well.</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>PCLRenderer</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>The PCLRenderer is a FOP renderer that should produce output as close to identical as possible to the printed output of the PDFRenderer within the limitations of the renderer, and output device.</P>
-
- <P>The output created by the PCLRenderer is generic PCL 5 as documented in the "HP PCL 5 Printer Language Technical Reference Manual" (copyright 1990). This should allow any device fully supporting PCL 5 to be able to print the output generated by the PCLRenderer.</P>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="472"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Limitations</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>Text or graphics outside the left or top of the printable area are not rendered properly. In general things that should print to the left of the printable area are shifted to the right so that they start at the left edge of the printable area and an error message is generated.</LI>
- <LI>The Helvetica and Times fonts are not well supported among PCL printers so Helvetica is mapped to Arial and Times is mapped to Times New. This is done in the PCLRenderer, no changes are required in the FO's. The metrics and appearance for Helvetica/Arial and Times/Times New are nearly identical, so this has not been a problem so far.</LI>
- <LI>Only the original fonts built into FOP are supported.</LI>
- <LI>For the non-symbol fonts, the ISO 8859/1 symbol set is used (PCL set "0N").</LI>
- <LI>Multibyte characters are not supported.</LI>
- <LI>SVG support is limited. Currently only lines, rectangles (may be rounded), circles, ellipses, text, simple paths, and images are supported. Colors are supported (dithered black and white) but not gradients.</LI>
- <LI>Images print black and white only (not dithered). When the renderer prints a color image it uses a threshold value, colors above the threshold are printed as white and below are black. If you need to print a non-monochrome image you should dither it first.</LI>
- <LI>Image scaling is accomplished by modifying the effective resolution of the image data. The available resolutions are 75, 100, 150, 300, and 600 DPI.</LI>
- <LI>Color printing is not supported. Colors are rendered by mapping the color intensity to one of the PCL fill shades (from white to black in 9 steps).</LI>
- <LI>SVG clipping is not supported.</LI>
- </UL>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="472"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Additional Features</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>There are some special features that are controlled by some public variables on the PCLRenderer class.</P>
-
-
- orientation
- <P>The logical page orientation is controlled by the public orientation variable. Legal values are:</P>
- <UL>
- <LI>0 Portrait</LI>
- <LI>1 Landscape</LI>
- <LI>2 Reverse Portrait</LI>
- <LI>3 Reverse Landscape</LI>
- </UL>
-
- curdiv, paperheight
- The curdiv and paperheight variables allow multiple virtual pages to be printed on a piece of paper. This allows a standard laser printer to use perforated paper where every perforation will represent an individual page. The paperheight sets the height of a piece of paper in decipoints. This will be divided by the page.getHeight() to determine the number of equal sized divisions (pages) that will fit on the paper. The curdiv variable may be read/written to get/set the current division on the page (to set the starting division and read the ending division for multiple invocations).
- topmargin, leftmargin
- The topmargin and leftmargin may be used to increase the top and left margins for printing.
-
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>TXTRenderer</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>The TXTRenderer is a FOP renderer that produces plain ASCII text output that attempts to match the output of the PDFRenderer as closely as possible. This was originally developed to accommodate an archive system that could only accept plain text files. Of course when limited to plain fixed pitch text the output does not always look very good.</P>
- <P>The TXTRenderer works with a fixed size page buffer. The size of this buffer is controlled with the textCPI and textLPI public variables. The textCPI is the effective horizontal characters per inch to use. The textLPI is the vertical lines per inch to use. From these values and the page width and height the size of the buffer is calculated. The formatting objects to be rendered are then mapped to this grid. Graphic elements (lines, borders, etc) are assigned a lower priority than text, so text will overwrite any graphic element representations.</P>
- </FONT></TD></TR></TABLE><BR>
-</FONT></TD></TR></TABLE><BR>
-
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>UML Diagrams</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>
-You can find UML diagramms for all Fop packages (latest release version)
-<A href="http://xml.apache.org/dist/fop/fop-uml.zip">here</A>.</P>
-</FONT></TD></TR></TABLE><BR>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>SVG</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-
-<P>
-FOP supports svg rendering. SVG is supported as an instream-foreign-object
-embedded in an FO document or as an external SVG image.
-</P>
-
-<P>
-If the svg is embedded in an instream-foreign-object then all the elements and
-attributes are read directly and converted into an SVG DOM representation
-using the Batik library. This is then stored as a DOM until required for rendering.
-The rendering process depends on the what type of renderer is being used.
-</P>
-
-<P>
-The SVG DOM is rendered in the PDF renderer by using the abitlity of Batik to render
-DOM to a Graphics2D. First the DOM is converted into an intermediate representation
-then this is rendered to a PDFGraphics2D graphic object which writes the drawing
-instructions directly as PDF markup.
-</P>
-
-<P>
-The AWTRenderer and the PrintRenderer use Batik directly to draw the SVG image
-into the current java Graphics2D context.
-</P>
-
-<P>
-For more information see the SVG documentation.
-</P>
-</FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Bugs</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/bugs-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <IMG alt="Bugs" border="0" height="12" hspace="0" src="graphics/bugs-label-1.jpg" vspace="0" width="120"><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How to report bugs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Please report bugs to <A href="http://nagoya.apache.org/bugzilla/">bugzilla</A>, the Apache bug
- database. A copy of your bug report is sent automatically to the discussion list fop-dev@xml.apache.org. </P>
- <P>Please make sure, before you report a bug, that it is not mentioned in the FAQ or
- in the list of open bugs at bugzilla.</P>
- <P>Please make your description as concise as possible and add an example fo
- file with your report, which just demonstrates the problem. Thanks for your help!</P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Known bugs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>A list of known bugs can be found at <A href="http://nagoya.apache.org/bugzilla/">bugzilla</A>.</P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Compiling FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/compiling-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <IMG alt="Compiling" border="0" height="12" hspace="0" src="graphics/compiling-label-1.jpg" vspace="0" width="120"><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <P>Compilation is started by executing build, either as a batch file on win32 (build.bat) or as a shell script on unix. Before you
- can start one of these scripts, you have to setup your classpath and the environment variable JAVA_HOME (see below).</P>
- <P> The compilation uses Ant,
- a replacement of make (you can find more information about Ant at
- <A href="http://jakarta.apache.org/ant/">jakarta.apache.org</A>).
- build.xml is the replacement of makefile. Look there for detailed information on the build
- process and different targets. </P>
- <P>A help screen is shown by calling "build usage".</P>
- <P>If you only want to use Fop, you don't need to build it. A fop.jar comes with the distribution.</P>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Setting up your classpath</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P><TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>You don't have to setup your classpath; all libraries needed to compile Fop are coming with
- the distribution and are referenced by the build script, so you only need to care about them,
- if you build Fop in any other way. See build.bat/build.sh for details. </I></FONT></TD></TR></TABLE></P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Setting of JAVA_HOME</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>You have to set the enviroment variable JAVA_HOME. It must point to your local JDK
- root directory. This is true, even if you use JDK 1.2 or above, which normally don't need this
- setting. It is used by Ant, the compilation software.</P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Problems</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>If you have problems compiling Fop, please try this first: </P>
- <UL>
- <LI>delete the build directory completely and try a new build from scratch</LI>
- <LI>check, whether you have an older version of xerces.jar, xalan.jar, batik.jar somewhere in
- you classpath.</LI>
- </UL>
- <P>If you still have problems, please look at the
- page <A href="bugs.html">bugs</A>, for further help.</P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Configuration</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/config-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Configuration" border="0" height="12" hspace="0" src="graphics/config-label-1.jpg" vspace="0" width="120"><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How to configure Fop</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>In the directory xml-fop/conf you will find two configuration files. One of them,
- config.xml, is only intended for Fop developers, who want to add new default values
- to some Fop feature. Don't change this file. For user configuration there is a file called
- userconfig.xml. It contains templates for all settings a user can change. Most of them are
- commented out. Uncomment the entry you want to set and change the value according to
- your wishes. Please regard any comments which specify the value range. And, well, the
- configuration files are xml files, so keep them at least well-formed ;-)
- </P>
- <P>The file userconfig.xml is not read automatically, but the user must specify its use on
- the command line. See <A href="running.html">Running Fop</A>
- or <A href="embedding.html">Embedding Fop</A> for details.
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>setting up hyphenation</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Fop comes already with some hyphenation pattern. If you need a hyphenation pattern
- which isn't included in the distribution, do the following:
- </P>
- <P>1. get the TeX hyphenation pattern file and turn it into an xml file which conforms
- to the hyphenation.dtd in the sub directory /hyph
- </P>
- <P>2. name this new file following this schema: languageCode_countryCode.xml. If you don't need
- a country code, leave it away, p.e. the file name for an American english hyphenation pattern
- would look like this: en_US.xml. For an Italian file: it.xml. Language and country codes must be
- the same as in xsl:fo, that is follow
- <A href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt">ISO 639</A>
- and <A href="http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt">ISO 3166</A>
- respectively. NOTE: The ISO 639/ISO 3166 convention is that language names are
- written in lower case, while country codes are written in upper case.
- </P>
- <P>3. If you have build your new hyphenation pattern file successfully there are
- two ways to make it accessible to Fop.
- </P>
- <P> a) Put this new file into the directory /hyph and rebuild Fop. The file will
- be picked up and added to the fop.jar.
- </P>
- <P> b) Put the file into a directory of your choice and specify this directory
- in the userconfig.xml in the entry <hyphenation-dir>.
- </P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Downloading FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/download-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Download" border="0" height="12" hspace="0" src="graphics/download-label-1.jpg" vspace="0" width="120"><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B></B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>You can download the latest release version from the <A href="http://xml.apache.org/dist/fop/">distribution directory</A>. </P>
- <P>The file contains also the documentation (including some example fo files) and the source. </P>
- <P>If you want to work with the latest and nicest code, you can use the cvs version. See the section
- on AnonCVS in the <A href="http://xml.apache.org/cvs.html">xml.apache.org documentation</A> for details.
- Sometimes people have difficulties to access the cvs server; in this case you can download
- a snapshot from the cvs files <A href="http://xml.apache.org/from-cvs/xml-fop/">here</A>.
- In both cases you have to build Fop yourself - see <A href="compiling.html">Compiling Fop</A> for details.
- </P>
- <P>To run FOP from the command line, see <A href="running.html">Running FOP</A>. If you are
- interested in embedding FOP in a Java application of your own, see
- <A href="embedding.html">Embedding FOP</A>.
- </P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Embedding FOP </TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/embedding-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Embedding" border="0" height="12" hspace="0" src="graphics/embedding-label-1.jpg" vspace="0" width="120"><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Overview</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Instantiate org.apache.fop.apps.Driver. Once this class is
- instantiated, methods are called to set the
- Renderer to use
- and the OutputStream to use to output the results of the
- rendering (where applicable). In the case of the Renderer and
- ElementMapping(s), the Driver may be supplied either with the
- object itself, or the name of the class, in which case Driver will
- instantiate the class itself. The advantage of the latter is it
- enables runtime determination of Renderer and ElementMapping(s).
- </P>
- <P>The simplest way to use Driver is to instantiate it with the
- InputSource and OutputStream, then set the renderer desired and
- call the run method.
- </P>
- <P>Here is an example use of Driver which outputs PDF:
- </P>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- Driver driver = new Driver(new InputSource (args[0]),
- new FileOutputStream(args[1]));
- driver.setRenderer(RENDER_PDF);
- driver.run();
-</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
-
- <P>To setup the user config file you can do the following
- </P>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- userConfigFile = new File(userConfig);
- options = new Options(userConfigFile);
-</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
-
- <P>Once the Driver is set up, the render method
- is called. Depending on whether DOM or SAX is being used, the
- invocation of the method is either render(Document) or
- render(Parser, InputSource) respectively.
- </P>
- <P>A third possibility may be used to build the FO Tree, namely
- calling getContentHandler() and firing the SAX events yourself.
- </P>
- <P>Once the FO Tree is built, the format() and render() methods may be
- called in that order.
- </P>
- <P>Here is an example use of Driver:</P>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- Driver driver = new Driver();
- driver.setRenderer(Driver.RENDER_PDF);
- driver.setInputSource(new FileInputSource(args[0]));
- driver.setOutputStream(new FileOutputStream(args[1]));
- driver.run();
-</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
- <P>You can also specify an xml and xsl file for the input.
- </P>
- <P>Here is an example use of Driver with the XSLTInputHandler:</P>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- Driver driver = new Driver();
- driver.setRenderer(Driver.RENDER_PDF);
- InputHandler inputHandler = new XSLTInputHandler(xmlFile, xslFile);
- XMLReader parser = inputHandler.getParser();
- driver.setOutputStream(new FileOutputStream(outFile));
- driver.render(parser, inputHandler.getInputSource());
-</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
- <P>Have a look at the classes CommandLineStarter or FopServlet for complete examples.</P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Using Fop in a servlet</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>In the directory xml-fop/docs/examples/embedding you can find a working example how to use
- Fop in a servlet. You can drop the fop.war into the webapps directory of Tomcat, then
- go to a URL like this:
- </P>
- <P>http://localhost:8080/fop/fop?fo=/home/path/to/fofile.fo</P>
- <P>You can also find the source code there in the file FopServlet.java</P>
- <P>
- To compile this code you will need servlet_2_2.jar (or compatible), fop.jar and the sax api in your classpath.
- </P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Examples</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/examples-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Examples" border="0" height="12" hspace="0" src="graphics/examples-label-1.jpg" vspace="0" width="120"><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <P>Examples for the use of xsl:fo can be found in the Fop distribution in
- the subdirectory xml-fop/docs/examples/fo. You can start transformation of all fo files into pdf
- files by starting xml-fop/docs/examples/runtests. The resulting test files can be found in
- xml-fop/docs/examples/tests
- </P>
- <P>At the moment the following files are part of the distribution:</P>
- <UL>
- <LI>simple.fo - a very simple file which gives use a first impression of the structure of an fo file
- </LI>
- <LI>normal.fo - a simple file showing the use of a 2 level of headings, normal text and a header.
- </LI>
- <LI>table.fo - some table examples
- </LI>
- <LI>list.fo - a short tutorial how to use list fo's and properties
- </LI>
- <LI>images.fo - shows how to embed gif and jpg images into the xsl:fo file using external-graphic.
- </LI>
- <LI>border.fo - a not so simple example how to use borders in tables
- </LI>
- <LI>extensive.fo - a longer test file containing a lot of different flow objects and properties.
- A good candidate to test your bugfix or new Fop code.
- </LI>
- <LI>leader.fo - shows different uses of fo:leader, p.e. as rule or in a table of content
- </LI>
- <LI>normalex.fo - shows the use of computed property values
- </LI>
- <LI>inhprop.fo - shows the use of inherited property values
- </LI>
- <LI>instream.fo - shows the use of fo:instream-foreign-object together with svg
- </LI>
- <LI>textdeko.fo - shows the use of the property textdecoration
- </LI>
- <LI>readme.fo - uses an old version of Fop documentation for a longer example
- </LI>
-
- <LI>Look also into the directory examples/svg. There you find some very extensive svg examples.
- Just start makedoc.
- </LI>
- <LI>In the directory examples/pagination you find a suite of examples showing the use
- of xsl:fo pagination.
- </LI>
- </UL>
- <P>Developers will find the first steps to a test suite for all implemented formatting objects and
- properties in xml-fop/test/xml/.</P>
-
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Extensions to FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/extensions-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Extensions" border="0" height="12" hspace="0" src="graphics/extensions-label-1.jpg" vspace="0" width="120"><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <P>Sometimes it is desirable to have extensions to xsl:fo in order to support some feature of the
- output format which isn't covered by the xsl:fo specification.
- </P>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Default Extensions</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>
-These extension are available by default. They are automatically loaded
-and you only need to provide the correct namespace for your embedded
-xml markup.
-</P>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>SVG</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-Please see the <A href="svg.html">SVG page</A> for more details.
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Bookmarks</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>To use this standard Fop extension, you need to add a namespace entry for
- http://xml.apache.org/fop/extensions on the root element. </P>
-
- <P>You can provide outlines inside the root object (but outside
- any page-sequences or
- other formatting objects). Here's an example of an outline entry:</P>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
-<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
- xmlns:fox="http://xml.apache.org/fop/extensions">
- <fox:outline internal-destination="sec3">
- <fox:label>Running FOP</fox:label>
-
- <fox:outline internal-destination="sec3-1">
- <fox:label>Prerequisites</fox:label>
- </fox:outline>
- <fox:outline>
-</fo:root>
-</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
- <P>It works similarly to a basic-link. There is also an external-destination
- property, but it isn't supported currently. See the pdfoutline.fo file in
- docs/examples/fo for a more complete example.</P>
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Adding Your Own</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>
-To add your own extension you need to do the following things.
-</P>
-<P>
-Write code that implements your extension functionality.
-The easiest place to start is by looking at the code in org.apache.fop.extension.
-</P>
-<P>
-Create a jar file with your classes, it must also include the following file "/META-INF/services/org.apache.fop.fo.ElementMapping". In this file you need to put the fully qualified classname of your element mappings class. This class must implement the "org.apache.fop.fo.ElementMapping" interface.
-</P>
-<P>
-Create your fo file with the extra xml data embedded in the file with the correct name space. The examples for svg and pdfoutline.fo show how this can be done.
-</P>
-<P>
-Put your jar file in the classpath and then run fop over the fo file.
-</P>
-
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>FAQ Running FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/faq-running-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','graphics/faqs-label-2.jpg','graphics/faqs-label-3.jpg');" src="graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="specs.html" onMouseOut="rolloverOff('side-specs');" onMouseOver="rolloverOn('side-specs');"><IMG alt="Specifications" border="0" height="12" hspace="0" name="side-specs" onLoad="rolloverLoad('side-specs','graphics/specs-label-2.jpg','graphics/specs-label-3.jpg');" src="graphics/specs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Questions</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><UL><LI><A href="#faq-1">Source files for the formatting properties are missing</A></LI><LI><A href="#faq-2">Formatting object xxx doesn't work as expected</A></LI><LI><A href="#faq-3">Supporting the latest XSL working draft</A></LI><LI><A href="#faq-4">Fatal error: Root element must be root</A></LI><LI><A href="#faq-5">Char '>' inserted into page number</A></LI><LI><A href="#faq-6">Are font properties allowed here</A></LI><LI><A href="#faq-7">Supported fonts</A></LI></UL></FONT></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Answers</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><BR><A name="faq-1"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Q: I can't find the source files for the formatting properties. The directories
- where they should be are empty. Where can I find them?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><P>A: They are generated during the build process. So you should use the build script coming
- with Fop at least once to generate these files.
- </P>
- </FONT></TD></TR></TABLE><BR><A name="faq-2"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Q: Feature xxx of the XSL Working Draft 27 March 2000 does not work as it should. Why?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><P>A: First: Only a small subset of formatting objects and properties is
- implemented at the moment. Please have a look at the section "Features",
- which lists the supported fo and properties. Second: At the moment only
- Working Draft 21 Apr 1999 is supported.
- </P>
- </FONT></TD></TR></TABLE><BR><A name="faq-3"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Q: When will the latest version of the XSL working draft be supported?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><P>Basic conformance to the latest XSL working draft is scheduled for fall 2000.
- </P>
- </FONT></TD></TR></TABLE><BR><A name="faq-4"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Q: Running FOP I get the following messages or something similar:
- "WARNING: Unknown formatting object http://www.w3.org/XSL/Format/1.0^root"
- and then a FATAL Error "Root element must be root, not default FO".</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>A: Make sure that you have specified as the namespace for fo the
- following string: "http://www.w3.org/1999/XSL/Format". It is analogous
- to the xslt namespace "http://www.w3.org/1999/XSL/Transform"
- </P>
- </FONT></TD></TR></TABLE><BR><A name="faq-5"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Q: The char ">" is inserted into the page number display like this
- "formatting FOs into areas [1] [2] [3>>>>]". Is this a bug?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><P>A: No, a feature. It simply means that on that page an area
- overflowed (ie there was not enough room to fit the text in).</P></FONT></TD></TR></TABLE><BR><A name="faq-6"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Q: It looks like FOP must be honoring font properties when it shouldn't be?
- Example: According to the dtd coming with the xsl-fo spec inline-sequence
- shouldn't have any attributes, but FOP doesn't reject them.
- </B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>A: Font properties are inherited down to individual characters. You can
- specify font properties on any formatting object you like and any textual content
- will inherit those properties (unless overriden by a closer ancestor).
- </P>
- <P>The dtd coming with the xsl-fo spec isn't correct in this respect.
- </P>
- </FONT></TD></TR></TABLE><BR><A name="faq-7"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Q: I need some additional fonts in FOP. How I can set embedding fonts?
- </B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>A: At present, FOP does not support any fonts other than the built-in fonts
- Times, Helvetica, Courier, Symbol and ZapfDingbats.
- </P>
- </FONT></TD></TR></TABLE><BR></FONT></TD></TR></TABLE><BR></TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Frequently Asked Questions</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/faq-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="FAQ" border="0" height="12" hspace="0" src="graphics/faq-label-1.jpg" vspace="0" width="120"><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Introduction</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
- Here we have some answers to common questions about FOP. This only covers
- general information about getting started with FOP and pointers to more
- information.
- </P>
- <P>
- For up to date information or more details please visit the Fop FAQ site.
- The site uses Jyve to provide an interactive FAQ:
- <A href="http://www.owal.co.uk:8090/asf/servlet/asf/screen/DisplayTopics/action/SetAll/project_id/18/faq_id/276">http://www.OWAL.co.uk:8090/</A>
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Questions</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <UL>
- <LI><A href="#q1">What is FOP?</A></LI>
- <LI><A href="#q2">How does FOP interact with other Apache Projects?</A></LI>
- <LI><A href="#q3">What is XSL (FO)?</A></LI>
- <LI><A href="#q4">What can I do with FOP?</A></LI>
- <LI><A href="#q5">How can I contribute?</A></LI>
- <LI><A href="#q6">How do I author XSL documents?</A></LI>
- <LI><A href="#q7">How can I see a demo?</A></LI>
- </UL>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Answers</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>What is FOP</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<A name="q1"><!--anchor--></A>
- <P>
- FOP is a print formatter for XSL formatting objects.
- </P>
- <P>
- It can be used to render an XML file containing XSL formatting objects
- into a page layout. The main target is PDF but other rendering targets
- are supported, such as AWT, PCL, text and direct printing.
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How does FOP interact with other Apache Projects?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<A name="q2"><!--anchor--></A>
- <P>
- FOP is distributed with <A href="http://xml.apache.org/cocoon">Cocoon</A> as a PDF serializer for XSL (FO) documents.
- </P>
- <P>
- <A href="http://xml.apache.org/batik">Batik</A> can be used with FOP to <A href="http://xml.apache.org/batik/svgrasterizer.html">transcode an SVG image</A> into a PDF document.
- The mime type for PDF is "application/pdf".
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>What is XSL (FO)</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<A name="q3"><!--anchor--></A>
- <P>
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>What can I do with FOP</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<A name="q4"><!--anchor--></A>
- <P>
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How can I contribute</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<A name="q5"><!--anchor--></A>
- <P>
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How do I author XSL documents</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<A name="q6"><!--anchor--></A>
- <P>
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How can I see a demo</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<A name="q7"><!--anchor--></A>
- <P>
- There will be a Java Webstart demo sometime in the future.
- </P>
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR>
-
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>FAQs</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/faqs-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <IMG alt="FAQs" border="0" height="12" hspace="0" src="graphics/faqs-label-1.jpg" vspace="0" width="120"><BR>
- <A href="specs.html" onMouseOut="rolloverOff('side-specs');" onMouseOver="rolloverOn('side-specs');"><IMG alt="Specifications" border="0" height="12" hspace="0" name="side-specs" onLoad="rolloverLoad('side-specs','graphics/specs-label-2.jpg','graphics/specs-label-3.jpg');" src="graphics/specs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>FAQ Running FOP</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><P>
- Read the <A href="faq-running.html">FAQ Running FOP</A>
- document or jump directly to:
- </P><UL><LI><A href="faq-running.html#faq-1">Source files for the formatting properties are missing</A></LI><LI><A href="faq-running.html#faq-2">Formatting object xxx doesn't work as expected</A></LI><LI><A href="faq-running.html#faq-3">Supporting the latest XSL working draft</A></LI><LI><A href="faq-running.html#faq-4">Fatal error: Root element must be root</A></LI><LI><A href="faq-running.html#faq-5">Char '>' inserted into page number</A></LI><LI><A href="faq-running.html#faq-6">Are font properties allowed here</A></LI><LI><A href="faq-running.html#faq-7">Supported fonts</A></LI></UL></FONT></TD></TR></TABLE><BR></TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Font Support </TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/fonts-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Fonts" border="0" height="12" hspace="0" src="graphics/fonts-label-1.jpg" vspace="0" width="120"><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Status</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>FOP (building PDF files) normally supports only the base 14 font package defined in the Adobe PDF specification.
- That includes the following fonts: Helvetica, Times, Courier, Symbol and ZapfDingbats.
- </P>
- <P>Font support in FOP can be extended by the addition of font metric files (written in XML) created from Adobe
- Type 1 fonts and Truetype fonts. No other font types (Type 3, etc.) are supported at this time.
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Adding additional Type 1 fonts</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>As mentioned above you need an XML file containing font metrics to be able to use an additional font. FOP
- contains a tool that can generate such a font metrics file from a PFM file, which normally comes with the font file.
- </P>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Generating a font metrics file</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P> Run the class org.apache.fop.fonts.apps.PFMReader to generate the XML file.
- </P>
- <P>
- <CODE><FONT face="courier, monospaced">java -cp fop.jar;xerces.jar;xalan.jar;batik.jar</FONT></CODE>
- </P>
- <P>
- <CODE><FONT face="courier, monospaced">org.apache.fop.fonts.apps.PFMReader pfm-file xml-file</FONT></CODE>
- </P>
- <P>Note: The tool will construct some values (FontBBox, StemV and ItalicAngle) based on assumptions and
- calculations which are only an approximation to the real values. FontBBox and Italic Angle can be found in
- the human-readable part of the PFB file. The PFMReader tool does not yet interpret PFB files, so if you want
- to be correct, you may have to adjust the values in the XML file manually. The constructed values however
- appear to have no visible influence.
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Register the fonts within FOP</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
- Edit conf/userconfig.xml and add entries for the font
- if the fonts section,
- ie:
- </P>
- <P>
- <CODE><FONT face="courier, monospaced">
-<font metrics-file="cyberbit.xml" kerning="yes" embed-file="C:\WINNT\Fonts\Cyberbit.ttf">
- <font-triplet name="Cyberbit" style="normal" weight="normal">
-</font>
-</FONT></CODE>
-</P>
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Adding additional TrueType</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Adding Truetype fonts is almost identical to the process of
- adding type 1 fonts. The main difference is in the first
- step.</P>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Generating a font metrics file</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>As mentioned above you need an XML file containing font
- metrics to be able to use an additional font. FOP contains
- a tool that can generate such a font metrics file from
- your truetype font file.
- </P>
- <P>
- Create metrics for the fontfile (we assume the file has
- the name cmr10.ttf and exists in c:\myfonts\):
- </P>
- <P>
- <CODE><FONT face="courier, monospaced">java org.apache.fop.fonts.apps.TTFReader C:\myfonts\cmr10.ttf C:\myfonts\cmr10.ttf ttfcm.xml</FONT></CODE></P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>TrueType collections</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
- TrueType collections (.ttc files) contains more than one
- font. To create metrics for a ttc file you must specify
- the font in the collection with the -ttcname option to
- TTFReader.
- </P>
- <P>
- To get a list of the fonts in a collection, just start the
- TTFReader as if it were a normal truetype file (without
- the -ttcname option). It will then display all the font
- names and exit with an Exception...
- </P>
- <P>
- Example on generating metrics for a .ttc file:
- </P>
- <P>
- <CODE><FONT face="courier, monospaced">
- java org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" msmincho.ttc msminch.xml
- </FONT></CODE>
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Register the fonts within FOP</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
- Same as for Type 1 fonts.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Embedding fonts</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
- Font embedding is enabled in the userconfig.xml file.
- </P>
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR>
- <P>
- Remember to start fop with -c conf/userconfig.xml
- </P>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Features</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/implemented-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Features" border="0" height="12" hspace="0" src="graphics/implemented-label-1.jpg" vspace="0" width="120"><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>What's Implemented?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>The following formatting objects and properties of the xsl-fo
- candidate recommendation are implemented.Please have also a look at the
- section on <A href="limitations.html">limitations</A>
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>1) Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>This section follows the table "B Formatting Object Summary" in the xsl:fo specification. At the
- end of each sub-section you find listed what is not implemented.</P>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.1 Declaration and Pagination and Layout Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>root</LI>
- <LI>page-sequence </LI>
- <LI>page-sequence-master</LI>
- <LI>single-page-master-reference</LI>
- <LI>repeatable-page-master-reference</LI>
- <LI>repeatable-page-master-alternatives</LI>
- <LI>conditional-page-master-reference</LI>
- <LI>layout-master-set </LI>
- <LI>simple-page-master </LI>
- <LI>region-body </LI>
- <LI>region-before </LI>
- <LI>region-after </LI>
- <LI>region-start</LI>
- <LI>region-end</LI>
- <LI>flow</LI>
- <LI>static-content </LI>
- </UL>
- <P>Not implemented: declarations, color-profile, title</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.2 Block Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>block </LI>
- </UL>
- <P>Not implemented: block-container</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.3 Inline Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>character</LI>
- <LI>external-graphic</LI>
- <LI>inline</LI>
- <LI>instream-foreign-object</LI>
- <LI>leader</LI>
- <LI>page-number </LI>
- <LI>page-number-citation, see <A href="limitations.html">limitations</A></LI>
- </UL>
- <P>Not implemented: bidi-override, initial-property-set, inline-container</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.4 Table Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>table </LI>
- <LI>table-body</LI>
- <LI>table-cell</LI>
- <LI>table-column</LI>
- <LI>table-footer</LI>
- <LI>table-header</LI>
- <LI>table-row</LI>
- </UL>
- <P>Not implemented: table-and-caption, table-caption </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.5 List Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>list-block </LI>
- <LI>list-item </LI>
- <LI>list-item-body </LI>
- <LI>list-item-label </LI>
- </UL>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.6 Link and Multi Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>basic-link (internal and external)</LI>
- </UL>
- <P>Not implemented: multi-switch, multi-case, multi-toggle,
- multi-properties, multi-property-set</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.7 Out-of-line Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>footnote</LI>
- <LI>footnote-body</LI>
- </UL>
- <P>Not implemented: float</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>B.8 Other Formatting Objects</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>wrapper</LI>
- </UL>
- <P>Not implemented: marker, retrieve-marker</P>
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR>
-
-
-border and padding shorthand properties
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>2) Properties</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Property values can be computed. Compound properties are also understood by Fop.</P>
- <UL>
- <LI>background-color </LI>
- <LI>blank-or-not-blank</LI>
- <LI>border-after-color</LI>
- <LI>border-after-style</LI>
- <LI>border-after-width</LI>
- <LI>border-before-color</LI>
- <LI>border-before-style</LI>
- <LI>border-before-width</LI>
- <LI>border-bottom</LI>
- <LI>border-bottom-color</LI>
- <LI>border-bottom-style</LI>
- <LI>border-bottom-width</LI>
- <LI>border-color (only one value allowed) </LI>
- <LI>border-end-color</LI>
- <LI>border-end-style</LI>
- <LI>border-end-width</LI>
- <LI>border-left</LI>
- <LI>border-left-color</LI>
- <LI>border-left-style</LI>
- <LI>border-left-width</LI>
- <LI>border-right</LI>
- <LI>border-right-color</LI>
- <LI>border-right-style</LI>
- <LI>border-right-width</LI>
- <LI>border-start-color</LI>
- <LI>border-start-style</LI>
- <LI>border-start-width</LI>
- <LI>border-style</LI>
- <LI>border-top</LI>
- <LI>border-top-color</LI>
- <LI>border-top-style</LI>
- <LI>border-top-width</LI>
- <LI>border-width</LI>
- <LI>bottom</LI>
- <LI>break-after </LI>
- <LI>break-before </LI>
- <LI>character</LI>
- <LI>color </LI>
- <LI>column-count</LI>
- <LI>column-gap</LI>
- <LI>column-width </LI>
- <LI>country</LI>
- <LI>end-indent </LI>
- <LI>extent </LI>
- <LI>external-destination</LI>
- <LI>flow-name </LI>
- <LI>font-family </LI>
- <LI>font-size </LI>
- <LI>font-style </LI>
- <LI>font-weight </LI>
- <LI>height</LI>
- <LI>hyphenate</LI>
- <LI>hyphenation-character</LI>
- <LI>hyphenation-push-character-count</LI>
- <LI>hyphenation-remain-character-count</LI>
- <LI>id</LI>
- <LI>initial-page-number</LI>
- <LI>internal-destination</LI>
- <LI>keep-with-next (broken)</LI>
- <LI>language</LI>
- <LI>leader-alignment (not value "page")</LI>
- <LI>leader-length (see limitations)</LI>
- <LI>leader-pattern (not value "use-content")</LI>
- <LI>leader-pattern-width</LI>
- <LI>left</LI>
- <LI>line-height </LI>
- <LI>margin-bottom (only on pages and regions) </LI>
- <LI>margin-left (only on pages and regions) </LI>
- <LI>margin-right (only on pages and regions) </LI>
- <LI>margin-top (only on pages and regions) </LI>
- <LI>master-name </LI>
- <LI>maximum-repeats</LI>
- <LI>number-columns-spanned</LI>
- <LI>odd-or-even</LI>
- <LI>padding (only one value allowed) </LI>
- <LI>padding-after</LI>
- <LI>padding-before</LI>
- <LI>padding-bottom </LI>
- <LI>padding-end</LI>
- <LI>padding-left </LI>
- <LI>padding-right </LI>
- <LI>padding-start</LI>
- <LI>padding-top </LI>
- <LI>page-height </LI>
- <LI>page-position</LI>
- <LI>page-width </LI>
- <LI>position (allowed values: "static" (default),"relative", "absolute", fixed ) </LI>
- <LI>provisional-distance-between-starts </LI>
- <LI>provisional-label-separation </LI>
- <LI>ref-id </LI>
- <LI>region-name</LI>
- <LI>right</LI>
- <LI>rule-style</LI>
- <LI>rule-thickness </LI>
- <LI>space-after.optimum </LI>
- <LI>space-before.optimum </LI>
- <LI>span</LI>
- <LI>src </LI>
- <LI>start-indent </LI>
- <LI>table-omit-footer-at-break</LI>
- <LI>table-omit-header-at-break</LI>
- <LI>text-align </LI>
- <LI>text-align-last </LI>
- <LI>text-decoration</LI>
- <LI>text-indent </LI>
- <LI>top</LI>
- <LI>white-space-collapse</LI>
- <LI>width</LI>
- <LI>wrap-option</LI>
- </UL>
- <P>All other properties are not implemented.</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>3)SVG Support</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>
-FOP uses <A href="http://xml.apache.org/batik/">Batik</A> directly for its SVG support. Therefore FOP supports the same
-elements and properties as are supported by Batik. As FOP is designed for
-rendering to a static medium then only static SVG is rendered.
-</P>
-<P>
-Due to some limitations in PDF some SVG images, particularly ones with effects
-or transparency, may not come out correctly. The images should still be rendered
-correctly for the AWT and Print renderers.
-</P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Fop</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <IMG alt="Readme" border="0" height="12" hspace="0" src="graphics/index-label-1.jpg" vspace="0" width="120"><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>What is FOP?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>FOP is the world's first print formatter driven by XSL formatting
- objects. It is a Java application that reads a formatting object
- tree and then turns it into a PDF document. The formatting object
- tree, can be in the form of an XML document (output by an XSLT engine
- like XT or Xalan) or can be passed in memory as a DOM Document or (in
- the case of XT) SAX events.
- </P>
- <P>The latest version of Fop is 0.20.1 and it supports the xsl:fo candidate release.
- You can <A href="download.html">download</A>
- Fop including a precompiled version, the source code and many example files to
- get you started. Pointers to introductions into xsl:fo can be found in the
- section <A href="specs.html">specifications</A>. Please be aware, that
- Fop is at the moment not a full implementation of the basic conformance level
- of the xsl:fo standard. You can find a list of supported flow objects and properties
- in the section <A href="implemented.html">Features</A> and in section
- <A href="limitations.html">Limitations</A> in what way this support is
- limited.
- </P>
- <P>FOP is part of Apache's XML project. The homepage of FOP is
- <A href="http://xml.apache.org/fop">http://xml.apache.org/fop</A>. A list
- of known bugs, the committers to this project and the tasks they are working on can be found
- in the file <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-fop/">Status</A> in the
- root of your Fop distribution. A history of the latest changes to the project can be found in CHANGES.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>FOP Objectives</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>The goals of the Apache XML FOP Project are to deliver an XSL FO->PDF formatter that is compliant to at least the Basic
- conformance level described in the W3C Candidate Recommendation 21 November 2000, and that complies with the 11 March 1999 Portable Document
- Format Specification (Version 1.3) from Adobe Systems.
- </P>
-
- <P>Conformance to the XML 1.0 Recommendation, XSLT 1.0 Recommendation and the XML Namespaces Recommendation is
- understood. Other relevant documents, such as the XPath and XLink Working Drafts, are referenced as necessary. The FOP
- Project will attempt to use the latest version of evolving specifications.
- </P>
-
- <P>Secondary goals of the FOP Project (also, "FOP") are desirable requirements that also have a high priority.
- </P>
-
- <P>One secondary goal of the FOP Project is to deliver a follow-on version of the formatter that is compliant to the Extended
- conformance level described in the XSL FO. Any formatting objects that cannot be translated into PDF will be explicitly
- identified as such.
- </P>
-
- <P>Another secondary goal is to improve the conversion of SVG into PDF.
- This includes the use of FOP to work as a transcoder for Batik to convert
- an SVG document into a PDF document and the fully support embedding SVG inside
- fo documents in an fo:instream-foreign-object.
- </P>
-
- <P>A final secondary goal is the continued refinement of the FOP design and implementation. In particular, maintaining the
- separation between formatting and rendering, continuing to support the AWT Viewer renderer (backend), and providing
- new renderers, are all desirable objectives.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Getting involved</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/involved-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Getting involved" border="0" height="12" hspace="0" src="graphics/involved-label-1.jpg" vspace="0" width="120"><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Read the Status file</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>The Status file contains the list of features people are working on at the moment.
- And an outline what steps are next.</P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Subscribe to the fop discussion list</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>You can subscribe to fop-dev@xml.apache.org by sending an email
- to <A href="mailto:fop-dev-subscribe@xml.apache.org">fop-dev-subscribe@xml.apache.org</A></P>
- <P>Sending bug reports and feature requests to the list is a welcome and important contribution to
- developing Fop. </P>
- <P>Read also the <A href="http://marc.theaimsgroup.com/?l=fop-dev&r=1&w=2">archive</A>
- of the discussion list fop-dev to get an idea of the issues being discussed. </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Look at the developer's code using cvs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Between releases the newest code can be accessed via cvs. To do this you need to install a cvs
- client on your computer, if it is not already there. An explanation how to connect to the
- Fop source repository can be found at <A href="http://xml.apache.org/cvs.html">http://xml.apache.org/cvs.html</A>.
- An introduction into cvs and the cvs manual can be found in the
- <A href="http://xml.apache.org/library.html">reference library</A>.</P>
- <P>All changes to the code repository are annonced in a special discussion group. You can subscribe
- to fop-cvs@xml.apache.org by sending an email to <A href="mailto:fop-cvs-subscribe@xml.apache.org">
- fop-cvs-subscribe@xml.apache.org</A>. If you want to contribute to the development of Fop you should subscribe,
- because it is important that you follow changes being made. </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Contributing code, tests and documentation</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>If you want to contribute code (p.e. a bugfix), a test or documentation (p.e. an additional example), please do the following: </P>
- <P>1) Make sure your code doesn't break the existing one and that Fop still compiles.</P>
- <P>2) Create a file which shows the differences to the existing code.</P>
- <P>3) Send this file to <A href="mailto:fop-dev@xml.apache.org">fop-dev@xml.apache.org.</A></P>
- <P>One of the committers will test your code and commit it to the code repository.</P>
- <P>If you have a test or useful bug test you should <A href="testing.html">read this page</A>.</P>
- <P>BTW: The Apache project knows different roles for contributors, namely 'users', 'developers', 'committers' and the 'Project
- Management Committee' (An explanation of these roles can be found <A href="http://xml.apache.org/roles.html">here</A>).</P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Get familiar with the Fop related standards</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>At the moment Fop is mainly a tool to render XSL:FO files to pdf. Therefore if you want to contribute to Fop you should become
- familiar with these standards. You can find their internet addresses on our <A href="specs.html">website</A>.</P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Fop's architecture</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>A bird's eye view on the way Fop operates can be found in the document <A href="architecture.html">FOP Mechanics</A></P>
- <P>If you want to extend the functionality of FOP by adding new formatting objects, you should do the following: </P>
- <P>1. FO Object: Write a class which contains the description of your formatting object and put it into the package fop.fo.flow, fop.fo.pagination (if it is a property it goes to fop.fo.properties. The classes in this package are generated via an xslt stylesheet located in codegen/properties.xml)</P>
- <P>2. Element Mapping: Add it to the list in fop.fo.StandardElementMapping (if it is a property you need to add it to fop.fo.PropertyListBuilder)</P>
- <P>3. Area: Either your need can be fulfilled within one of the existing classes in fop.layout, then just add the code to handle the new fo/property or you must write a new one.</P>
- <P>4. Renderer: Choose the renderer you are interested in. If you worked on an existing layout class you must add code to handle the new features to the already existing area specific method in the renderer class. Otherwise you have to add a new method. </P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>License</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/license-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="License" border="0" height="12" hspace="0" src="graphics/license-label-1.jpg" vspace="0" width="120"><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>The Apache Software License, Version 1.1</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P> Copyright (C) 1999 The Apache Software Foundation. All rights reserved.</P>
- <P> Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:</P>
- <P>1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- </P>
-
- <P>2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- </P>
-
- <P>3. The end-user documentation included with the redistribution, if any, must
- include the following acknowledgment: "This product includes software
- developed by the Apache Software Foundation (http://www.apache.org/)."
- Alternately, this acknowledgment may appear in the software itself, if
- and wherever such third-party acknowledgments normally appear.
- </P>
-
- <P>4. The names "FOP" and "Apache Software Foundation" must not be used to
- endorse or promote products derived from this software without prior
- written permission. For written permission, please contact
- apache@apache.org.
- </P>
-
- <P>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 Software Foundation.
- </P>
- <P>THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- </P>
-
- <P>
- This software consists of voluntary contributions made by many individuals
- on behalf of the Apache Software Foundation and was originally created by
- James Tauber <jtauber@jtauber.com>. For more information on the Apache
- Software Foundation, please see <A href="http://www.apache.org/">http://www.apache.org/</A>.
- </P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Limitations</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/limitations-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Limitations" border="0" height="12" hspace="0" src="graphics/limitations-label-1.jpg" vspace="0" width="120"><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <P>FOP implements the fo objects and properties listed
- in <A href="implemented.html">features</A>, sometimes it does so only in a limited way.
- </P>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>fo:leader</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>leader-length.minimum is not used at all</P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>page-number-citation</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Only works for table of contents without any problems. The case where the page number doesn't
- fit on a line isn't handled, and any text on the same line and after the page-number might not
- appear exactly where you want it to.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Padding</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Padding works in conjunction with indents and spaces. It is only implemented
- for blocks. At the moment padding can't be used to make extra space (indents+spaces
- must be used), but only to control how much the background-color extends beyond
- the content rectangle.
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Tables</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>There two limitations for tables: 1) FOP needs you to explicitly specify column widths
- 2) Cells have to contain block-level FOs. They can't contain straight character data.
- </P>
- <P>A working basic example of a table looks like this: </P>
- <P><CODE><FONT face="courier, monospaced"><fo:table></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-column column-width="150pt"/></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-column column-width="150pt"/></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-body font-size="10pt" font-family="sans-serif"></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-row></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:block>text</fo:block></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:block>text</fo:block></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-row></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-row></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:block>text</fo:block></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:block>text</fo:block></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-row></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-row></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:block>text</fo:block></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> <fo:block>text</fo:block></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-cell></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-row></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"> </fo:table-body></FONT></CODE></P>
- <P><CODE><FONT face="courier, monospaced"></fo:table></FONT></CODE></P>
- </FONT></TD></TR></TABLE><BR>
-
-
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>FOP Relevant Specifications and Links</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/resources-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Resources" border="0" height="12" hspace="0" src="graphics/resources-label-1.jpg" vspace="0" width="120"><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Specifications</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <UL>
- <LI><A href="http://www.w3.org/TR/2000/CR-xsl-20001121/">XSL-FO Candidate Recommendation (21 November 2000)</A></LI>
- <LI><A href="http://www.renderx.com/Tests/validator/fo2000.dtd.html">A dtd for the XSL-FO CR from November provided by N. Grigoriev from RenderX</A></LI>
- <LI><A href="http://www.w3.org/TR/2000/CR-SVG-20001102/">Supported SVG Candidate Recommendation (02 November 2000)</A></LI>
- <LI><A href="http://www.w3.org/TR/REC-xml">XML Recommendation</A></LI>
- <LI><A href="http://www.w3.org/TR/xslt">XSLT Recommendation</A></LI>
- <LI><A href="http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf">Portable Document Format (PDF) 1.3 Reference Manual </A></LI>
- <LI><A href="http://www.megginson.com/SAX/">Simple API for XML (SAX)</A></LI>
- <LI><A href="http://www.w3.org/TR/REC-DOM-Level-1">Document Object Model (DOM)</A></LI>
- <LI><A href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML Recommendation</A></LI>
- <LI><A href="http://java.sun.com/products/jdk/1.1/docs/index.html">Java JDK 1.1 Documentation</A></LI>
- </UL>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Tutorials/Articles</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <UL>
- <LI><A href="http://www.ibiblio.org/xml/books/bible/updates/15.html">Elliotte Rusty Harold: Chapter 15 on xsl:fo from his excellent xml book</A></LI>
- <LI><A href="http://www.sun.com/software/xml/developers/slides-dtd/">Paul Sandoz: Using formatting objects with the slides dtd</A></LI>
- <LI><A href="http://www.xml.com/pub/a/2001/01/17/xsl-fo/index.html">J. David Eisenberg: Using XSL Formatting Objects</A></LI>
- <LI><A href="http://zvon.org/xxl/xslfoReference/Output/index.html">Miloslav Nic: XSL FO reference</A></LI>
- </UL>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Other resources</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <UL>
- <LI><A href="http://xml.apache.org/mail/fop-dev/">Apache archive of fop-dev@apache.org</A></LI>
- <LI><A href="http://marc.theaimsgroup.com/">External, but easier to browse archive fop-dev@apache.org</A></LI>
- <LI>There is an xsl:fo mailing list: www-xsl-fo@w3.org. Subscription info can be found here: <A href="http://www.w3.org/Mail/Request">
- http://www.w3.org/Mail/Request</A>. And the archive can be found here:
- <A href="http://lists.w3.org/Archives/Public/www-xsl-fo/">http://lists.w3.org/Archives/Public/www-xsl-fo/</A></LI>
- </UL>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-rolloverImagesOn=new Array();\r
-rolloverImagesOff=new Array();\r
-\r
-function rolloverOn(name) {\r
- if(rolloverImagesOn[name]){\r
- document.images[name].src=rolloverImagesOn[name].src;\r
- }\r
-}\r
-\r
-function rolloverOff(name) {\r
- if(rolloverImagesOff[name]){\r
- document.images[name].src=rolloverImagesOff[name].src;\r
- }\r
-}\r
-\r
-function rolloverLoad(name,on,off) {\r
- rolloverImagesOn[name]=new Image();\r
- rolloverImagesOn[name].src=on;\r
- rolloverImagesOff[name]=new Image();\r
- rolloverImagesOff[name].src=off;\r
-}\r
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Running FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/running-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Running FOP" border="0" height="12" hspace="0" src="graphics/running-label-1.jpg" vspace="0" width="120"><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Prerequisites</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Following software must be installed:</P>
- <P>a) Java 1.1.x or later (If you want to use the previewer (option -awt), you need Swing or Java 2)</P>
- <P>b) All libraries you need are part of the Fop distribution and
- can be found in the xml-fop/lib directory. Look at the batch/shell script fop.bat/fop.sh
- to see, how Fop can be invoked easily. These libraries are included:
- <UL>
- <LI>An XML parser which supports SAX and DOM like
- <A href="http://xml.apache.org/xerces-j/index.html">Xerces-J</A>.
- (Xerces is the default xml parser)
- </LI>
- <LI>An XSLT processor
- </LI>
- <LI>The SVG library batik.jar is the library from the <A href="http://xml.apache.org/batik/">batik project</A> at xml.apache.org.
- </LI>
- <LI>The imaging library Jimi from Sun
- </LI>
- </UL>
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Starting FOP as an standalone application</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P><CODE><FONT face="courier, monospaced">Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-txt|-print] <outfile></FONT></CODE></P>
- <P>[OPTIONS]<BR>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- -d debug mode<BR>
- -x dump configuration settings<BR>
- -q quiet mode<BR>
- -c cfg.xml use additional configuration file cfg.xml<BR>
- -l lang the language to use for user information<BR>
- </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
- </P>
- <P>[INPUT]<BR>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- infile xsl:fo input file (the same as the next)<BR>
- -fo infile xsl:fo input file<BR>
- -xml infile xml input file, must be used together with -xsl<BR>
- -xsl stylesheet xslt stylesheet<BR>
- </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
- </P>
-
- <P>[OUTPUT]<BR>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- outfile input will be rendered as pdf file into outfile<BR>
- -pdf outfile input will be rendered as pdf file (outfile req'd)<BR>
- -awt input will be displayed on screen<BR>
- -mif outfile input will be rendered as mif file (outfile req'd)<BR>
- -pcl outfile input will be rendered as pcl file (outfile req'd)<BR>
- -txt outfile input will be rendered as text file (outfile req'd)<BR>
- -print input file will be rendered and sent to the printer<BR>
- see options with "-print help"<BR>
- </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
- </P>
-
- <P>[Examples]<BR>
- <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
- Fop foo.fo foo.pdf<BR>
- Fop -fo foo.fo -pdf foo.pdf (does the same as the previous line)<BR>
- Fop -xsl foo.xsl -xml foo.xml -pdf foo.pdf<BR>
- Fop foo.fo -mif foo.mif<BR>
- Fop foo.fo -print or Fop -print foo.fo<BR>
- Fop foo.fo -awt<BR>
- </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Problems</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>If you have problems running FOP, please have a look at the
- <A href="http://www.owal.co.uk:8090/asf/servlet/asf/screen/DisplayTopics/action/SetAll/project_id/18/faq_id/276">FOP FAQ</A>. If you don't find a solution there,
- you can ask for help on the list fop-dev@xml.apache.org. Maybe it is a bug and
- maybe somebody is already working on it.
- </P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>SVG in FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/svg-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="SVG" border="0" height="12" hspace="0" src="graphics/svg-label-1.jpg" vspace="0" width="120"><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Introduction</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-FOP uses the SVG library from <A href="http://xml.apache.org/batik/">Batik</A> to handle SVG.
-This format can be handled as an <CODE><FONT face="courier, monospaced">fo:instream-foreign-object</FONT></CODE> or in a separate
-file referenced with <CODE><FONT face="courier, monospaced">fo:external-graphic</FONT></CODE>. Either way the SVG document will be
-read in and converted into a DOM in Batik. This DOM will then be used by the renderer to
-create the graphical image.
- </P>
- <P>
-The AWT and Print renderers simply use batik to draw the SVG into a graphic.
- </P>
- <P>
-In the case of the PDF renderer there is a PDFGraphics2D class that Batik uses
-to render the image into. This class converts the drawing instructions into
-PDF markup which is placed into the current PDF document.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Converting SVG to a PDF Document</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-It is possible to convert a standalone SVG document directly into a simple page PDF document.
-This is possible through the use of Batik's transcoder mechanism.<BR>
-<CODE><FONT face="courier, monospaced">java org.apache.batik.apps.rasterizer.Main -m application/pdf document.svg</FONT></CODE>
-<BR>
-This will output the svg document as "document.pdf" containing a PDF rendering of
-the SVG file.
- </P>
- <P>
-It is also possible to specify the width and/or height of the PDF document on the command line with -w and -h or if you are using the transcoder api you can use the transcoding hints.
- </P>
- <P>
-Currently the SVG image is drawn at the SVG document size and simply scaled in PDF to the new size. So the result may not be the best possible. For example if you have any images or effects it will draw them at the original resolution of the svg document. When this is viewed in the pdf it will have an incorrect resolution for the size of the pdf.
-</P>
- <P>
-The size of the pdf file will also remain the same regardless of what size the page is.
- </P>
- <P>
-For more information see <A href="http://xml.apache.org/batik/">Batik</A> for
-how transcoders work.
- </P>
-
- <P>
-These are the relevant classes, found in the package org.apache.fop.svg :
- </P>
- <P>
-<UL>
-<LI><B>PDFGraphics2D</B>
-<BR>
-used for drawing onto a Graphics2D into an existing pdf document, used
-internally to draw the svg.
-</LI>
-<LI><B>PDFDocumentGraphics2D</B>
-<BR>
-used to create a pdf document and inherits from PDFGraphics2D to do the
-rest of the drawing. Used by the transcoder to create a standalone pdf
-document from an svg. Can be used independantly the same as any Graphics2D.
-</LI>
-<LI><B>PDFTranscoder</B>
-<BR>
-used to transcode an svg document into a standalone pdf, via
-PDFDocumentGraphics2D.
-</LI>
-</UL>
- </P>
-
- </FONT></TD></TR></TABLE><BR>
-
-
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Testing FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/testing-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="todo.html" onMouseOut="rolloverOff('side-todo');" onMouseOver="rolloverOn('side-todo');"><IMG alt="TODO" border="0" height="12" hspace="0" name="side-todo" onLoad="rolloverLoad('side-todo','graphics/todo-label-2.jpg','graphics/todo-label-3.jpg');" src="graphics/todo-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="Testing" border="0" height="12" hspace="0" src="graphics/testing-label-1.jpg" vspace="0" width="120"><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Running and Using Tests</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-Testing is an important part of getting FOP to operate correctly and conform to the
-necessary standards.
- </P>
- <P>
-A testing system has been set up that works with as a build target when developing
-with FOP. A developer can run the tests after making changes to the code, the aim
-is to have the tests run to verfiy that nothing working has been broken.
- </P>
- <P>
-To setup the testing the developer must place a reference fop.jar in the
-"<cvs_repository>/test/reference/" directory. This jar will be dynamically
-loaded to create the reference output.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>W3C TestSuite</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-The testing is set up so that you can download the testsuite from
-<A href="http://www.w3.org/Style/XSL/TestSuite/">http://www.w3.org/Style/XSL/TestSuite/</A>,
-unzip the file into the base directory of FOP.
-Then you can uncomment the lines in the build.xml file in the test target and it
-will run through all the tests in the testsuite distribution.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Writing a Test</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-A test belongs to one of a few catagories. A basic test should excercise one
-element in a number of situations such as changing a property. This should have
-at least one normal value, one border value and one invalid value. If the property
-can be of different types then this should also be included.
- </P>
- <P>
-A bug test is a test that is specifically aimed at a problem with FOP. That is, the test
-is not excercising the specification but rather a problem with FOP in handling a particular
-situation that is not exposed with the other testing.
- </P>
- <P>
-A system test is one that tests the abitlity of FOP to handle a number of different
-elements together.
- </P>
- <P>
-A test can consist of a complete fo document or a part of the document such as
-some elements that will be placed into the flow of a standard document.
- </P>
-
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Submitting a Test</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-If you have a test which you think would be useful you should supply the
-test and a diff to the appropriate test suite xml file. Make sure that the
-test works as would be expected against the current build.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How Testing Works</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-The tests are stored in the "<cvs_repository>/test" directory.
- </P>
- <P>
-You can run the tests by specifying the build target "test" ie: <BR>
-<CODE><FONT face="courier, monospaced">build.sh test</FONT></CODE>
- </P>
- <P>
-This will then compare the current code in the local src directory to a specified
-release of FOP. Any differences between the current code and the output from
-the reference version will be reported. If the test previously passed then the
-test run will have failed.
- </P>
- <P>
-The testing is done by reading a test suite xml file, which corresponds to the
-standard testsuite.dtd supplied from w3c. This xml file contains a test xml
-file and an xsl file (which may simply copy the file). It also contains information
-such as if the test has passed and any comments.
- </P>
- <P>
-For FOP the testing is done by rendering all the testing documents using the
-XML renderer. The XML files are then compared to see if there are any differences.
- </P>
- </FONT></TD></TR></TABLE><BR>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>SVG Testing</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-The testing of SVG is not part of this testing system. SVG is tested for its rendering
-accuracy by using the transcoding mechanism via Batik. So that the only part that needs
-testing is how the SVG image is embedded inside the flow of the fo document.
- </P>
- </FONT></TD></TR></TABLE><BR>
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>TODO List for FOP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/todo-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
- <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG alt="TODO" border="0" height="12" hspace="0" src="graphics/todo-label-1.jpg" vspace="0" width="120"><BR>
- <A href="download.html" onMouseOut="rolloverOff('side-download');" onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-download" onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');" src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="running.html" onMouseOut="rolloverOff('side-running');" onMouseOver="rolloverOn('side-running');"><IMG alt="Running FOP" border="0" height="12" hspace="0" name="side-running" onLoad="rolloverLoad('side-running','graphics/running-label-2.jpg','graphics/running-label-3.jpg');" src="graphics/running-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="implemented.html" onMouseOut="rolloverOff('side-implemented');" onMouseOver="rolloverOn('side-implemented');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-implemented" onLoad="rolloverLoad('side-implemented','graphics/implemented-label-2.jpg','graphics/implemented-label-3.jpg');" src="graphics/implemented-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="limitations.html" onMouseOut="rolloverOff('side-limitations');" onMouseOver="rolloverOn('side-limitations');"><IMG alt="Limitations" border="0" height="12" hspace="0" name="side-limitations" onLoad="rolloverLoad('side-limitations','graphics/limitations-label-2.jpg','graphics/limitations-label-3.jpg');" src="graphics/limitations-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="examples.html" onMouseOut="rolloverOff('side-examples');" onMouseOver="rolloverOn('side-examples');"><IMG alt="Examples" border="0" height="12" hspace="0" name="side-examples" onLoad="rolloverLoad('side-examples','graphics/examples-label-2.jpg','graphics/examples-label-3.jpg');" src="graphics/examples-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="config.html" onMouseOut="rolloverOff('side-config');" onMouseOver="rolloverOn('side-config');"><IMG alt="Configuration" border="0" height="12" hspace="0" name="side-config" onLoad="rolloverLoad('side-config','graphics/config-label-2.jpg','graphics/config-label-3.jpg');" src="graphics/config-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="fonts.html" onMouseOut="rolloverOff('side-fonts');" onMouseOver="rolloverOn('side-fonts');"><IMG alt="Fonts" border="0" height="12" hspace="0" name="side-fonts" onLoad="rolloverLoad('side-fonts','graphics/fonts-label-2.jpg','graphics/fonts-label-3.jpg');" src="graphics/fonts-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="extensions.html" onMouseOut="rolloverOff('side-extensions');" onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0" height="12" hspace="0" name="side-extensions" onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');" src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="svg.html" onMouseOut="rolloverOff('side-svg');" onMouseOver="rolloverOn('side-svg');"><IMG alt="SVG" border="0" height="12" hspace="0" name="side-svg" onLoad="rolloverLoad('side-svg','graphics/svg-label-2.jpg','graphics/svg-label-3.jpg');" src="graphics/svg-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="compiling.html" onMouseOut="rolloverOff('side-compiling');" onMouseOver="rolloverOn('side-compiling');"><IMG alt="Compiling" border="0" height="12" hspace="0" name="side-compiling" onLoad="rolloverLoad('side-compiling','graphics/compiling-label-2.jpg','graphics/compiling-label-3.jpg');" src="graphics/compiling-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="embedding.html" onMouseOut="rolloverOff('side-embedding');" onMouseOver="rolloverOn('side-embedding');"><IMG alt="Embedding" border="0" height="12" hspace="0" name="side-embedding" onLoad="rolloverLoad('side-embedding','graphics/embedding-label-2.jpg','graphics/embedding-label-3.jpg');" src="graphics/embedding-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="testing.html" onMouseOut="rolloverOff('side-testing');" onMouseOver="rolloverOn('side-testing');"><IMG alt="Testing" border="0" height="12" hspace="0" name="side-testing" onLoad="rolloverLoad('side-testing','graphics/testing-label-2.jpg','graphics/testing-label-3.jpg');" src="graphics/testing-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="involved.html" onMouseOut="rolloverOff('side-involved');" onMouseOver="rolloverOn('side-involved');"><IMG alt="Getting involved" border="0" height="12" hspace="0" name="side-involved" onLoad="rolloverLoad('side-involved','graphics/involved-label-2.jpg','graphics/involved-label-3.jpg');" src="graphics/involved-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="architecture.html" onMouseOut="rolloverOff('side-architecture');" onMouseOver="rolloverOn('side-architecture');"><IMG alt="Architecture" border="0" height="12" hspace="0" name="side-architecture" onLoad="rolloverLoad('side-architecture','graphics/architecture-label-2.jpg','graphics/architecture-label-3.jpg');" src="graphics/architecture-label-3.jpg" vspace="0" width="120"></A><BR>
- <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
- <A href="bugs.html" onMouseOut="rolloverOff('side-bugs');" onMouseOver="rolloverOn('side-bugs');"><IMG alt="Bugs" border="0" height="12" hspace="0" name="side-bugs" onLoad="rolloverLoad('side-bugs','graphics/bugs-label-2.jpg','graphics/bugs-label-3.jpg');" src="graphics/bugs-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="resources.html" onMouseOut="rolloverOff('side-resources');" onMouseOver="rolloverOn('side-resources');"><IMG alt="Resources" border="0" height="12" hspace="0" name="side-resources" onLoad="rolloverLoad('side-resources','graphics/resources-label-2.jpg','graphics/resources-label-3.jpg');" src="graphics/resources-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="license.html" onMouseOut="rolloverOff('side-license');" onMouseOver="rolloverOn('side-license');"><IMG alt="License" border="0" height="12" hspace="0" name="side-license" onLoad="rolloverLoad('side-license','graphics/license-label-2.jpg','graphics/license-label-3.jpg');" src="graphics/license-label-3.jpg" vspace="0" width="120"></A><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>FOP TODO</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>
-Core Features - these are the areas that are important to getting fop
-to be useable for general use.
- </P>
- <P>
-Processing improvements - these are mainly things that can be improved
-in the way fop works, eg. resources usage, pdf output etc.
- </P>
- <P>
-Enhancements - these are added functionality that might be useful, no
-comment is made about the suitability of these suggestions.
- </P>
- </FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Core Features</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Layout</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-This is the crucial part to getting FOP to make it to the next step.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Webstart Demo</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-a demo using Java Webstart that runs the awt viewer and supports
-linking from an index
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Website</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Need to improve the website to better demonstrate what fop is and
-can do. Examples, screenshots, pdf documents.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Property Support</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Currently all properties are in the xml file. We need to handle all default
-values properly (including ones that change depending on the element) and
-all possible values.
- </P>
- <P>
-To see if a property is implemented then look in the src/codegen/foproperties.xml file.
- </P>
- <P>
-To see if a particular element uses this property then look in the element code. This is generally found in the package org.apache.fop.fo.flow.*.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Property Resolution</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-This is support for the functions in property values that evaluate some
-expression.
-Better support for resolution including support for "inherit" and values
-with lists.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Validity Checking</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Check the validity of children for a particular element to ensure
-there are no invalid children. Should help process the layout better.
- </P>
-</FONT></TD></TR></TABLE><BR>
-</FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Processing Improvements</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Logging</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Support for proper logging with logKit.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Image Handling</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Needs to be a bit more solid and allow for direct insertion of images
-(jpeg) into the pdf.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Configuration</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Support for avalon. Better multithread handling.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>More PDF Outputs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Support for streaming and linearized pdf to help with different
-deployement of pdf documents.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>i18n in awt viewer</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Use proper i18n handling for awt viewer.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>better abstraction of rendering classes</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-put all common rendering processes into an abstract class that has
-no dependancies on any specific renderers.
- </P>
-</FONT></TD></TR></TABLE><BR>
-</FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Enhancements</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>linking support in svg</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-support the a link rendering for the svg output.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>input from url</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-be able to specify a url as the input fo (or xml, xsl) documents.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>improve text handling in svg</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-support (better) the direct rendering of text into pdf graphics
-and other similair outputs
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>svg renderer (output to svg doc for slide presentation)</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Create an SVGRenderer that will render all pages onto a single
-svg document suitable for slide show presentations (with batik)
-suggested by Vincent Hardy.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>stream encoding</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-Support for different encoding on different types of streams
-in pdf document.
-For example images.
- </P>
-</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>svg features</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>
-currently patterns and gradients are not generated properly
- </P>
-</FONT></TD></TR></TABLE><BR>
-
- </FONT></TD></TR></TABLE><BR>
-
-
-</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
- Copyright © 1999-2001 The Apache Software Foundation.
- All Rights Reserved.
- </I></FONT></TD></TR></TABLE></BODY></HTML>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<!-- ===========================================================================
-
-
-Build targets
-=============
-
-These are the meaningful targets for this build file:
-
- - pdf [default] -> creates ./fop.pdf
- - clean -> deletes all files produced by this script
-
--->
-<project default="pdf" basedir=".">
- <!-- =================================================================== -->
- <!-- Initialization target -->
- <!-- =================================================================== -->
- <target name="init">
- <tstamp/>
- <property name="src.dir" value="./fop"/>
- <property name="allfiles.xml" value="fop-doc.xml"/>
- <property name="outfile.fo" value="fop.fo"/>
- <property name="outfile.pdf" value="fop.pdf"/>
- <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"/>
- <taskdef name="xslt" classname="org.apache.fop.tools.anttasks.Xslt"/>
- </target>
- <!-- =================================================================== -->
- <!-- copies all xml files into one. the infile is a dummy, because the -->
- <!-- source files are defined in the stylesheet -->
- <!-- =================================================================== -->
- <target name="prepare-files" depends="init">
- <xslt infile="fop.xml" xsltfile="xml2xml.xsl" outfile="${allfiles.xml}" smart="yes"/>
- </target>
- <!-- =================================================================== -->
- <!-- Generates the fo file -->
- <!-- =================================================================== -->
- <target name="fo" depends="prepare-files">
- <xslt infile="${allfiles.xml}" xsltfile="xml2pdf.xsl" outfile="${outfile.fo}" smart="yes"/>
- </target>
- <!-- =================================================================== -->
- <!-- Generates the pdf file -->
- <!-- =================================================================== -->
- <target name="pdf" depends="fo">
- <fop fofile="${outfile.fo}" outfile="${outfile.pdf}"/>
- </target>
- <!-- =================================================================== -->
- <!-- Clean targets -->
- <!-- =================================================================== -->
- <target name="clean">
- <delete file="${allfiles.xml}"/>
- <delete file="${outfile.fo}"/>
- <delete file="${outfile.pdf}"/>
- </target>
-</project>
-<!-- End of file -->
<book title="FOP XSL-FO documentation" copyright="1999-2001 The Apache Software Foundation">
<external href="http://xml.apache.org/" label="Home"/>
<separator/>
- <page id="index" label="Readme" source="fop/readme.xml"/>
- <page id="todo" label="TODO" source="fop/todo.xml" />
+ <page id="index" label="About FOP" source="fop/readme.xml"/>
<page id="download" label="Download" source="fop/download.xml" />
<page id="running" label="Running FOP" source="fop/running.xml" />
+ <page id="embedding" label="Embedding" source="fop/embedding.xml" />
+ <page id="output" label="Ouput Formats" source="fop/output.xml" />
<page id="implemented" label="Features" source="fop/implemented.xml" />
+ <page id="todo" label="TODO" source="fop/todo.xml" />
<page id="limitations" label="Limitations" source="fop/limitations.xml" />
<page id="examples" label="Examples" source="fop/examples.xml" />
- <page id="config" label="Configuration" source="fop/configuration.xml" />
- <page id="fonts" label="Fonts" source="fop/fonts.xml" />
- <page id="extensions" label="Extensions" source="fop/extensions.xml" />
+ <separator/>
<page id="svg" label="SVG" source="fop/svg.xml" />
+ <page id="extensions" label="Extensions" source="fop/extensions.xml" /> <page id="fonts" label="Fonts" source="fop/fonts.xml" />
+ <page id="config" label="Configuration" source="fop/configuration.xml" />
<separator/>
+ <external href="design/index.html" label="NEW DESIGN" />
+ <page id="involved" label="Getting involved" source="fop/involved.xml" />
<page id="compiling" label="Compiling" source="fop/compiling.xml" />
- <page id="embedding" label="Embedding" source="fop/embedding.xml" />
<page id="testing" label="Testing" source="fop/testing.xml" />
- <page id="involved" label="Getting involved" source="fop/involved.xml" />
- <page id="architecture" label="Architecture" source="fop/architecture.xml"/>
<separator/>
+ <page id="relnotes" label="Release Notes" source="fop/relnotes.xml" />
+ <separator/>
+ <faqs id="faq" label="FAQ" source="fop/faq.xml"/>
<page id="bugs" label="Bugs" source="fop/bugs.xml" />
- <page id="faq" label="FAQ" source="fop/faq.xml" />
<page id="resources" label="Resources" source="fop/resources.xml" />
<page id="license" label="License" source="fop/license.xml" />
+++ /dev/null
-<?xml version="1.0" standalone="no"?>
-
-<!-- by Arved Sandstrom -->
-
-<s1 title="FOP Mechanics">
-
-<s2 title="Introduction">
-
-<p>
-The overall process is controlled by <em>org.apache.fop.apps.Driver</em>. In
-this class, a typical sequence is:</p>
-
-<source>Driver driver = new Driver();<br/>
-driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);<br/>
-driver.setOutputStream(new FileOutputStream(args[1]));<br/>
-driver.render(parser, inputHandler.getInputSource());</source>
-</s2>
-
-<s2 title="Formatting Object Tree">
-<p>The class <em>org.apache.fop.fo.FOTreeBuilder</em> is responsible for actually
-constructing the FO tree. The key SAX events used are </p>
-<p><code>startElement()</code>,</p>
-<p><code>endElement()</code> and <code>characters()</code>.</p>
-
-<p>All formatting objects derive from abstract class
-<em>org.apache.fop.fo.FONode</em>. The other FO classes inherit from
-<em>FONode</em> as follows:</p>
-
-<p><code>            FONode</code></p>
-<p><code>               |</code></p>
-<p><code>     __________|________</code></p>
-<p><code>    |                   |</code></p>
-<p><code>   FObj               FOText</code></p>
-<p><code>    |</code></p>
-<p><code>    |___________________</code></p>
-<p><code>    |                   |</code></p>
-<p><code>  FObjMixed      SequenceSpecifier
-</code></p>
-
-<p>FO's extending FObj:</p>
-
-<p>Package org.apache.fop.fo.pagination:</p>
-
-
-<p><code> LayoutMasterSet</code></p>
-<p><code> PageSequence</code></p>
-<p><code> RegionAfter</code></p>
-<p><code> RegionBefore</code></p>
-<p><code> RegionBody</code></p>
-<p><code> Root</code></p>
-<p><code> SequenceSpecification</code></p>
-<p><code> SimplePageMaster</code></p>
-
-
- <p>Package org.apache.fop.fo.flow:</p>
-
-
-<p><code>BlockContainer</code></p>
-<p><code>DisplayGraphic</code></p>
-<p><code>DisplayRule</code></p>
-<p><code>DisplaySequence</code></p>
-<p><code>Flow</code></p>
-<p><code>InlineGraphic</code></p>
-<p><code>ListBlock</code></p>
-<p><code>ListItem</code></p>
-<p><code>ListItemBody</code></p>
-<p><code>ListItemLabel</code></p>
-<p><code>PageNumber</code></p>
-<p><code>StaticContent</code></p>
-<p><code>Table</code></p>
-<p><code>TableBody</code></p>
-<p><code>TableCell</code></p>
-<p><code>TableColumn</code></p>
-<p><code>TableRow</code></p>
-
-<p>FO's extending SequenceSpecifier:</p>
-
- <p>Package org.apache.fop.fo.pagination:</p>
-
-
-<p><code>SequenceSpecifierAlternating</code></p>
-<p><code>SequenceSpecifierRepeating</code></p>
-<p><code>SequenceSpecifierSingle</code></p>
-
-<p>FO's extending FObjMixed:</p>
-
- <p>Package org.apache.fop.fo.flow:</p>
-
-
-<p><code>Block</code></p>
-<p><code>Inline</code></p>
-<p><code>BasicLink</code></p>
-
-</s2>
-
-<s2 title="FONode">
-<p>
-The class inheritance described above only describes the nature of the
-content. Every FO in FOP also has a parent, and a Vector of children. The
-parent attribute (in the Java sense), in particular, is used to enforce
-constraints required by the FO hierarchy.
-</p>
-
-<p>
-FONode, among other things, ensures that FO's have a parent, that they
-have children, that they maintain a marker of where the layout was up to
-(for FObj's it is the child number, and for FOText's it is the character
-number), and that they have a <code>layout()</code> method.
-</p>
-</s2>
-
-<s2 title="Making FO's">
-
-<p>
-Every FO class has code that looks something like this:
-</p>
-
-<p><code>public static class Maker extends FObj.Maker {</code></p>
-<p><code>   public FObj make(FObj parent, PropertyList propertyList)</code></p>
-<p><code>     throws FOPException</code></p>
-<p><code>   {</code></p>
-<p><code>     return new SimplePageMaster(parent, propertyList);</code></p>
-<p><code>   }</code></p>
-<p><code>}</code></p>
-
-
-<p>
-The class also has a static method that resembles
-</p>
-
-<p><code>public static FObj.Maker maker()</code></p>
-<p><code>   {</code></p>
-<p><code>     return new PageSequence.Maker();</code></p>
-<p><code>   }</code></p>
-
-<p>
-A hash 'fobjTable' exists in <em>FOTreeBuilder</em>, and maps the FO names (such as
-'fo:table') to object references to the appropriate factories
-(such as <em>Table.Maker</em>).
-</p>
-
-<p>
-Properties (recall that FO's have properties, areas have traits, and XML
-nodes have attributes) are also a concern of <em>FOTreeBuilder</em>. It
-accomplishes this by using a <em>PropertyListBuilder</em>. There is a
-separate <em>PropertyListBuilder</em> for each namespace encountered
-while building the FO tree. Each Builder object contains a hash of
-property names and <ref>their</ref> respective makers. It may also
-contain element-specific property maker hashes; these are based on the
-<em>local name</em> of the flow object, ie. <em>table-row</em>, not
-<em>fo:table-row</em>. If an element-specific property mapping exists,
-it is preferred to the generic mapping.</p>
-<p>The base class for all
-properties is <em>Property</em>, and all the property makers extend
-<em>Property.Maker</em>. A more complete discussion of the property
-architecture may be found in <jump href="properties.html">Properties</jump>.
-</p>
-</s2>
-<s2 title="FO Formatting">
-
-<p>
-<em>FOTreeBuilder</em> calls <code>format()</code> on the root FO, passing
-it the <em>AreaTree</em>
-reference. In turn, <em>Root</em> calls <code>format()</code> on each
-<em>PageSequence</em>, passing <ref>it</ref>
-the <em>AreaTree</em> reference.
-</p>
-
-<p>
-The <em>PageSequence</em> <code>format()</code> method does the following things:
-</p>
-
-<ol>
-<li>Makes a <em>Page</em>, using <em>PageMasterFactory</em> to produce a
-<em>PageMaster</em>, and
-using <code>makePage()</code> in the latter class. In the simplest picture,
-a <em>Page</em> has
-5 areas represented by <em>AreaContainers</em>;</li>
-
-<li>Handles layout for <em>StaticContent</em> objects in the 'before' and 'after'
-regions, if set. This uses the <code>layout()</code> method in
-<em>StaticContent</em>;</li>
-
-<li>If a page break is not forced, it will continue to layout the flow into
-the body area (<em>AreaContainer</em>) of the current page;</li>
-
-<li>It continues with (1) when layout into the current page is done, but
-the flow is not empty.</li>
-</ol>
-</s2>
-
-<s2 title="Area Layout">
-
-<p>
-FO's that represent actual areas, starting with <em>Flow</em> and
-<em>StaticContent</em>, have
-a <code>layout()</code> method, with the following signature:
-</p>
-
-<p>
-<code>
- public Status layout(Area area)
-</code>
-</p>
-
-<p>
-The fundamental role of the <code>layout()</code> method is to manage the layout of
-children and/or to generate new areas.
-</p>
-
-<p>
-<em>Example</em>: the <code>layout()</code> method for <em>Flow</em> generates no new areas - it manages the
-layout of the flow children.
-</p>
-
-<p>
-<em>Example</em>: the <code>layout()</code> method for <em>Block</em>
-generates a new <em>BlockArea</em> in and of
-itself, and also manages the layout of the block children, which are added
-to the <em>BlockArea</em> before that is itself added to its parent
-<em>Area</em>.
-</p>
-
-<p>
-<code>Layout()</code> methods are subject to the general constraint that possibly not
-all of their children can be accommodated, and they report back accordingly
-with an appropriate <em>Status</em>.
-</p>
-</s2>
-
-<s2 title="Rendering">
-
-<p>
-This is a separate process. The <code>render()</code> method in
-<em>Driver</em> is invoked (say,
-by <em>CommandLine</em>) with the laid-out <em>AreaTree</em> and a
-<em>PrintWriter</em> as arguments.
-This actually calls the <code>render()</code> method in a specific implementation of
-the <em>Renderer</em> interface, typically <em>PDFRenderer</em> or
-<em>AWTRenderer</em>.
-</p>
-
-<p>
-At the highest level <em>PDFRenderer</em>, for example, begins by rendering each
-<em>Page</em>. The <code>render()</code> method in <em>Page</em> (as is the case for other areas),
-invokes a particular method in the renderer of choice, e.g.
-<code>renderPage()</code>.
-<em>NOTE</em>: this system is bypassed for <em>Page</em>, incidentally.
-</p>
-
-</s2>
-
-
-<!-- by Art Welch -->
-<s2 title="Renderers">
- <s3 title="PrintRenderer">
- <p>The PrintRenderer is an abstract base class for print type renderers. Currently the PCL, PDF, and TXT renderers extend from this. This allows as much common functionality to be contained in one place as possible (at least as much as I could consolidate fairly quickly). Unfortunately I have not yet been able to make the renderPage and renderWordArea methods common. This is unfortunate because these methods seem to experience the most activity. Maybe soneone else will have a clever solution to this (without breaking them into a bunch of little bits).</p>
- <p>It is my hope that this base class will be useful for other renderers as well.</p>
- </s3>
-
- <s3 title="PCLRenderer">
- <p>The PCLRenderer is a FOP renderer that should produce output as close to identical as possible to the printed output of the PDFRenderer within the limitations of the renderer, and output device.</p>
-
- <p>The output created by the PCLRenderer is generic PCL 5 as documented in the "HP PCL 5 Printer Language Technical Reference Manual" (copyright 1990). This should allow any device fully supporting PCL 5 to be able to print the output generated by the PCLRenderer.</p>
-
- <s4 title="Limitations">
- <ul>
- <li>Text or graphics outside the left or top of the printable area are not rendered properly. In general things that should print to the left of the printable area are shifted to the right so that they start at the left edge of the printable area and an error message is generated.</li>
- <li>The Helvetica and Times fonts are not well supported among PCL printers so Helvetica is mapped to Arial and Times is mapped to Times New. This is done in the PCLRenderer, no changes are required in the FO's. The metrics and appearance for Helvetica/Arial and Times/Times New are nearly identical, so this has not been a problem so far.</li>
- <li>Only the original fonts built into FOP are supported.</li>
- <li>For the non-symbol fonts, the ISO 8859/1 symbol set is used (PCL set "0N").</li>
- <li>Multibyte characters are not supported.</li>
- <li>SVG support is limited. Currently only lines, rectangles (may be rounded), circles, ellipses, text, simple paths, and images are supported. Colors are supported (dithered black and white) but not gradients.</li>
- <li>Images print black and white only (not dithered). When the renderer prints a color image it uses a threshold value, colors above the threshold are printed as white and below are black. If you need to print a non-monochrome image you should dither it first.</li>
- <li>Image scaling is accomplished by modifying the effective resolution of the image data. The available resolutions are 75, 100, 150, 300, and 600 DPI.</li>
- <li>Color printing is not supported. Colors are rendered by mapping the color intensity to one of the PCL fill shades (from white to black in 9 steps).</li>
- <li>SVG clipping is not supported.</li>
- </ul>
- </s4>
-
- <s4 title="Additional Features">
- <p>There are some special features that are controlled by some public variables on the PCLRenderer class.</p>
-
- <dl>
- <dt>orientation</dt>
- <dd><p>The logical page orientation is controlled by the public orientation variable. Legal values are:</p>
- <ul>
- <li>0 Portrait</li>
- <li>1 Landscape</li>
- <li>2 Reverse Portrait</li>
- <li>3 Reverse Landscape</li>
- </ul>
- </dd>
- <dt>curdiv, paperheight</dt>
- <dd>The curdiv and paperheight variables allow multiple virtual pages to be printed on a piece of paper. This allows a standard laser printer to use perforated paper where every perforation will represent an individual page. The paperheight sets the height of a piece of paper in decipoints. This will be divided by the page.getHeight() to determine the number of equal sized divisions (pages) that will fit on the paper. The curdiv variable may be read/written to get/set the current division on the page (to set the starting division and read the ending division for multiple invocations).</dd>
- <dt>topmargin, leftmargin</dt>
- <dd>The topmargin and leftmargin may be used to increase the top and left margins for printing.</dd>
- </dl>
- </s4>
- </s3>
-
- <s3 title="TXTRenderer">
- <p>The TXTRenderer is a FOP renderer that produces plain ASCII text output that attempts to match the output of the PDFRenderer as closely as possible. This was originally developed to accommodate an archive system that could only accept plain text files. Of course when limited to plain fixed pitch text the output does not always look very good.</p>
- <p>The TXTRenderer works with a fixed size page buffer. The size of this buffer is controlled with the textCPI and textLPI public variables. The textCPI is the effective horizontal characters per inch to use. The textLPI is the vertical lines per inch to use. From these values and the page width and height the size of the buffer is calculated. The formatting objects to be rendered are then mapped to this grid. Graphic elements (lines, borders, etc) are assigned a lower priority than text, so text will overwrite any graphic element representations.</p>
- </s3>
-</s2>
-
-
-<s2 title="UML Diagrams">
-<p>
-You can find UML diagramms for all Fop packages (latest release version)
-<jump href="http://xml.apache.org/dist/fop/fop-uml.zip">here</jump>.</p>
-</s2>
-
-<s2 title="SVG">
-
-<p>
-FOP supports svg rendering. SVG is supported as an instream-foreign-object
-embedded in an FO document or as an external SVG image.
-</p>
-
-<p>
-If the svg is embedded in an instream-foreign-object then all the elements and
-attributes are read directly and converted into an SVG DOM representation
-using the Batik library. This is then stored as a DOM until required for rendering.
-The rendering process depends on the what type of renderer is being used.
-</p>
-
-<p>
-The SVG DOM is rendered in the PDF renderer by using the abitlity of Batik to render
-DOM to a Graphics2D. First the DOM is converted into an intermediate representation
-then this is rendered to a PDFGraphics2D graphic object which writes the drawing
-instructions directly as PDF markup.
-</p>
-
-<p>
-The AWTRenderer and the PrintRenderer use Batik directly to draw the SVG image
-into the current java Graphics2D context.
-</p>
-
-<p>
-For more information see the SVG documentation.
-</p>
-</s2>
-</s1>
<?xml version="1.0" standalone="no"?>
+<document>
+ <header>
+ <title>Configuration</title>
+ <subtitle>Configurating FOP</subtitle>
+ <authors>
+ </authors>
+ </header>
+ <body>
<s1 title="Configuration">
<s2 title="How to configure Fop">
<p>In the directory xml-fop/conf you will find two configuration files. One of them,
to the hyphenation.dtd in the sub directory /hyph
</p>
<p>2. name this new file following this schema: languageCode_countryCode.xml. If you don't need
- a country code, leave it away, p.e. the file name for an American english hyphenation pattern
+ a country code, leave it out, e.g the file name for an American english hyphenation pattern
would look like this: en_US.xml. For an Italian file: it.xml. Language and country codes must be
the same as in xsl:fo, that is follow
<jump href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt">ISO 639</jump>
</p>
</s2>
</s1>
+ </body>
+</document>
<!-- Download FOP -->
+<document>
+ <header>
+ <title>Download</title>
+ <subtitle>Downloading FOP</subtitle>
+ <authors>
+ </authors>
+ </header>
+ <body>
<s1 title="Downloading FOP">
- <s2 title="">
<p>You can download the latest release version from the <jump
href="http://xml.apache.org/dist/fop/">distribution directory</jump>. </p>
<p>The file contains also the documentation (including some example fo files) and the source. </p>
interested in embedding FOP in a Java application of your own, see
<jump href="embedding.html">Embedding FOP</jump>.
</p>
- </s2>
</s1>
+ </body>
+</document>
<!-- Embedding FOP -->
+<document>
+ <header>
+ <title>Embedding FOP</title>
+ <subtitle>Notes about embedding FOP in your Java application</subtitle>
+ <authors>
+ </authors>
+ </header>
+ <body>
<s1 title="Embedding FOP ">
<s2 title="Overview">
<p>Instantiate org.apache.fop.apps.Driver. Once this class is
invocation of the method is either render(Document) or
render(Parser, InputSource) respectively.
</p>
- <p>A third possibility may be used to build the FO Tree, namely
- calling getContentHandler() and firing the SAX events yourself.
+ <p>
+ <strong>Another possibility may be used to build the FO Tree. You can
+ call getContentHandler() and fire the SAX events yourself.
+ </strong>
</p>
<p>Once the FO Tree is built, the format() and render() methods may be
called in that order.
driver.setOutputStream(new FileOutputStream(outFile));
driver.render(parser, inputHandler.getInputSource());]]></source>
<p>Have a look at the classes CommandLineStarter or FopServlet for complete examples.</p>
+<p>
+<note>If your FO files contain SVG then batik will be used. When batik is
+initialised it uses certain classes in <code>java.awt</code> that
+intialises the java AWT classes. This means that a daemon thread
+is created by the jvm and on unix it will need to connect to a
+DISPLAY.
+The thread means that the java application will not automatically quit
+when finished, you will need to call <code>System.exit</code>. These
+issues should be fixed in the upcoming JDK1.4</note>
+</p>
</s2>
<s2 title="Hints">
<p>
</p>
</s2>
<s2 title="Using Fop in a servlet">
- <p>In the directory xml-fop/docs/examples/embedding you can find a working example how to use
- Fop in a servlet. You can drop the fop.war into the webapps directory of Tomcat, then
- go to a URL like this:
+ <p>
+In the directory xml-fop/docs/examples/embedding you can find a working
+example how to use Fop in a servlet. You can drop the fop.war into the
+webapps directory of Tomcat, then go to a URL like this:
</p>
<p>http://localhost:8080/fop/fop?fo=/home/path/to/fofile.fo</p>
+ <p>http://localhost:8080/fop/fop?xml=/home/path/to/xmlfile.xml&xsl=/home/path/to/xslfile.xsl</p>
<p>You can also find the source code there in the file FopServlet.java</p>
<p>
To compile this code you will need servlet_2_2.jar (or compatible), fop.jar and the sax api in your classpath.
</p>
+ <note><p>
+ Some browsers have problems handling the PDF result sent back to
+ the browser. IE is particularly bad and different versions behave
+ differently. Having a ".pdf" on the end of the url may help.
+ </p></note>
</s2>
</s1>
-
+ </body>
+</document>
<?xml version="1.0"?>
-
-
-<s1 title="Frequently Asked Questions">
- <s2 title="Introduction">
+<!DOCTYPE faqs SYSTEM "../dtd/faq-v10.dtd">
+<faqs title="Frequently Asked Questions">
+<faq>
+ <question>About the FAQ</question>
+ <answer>
<p>
Here we have some answers to common questions about FOP. This only covers
general information about getting started with FOP and pointers to more
The site uses Jyve to provide an interactive FAQ:
<jump href="http://www.owal.co.uk:8090/asf/servlet/asf/screen/DisplayTopics/action/SetAll/project_id/18/faq_id/276">http://www.OWAL.co.uk:8090/</jump>
</p>
- </s2>
- <s2 title="Questions">
- <ul>
- <li><jump href="#q1">What is FOP?</jump></li>
- <li><jump href="#q2">How does FOP interact with other Apache Projects?</jump></li>
- <li><jump href="#q3">What is XSL (FO)?</jump></li>
- <li><jump href="#q4">What can I do with FOP?</jump></li>
- <li><jump href="#q5">How can I contribute?</jump></li>
- <li><jump href="#q6">How do I author XSL documents?</jump></li>
- <li><jump href="#q7">How can I see a demo?</jump></li>
- </ul>
- </s2>
- <s2 title="Answers">
- <s3 title="What is FOP">
-<anchor name="q1"></anchor>
+ </answer>
+</faq>
+<faq>
+ <question>What is FOP?</question>
+ <answer>
<p>
FOP is a print formatter for XSL formatting objects.
</p>
into a page layout. The main target is PDF but other rendering targets
are supported, such as AWT, PCL, text and direct printing.
</p>
- </s3>
- <s3 title="How does FOP interact with other Apache Projects?">
-<anchor name="q2"></anchor>
+ </answer>
+</faq>
+<faq>
+ <question>How does FOP interact with other Apache Projects?</question>
+ <answer>
<p>
FOP is distributed with <jump href="http://xml.apache.org/cocoon">Cocoon</jump> as a PDF serializer for XSL (FO) documents.
</p>
<jump href="http://xml.apache.org/batik">Batik</jump> can be used with FOP to <jump href="http://xml.apache.org/batik/svgrasterizer.html">transcode an SVG image</jump> into a PDF document.
The mime type for PDF is "application/pdf".
</p>
- </s3>
- <s3 title="What is XSL (FO)">
-<anchor name="q3"></anchor>
+ </answer>
+</faq>
+
+<faq>
+ <question>What is XSL (FO)?</question>
+ <answer>
+ <p>
+XSL is an XML format that is used to specify a pagination and other
+styling for page layout output. XSL can be used in conjunction with
+XSLT to convert from any XML format into a paginated layout ready for
+printing or displaying.
+ </p>
+ <p>
+XSL defines a set of formatting objects in xml that describes the
+way pages are set up. The contents of the pages are filled from
+flows which. There can be static flows that appear on every page
+and the main flow which fills the body of the page.
+ </p>
+ </answer>
+</faq>
+
+<faq>
+ <question>What can I do with FOP?</question>
+ <answer>
+ <p>
+FOP is an application or library that converts an XSL FO document
+into the paginated output. It is possible to render the output
+to different targets, the main target is PDF. FOP can be run from
+the command line or embedded into your Java application.
+ </p>
<p>
+The XSL FO can be delivered to FOP with XML(XSL FO), XML+XSL or
+SAX events.
</p>
- </s3>
- <s3 title="What can I do with FOP">
-<anchor name="q4"></anchor>
+ </answer>
+</faq>
+
+<faq>
+ <question>How can I contribute?</question>
+ <answer>
<p>
+There is always plenty of things to do.
</p>
- </s3>
- <s3 title="How can I contribute">
-<anchor name="q5"></anchor>
+ </answer>
+</faq>
+
+<faq>
+ <question>How do I author XSL documents?</question>
+ <answer>
<p>
+Often XSL FO is created from XML and XSLT. There are some
+standard XML markups such as Docbook that can be converted
+into XSL FO and other XML formats.
</p>
- </s3>
- <s3 title="How do I author XSL documents">
-<anchor name="q6"></anchor>
<p>
+There are some XSL authoring tools that may help you to
+author XSL FO documents or the XML and XSLT documents.
</p>
- </s3>
- <s3 title="How can I see a demo">
-<anchor name="q7"></anchor>
+ </answer>
+</faq>
+
+<faq>
+ <question>How can I insert special character "X"?</question>
+ <answer>
+ <p>
+All the characters you need are available at
+<jump href="http://www.unicode.org/charts/">http://www.unicode.org/charts/</jump>.
+If you need a character it will be there. Once you have found the hex
+or decimal code for the character then you can use this in you xml
+document. It will be in the form &#<decimal value>; or
+&#x<hex value>;.
+ </p>
+ <p>
+You must have a font that supports the character you need otherwise
+it will replace it with a "#" in the output.
+ </p>
+ </answer>
+</faq>
+
+<faq>
+ <question>How can I see a demo?</question>
+ <answer>
<p>
There will be a Java Webstart demo sometime in the future.
+This will use the AWT viewer to display FO documents.
</p>
- </s3>
- </s2>
+ </answer>
+</faq>
-</s1>
+</faqs>
<p>Font support in FOP can be extended by the addition of font metric files (written in XML) created from Adobe
Type 1 fonts and Truetype fonts. No other font types (Type 3, etc.) are supported at this time.
</p>
+ <note><p>
+ The Font is simply embedded into the PDF file, it is not converted.
+ </p></note>
</s2>
<s2 title="Adding additional Type 1 fonts">
<p>As mentioned above you need an XML file containing font metrics to be able to use an additional font. FOP
<s3 title="Generating a font metrics file">
<p> Run the class org.apache.fop.fonts.apps.PFMReader to generate the XML file.
</p>
- <p>
- <code>java -cp fop.jar;xerces.jar;xalan.jar;batik.jar</code>
+ <p>Windows:</p>
+ <p>
+ <code>java -cp build\fop.jar;lib\xerces.jar;lib\xalan.jar;lib\batik.jar
+ org.apache.fop.fonts.apps.PFMReader pfm-file xml-file</code>
</p>
+ <p>Unix:</p>
<p>
- <code>org.apache.fop.fonts.apps.PFMReader pfm-file xml-file</code>
+ <code>java -cp build/fop.jar:lib/xerces.jar:lib/xalan.jar:lib/batik.jar
+ org.apache.fop.fonts.apps.PFMReader pfm-file xml-file</code>
</p>
- <p>Note: The tool will construct some values (FontBBox, StemV and ItalicAngle) based on assumptions and
+ <note><p>The tool will construct some values (FontBBox, StemV and ItalicAngle) based on assumptions and
calculations which are only an approximation to the real values. FontBBox and Italic Angle can be found in
the human-readable part of the PFB file. The PFMReader tool does not yet interpret PFB files, so if you want
to be correct, you may have to adjust the values in the XML file manually. The constructed values however
appear to have no visible influence.
- </p>
+ </p></note>
</s3>
<s3 title="Register the fonts within FOP">
<p>
ie:
</p>
<p>
- <code>
-<font metrics-file="cyberbit.xml" kerning="yes" embed-file="C:\WINNT\Fonts\Cyberbit.ttf">
- <font-triplet name="Cyberbit" style="normal" weight="normal">
-</font>
-</code>
+ <source><![CDATA[
+<font metrics-file="cyberbit.xml" kerning="yes" embed-file="C:\WINNT\Fonts\Cyberbit.ttf">
+ <font-triplet name="Cyberbit" style="normal" weight="normal">
+</font>]]>
+</source>
</p>
+ <note><p>
+ If you do not want the font embedded in the PDF then remove the
+ "embed-file" attribute. The PDF will then contain text using
+ the font with the font metrics and to view it properly the
+ font will need to be installed where it is being viewed.
+ </p></note>
+ <note><p>
+ Cocoon users will need to setup the config, see FOPSerializer
+ for more information.
+ </p></note>
</s3>
</s2>
<s2 title="Adding additional TrueType">
<s1 title="Features">
<s2 title="What's Implemented?">
- <p>The following formatting objects and properties of the xsl-fo
- candidate recommendation are implemented.Please have also a look at the
+ <p>The following formatting objects and properties of the XSL-FO 1.0
+ W3C Recommandation are implemented.Please have also a look at the
section on <jump href="limitations.html">limitations</jump>
</p>
</s2>
<s3 title="B.2 Block Formatting Objects">
<ul>
<li>block </li>
+ <li>block-container (limited)</li>
</ul>
- <p>Not implemented: block-container</p>
</s3>
<s3 title="B.3 Inline Formatting Objects">
<s3 title="B.8 Other Formatting Objects">
<ul>
<li>wrapper</li>
+ <li>marker, retrieve marker</li>
</ul>
- <p>Not implemented: marker, retrieve-marker</p>
</s3>
</s2>
-
-border and padding shorthand properties
-
<s2 title="2) Properties">
<p>Property values can be computed. Compound properties are also understood by Fop.</p>
<ul>
<li>margin-right (only on pages and regions) </li>
<li>margin-top (only on pages and regions) </li>
<li>master-name </li>
+ <li>master-reference </li>
<li>maximum-repeats</li>
<li>number-columns-spanned</li>
<li>odd-or-even</li>
<?xml version="1.0" standalone="no"?>
-
-
<!-- getting involved -->
+<document>
+ <header>
+ <title>Getting Involved</title>
+ <subtitle>How to Get Involved in FOP</subtitle>
+ <authors>
+ </authors>
+ </header>
+
+ <body>
<s1 title="Getting involved">
-<!-- <p>Our main website <jump href="http://xml.apache.org/overview.html">xml.apache.org</jump>
- has a detailed description how to get involved. </p> The following is just a brief outline
- containing the addresses concerning Fop.</p>-->
- <s2 title="Read the Status file">
- <p>The Status file contains the list of features people are working on at the moment.
- And an outline what steps are next.</p>
+ <p>
+There are many different levels where people can get involved. The
+development of FOP and the related plans and tasks are discussed on
+the dev mailing list. Users can help or get issues resolved by
+contributing information and examples to the developers.
+</p>
+
+ <s2 title="Get familiar with the Fop related standards">
+ <p>
+At the moment Fop is mainly a tool to render XSL:FO files to pdf.
+Therefore if you want to contribute to Fop you should become
+familiar with these standards. You can find links under
+<jump href="resources.html">Resources</jump>.
+</p>
+ </s2>
+ <s2 title="Fop's Design">
+ <p>
+The design for FOP is specified under the
+<jump href="design/index.html">Design</jump> section.
+ </p>
+ <p>
+This is where the information on how FOP is developed and designed
+internally will be kept.
+ </p>
</s2>
- <s2 title="Subscribe to the fop discussion list">
+
+ <s2 title="Subscribe to the fop developers list">
<p>You can subscribe to fop-dev@xml.apache.org by sending an email
to <jump href="mailto:fop-dev-subscribe@xml.apache.org">fop-dev-subscribe@xml.apache.org</jump></p>
<p>Sending bug reports and feature requests to the list is a welcome and important contribution to
Fop source repository can be found at <jump href="http://xml.apache.org/cvs.html">http://xml.apache.org/cvs.html</jump>.
An introduction into cvs and the cvs manual can be found in the
<jump href="http://xml.apache.org/library.html">reference library</jump>.</p>
- <p>All changes to the code repository are annonced in a special discussion group. You can subscribe
+ <p>All changes to the code repository are sent to a special mailing list. After a cvs commit the diffs are automatically sent to this list. You can subscribe
to fop-cvs@xml.apache.org by sending an email to <jump href="mailto:fop-cvs-subscribe@xml.apache.org">
fop-cvs-subscribe@xml.apache.org</jump>. If you want to contribute to the development of Fop you should subscribe,
because it is important that you follow changes being made. </p>
<p>If you want to contribute code (p.e. a bugfix), a test or documentation (p.e. an additional example), please do the following: </p>
<p>1) Make sure your code doesn't break the existing one and that Fop still compiles.</p>
<p>2) Create a file which shows the differences to the existing code.</p>
- <p>3) Send this file to <jump href="mailto:fop-dev@xml.apache.org">fop-dev@xml.apache.org.</jump></p>
+ <p>3) Send this file as an <strong>Attachment</strong> to <jump href="mailto:fop-dev@xml.apache.org">fop-dev@xml.apache.org.</jump></p>
<p>One of the committers will test your code and commit it to the code repository.</p>
<p>If you have a test or useful bug test you should <jump href="testing.html">read this page</jump>.</p>
<p>BTW: The Apache project knows different roles for contributors, namely 'users', 'developers', 'committers' and the 'Project
Management Committee' (An explanation of these roles can be found <jump href="http://xml.apache.org/roles.html">here</jump>).</p>
</s2>
- <s2 title="Get familiar with the Fop related standards">
- <p>At the moment Fop is mainly a tool to render XSL:FO files to pdf. Therefore if you want to contribute to Fop you should become
- familiar with these standards. You can find their internet addresses on our <jump href="specs.html">website</jump>.</p>
- </s2>
- <s2 title="Fop's architecture">
- <p>A bird's eye view on the way Fop operates can be found in the document <jump href="architecture.html">FOP Mechanics</jump></p>
- <p>If you want to extend the functionality of FOP by adding new formatting objects, you should do the following: </p>
- <p>1. FO Object: Write a class which contains the description of your formatting object and put it into the package fop.fo.flow, fop.fo.pagination (if it is a property it goes to fop.fo.properties. The classes in this package are generated via an xslt stylesheet located in codegen/properties.xml)</p>
- <p>2. Element Mapping: Add it to the list in fop.fo.StandardElementMapping (if it is a property you need to add it to fop.fo.PropertyListBuilder)</p>
- <p>3. Area: Either your need can be fulfilled within one of the existing classes in fop.layout, then just add the code to handle the new fo/property or you must write a new one.</p>
- <p>4. Renderer: Choose the renderer you are interested in. If you worked on an existing layout class you must add code to handle the new features to the already existing area specific method in the renderer class. Otherwise you have to add a new method. </p>
+
+ <s2 title="Coding Conventions">
+ <p>As mentioned in <jump href="http://xml.apache.org/source.html">Apache XML Project Guidelines</jump>,
+ <em>all Java Language source code in the repository must be written in conformance to the
+ <jump href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Code Conventions
+ for the Java Programming Language</jump> as published by Sun</em>. Additionally we agreed on 4
+ spaces (no tabs) for indenting.</p>
+ <p>If you don't like those conventions, just use your own standards while developing and reformat the source before
+ committing with a tool like <jump href="http://astyle.sourceforge.net/">astyle</jump> (Artistic Style).
+ </p>
</s2>
+
</s1>
+ </body>
+</document>
+
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+
+
+<!-- Output Formats: Renderers -->
+<document>
+ <header>
+ <title>Output</title>
+ <subtitle>Notes about Output Formats: Renderers</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ <person name="Art Welch"/>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="Output Formats">
+ <p>
+FOP supports a number of different output formats. This is achieved by
+using different renderers that create the output.
+ </p>
+ <p>
+Here we will explain some information for uses to be able to understand
+what the renderers are doing and what difference there may be between
+different renderers.
+ </p>
+<s2 title="Common Information">
+ <p>
+Each renderer is given an area tree to render to its output format.
+The area tree is simply a representation of the pages and the placement
+of text and graphical objects on those pages.
+ </p>
+ <p>
+The renderer will be given each page as it is ready and an output stream
+to write the data out. The renderer is responsible for managing the
+output format and associated data and flow.
+ </p>
+ <p>
+Fonts and Layout - some formats (eg. PDF and AWT) rely on different
+font information. The fonts for these outputs have different sizes
+for the same point size. This means that the layout can be quite
+different for the same fo document.
+ </p>
+ <p>
+DPI - This is an important issue when creating output for printing.
+The dpi is used to convert measurements into points. For example 1in
+= 2.54cm = 72 points. It is also used when determining the size of
+images and the rendering of certain graphics in the output. Currently
+FOP uses a value of 72dpi.
+ </p>
+ <p>
+You may want to send your output directly to a printer. The Print
+renderer uses the java api to print the document or you might be
+able to send the output stream directly to a printer. If your printer
+supports postscript you could send the postscript to the printer. If
+you have a printer that supports PCL you could stream the PCL document
+to your printer.
+ </p>
+</s2>
+<s2 title="PDF">
+ <p>
+PDF is the best supported output format. It is also the most accurate
+with text and layout. This creates a PDF document that is streamed out
+as each page is rendered. This means that the internal page index
+information is stored near the end of the document.
+The PDF version supported is 1.3 which is currently the most popular
+version for Acrobat Reader (4.0), PDF versions are forwards/backwards
+compatible.
+ </p>
+</s2>
+<s2 title="PCL">
+ <p>
+This format is for the Hewlett-Packard PCL printers.
+It should produce output as close to identical as possible to the
+printed output of the PDFRenderer within the limitations of the
+renderer, and output device.
+ </p>
+ <p>
+The output created by the PCLRenderer is generic PCL 5 as documented
+in the "HP PCL 5 Printer Language Technical Reference Manual" (copyright 1990).
+This should allow any device fully supporting PCL 5 to be able to
+print the output generated by the PCLRenderer.
+ </p>
+ <s3 title="Limitations">
+ <ul>
+ <li>Text or graphics outside the left or top of the printable area are not rendered properly. In general things that should print to the left of the printable area are shifted to the right so that they start at the left edge of the printable area and an error message is generated.</li>
+ <li>The Helvetica and Times fonts are not well supported among PCL printers so Helvetica is mapped to Arial and Times is mapped to Times New. This is done in the PCLRenderer, no changes are required in the FO's. The metrics and appearance for Helvetica/Arial and Times/Times New are nearly identical, so this has not been a problem so far.</li>
+ <li>Only the original fonts built into FOP are supported.</li>
+ <li>For the non-symbol fonts, the ISO 8859/1 symbol set is used (PCL set "0N").</li>
+ <li>Multibyte characters are not supported.</li>
+ <li>SVG support is limited. Currently only lines, rectangles (may be rounded), circles, ellipses, text, simple paths, and images are supported. Colors are supported (dithered black and white) but not gradients.</li>
+ <li>Images print black and white only (not dithered). When the renderer prints a color image it uses a threshold value, colors above the threshold are printed as white and below are black. If you need to print a non-monochrome image you should dither it first.</li>
+ <li>Image scaling is accomplished by modifying the effective resolution of the image data. The available resolutions are 75, 100, 150, 300, and 600 DPI.</li>
+ <li>Color printing is not supported. Colors are rendered by mapping the color intensity to one of the PCL fill shades (from white to black in 9 steps).</li>
+ <li>SVG clipping is not supported.</li>
+ </ul>
+ </s3>
+
+ <s3 title="Additional Features">
+ <p>There are some special features that are controlled by some public variables on the PCLRenderer class.</p>
+
+ <dl>
+ <dt>orientation</dt>
+ <dd><p>The logical page orientation is controlled by the public orientation variable. Legal values are:</p>
+ <ul>
+ <li>0 Portrait</li>
+ <li>1 Landscape</li>
+ <li>2 Reverse Portrait</li>
+ <li>3 Reverse Landscape</li>
+ </ul>
+ </dd>
+ <dt>curdiv, paperheight</dt>
+ <dd>The curdiv and paperheight variables allow multiple virtual pages to be printed on a piece of paper. This allows a standard laser printer to use perforated paper where every perforation will represent an individual page. The paperheight sets the height of a piece of paper in decipoints. This will be divided by the page.getHeight() to determine the number of equal sized divisions (pages) that will fit on the paper. The curdiv variable may be read/written to get/set the current division on the page (to set the starting division and read the ending division for multiple invocations).</dd>
+ <dt>topmargin, leftmargin</dt>
+ <dd>The topmargin and leftmargin may be used to increase the top and left margins for printing.</dd>
+ </dl>
+ </s3>
+</s2>
+<s2 title="PS">
+ <p>
+The postscript format can be used to send to a printer or any other
+purpose you may have. It has good support for most text and
+layout. images and SVG are not fully supported due to some ps
+issues.
+ </p>
+</s2>
+<s2 title="RTF">
+ <p>
+This is currently not integrated with FOP but it will soon.
+This will create an rtf (rich text format) document that will
+attempt to contain as much information from the fo document as
+possible.
+ </p>
+</s2>
+<s2 title="SVG">
+ <p>
+This format creates an SVG document that has links between the pages.
+This is primarily for slides and creating svg images of pages.
+Large documents will create SVG files that are far too large for
+and SVG viewer to handle. Since fo documents usually have text the
+SVG document will have a large number of text elements.
+The font information for the text is obtained from the jvm in the
+same way as the AWT viewer, if the svg is view where the fonts are
+different, such as another platform, then the page will appear wrong.
+ </p>
+</s2>
+<s2 title="XML">
+ <p>
+This is for testing and verification. The XML created is simply
+a representation of the internal area tree put into XML. It does
+not perform any other purpose.
+ </p>
+</s2>
+<s2 title="Print">
+ <p>
+It is possible to directly print the document from the command line.
+This is done with the same code that renders to the AWT renderer.
+ </p>
+</s2>
+<s2 title="AWT">
+ <p>
+The AWT viewer shows a window with the pages displayed inside a
+java graphic. It displays one page at a time.
+The fonts used for the formatting and viewing depend on the fonts
+available to your JRE.
+ </p>
+</s2>
+<s2 title="MIF">
+ <p>
+This format is the Maker Interchange Format which is used by
+Adobe Framemaker. This is currently not fully implemented.
+ </p>
+</s2>
+<s2 title="TXT">
+ <p>
+Text as you could imagine does not work very well. It is an output format
+that you should expect bad results. The main purpose of this is to get
+a quick and dirty view of the document and the text inside it.
+ </p>
+ <p>
+The TXTRenderer is a FOP renderer that produces plain ASCII text output
+that attempts to match the output of the PDFRenderer as closely as
+possible. This was originally developed to accommodate an archive system
+that could only accept plain text files. Of course when limited to plain
+fixed pitch text the output does not always look very good.
+ </p>
+ <p>
+The TXTRenderer works with a fixed size page buffer. The size of this
+buffer is controlled with the textCPI and textLPI public variables.
+The textCPI is the effective horizontal characters per inch to use.
+The textLPI is the vertical lines per inch to use. From these values
+and the page width and height the size of the buffer is calculated.
+The formatting objects to be rendered are then mapped to this grid.
+Graphic elements (lines, borders, etc) are assigned a lower priority
+than text, so text will overwrite any graphic element representations.
+ </p>
+</s2>
+
+</s1>
+ </body>
+</document>
+
+++ /dev/null
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!-- $Id$ -->
-<!--
- Authors:
- Karen Lease
--->
-
-<!-- New properties.xml overview -->
-
-<s1 title="Properties">
- <s2 title="Property datatypes">
-<p>The property datatypes are defined in the
-org.apache.fop.datatypes package, except Number and String which are java
-primitives. The FOP datatypes are:</p>
-<ul>
-<li>Number</li>
-<li>String</li>
-<li>ColorType</li>
-<li>Length (has several subclasses)</li>
-<li>CondLength (compound)</li>
-<li>LengthRange (compound)</li>
-<li>Space (compound)</li>
-<li>Keep (compound)</li>
-</ul>
-<p>The <em>org.apache.fop.fo.Property</em> class is the superclass for all
-Property subclasses. There is a subclass for each kind of property
-datatype. These are named using the datatype name plus the word
-Property, resulting in NumberProperty, StringProperty, and so
-on. There is also a class EnumProperty which uses an <code>int</code>
-primitive to hold enumerated values. There is no corresponding Enum
-datatype class.</p>
-<p>The Property class provides a "wrapper" around any possible
-property value. Code manipulating property values (in layout for
-example) usually knows what kind (or kinds) of datatypes are
-acceptable for a given property and will use the appropriate accessor.</p>
-<p>The base Property class defines accessor methods for all FO property
-datatypes, such as getNumber(), getColorType(), getSpace(), getEnum(),
-etc. It doesn't define
-accessors for SVG types, since these are handled separately (at least
-for now.) In the base Property class, all of these methods return
-null, except getEnum which returns 0. Individual subclasses return a value of the appropriate type,
-such as Length or ColorType. A subclass may also choose to return a
-reasonable value for other accessor types. For example, a
-SpaceProperty will return the optimum value if asked for a Length.</p>
- </s2>
-
- <s2 title="Property Makers">
-<p>The Property class contains a nested class called
-<em>Maker</em>. This is the base class for all other property Makers. It
-provides basic framework functionality which is overridden by the
-code generated by properties.xsl from the *properties.xml files. In
-particular it provides basic expression evaluation, using
-PropertyParser class in the org.apache.fop.fo.expr package.</p>
-<p>Other Property subclasses such as LengthProperty define their own
-nested Maker classes (subclasses of Property.Maker). These handle
-conversion from the Property subclass returned from expression
-evaluation into the appropriate subclass for the property.</p>
-<p>For each generic or specific property definition in the
-properties.xml files, a new subclass of one of the Maker classes is
-created. Note that no new Property subclasses are created, only new
-PropertyMaker subclasses. Once the property value has been parsed and
-stored, it has no specific functionality. Only the Maker code is
-specific. Maker subclasses define such aspects as keyword
-substitutions, whether the property can be inherited or not, which
-enumerated values are legal, default values, corresponding properties
-and specific datatype conversions.</p>
-</s2>
- <s2 title="XML property specification format">
- <s3 title="Generic properties">
-<p>In the properties xml files, one can define generic property
-definitions which can serve as a basis for individual property
-definitions. There are currently several generic properties defined in
-foproperties.xml. An example is GenericColor, which defines basic properties
-for all ColorType properties. Since the generic specification doesn't include
-the inherited or default elements, these should be set in each property
-which is based on GenericColor. Here is an example:</p>
-<p>
-<code>
- <property type='generic'>
- <name>background-color</name>
- <use-generic>GenericColor</use-generic>
- <inherited>false</inherited>
- <default>transparent</default>
- </property>
-</code></p>
-<p>A generic property specification can include all of the elements
-defined for the property element in the DTD, including the description
-of components for compound properties, and the specification of
-keyword shorthands.</p>
-
-<p>Generic property specifications can be based on other generic
-specifications.
-An example is GenericCondPadding template which is based on the
-GenericCondLength definition but which extends it by adding an inherited
-element and a default value for the length component.</p>
-<p>
-Generic properties can specify enumerated values, as in the
-GenericBorderStyle template. This means that the list of values, which
-is used by 8 properties (the "absolute" and "writing-mode-relative"
-variants for each BorderStyle property) is only specified one time.</p>
-<p>
-When a property includes a "use-generic" element and includes no other
-elements (except the "name" element), then no class is generated for the
-property. Instead the generated mapping will associate this
-property directly with an instance of the generic Maker.</p>
-<p>
-A generic class may also be hand-coded, rather than generated from the
-properties file.
-Properties based on such a generic class are indicated by the
-attribute <code>ispropclass='true'</code> on the
-<em>use-generic</em> element.</p>
-<p> This is illustrated by the SVG properties, most of
-which use one of the Property subclasses defined in the
-<em>org.apache.fop.svg</em>
-package. Although all of these properties are now declared in
-svgproperties.xml, no specific classes are generated. Classes are only
-generated for those SVG properties which are not based on generic
-classes defined in svg.</p>
- </s3>
- <s3 title="Element-specific properties">
-<p>Properties may be defined for all flow objects or only for
-particular flow objects. A PropertyListBuilder object will always look
-first for a Property.Maker for the flow object before looking in the
-general list. These are specified in the
-<code>element-property-list</code> section of the properties.xml
-files. The <code>localname</code> element children of this element specify for
-which flow-object elements the property should be registered.</p>
-<p><em>NOTE</em>: All the properties for an object or set of objects
-must be specified in a single element-property-list element. If the
-same localname appears in several element lists, the later set of
-properties will hide the earlier ones! Use the <em>ref</em>
-functionality if the same property is to be used in different sets of
-element-specific mappings.
-</p>
- </s3>
- <s3 title="Reference properties">
- <p>A property element may have a type attribute with the value
- <code>ref</code>. The
- content of the <em>name</em> child element is the name of the referenced
- property (not its class-name!). This indicates that the property
- specification has
- already been given, either in this same specification file or in a
- different one (indicated by the <code>family</code> attribute). The
- value of the family attribute is <em>XX</em> where the file
- <em>XXproperties.xml</em> defines the referenced property. For
- example, some SVG objects may have properties defined for FO. Rather
- than defining them again with a new name, the SVG properties simply
- reference the defined FO properties. The generating mapping for the
- SVG properties will use the FO Maker classes.</p>
- </s3>
- <s3 title="Corresponding properties">
-<p>Some properties have both <em>absolute</em> and
-<em>writing-mode-relative</em> forms. In general, the absolute forms
-are equivalent to CSS properties, and the writing-mode-relative forms
-are based on DSSSL. FO files may use either or both forms. In
-FOP code, a request for an absolute form will retrieve that value if it
-was specified on the FO; otherwise the corresponding relative property
-will be used if it was specified. However, a request for a relative
-form will only use the specified relative value if the corresponding
-absolute value was <em>not</em> specified for that FO.
-</p>
-<p>Corresponding properties are specified in the properties.xml files
-using the element <code>corresponding</code>, which has at least one
-<code>propval</code> child and may have a <code>propexpr</code> child,
-if the corresponding
-value is calculated based on several other properties, as for
-<code>start-indent</code>.
-</p>
-<p><em>NOTE</em>: most current FOP code accesses the absolute variants
-of these properties, notably for padding, border, height and width
-attributes. However it does use start-indent and end-indent, rather
-than the "absolute" margin properties.
-</p>
-</s3>
- </s2>
-
- <s2 title="Mapping">
-<p>The XSL script <code>propmap.xsl</code> is used to generate
-property mappings based on
-both foproperties.xml and svgproperties.xml. The mapping classes
-in the main fop packages simply load these automatically generated
-mappings. The mapping code still uses the static
-"maker" function of the generated object to obtain a Maker
-object. However, for all generated classes, this method returns an
-instance of the class itself (which is a subclass of Property.Maker)
-and not an instance of a separate nested Maker class.</p>
-<p>For most SVG properties which use the SVG Property classes directly,
-the generated mapper code calls the "maker" method of the SVG Property
-class, which returns an instance of its nested Maker class.</p>
-<p>The property generation also handles element-specific property
-mappings as specified in the properties XML files.</p>
- </s2>
-
- <s2 title="Enumerated values">
-<p>For any property whose datatype is <code>Enum</code> or which
-contains possible enumerated values, FOP code may need to access
-enumeration constants. These are defined in the interfaces whose name
-is the same as the generated class name for the property,
-for example <code>BorderBeforeStyle.NONE</code>. These interface classes
-are generated by the XSL script <code>enumgen.xsl</code>. A separate
-interface defining the enumeration constants is always generated for
-every property which uses the constants, even if the constants
-themselves are defined in a generic class, as in BorderStyle.</p>
-<p>If a subproperty or component of a compound property has enumerated
-values, the constants are defined in a nested interface whose name is
-the name of the subproperty (using appropriate capitalization
-rules). For example,
-the keep properties may have values of AUTO or FORCE or an integer
-value. These are defined for each kind of keep property. For example,
-the keep-together property is a compound property with the components
-within-line, within-column and within-page. Since each component may
-have the values AUTO or FORCE, the KeepTogether interface defines
-three nested interfaces, one for each component, and each defines
-these two constants. An example of a reference in code to the constant
-is <code>KeepTogether.WithinPage.AUTO</code>.</p>
-
- </s2>
-
- <s2 title="Compound property types">
-<p>Some XSL FO properties are specified by compound datatypes. In the FO file,
-these are defined by a group of attributes, each having a name of the
-form <code>property.component</code>, for example
-<code>space-before.minimum</code>. These are several compound
-datatypes:</p>
-<ul>
-<li>LengthConditional, with components length and conditionality</li>
-<li>LengthRange, with components minimum, optimum, and maximum</li>
-<li>Space, with components minimum, optimum, maximum, precedence and
-conditionality </li>
-<li>Keep, with components within-line, within-column and within-page</li>
-</ul>
-<p>These are described in the properties.xml files using the element
-<code>compound</code> which has <code>subproperty</code> children. A subproperty element is much
-like a property element, although it may not have an <code>inherited</code> child
-element, as only a complete property object may be inherited.
-</p>
-<p>Specific datatype classes exist for each compound property. Each
-component of a compound datatype is itself stored as a Property
-object. Individual components may be accessed either by directly
-performing a get operation on the name, using the "dot" notation,
-eg. <code>get("space-before.optimum")</code>; or by using an accessor on the compound
-property, eg. <code>get("space-before").getOptimum()</code>.
-In either case,
-the result is a Property object, and the actual value may be accessed
-(in this example) by using the "getLength()" accessor.
-</p>
- </s2>
-</s1>
-
<body>
<s1 title="FOP">
<p>
- <figure src="title.jpg" alt="FOP Title" />
+ <figure width="300" height="100" src="title.jpg" alt="FOP Title" />
</p>
<p>FOP is the world's first print formatter driven by XSL formatting
- objects. It is a Java application that reads a formatting object
- tree and then renders the resulting pages to a specified output.
+ objects and the world's first output independent formatter. It is a
+ Java application that reads a formatting object tree and then
+ renders the resulting pages to a specified output. <jump href="output.html">Output formats</jump>
+ currently supported are PDF, PCL, PS, SVG, XML (area tree representation),
+ Print, AWT, MIF and TXT.
The primary output target is PDF.
</p>
<p>
- <figure src="document.jpg" alt="Render Diagram" />
+ <figure width="480" height="260" src="document.jpg" alt="Render Diagram" />
</p>
- <p>The latest version of Fop is 0.20.2 and it supports the xsl:fo candidate release.
+ <p>The latest version of Fop is 0.20.3 and it supports the
+ <jump href="http://www.w3.org/TR/2001/REC-xsl-20011015/">XSL-FO Version 1.0
+ W3C Recommendation</jump>.
You can <jump href="download.html">download</jump>
Fop including a precompiled version, the source code and many example files to
get you started. Pointers to introductions into xsl:fo can be found in the
</p>
<p>FOP is part of Apache's XML project. The homepage of FOP is
<jump href="http://xml.apache.org/fop">http://xml.apache.org/fop</jump>.
-Here you can find information about using and developing with FOP.
+ Here you can find information about using and developing with FOP.
</p>
+ <p>Users can subscribe to fop-user@xml.apache.org by sending an email
+ to <jump href="mailto:fop-user-subscribe@xml.apache.org">fop-user-subscribe@xml.apache.org</jump>
+ this is where user specific topics are discussed.
+ </p>
</s1>
<s1 title="Formatting">
<p>
- <figure src="layout.jpg" alt="Formatting Diagram" />
+ <figure width="480" height="260" src="layout.jpg" alt="Formatting Diagram" />
</p>
<p>
This image is a demonstration of a two page document. The xml data on the left
</s1>
<s1 title="FOP Objectives">
<p>The goals of the Apache XML FOP Project are to deliver an XSL FO->PDF formatter that is compliant to at least the Basic
- conformance level described in the W3C Candidate Recommendation 21 November 2000, and that complies with the 11 March 1999 Portable Document
+ conformance level described in the W3C Recommendation from 15 October 2001, and that complies with the 11 March 1999 Portable Document
Format Specification (Version 1.3) from Adobe Systems.
</p>
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+
+<!-- Overview -->
+
+<document>
+ <header>
+ <title>Release Notes</title>
+ <subtitle>Fop 0.20.3</subtitle>
+ <authors>
+ </authors>
+ </header>
+
+ <body>
+<s1 title="FOP 0.20.3">
+ <p>Important Information:
+ <ul>
+ <li>This version supports the
+ <jump href="http://www.w3.org/TR/2001/REC-xsl-20011015/">XSL-FO Version 1.0
+ W3C Recommendation</jump> syntax. So don't forget to update your
+ Stylesheets:
+ <p>Just rename the <code>master-name</code> property to <code>master-reference</code>
+ on <code>fo:page-sequence</code>, <code>fo:single-page-master-reference</code>,
+ <code>fo:repeatable-page-master-reference</code> and
+ <code>fo:conditional-page-master-reference</code>.</p></li>
+ <li>JDK 1.2 (or better) is required</li>
+ <li>Jimi has been removed for licensing reasons
+ <p>If you need PNG support you have to download
+ <jump href="http://java.sun.com/products/jimi/">Jimi</jump>,
+ copy it to lib/ and build FOP yourself</p></li>
+ <li>Building under JDK 1.4:
+ <p>You need to add a method in
+ <code>src/org/apache/fop/svg/PDFGraphics2D.java</code>
+ (search for jdk1.4 and remove the comments)
+ </p>
+ </li>
+ </ul>
+ </p>
+ </s1>
+
+ </body>
+</document>
+
<!-- FOP Relevant Specifications and links -->
+<document>
+ <header>
+ <title>Resources</title>
+ <subtitle>Resources useful for developing and using FOP</subtitle>
+ <authors>
+ </authors>
+ </header>
+
+ <body>
<s1 title="FOP Relevant Specifications and Links">
<s2 title="Specifications">
<ul>
- <li><jump href="http://www.w3.org/TR/2000/CR-xsl-20001121/">XSL-FO Candidate Recommendation (21 November 2000)</jump></li>
- <li><jump href="http://www.renderx.com/Tests/validator/fo2000.dtd.html">A dtd for the XSL-FO CR from November provided by N. Grigoriev from RenderX</jump></li>
- <li><jump href="http://www.w3.org/TR/2000/CR-SVG-20001102/">Supported SVG Candidate Recommendation (02 November 2000)</jump></li>
+ <li><jump href="http://www.w3.org/TR/2001/REC-xsl-20011015/">XSL-FO Recommendation (15 October 2001)</jump></li>
+ <li><jump href="http://www.renderx.com/Tests/validator/fo.dtd.html">A dtd for the XSL-FO Recommendation provided by N. Grigoriev from RenderX</jump></li>
+ <li><jump href="http://www.w3.org/TR/SVG/">Supported SVG Recommendation (04 September 2001)</jump></li>
<li><jump href="http://www.w3.org/TR/REC-xml">XML Recommendation</jump></li>
<li><jump href="http://www.w3.org/TR/xslt">XSLT Recommendation</jump></li>
<li><jump href="http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf">Portable Document Format (PDF) 1.3 Reference Manual </jump></li>
- <li><jump href="http://www.megginson.com/SAX/">Simple API for XML (SAX)</jump></li>
+ <li><jump href="http://sax.sourceforge.net/">Simple API for XML (SAX)</jump></li>
<li><jump href="http://www.w3.org/TR/REC-DOM-Level-1">Document Object Model (DOM)</jump></li>
<li><jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML Recommendation</jump></li>
- <li><jump href="http://java.sun.com/products/jdk/1.1/docs/index.html">Java JDK 1.1 Documentation</jump></li>
+ <li><jump href="http://java.sun.com/j2se/1.3/docs/api/index.html">Java JDK 1.3 Documentation</jump></li>
</ul>
</s2>
<s2 title="Tutorials/Articles">
<li><jump href="http://www.sun.com/software/xml/developers/slides-dtd/">Paul Sandoz: Using formatting objects with the slides dtd</jump></li>
<li><jump href="http://www.xml.com/pub/a/2001/01/17/xsl-fo/index.html">J. David Eisenberg: Using XSL Formatting Objects</jump></li>
<li><jump href="http://zvon.org/xxl/xslfoReference/Output/index.html">Miloslav Nic: XSL FO reference</jump></li>
+ <li><jump href="http://www.dpawson.co.uk/xsl/sect3/bk/index.html">Dave Pawson: An introduction to XSL Formatting Objects</jump></li>
</ul>
</s2>
<s2 title="Other resources">
<ul>
<li><jump href="http://xml.apache.org/mail/fop-dev/">Apache archive of fop-dev@apache.org</jump></li>
- <li><jump href="http://marc.theaimsgroup.com/">External, but easier to browse archive fop-dev@apache.org</jump></li>
+ <li>The Mailing list ARChives (MARC) at the AIMS group: <jump href="http://marc.theaimsgroup.com/?l=fop-dev&r=1&w=2">fop-dev</jump>,
+ <jump href="http://marc.theaimsgroup.com/?l=fop-user&r=1&w=2">fop-user</jump></li>(searchable)
<li>There is an xsl:fo mailing list: www-xsl-fo@w3.org. Subscription info can be found here: <jump href="http://www.w3.org/Mail/Request">
http://www.w3.org/Mail/Request</jump>. And the archive can be found here:
<jump href="http://lists.w3.org/Archives/Public/www-xsl-fo/">http://lists.w3.org/Archives/Public/www-xsl-fo/</jump></li>
</s2>
</s1>
+ </body>
+</document>
<jump href="http://xml.apache.org/xerces-j/index.html">Xerces-J</jump>.
(Xerces is the default xml parser)
</li>
- <li>An XSLT processor
+ <li>An XSLT processor (Xalan is included)
</li>
<li>The SVG library batik.jar is the library from the <jump href="http://xml.apache.org/batik/">batik project</jump> at xml.apache.org.
</li>
- <li>The imaging library Jimi from Sun
- </li>
</ul>
</p>
</s2>
<s2 title="Starting FOP as an standalone application">
- <p><code>Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-txt|-print] <outfile></code></p>
+ <p><code>Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-txt|-svg|-at|-print] <outfile></code></p>
<p>[OPTIONS]<br/>
<source>
-d debug mode<br/>
-mif outfile input will be rendered as mif file (outfile req'd)<br/>
-pcl outfile input will be rendered as pcl file (outfile req'd)<br/>
-txt outfile input will be rendered as text file (outfile req'd)<br/>
+ -svg outfile input will be rendered as an svg slides file (outfile req'd)
+ -at outfile representation of area tree as XML (outfile req'd)
-print input file will be rendered and sent to the printer<br/>
see options with "-print help"<br/></source>
</p>
<s2 title="Problems">
<p>If you have problems running FOP, please have a look at the
<jump href="http://www.owal.co.uk:8090/asf/servlet/asf/screen/DisplayTopics/action/SetAll/project_id/18/faq_id/276">FOP FAQ</jump>. If you don't find a solution there,
- you can ask for help on the list fop-dev@xml.apache.org. Maybe it is a bug and
- maybe somebody is already working on it.
+ you can ask for help on
+ <jump href="http://marc.theaimsgroup.com/?l=fop-user&r=1&w=2">fop-user@xml.apache.org</jump>
+ (see <jump href="http://xml.apache.org/mail.html">here</jump> for
+ howto subscribe). Maybe it is a bug and maybe somebody is already working on it.
</p>
</s2>
</s1>
<!-- SVG in FOP -->
+<document>
+ <header>
+ <title>SVG</title>
+ <subtitle>Embedding SVG in FOP</subtitle>
+ <authors>
+ </authors>
+ </header>
+
+ <body>
+
<s1 title="SVG in FOP">
<s2 title="Introduction">
<p>
For more information see <jump href="http://xml.apache.org/batik/">Batik</jump> for
how transcoders work.
</p>
+ </s2>
+
+ <s2 title="Important Notes">
+ <p>
+The svg is inserted into PDF by using PDF commands to draw and fill
+lines and curves. This means that the graphical objects created with
+this remain as vector graphics.
+ </p>
+ <p>
+There are a number of SVG things that cannot be converted directly into
+PDF. Parts of the graphic such as effects, patterns and images are inserted
+into the PDF as a raster graphic. The resolution of this graphic may not
+be ideal depending on the FOP dpi (72dpi) and the scaling for that graphic.
+This needs to be improved.
+ </p>
+ <p>
+Another important note is that text is converted and drawn as a
+set of shapes by batik. This means that a typical character will
+have about 10 curves (each curve consists of at least 20 characters).
+This can make the pdf files large and when the pdf is viewed the
+viewer does not normally draw those fine curves very well (turning on
+Smooth Line Art in the Acrobat preferences will fix this).
+If the text is inserted into the PDF using the inbuilt text commands
+for PDF it will use a single character.
+ </p>
+ <p>
+It is possible to make sure that all text is drawn into PDF using the
+PDF text commands by adding the following to the user config:
+<source><![CDATA[<entry>
+ <key>strokeSVGText</key>
+ <value>false</value>
+</entry>]]></source>
+ </p>
+ <p>
+The drawback from this is that all text will be confined to text that is
+possible for PDF fonts (including embedded fonts) and implemented with
+this workaround. The fonts available are the standard pdf fonts and any
+fonts that you have embedded using FOP. The font sizes will be rounded
+to an integer value. In future this will be improved.
+ </p>
+ <p>
+Currently transparency is not supported in PDF so many svg images that
+contain effects or graphics with transparent areas will not be displayed
+correctly.
+ </p>
+ </s2>
+ <s2 title="Classes">
<p>
These are the relevant classes, found in the package org.apache.fop.svg :
</p>
</li>
<li><em>PDFTranscoder</em>
<br/>
-used to transcode an svg document into a standalone pdf, via
+used by Batik to transcode an svg document into a standalone pdf, via
PDFDocumentGraphics2D.
</li>
</ul>
</s2>
-
</s1>
+ </body>
+</document>
<?xml version="1.0" standalone="no"?>
-<!-- SVG in FOP -->
+<!-- TODO -->
+<document>
+ <header>
+ <title>TODO</title>
+ <subtitle>TODO list for FOP</subtitle>
+ <authors>
+ </authors>
+ </header>
+
+ <body>
<s1 title="TODO List for FOP">
<s2 title="FOP TODO">
<s2 title="Core Features">
<s3 title="Layout">
<p>
-This is the crucial part to getting FOP to make it to the next step.
- </p>
-</s3>
-<s3 title="Webstart Demo">
- <p>
-a demo using Java Webstart that runs the awt viewer and supports
-linking from an index
- </p>
-</s3>
-<s3 title="Website">
- <p>
-Need to improve the website to better demonstrate what fop is and
-can do. Examples, screenshots, pdf documents.
+The design for the layout is being developed under the
+<jump href="design/index.html">Design</jump> section.
+The details should be discussed on the dev mailing list.
</p>
</s3>
<s3 title="Property Support">
with lists.
</p>
</s3>
-<s3 title="Validity Checking">
+<s3 title="Examples">
<p>
-Check the validity of children for a particular element to ensure
-there are no invalid children. Should help process the layout better.
+Better and more available examples for users and new people to get a
+feel for what FOP does.
</p>
</s3>
</s2>
<s2 title="Processing Improvements">
<s3 title="Image Handling">
<p>
-Needs to be a bit more solid.
+Needs to be a bit more solid. Images are not cached properly
+and image formats are not well documented.
Allow for direct insertion of jpeg images in svg into the pdf.
</p>
</s3>
<s3 title="Configuration">
<p>
-Support for avalon. Better multithread handling.
+A better configuration setup that users can easily integrate.
</p>
</s3>
<s3 title="More PDF Outputs">
Use proper i18n handling for awt viewer.
</p>
</s3>
-<s3 title="better abstraction of rendering classes">
- <p>
-put all common rendering processes into an abstract class that has
-no dependancies on any specific renderers.
- </p>
-</s3>
</s2>
<s2 title="Enhancements">
<s3 title="font handling">
</s1>
+ </body>
+</document>
+++ /dev/null
-@echo off
-REM creates pdf and html documentation
-
-
-echo Building Fop documentation (pdf,html)
-echo ----------------
-
-if "%JAVA_HOME%" == "" goto error
-
-set LIBDIR=..\..\lib
-set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip;%LIBDIR%\ant.jar;%LIBDIR%\batik.jar;%LIBDIR%\buildtools.jar;%LIBDIR%\xerces-1.2.3.jar;%LIBDIR%\xalan-1.2.2.jar;%LIBDIR%\bsf.jar;%LIBDIR%\avalon-framework-4.0.jar;%LIBDIR%\logkit-1.0b4.jar;%LIBDIR%\jimi-1.0.jar;%LIBDIR%\stylebook.jar;%LIBDIR%\..\build\fop.jar
-set ANT_HOME=%LIBDIR%
-
-
-%JAVA_HOME%\bin\java.exe -Dant.home=%ANT_HOME% -classpath %LOCALCLASSPATH%;%CLASSPATH% org.apache.tools.ant.Main %1 %2 %3 %4 %5
-
-
-%JAVA_HOME%\bin\java.exe -classpath %LOCALCLASSPATH%;%CLASSPATH% org.apache.stylebook.StyleBook "targetDirectory=../html-docs/" fop.xml style/
-
-goto end
-
-:error
-
-echo ERROR: JAVA_HOME not found in your environment.
-echo Please, set the JAVA_HOME variable in your environment to match the
-echo location of the Java Virtual Machine you want to use.
-
-:end
-
+++ /dev/null
-#!/bin/sh
-#This file should be executable
-
-
-echo
-echo "Converting Fop's xml documentation into a pdf file, creating html docs"
-echo "----------------"
-echo
-
-if [ "$JAVA_HOME" = "" ] ; then
- echo "ERROR: JAVA_HOME not found in your environment."
- echo
- echo "Please, set the JAVA_HOME variable in your environment to match the"
- echo "location of the Java Virtual Machine you want to use."
- exit 1
-fi
-
-LIBDIR=../../lib
-LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip:$LIBDIR/ant.jar:$LIBDIR/batik.jar:$LIBDIR/buildtools.jar:$LIBDIR/xerces-1.2.3.jar:$LIBDIR/xalan-2.0.0.jar:$LIBDIR/bsf.jar:$LIBDIR/avalon-framework-4.0.jar:$LIBDIR/logkit-1.0b4.jar:$LIBDIR/jimi-1.0.jar:$LIBDIR/stylebook.jar:$LIBDIR/../build/fop.jar
-ANT_HOME=$LIBDIR
-
-echo Building with classpath $LOCALCLASSPATH:$CLASSPATH
-echo
-
-echo Starting Ant...
-echo
-
-$JAVA_HOME/bin/java -Dant.home=$ANT_HOME -classpath "$LOCALCLASSPATH:$CLASSPATH" org.apache.tools.ant.Main $*
-
-
-$JAVA_HOME/bin/java -classpath "$LOCALCLASSPATH:$CLASSPATH" org.apache.stylebook.StyleBook "targetDirectory=../html-docs/" fop.xml skins/xml.apache.org/
The files in these directory contain the Fop documentation as xml files.
The directory xml-docs/fop is a mirror of the files in the cvs repository
-modul 'xml-site' /sources/fop. These files are used to create the html documentation
-on xml.apache.org.
+modul 'xml-site' /sources/fop. These files are used to create the html
+documentation on xml.apache.org.
-With makedoc.bat (win32) or makedoc.sh (unix) you can create a pdf file containing
-the complete Fop documentation. These scripts use ant. If you have any trouble running them,
-please look into build.xml in the root directory of this distribution.
\ No newline at end of file
+Use the html target in the main build script in the xml-fop root directory.
+You can create a pdf file containing the complete Fop documentation.
-java -cp build\fop.jar;lib\batik.jar;lib\xalan-2.0.0.jar;lib\xerces-1.2.3.jar;lib\avalon-framework-4.0.jar;lib\logkit-1.0b4.jar;lib\jimi-1.0.jar org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8
+java -cp build\fop.jar;lib\batik.jar;lib\xalan-2.0.0.jar;lib\xerces-1.2.3.jar;lib\avalon-framework-4.0.jar;lib\logkit-1.0.jar;lib\jimi-1.0.jar org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-7"?>
+<!DOCTYPE hyphenation-info SYSTEM "hyphenation.dtd">
+
+<!-- these hyphenation rules have been created for FOP by Dimitris Kamenopoulos (d.kamenopoulos@mail.ntua.gr).
+ They support modern (monotonico) greek. They are
+ based on the excellent hyphenation file GRMTex.tex
+ by Dimitrios Fillipou.
+ found in the TexGreek distribution. However there are quite a few differences. In particular, this file contains real greek characters rather than their latin tex subtitutes and so it is a rewrite, not a copy. Therefore, since it hasn't been tested as much as its tex predecessor, do contact me if you spot any errors.-->
+<hyphenation-info>
+
+<hyphen-char value="-" />
+<hyphen-min before="2" after="2" />
+<classes>
+áÁ
+ܶ
+âÂ
+ãÃ
+äÄ
+åÅ
+ݸ
+æÆ
+çÇ
+
+Èè
+éÉ
+ߺ
+úÚ
+À
+ûÛ
+à
+ü¼
+ý¾
+êÊ
+ëË
+ìÌ
+íÍ
+îÎ
+ïÏ
+ðÐ
+ñÑ
+óÓò
+ôÔ
+õÕ
+öÖ
+÷×
+øØ
+þ¿
+ùÙ
+</classes>
+<exceptions>
+äé-Ü
+ðïé-üí
+ðïé-ïý
+</exceptions>
+<patterns>
+4â1æ
+4â1è
+4â1í
+4â1î
+4â1ð
+4â1ó
+4â1ô
+3â1ö
+4â1÷
+3â1ø
+4ã1â
+4ã2æ
+4ã1è
+4ã1ì
+4ñ5ã2ì
+4ã1÷
+4ã1ð
+4ã1ô
+4ã1ö
+4ã1÷
+4ã1ø
+4ä1â
+4ä1ã
+4ä1æ
+4ä1ê
+4ä1ë
+4ä1î
+4ä1ð
+4ä1ó
+4ä1ô
+4ä1÷
+4ä1ø
+4æ1â
+4æ1ä
+4æ1è
+4æ1ê
+4æ1ë
+4æ1ì
+ôæ2ì
+4æ1í
+4æ1î
+4æ1ð
+4æ1ñ
+4æ1ó
+4æ1ô
+4æ1ö
+4æ1÷
+4æ1ø
+4è1â
+4è1ã
+4è1ä
+4è1æ
+4ê1ê
+4ê1ð
+4ê1÷
+4ê1ø
+4ë1â
+4ë1ã
+4ë1ä
+4ë1æ
+4ë1è
+4ë1ê
+4ë1ì
+4ë1í
+4ë1î
+4ë1ð
+4ë1ñ
+4ë1ó
+4ë1ô
+4ë1ö
+4ë1÷
+4ë1ø
+4ì1â
+4ì1ã
+4ì1ä
+4ì1æ
+4ì1è
+4ì1ê
+4ì1ë
+4ì1ö
+4ì1÷
+4ì1ø
+4í1â
+4í1ã
+4í1ä
+4í1æ
+4í1è
+4í1ê
+4í1ë
+4í1ì
+4í1î
+4í1ð
+4í1ñ
+4í1ó
+4í1ö
+4í1÷
+4í1ø
+4î1â
+4î1ã
+4î1ä
+4î1æ
+4î1è
+4î1ê
+4î1ë
+4î1ì
+4î1í
+4î1ð
+4î1ñ
+4î1ó
+4î1ô
+4ã4î2ô
+4ñ4î2ô
+4î1ö
+4î1÷
+4î1ø
+4ð1â
+4ð1ã
+4ð1ä
+4ð1æ
+4ð1è
+4ð1ê
+4ð1ì
+4ð1î
+4ð1ó
+4ð1ö
+4ð1÷
+4ð1ø
+4ñ1â
+4ñ1ã
+4ñ1ä
+4ñ1æ
+4ñ1è
+4ñ1ê
+4ñ1ë
+4ñ1ì
+4ñ1í
+4ñ1î
+4ñ1ð
+4ñ1ó
+4ñ1ô
+4ñ1ö
+4ñ1÷
+4ñ1ø
+4ó1ä
+4ó1æ
+4ó1í
+4ó1î
+4ó1ñ
+4ó1ø
+4ô1â
+4ô1ã
+4ô1ä
+4ô1è
+4ô1ê
+4ô1í
+4ô1î
+4ô1ð
+4ô1ö
+óô2ö
+4ô1÷
+4ô1ø
+4ö1â
+4ö1ã
+4ö1ä
+4ö1æ
+4ö1ì
+4ö1í
+4ö1î
+4ö1ð
+4ö1ó
+4ö1÷
+4ö1ø
+4ø1â
+4ø1ã
+4ø1ä
+4ø1æ
+4ø1è
+4ø1ê
+4ø1ë
+4ø1ì
+4ø1í
+4ø1î
+4ø1ð
+4ø1ñ
+4ø1ó
+4ø1ô
+4ø1ö
+4ø1÷
+á1
+å1
+ç1
+é1
+ï1
+õ1
+ù1
+þ1
+á2é
+á2ß
+á2õ
+á2ý
+Ü3õ
+å2é
+å2ß
+å2õ
+å2ý
+Ý3õ
+ç2õ
+Þ3õ
+ï2é
+ï2ß
+ï2õ
+ï2ý
+ü3õ
+õ2é
+õ2ß
+ý3é
+á2ç
+Ü3ç
+á2ú
+á2û
+å2ú
+ü2åé
+ï2ç
+ü3ç
+ï2ú
+ü3é
+é2á
+é2Ü
+é2å
+é2Ý
+é2ï
+é2ü
+4â.
+4ã.
+4ãê.
+4ä.
+4æ.
+4è.
+4ê.
+4ë.
+4ì.
+4ìð.
+4í.
+4íô.
+4î.
+4ð.
+4ñ.
+4ó.
+4ô.
+4ôæ.
+4ôó.
+4ö.
+4÷.
+4ø.
+4'
+4â'
+4ãê'
+4æ'
+4ë'
+4ì'
+4ìð'
+4í'
+4íô'
+4î'
+4ð'
+4ñ'
+4ó'
+4ô'
+4ôæ'
+4ôó'
+4ö'
+4÷'
+4ø'
+.â4
+.ã4
+.ä4
+.æ4
+.è4
+.ê4
+.ë4
+.ì4
+.í4
+.î4
+.ð4
+.ñ4
+.ó4
+.ô4
+.ö4
+.÷4
+.ø4
+4â1â
+4ã1ã
+4æ1æ
+4è1è
+4ë1ë
+4ì1ì
+4í1í
+4ð1ð
+4ñ1ñ
+4ó1ó
+4ô1ô
+ôö1ö
+4÷1÷
+3ø1ø
+4ã5ê2ö
+4ã1êô
+4ì1ðô
+4í1ôæ
+4í1ôó
+4âñ.
+4ãë.
+4êô.
+4ãêó.
+4êó.
+4ëó.
+4ìðë.
+4ìðí.
+4ìðñ.
+4ìó.
+4íó.
+4ñó.
+4óê.
+4óô.
+4ôë.
+4ôñ.
+</patterns>
+</hyphenation-info>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-2"?>
+<!DOCTYPE hyphenation-info SYSTEM "hyphenation.dtd">
+<!-- created from huhyp.tex by sngeza@mail.drotposta.hu and converted to Latin-2 -->
+<hyphenation-info>
+
+<hyphen-char value="-"/>
+<hyphen-min before="2" after="2"/> <!-- ha-zai és nem haza-i -->
+
+<classes>
+aA
+bB
+cC
+dD
+eE
+éÉ
+fF
+gG
+hH
+iI
+íÍ
+jJ
+kK
+lL
+mM
+nN
+oO
+óÓ
+öÖ
+õÕ
+pP
+qQ
+rR
+sS
+tT
+uU
+úÚ
+üÜ
+üÛ
+vV
+wW
+xX
+yY
+zZ
+</classes>
+<!--
+\catcode`\^^e1=11\uccode`\^^e1=`\^^c1\lccode`\^^e1=`\^^e1
+\catcode`\^^c1=11\uccode`\^^c1=`\^^c1\lccode`\^^c1=`\^^e1
+\catcode`\^^e9=11\uccode`\^^e9=`\^^c9\lccode`\^^e9=`\^^e9
+\catcode`\^^c9=11\uccode`\^^c9=`\^^c9\lccode`\^^c9=`\^^e9
+\catcode`\^^f3=11\uccode`\^^f3=`\^^d3\lccode`\^^f3=`\^^f3
+\catcode`\^^d3=11\uccode`\^^d3=`\^^d3\lccode`\^^d3=`\^^f3
+\catcode`\^^f6=11\uccode`\^^f6=`\^^d6\lccode`\^^f6=`\^^f6
+\catcode`\^^d6=11\uccode`\^^d6=`\^^d6\lccode`\^^d6=`\^^f6
+\catcode`\^^ae=11\uccode`\^^ae=`\^^8e\lccode`\^^ae=`\^^ae
+\catcode`\^^8e=11\uccode`\^^8e=`\^^8e\lccode`\^^8e=`\^^ae
+\catcode`\^^fc=11\uccode`\^^fc=`\^^dc\lccode`\^^fc=`\^^fc
+\catcode`\^^dc=11\uccode`\^^dc=`\^^dc\lccode`\^^dc=`\^^fc
+\catcode`\^^fa=11\uccode`\^^fa=`\^^da\lccode`\^^fa=`\^^fa
+\catcode`\^^da=11\uccode`\^^da=`\^^da\lccode`\^^da=`\^^fa
+\catcode`\^^b6=11\uccode`\^^b6=`\^^96\lccode`\^^b6=`\^^b6
+\catcode`\^^96=11\uccode`\^^96=`\^^96\lccode`\^^96=`\^^b6
+\catcode`\^^ed=11\uccode`\^^ed=`\^^cd\lccode`\^^ed=`\^^ed
+\catcode`\^^cd=11\uccode`\^^cd=`\^^cd\lccode`\^^cd=`\^^ed
+\catcode`\^^e4=11\uccode`\^^e4=`\^^c4\lccode`\^^e4=`\^^e4
+\catcode`\^^c4=11\uccode`\^^c4=`\^^c4\lccode`\^^c4=`\^^e4
+% DCHUHYPH.CWI (CWI encoding) and
+% DCHUHYPH.T1 (Cork encoding, see NFSS2)
+% TeX hyphenation patterns for the Hungarian language.
+%
+% Obtained from HUHYPH.TEX by deleting the MLTEX specific commands,
+% and changing the encoding in case of DCHUHYPH.T1 (use the command
+% dctexfo < dchuhyph.cwi > dchuhyph.t1
+% to create DCHUHYPH.T1).
+%
+% MHSz10 = A Magyar Helyesírás Szab 10. kiad.
+% MHSz10 p.8-9. földolgozatlan
+-->
+<patterns>
+<!--
+% 1C(s/z/y)V (V <> y)
+% 1C(s/z/y)y occus at the end of names, so I added some of them
+-->
+1ba
+1bá
+1be
+1bé
+1bi
+1bí
+1bo
+1bó
+1bö
+1bõ
+1bu
+1bú
+1bü
+1bû
+1ca
+1cá
+1ce
+1cé
+1ci
+1cí
+1co
+1có
+1cö
+1cõ
+1cu
+1cú
+1cü
+1cû
+1csa
+1csá
+1cse
+1csé
+1csi
+1csí
+1cso
+1csó
+1csö
+1csõ
+1csu
+1csú
+1csü
+1csû
+1csy
+1cha
+1chá
+1che
+1ché
+1chi
+1chí
+1cho
+1chó
+1chö
+1chõ
+1chu
+1chú
+1chü
+1chû
+1da
+1dá
+1de
+1dé
+1di
+1dí
+1do
+1dó
+1dö
+1dõ
+1du
+1dú
+1dü
+1dû
+1dza
+1dzá
+1dze
+1dzé
+1dzi
+1dzí
+1dzo
+1dzó
+1dzö
+1dzõ
+1dzu
+1dzú
+1dzü
+1dzû
+1dzsa
+1dzsá
+1dzse
+1dzsé
+1dzsi
+1dzsí
+1dzso
+1dzsó
+1dzsö
+1dzsõ
+1dzsu
+1dzsú
+1dzsü
+1dzsû
+1fa
+1fá
+1fe
+1fé
+1fi
+1fí
+1fo
+1fó
+1fö
+1fõ
+1fu
+1fú
+1fü
+1fû
+1ga
+1gá
+1ge
+1gé
+1gi
+1gí
+1go
+1gó
+1gö
+1gõ
+1gu
+1gú
+1gü
+1gû
+1gya
+1gyá
+1gye
+1gyé
+1gyi
+1gyí
+1gyo
+1gyó
+1gyö
+1gyõ
+1gyu
+1gyú
+1gyü
+1gyû
+1ha
+1há
+1he
+1hé
+1hi
+1hí
+1ho
+1hó
+1hö
+1hõ
+1hu
+1hú
+1hü
+1hû
+1ja
+1já
+1je
+1jé
+1ji
+1jí
+1jo
+1jó
+1jö
+1jõ
+1ju
+1jú
+1jü
+1jû
+1ka
+1ká
+1ke
+1ké
+1ki
+1kí
+1ko
+1kó
+1kö
+1kõ
+1ku
+1kú
+1kü
+1kû
+1la
+1lá
+1le
+1lé
+1li
+1lí
+1lo
+1ló
+1lö
+1lõ
+1lu
+1lú
+1lü
+1lû
+1lya
+1lyá
+1lye
+1lyé
+1lyi
+1lyí
+1lyo
+1lyó
+1lyö
+1lyõ
+1lyu
+1lyú
+1lyü
+1lyû
+1ma
+1má
+1me
+1mé
+1mi
+1mí
+1mo
+1mó
+1mö
+1mõ
+1mu
+1mú
+1mü
+1mû
+1na
+1ná
+1ne
+1né
+1ni
+1ní
+1no
+1nó
+1nö
+1nõ
+1nu
+1nú
+1nü
+1nû
+1nya
+1nyá
+1nye
+1nyé
+1nyi
+1nyí
+1nyo
+1nyó
+1nyö
+1nyõ
+1nyu
+1nyú
+1nyü
+1nyû
+1pa
+1pá
+1pe
+1pé
+1pi
+1pí
+1po
+1pó
+1pö
+1põ
+1pu
+1pú
+1pü
+1pû
+1qa
+1qá
+1qe
+1qé
+1qi
+1qí
+1qo
+1qó
+1qö
+1qõ
+1qu2
+1qú
+1qü
+1qû
+1ra
+1rá
+1re
+1ré
+1ri
+1rí
+1ro
+1ró
+1rö
+1rõ
+1ru
+1rú
+1rü
+1rû
+1ry
+1sa
+1sá
+1se
+1sé
+1si
+1sí
+1so
+1só
+1sö
+1sõ
+1su
+1sú
+1sü
+1sû
+1sza
+1szá
+1sze
+1szé
+1szi
+1szí
+1szo
+1szó
+1szö
+1szõ
+1szu
+1szú
+1szü
+1szû
+1ta
+1tá
+1te
+1té
+1ti
+1tí
+1to
+1tó
+1tö
+1tõ
+1tu
+1tú
+1tü
+1tû
+1tya
+1tyá
+1tye
+1tyé
+1tyi
+1tyí
+1tyo
+1tyó
+1työ
+1tyõ
+1tyu
+1tyú
+1tyü
+1tyû
+1va
+1vá
+1ve
+1vé
+1vi
+1ví
+1vo
+1vó
+1vö
+1võ
+1vu
+1vú
+1vü
+1vû
+1wa
+1wá
+1we
+1wé
+1wi
+1wí
+1wo
+1wó
+1wö
+1wõ
+1wu
+1wú
+1wü
+1wû
+1xa
+1xá
+1xe
+1xé
+1xi
+1xí
+1xo
+1xó
+1xö
+1xõ
+1xu
+1xú
+1xü
+1xû
+1za
+1zá
+1ze
+1zé
+1zi
+1zí
+1zo
+1zó
+1zö
+1zõ
+1zu
+1zú
+1zü
+1zû
+1zsa
+1zsá
+1zse
+1zsé
+1zsi
+1zsí
+1zso
+1zsó
+1zsö
+1zsõ
+1zsu
+1zsú
+1zsü
+1zsû
+<!-- % V1V -->
+a1a
+a1á
+a1e
+a1é
+a1i
+a1í
+a1o
+a1ó
+a1ö
+a1õ
+a1u
+a1ú
+a1ü
+a1û
+á1a
+á1á
+á1e
+á1é
+á1i
+á1í
+á1o
+á1ó
+á1ö
+á1õ
+á1u
+á1ú
+á1ü
+á1û
+e1a
+e1á
+e1e
+e1é
+e1i
+e1í
+e1o
+e1ó
+e1ö
+e1õ
+e1u
+e1ú
+e1ü
+e1û
+é1a
+é1á
+é1e
+é1é
+é1i
+é1í
+é1o
+é1ó
+é1ö
+é1õ
+é1u
+é1ú
+é1ü
+é1û
+i1a
+i1á
+i1e
+i1é
+i1i
+i1í
+i1o
+i1ó
+i1ö
+i1õ
+i1u
+i1ú
+i1ü
+i1û
+í1a
+í1á
+í1e
+í1é
+í1i
+í1í
+í1o
+í1ó
+í1ö
+í1õ
+í1u
+í1ú
+í1ü
+í1û
+o1a
+o1á
+o1e
+o1é
+o1i
+o1í
+o1o
+o1ó
+o1ö
+o1õ
+o1u
+o1ú
+o1ü
+o1û
+ó1a
+ó1á
+ó1e
+ó1é
+ó1i
+ó1í
+ó1o
+ó1ó
+ó1ö
+ó1õ
+ó1u
+ó1ú
+ó1ü
+ó1û
+ö1a
+ö1á
+ö1e
+ö1é
+ö1i
+ö1í
+ö1o
+ö1ó
+ö1ö
+ö1õ
+ö1u
+ö1ú
+ö1ü
+ö1û
+õ1a
+õ1á
+õ1e
+õ1é
+õ1i
+õ1í
+õ1o
+õ1ó
+õ1ö
+õ1õ
+õ1u
+õ1ú
+õ1ü
+õ1û
+u1a
+u1á
+u1e
+u1é
+u1i
+u1í
+u1o
+u1ó
+u1ö
+u1õ
+u1u
+u1ú
+u1ü
+u1û
+ú1a
+ú1á
+ú1e
+ú1é
+ú1i
+ú1í
+ú1o
+ú1ó
+ú1ö
+ú1õ
+ú1u
+ú1ú
+ú1ü
+ú1û
+ü1a
+ü1á
+ü1e
+ü1é
+ü1i
+ü1í
+ü1o
+ü1ó
+ü1ö
+ü1õ
+ü1u
+ü1ú
+ü1ü
+ü1û
+û1a
+û1á
+û1e
+û1é
+û1i
+û1í
+û1o
+û1ó
+û1ö
+û1õ
+û1u
+û1ú
+û1ü
+û1û
+<!-- % kettös Consonantes: c/d/s/z 2 h/s/z - exceptions later -->
+c2s
+s2z
+z2s
+<!-- %d2zs -->
+d2z
+c2h
+<!-- % long Consonantes: - exceptions later -->
+s2sz
+c2cs
+z2zs
+d2dz
+g2gy
+l2ly
+n2ny
+t2ty
+<!-- % all exceptions (mainly composita/pounds) in a single row -->
+abla2k1üveg
+ádá2z3ság
+agy1é2r1elmesz
+agyo2n1üt
+akara2t1erõ
+.ala2p1a
+.ala2p1ár
+.ala2p1ér
+.ala2p1i
+.ala2p1okm
+.ala2p1ötl
+á2l1alrc
+a2l1elnök
+a2l1ezredes
+a2l1ispán
+.álla2m1a
+.álla2m1e
+.álla2m1érd
+.álla2m1ig
+.álla2t1áll
+.álla2t1egész
+.álla2t1id
+.álla2t1orv
+.álla2t1öv
+.álla2t1ért
+anna2k1idején
+anti1k2lerik
+.á2r1aján
+.á2r1alak
+.ara2ny1al
+.ara2ny1ás
+.ara2ny1ér.
+.ara2ny1érc
+.ara2ny1ére
+.ara2ny1érték
+.ara2ny1e
+.ara2ny1ó
+ár1apály
+ár1d2rág
+.á2r1e
+.á3r2end
+.á2r1in
+ásvá2ny1olaj
+.át1
+.át2alá
+.át2all
+.át2ok
+.ato2m1e
+.a2z1
+.a3z2ok
+.a3z2on
+.az2ért
+.a3z2úr
+bá2j1ital
+ba2l1eset
+ba2l1egyenes
+ba2l1oldal
+ban2k1ügy
+be2l1ügy
+bélye2g1album
+.bé2r1elsz
+.bé2r1em
+.bete2g1á
+b4lokkol
+.bor2s3sz
+.bõ2r1a
+.bõ2r1á
+.bõ2r1e
+.bõ2r1i
+b4rekeg
+börtö2n1õr
+b2rigád
+bû2n1eset
+bû2n1ügy
+cé2l1állomás
+com2b1izom
+.csa2k1
+.csalá2d1a
+csa2l1étek
+cse2h1ország
+cseh1sz2lovák
+csen2d1élet
+csen2d1õr
+csú2cs1erõ
+csú2cs1érték
+csú2cs1idõ
+dé2l1elõtt
+dé2l1idõ
+dé2l1után
+.dí2sz1eb
+.dí2sz1egy
+.dí2sz1eln
+.dí2sz1öl
+.dí2sz1õr
+.dí2sz1elõ
+.dí2sz1emel
+.dís2z3s
+diva2t1ár
+diva2t1éksz
+diva2t1újdon
+d2rótoz
+d2rágul
+d2rága
+d2rágít
+d4rukkol
+.éde2s1a
+.éde2s1ip
+egés2z3ség
+egészsé2g1ügy
+.egy1
+.egy2ek
+.egy2etek
+.egy2ünk
+.egy2étek
+.egy2enek
+.egy2ért
+.egy2éb
+.egy2eb
+.egy2e2d1
+.egye3d2i
+.egye3d2ü2l1
+.egyedü3l2i
+.egy2el.
+.egy2én
+.egy2e2n1
+.egye3n2es
+.egye3n2etlen
+.egy2es
+.egy2e3t2em
+.egy2e2t1
+.egy2ez
+.egyez3ség
+.egyhá2z1atya
+.egyhá2z1e
+.egy2id
+.egy2ik
+.egy2iptom
+egymá2s1után
+egysze2r1egy
+.egy2üt2t1
+.együt3t2es
+éh1ínség
+.el1
+.elb2lic
+.el2e
+.el2é
+.el3egyenget
+.el3ejt
+.el3él
+.el3ért
+élelmisze2r1ad
+élelmisze2r1ip
+.el3emel
+.el3emészt
+.el3enged
+.el3enyész
+.el3eped
+.el3ér
+.el3er
+.el3es
+.el4eség
+.el3evez
+.el3évül
+.éle2t1a
+.éle2t1elv
+.éle2t1er
+.éle2t1érz
+.éle2t1év
+.éle2t1i
+.éle2t1í
+.éle2t1ö
+.éle2t1u
+.éle2t1út
+el2it
+.el3itt
+.el4ittõl
+.el2iz
+.elle2n1
+.elle3n2e
+.elle4n3eset
+.elle3n2ére
+.el2õ
+.el2ö
+.el3önt
+.el3öreg
+.el3p4r
+.elsz2láv
+.el3t4r
+.el2üls
+.el2vh
+.embe2r1a
+.embe2r1á
+.embe2r1él
+.embe2r1eml
+.embe2r1ev
+.embe2r1ism
+.embe2r1öl
+.emlé2k1érem
+.emlé2k1ir
+.emlé2k1ünn
+.ép2p1
+.ép3p2en
+.ér2c1önt
+.érde2k1ellen
+erõ2s1áram
+.érté2k1áll
+.érté2k1elmé
+.érté2k1ítél
+es2t1ebéd
+ész1ellenes
+.ez1
+.ez2ek
+.ez2en
+ez2e2r1
+eze3r2ért
+.ez2ért
+.ezre2d1év
+.ezre2d1orvos
+.ez2üst
+.ezüs2t1ár
+.ezüs2t1érc
+fa2gy1álló
+fa2gy1érzék
+fagylal2t1ár
+fa2j1elmélet
+.fa2j1üld
+farka2s1éh
+farka2s1ord
+fe2gy1õr
+fe2j1adag
+feje2n1áll
+feje2s1ugr
+.fe2l1
+.fé2l1
+.fe3l2é
+fe3l2ebarát
+.fe4l3ébr
+.fé3l2e
+fe3l2ed
+fe3l2ejt
+fe3l2ekezet
+fe3l2el
+fé3l2ele2m1
+.fe4l3él
+.fe4l3elev
+felelõssé2g1érz
+fe3l2emás
+.fé4l3emelet
+fé3l2énk
+.fe3l2es
+.fe4l3esk
+.fe4l3esz
+.fé4l3eszü
+fe3l2ett
+.fé4l3év
+fe3l2ez
+.fe3l2ibe
+.fé3l2ig
+.fé4l3igaz3ság
+fé3l2ix
+felnõt2t1okt
+.fé3l2õ
+.fel3p4r
+fe3l2õl
+.fe4l4ül.
+.fe3l2ülb
+.fe3l2ü2l1em
+.fe3l2ület
+.fe3l2üli
+felü2l1igér
+fe3l2üljár
+.fe3l2ülker
+.fe3l2ülm
+.fe3l2üln
+fe3l2ülrõl
+.fe3l2ülvizs
+fé2m1áru
+fé2m1öntvény
+.fen2n1
+.fé2ny1á
+.fé2ny1erõ
+.fé2ny1érzé
+.fé2ny1év
+.fé2ny1ív
+fényké2p1alb
+fére2g1irt
+festé2k1ipar
+fésze2k1alj
+fiata2l1emb
+fiata2l1assz
+.fil2m1ip
+fil2m1oper
+.fin2n1or
+.fin2n1ug
+f4lancol
+.fo2g1orv
+folya2m1õr
+.fö2l1
+.föl2d
+.föl2d1a
+.föl2d1éhe
+.föl2d1ig
+.föl2d1ín
+.föl2d1o
+.földe2s1úr
+.fö3l2é
+.fö4l3ébr
+.fö4l3él
+.fö3l2es
+.fö4l3esk
+.fö4l3esz
+.föl3p4r
+fö3lös
+fö3l2ött
+fö3l2öz
+.fö3l2ibe
+.fö4l4ül.
+.fö3l2ülb
+.fö3l2ü2l1em
+.fö3l2ület
+.fö3l2üli
+fölü2l1igér
+fö3l2üljár
+.fö3l2ülker
+.fö3l2ülm
+.fö3l2üln
+fö3l2ülrõl
+.fö3l2ülvizs
+.fön2n1
+f4ricskáz
+f4röcsköl
+fûré2sz1árú
+fûsze2r1árú
+fûsze2r1üzlet
+galam2b1õsz
+.galvá2n1á
+.galvá2n1e
+.gá2z1ál
+.gá2z1égõ
+.gá2z1el
+.gá2z1olaj
+.gá2z1óra
+.gá2z1öml
+gaz2d1assz
+.ga2z1em
+.gá2z1öngy
+ga2z3ság
+gá2z3számla
+.gáz3sz
+.gé2p1a
+.gé2p1á
+gé4p4elem
+.gé2p1emb
+.gé2p1er
+.gé2p1ip
+.gé2p1ír
+.gé2p1olaj
+gondola2t1átv
+gondola2t1olv
+göm2b1alak
+göm2b1öv
+görö2g1or
+.gõ2z1erõ
+1g2rafi
+1g2ramm
+1g2ránát
+1g2ríz
+gú2ny1irat
+gyalo2g1áld
+gyalo2g1átkelõ
+gyalo2g1ezr
+gyalo2g1ösv
+gyalo2g1út
+.gyá2r1ép
+.gyá2r1ig
+.gyá2r1ip
+gyarma2t1áru
+.gyá2sz1es
+.gyá2sz1év
+.gyá2sz1ünn
+.gyerme2k1á
+.gyerme2k1or
+gyó2gy1erõ
+gyomo2r1ég
+gyomo2r1erõ
+gyomo2r1ideg
+gyor2s1ír
+gyor2s1olv
+gyön2gy1él
+gyümöl2cs1ár
+gyümöl2cs1íz
+ha2b1üst
+.ha2d1ap
+.ha2d1áll
+.ha2d1er
+.ha2d1ist
+.ha2d1osz
+.ha2d1ü
+.ha2j1áp
+.halá2l1es
+.ha2l1ikr
+.ha2l1ív
+.han2g1a
+han2g1árny
+.han2g1erõ
+.han2g1érté
+.hangula2t1emb
+.há2ny1ing
+.haran2g1ön
+.har2c1edz
+.harma2d1év
+.harma2d1osz
+.hárma2s1ugr
+harmin2c1
+harmin3c2ad
+harmin3c2at
+harmin3c2as
+harmin3c2an
+harmin3c2ért
+háro2m1
+.ha2s1izom
+.ha2s1ür
+.haszo2n1élv
+hatá2r1á
+hatá2r1ér
+hatá2r1es
+hatá2r1id
+hatá2r1inc
+hatá2r1õr
+ha2t1éves
+ha2t1ezer
+hatva2n1
+hatva3n2ad
+hatva3n2at
+hatva3n2as
+hatva3n2an
+hatva3n2ért
+.háza2s1él
+.há2z1épí
+há2z3sor
+.he2ly1õr
+.hely2t1áll
+.hente2s1ár
+.hente2s1üz
+.hé2t1
+hetve2n1
+hetve3n2es
+hetve3n2ed
+hetve3n2et
+hetve3n2en
+hetve3n2ért
+.hí2d1ép
+.hí2r1a
+.hírla2p1ír
+.hí2r1ügy
+hite2l1int
+hite2l1ügy
+hi2t1ok
+ho2gy1isne
+.hol2d1uta
+holna2p1után
+ho2l1ott
+homo2k1óra
+hón1alj
+horgász3zsin
+horo2g1üt
+humo2r1érz
+.hú2s1ad
+.hú2s1ét
+.hú2s1ip
+hú2sz1év
+huszo2n1
+hüvely2k1ujj
+.ideg3gy
+.ide2g1õr
+.ide2g1össze
+.ide2g1orv
+igazsá2g1ér
+igazsá3g2ért
+igazsá2g1ügy
+i2i2i<!-- % not to hyphenate roman numerals -->
+in2g1ujj
+.ipa2r1eng
+.ipa2r1ig
+.ipa2r1is
+.ipa2r1ügy
+.ipa2r1ûz
+.irá2ny1ad
+.irá2ny1ár
+.irá2ny1elv
+.iste2n1ad
+.iste2n1áld
+.iste2n1igaz
+ítéle2t1idõ
+.izo2m1e
+já2r1õr
+játé2k1áru
+játé2k1asz
+játé2k1eng
+.jé2g1ár
+.jé2g1es
+.je2gy1ár
+.je2gy1el
+.je2l1ig
+jelle2m1ábr
+job2b1old
+.jo2g1ak
+.jo2g1al
+.jo2g1ál
+.jo2g1e
+.jo2g1érv
+.jo2g1igé
+.jo2g1orv
+.jo2g1ut
+.jo2g1ügy
+.jó2t1áll
+káde2r1osz
+kar2d1él
+ka2r1ének
+ká2r1eset
+ka2r1igaz
+ká2r1igé
+ka2r1izom
+ka2r1óra
+ka2r1öltve
+.ká2r1ör
+.ké2j1érz
+kenyé2r1ad
+kenyé2r1ellát
+kénysze2r1elad
+kénysze2r1egyez
+.ké2p1írás
+.keré2k1a
+keré2k1pár
+kerékpá2r1abr
+kereskedele2m1ügy
+keresz2t1a
+kereszté2ny1üld
+keresz2t1ölt
+keresz2t1utca
+.keresztü2l1e
+kere2t1ante
+ké2sz1áru
+.ké2t1
+.ké3t2el
+.ké2t1es
+.ké2z1ad
+.ké2z1á
+.kéze2n1áll
+.kézi1gr
+.ké2z1ir
+kilen2c1
+kilen3c2ed
+kilen3c2ek
+kilen3c2et
+kilen3c2ért
+kilen3c2en
+kilen3c2es
+kilencve2n1
+kilencve3n2en
+kilencve3n2es
+kilencve3n2ed
+kilencve3n2et
+kilencve3n2ért
+kilométe2r1óra
+.ki1p4r
+.ki1pré
+.ki1prepa
+.ki1prób
+.ki1prov
+kirá2ly1ellen
+ki2s1antant
+ki2s1áruterm
+.ki2s1a
+.ki2s1emb
+.ki2s1inas
+.ki2s1ipar
+.ki2s3szám
+.ki2s3szer
+.ki2s1ujj
+.ki3t4r
+k2lerikál
+k2lerikal
+k2lien
+k2likk
+k2lima
+k2líma
+k2linika
+k2lub
+koldus3szegény
+.kó2r1isme
+.kormá2ny1e
+.kó2r1okoz
+.ko2r1osztály
+kovács3szén
+kölcsö2n1ad
+kölcsö2n1ügy
+.köny2v1á
+.köny2v1ism
+.köny2v1íz
+.köny2v1újdon
+kö2r1irat
+.kö2r1út
+.kö2r1uta
+.körü2l1
+.körü3l2i
+.körü3l2öt
+köté2l1ideg
+.kö2z1ad
+.kö2z1ak
+.kö2z1al
+.kö2z1áll
+.kö2z1élelm
+.kö2z1élet
+közé2p1érték
+közé2p1isk
+közé2p1idõ
+közé2p1ujj
+közé2p1út
+közé2p1ut
+.kö2z1épül
+.kö2z1érd
+.kö2z1erk
+.kö2z1érthet
+.kö2z1érz
+.kö2z1étk
+.kö2z1igaz
+.kö2z1int
+.kö2z1ism
+.kö2z1í
+.kö2z1óhaj
+.kö2z1o2k1irat
+.kö2z1okt
+köz3ség
+köz3száj
+.köz3sze
+.köz3szo
+.köz3szük
+.kö2z1út
+.kö2z1ügy
+k4rajcár
+k4rakéler
+k4rákog
+kristá2ly1üveg
+kró2m1acél
+kul2cs1állás
+kulcs3szám
+.kulcs3szav
+kulcs3szó
+kultú2r1áll
+kultú2r1e
+kultú2r1él
+kultú2r1érték
+kultú2r1i
+.kú2t1á
+.kú2t1os
+kü2l1alak
+külö2n1áll
+külö2n1élés
+külö2n1ír
+külö2n1ítm
+külö2n1óra
+kü2l1ügy
+k4valifikál
+k4varcol
+k4vartyog
+k4vaterkázik
+.lá2b1ápol
+lá2b1ujj
+laká2s1adó
+laká2s1épít
+laká2s1inség
+laká2s1ügy
+lakato2s1inas
+la2k1osztály
+lán2c1ölt
+lánc3szem
+lán2g1elm
+lán2g1ész
+lán2g1eszû
+látsze2r1üzlet
+leá2ny1ág
+leá2ny1ál
+leá2ny1anya
+leá2ny1i
+.le1b4l
+.le3f4r
+.le2g1
+.le3g2ek
+le3g2el
+le4g3elej
+le4g3elõl
+le4g3elõször
+le4g3elsõ
+.le3g2end
+le3g2ény
+legé2ny1élet
+legé2ny1ember
+le3g2épel
+.leg3gy
+le3g2ombol
+le3g2ombolyít
+le3g2orombít
+le3g2ott
+le3g2ömbölyít
+le3g2örbít
+le3g2örbül
+le3g2ördít
+le3g2ördül
+le3g2uggol
+le3g2urít
+le3g2urul
+.le3g2y
+.lé2g1
+.lé3g2i
+.lé3g2yott
+léle2k1e
+léle2k1öl
+lengye2l1ország
+.le1p2r
+.le2s1áll
+.le1sp2r
+.le1s2r
+.le1st2r
+lé2t1érdek
+let2t1orsz
+levé2l1ír
+leve2s3zöld
+lif2t1akna
+lisz2t1ár
+lom2b1erd
+ló1t2rágya
+lovas3század
+lõsze2r1után
+löve2g1áll
+luxu2s1ad
+madá2r1e
+madá2r1én
+madá2r1ét
+madá2r1i
+magá2n1óra
+magá2n1út
+magá2n1ügy
+maga2s1ugr
+magya2r1ellen
+magya2r1ország
+mak2k1eg
+mangá2n1érc
+márvá2ny1osz
+má2s1álla
+máso2d1év
+máso2d1íz
+matró2z3sapka
+máso2d1oszt
+.me2g1a
+me3g2afon
+.me2g1á
+.me2g1d2r
+.me2g1e
+.me2g1é
+.meg3f4r
+.me2g3gy
+meg4gy.
+.meg4gybor
+.meg4gyel
+.meg4gye.
+.meg4gyfa
+.meg4gylekvár
+.meg4gylik
+.meg4gypir
+.me2g3i
+.me2g1í
+.meg3p4r
+.me2g1o
+.me2g1ó
+.me2g1ö
+.me2g1õ
+.me2g1s2p
+.me2g1s2t
+.meg3t4r
+.me2g1u
+.me2g1ú
+.me2g1ü
+.me2g1û
+.me4g4int
+mé2g1is
+mellé2k1a
+mellé2k1á
+mellé2k1ép
+mellé2k1ér
+mellé1p2r
+mel2l1usz
+mel2l1ür
+melo1d2rá
+mene2t1i
+mene2t1osz
+me2ny1asszony
+me2nny1orsz
+méreg1d2r
+meré2sz3ség
+mérté2k1ad
+mérté2k1egység
+mér2v1ad
+.mé2sz1ég
+.mé2sz1i
+.mé2sz1o
+méte2r1ár
+mé2z3sör
+.mé2z3sz
+mikro1k2lima
+.min2d1a
+.min2d1ed
+.min2d1egy
+minde2n1ár
+mindene2k1el
+minde2n1eset
+minde2n1ünnen
+minde2n1ütt
+minde2n1üvé
+.min2d1ez
+.min2d1in
+.min2d1ö
+.min2d1u
+mine2k1ut
+miniszte2r1elnök
+min2t1egy
+motoros3szem
+munka1p2r
+munká2s1á
+munká2s1a
+munkás1b2r
+munká2s1e
+munká2s1i
+munká2s1oszt
+munká2s1ott
+munká2s1õ
+munká2s3sz
+munka1s2t
+munká2s1ú
+munká2s1ü
+munká2s3zubb
+mû1s2topp
+mû1t2rá
+nádo2r1isp
+.na2gy1a
+.na2gy1á
+.na2gy1e
+.na2gy1ip
+.na2gy1ü
+na2p1áll
+.na2p1e
+.na2p1év
+.na2p1ó
+naran2cs1íz
+naran2cs3s
+ná2sz1ágy
+ná2sz1aj
+ná2sz1assz
+ná2sz1éj
+ná2sz1ind
+ná2sz1út
+ná2sz1ut
+nége2r1üld
+.né2gy1
+negye2d1
+negye3d2et
+negye3d2ek
+negye3d2el
+negye3d2en
+negye3d2em
+negye3d2ed
+negye3d2e.
+né3gy2es
+né3gy2en
+negyve2n3
+negyve3n4et
+negyve3n4em
+negyve3n4ed
+negyve3n4e.
+nehé2z1ip
+nehé2z3ség
+nehé2z3súly
+.ne2m1igen
+néme2t1alfö
+néme2t1ország
+néme2t1ell
+neo1k2lassz
+.né2p1a
+.né2p1á
+.né2p1el
+.né2p1eposz
+.né2p1ének
+.né2p1irt
+.né2p1isk
+.né2p1ítél
+.né2p1okt
+.né2p1osz
+.né2p1u
+.né2v1a
+né2v1elõ
+né2v1utó
+néze2t1elt
+növé2ny1irtó
+nya2k1örv
+nyá2r1elõ
+nyá2r1utó
+.nyel2v1á
+.nyel2v1a
+nyel2v1eml
+nyel2v1érz
+.nyel2v1is
+.nyel2v1o
+.nyel2v1ó
+.nyel2v1ú
+nyere2g3gyá
+nyer2s1acél
+nyer2s1any
+nyer2s1olaj
+n4ylon
+nyol2c1
+nyol3c2a
+nyolc3szor
+nyolc3szög
+nyolcva2n1
+nyolcva3n2a
+nyomá2s1áll
+nyomdász3ság
+nyomo2r1eny
+.nyu2g1á
+nyugdí2j1int
+nyu2g1ellát
+nyúl2t1agy
+odáb2b1áll
+odéb2b1áll
+o2k1irat
+oktatá2s1ügy
+ola2j1ág
+ola2j1ég
+ola2j1ip
+ola2sz1ország
+olda2l1ág
+olda2l1aj
+olda2l1út
+ólo2m1önt
+ólo2m1üv
+oro2sz1elle
+oro2sz1ország
+or2r1üreg
+orszá2g1al
+orszá2g1ár
+orszá2g1ép
+orszá2g1érd
+ország3gyûl
+orszá2g1út
+orvos3sz
+osto2r1ant
+ostro2m1állap
+osztá2ly1áll
+osztá2ly1ár
+osztá2ly1e
+osztá2ly1érd
+osztá2ly1értek
+osztá2ly1i
+osztá2ly1ö
+osztá2ly1u
+ökö2r1ist
+.ö2n1ál
+.ö2n1ám
+ön1elég
+ön1elem
+ön1élet
+önéle2t1ír
+.ön1el
+.ön1érd
+.ön1erõ
+.ö2n1érz
+.ön1imád
+.ön1ind
+.ön1ism
+.ön1ur
+.õr1áll
+.õr1angy
+öre2g1any
+öre2g1apa
+öre2g1assz
+öre2g1ember
+öre2g1úr
+örö2k1érv
+örö2k1ifj
+.örö2m1a
+örö2m1érz
+örö2m1est
+örö2m1itt
+örö2m1ujj
+.õs1áll
+.õs1a
+õs1egyh
+õs1emb
+õs1er
+õs1idõ
+õsz1elõ
+.össz1a
+.össz1á
+össze1p2r
+össze1s2p
+össz3súly
+õsz1utó
+.öt1
+öt2en
+öt2öd
+öt2ös
+öt2öt
+öt2ök
+öt2ön
+ötve2n1
+ötve3n2ed
+ötve3n2et
+ötve3n2ek
+ötve3n2en
+ötve3n2es
+ötve3n2e.
+ötve3n2em
+õz1agancs
+özve2gy1a
+özve2gy1emb
+padlá2s1abl
+padlá2s3szoba
+pamu2t1ipar
+pá2n1amer
+páncé2l1aut
+páncé2l1ing
+páncé2l1ö
+papí2r1ár
+papí2r1ip
+papí2r1íz
+paran2cs1ad
+paran2cs1õr
+paran2cs1ural
+parasz2t1assz
+parasz2t1emb
+páro2s1ujj
+pár2t1akt
+pár2t1áll
+.pár2t1e
+.pár2t1éle
+.pár2t1érde
+pár2t1értek
+pár2t1ig
+pár2t1irod
+pár2t1isko
+pár2t1okt
+pár2t1uta
+.pár2t1ü
+pászto2r1élet
+pászto2r1óra
+patká2ny1irt
+pecsé2t1õr
+pé2k1üzlet
+.pén2z1a
+.pén2z1á
+pén2z1egys
+pén2z1éhes
+pén2z1embe
+pén2z1érték
+pénz2es3zsák
+pén2z1int
+pén2z1össz
+.pénz3s
+pén2z1ügy
+pénzü2gy1igaz
+pénzü2gy1õr
+pe2r1érté
+pe2r1orvos
+.pe2r1új
+p2lagiz
+p2letyk
+p2lomba
+polgá2r1õr
+pon2t1ered
+.pó2t1a
+.pó2t1ágy
+.pó2t1ül
+p4rakti
+p2reciz
+p2recíz
+p4rédál
+p4rédikál
+p4rémez
+p4reparál
+p4résel
+p4resszio
+p4rezent
+p4róba
+p4róbál
+p4roblém
+p4rodukál
+p4rofitál
+p4roklamál
+proletá2r1áll
+proletá2r1oszt
+p4rolong
+p4ropagál
+p4roponál
+p4rostit
+p4rotezsál
+p4rovokál
+p4rüszköl
+raj2z1eszk
+raj3z1aszt
+raj2z3sz
+rá2k1okoz
+rá2k1oll
+raktá2r1állo
+ran2g1idõs
+ran2g1elsõ
+reá2l1isko
+regé2ny1ír
+regé2ny1ir
+régiség3gyüjt
+ré2g1óta
+rejte2k1ajtó
+rejte2k1út
+reke2sz1izom
+rekor2d1idõ
+ren2d1õr
+rendõ2r1áll
+rendõ2r1aut
+rendõ2r1õr
+.re1p2ro
+ré2sz1össz
+rete2sz1áll
+ré2z1edé
+ré2z1üst
+rezgé2s3szám
+ré2z3szín
+ri2zs3szem
+roham1b2rig
+roha2m1oszt
+roko2n1érte
+romá2n1ellen
+ro2m1eltak
+ro2ssz1indulat
+rova2r1evõ
+rova2r1irt
+rová2s1írás
+ro2zs3szem
+rö2p1irat
+rövi2d1ár
+sak2k1állás
+sak2k1óra
+sán2c1á
+sán2c1épí
+sanzo2n1ének
+sárgá2s3zöld
+sar2k1öv
+sar2k1uta
+saro2k1abl
+saro2k1ül
+sa2s1orr
+.sa2s3sze
+sa2s3szeg
+.sa2v1áll
+s2ch<!-- % to do a favour the German -->
+segé2d1a
+segé2d1erõ
+segé2d1esz
+segé2d1ige
+segé2d1orv
+segé2ly1a
+segé2ly1á
+segé2ly1egy
+serté2s1o
+serté2s1ó
+serté2s3zsír
+sí2k1idom
+sí2n1aut
+sí2r1ásó
+sí2r1eml
+sí2r1irat
+sisa2k1ellen
+s2kalp
+s2kandál
+s2kicc
+.sk2r
+s2lukk
+s2makkol
+s2mirgli
+sógo2r1aszz
+so2k1értel
+so2k1évi
+so2k1ist
+so2k1oldal
+sonká2s3zsem
+so2r1áll
+so2r1emel
+sor2s1üld
+sö2r1ivó
+sörö2s1üveg
+spanyo2l1ország
+s2pecial
+s2peciál
+s2pékel
+s4pekulál
+s2piccel
+s2pórol
+spor2t1ág
+spor2t1e
+spor2t1élet
+spor2t1orv
+spor2t1öltö
+spor2t1õrül
+spor2t1ünn
+.sp2r
+s2rófol
+s4tagnál
+s4tatisztál
+s4terilizál
+stílu2s1érz
+stílu2s1irány
+s4tíröl
+s4toppol
+1st2rukt<!-- %úra -->
+.st2<!-- %r -->
+st2rand
+st2rapál
+st2rázsál
+st4réber
+sugá2r1árt
+sugá2r1ir
+sú2ly1egys
+sú2ly1emel
+své2d1ország
+szaba2d1egye
+szaba2d1elõad
+szaba2d1elv
+szá2j1üreg
+sza2k1avat
+sza2k1ember
+sza2k1érettség
+sza2k1értel
+sza2k1értõ
+sza2k1író
+sza2k1iroda
+sza2k1isk
+sza2k1ismer
+sza2k1oktatás
+sza2k1orvos
+sza2k1osztály
+sza2k1üzlet
+szállá2s1ad
+szá2m1adás
+szá2m1ad
+szá2m1arány
+szá2m1elmélet
+szá2m1oszl
+szá2m1ûz
+száraz3ság
+szár2ny1épül
+szarva2s1aga
+százalé2k1ará
+szá2z1öt
+szá2z1egy
+szá2z1éves
+szá2z1ezer
+száz3szá
+száz3szo
+szégye2n1érz
+széjje2l1
+szeké2r1út
+széke2s1egyh
+szé2l1árny
+.szé2l1ir
+.szé2l1üt
+szembe2n1áll
+sze2m1ellen
+.szemé2ly1a
+sze2m1üveg
+széná2s3szekér
+szé2n1éget
+szé2n1ellát
+szen2t1atya
+szen2t1egyh
+szen2t1este
+szennye2s3zsák
+szenny1ir
+.szé2p1a
+szé2p1érzék
+szé2p1ír
+szé2p1ir
+szé2p1p2róza
+szer2v1átül
+3szerû.
+szere2p1oszt
+szerete2t1ado
+szerszá2m1acél
+szerzõdé2s3sz
+sze2sz1adó
+sze2sz1éget
+sze2sz1éleszt
+sze2sz1ipar
+.szé2t1
+.sz2f
+szige2t1orsz
+szikratá2v1ír
+.szí2n1á
+szí2n1arany
+szí2n1érz
+szí2n1ezüst
+szí2n1igaz
+szí2n3nyom
+szí2n1s2kála
+szin2t1akk
+szin2t1anny
+szin2t1oly
+szin2t1úgy
+3színû.
+szí2v1alak
+szí2v1átül
+szí2v1izom
+szólá2s3szabad
+szomszé2d1assz
+szovje2t1állam
+szovje2t1ellen
+szovje2t1orosz
+szõrö2s3szívû
+szöve2g1elem
+szöve2g1ír
+.sz2t
+.szt2r
+sztráj2k1õr
+szü2n1id
+szû2z1anya
+takarmá2ny1árpa
+tal2p1alatnyi
+tal2p1aláv
+taná2cs1ad
+taná2cs1e
+taná2cs1ü
+tán2c3csop
+tán2c1egy
+tán2c1est
+tán2c1ó
+ta2n1év
+ta2n1int
+tanon2c1id
+tanon2c1isk
+tanon2c1ott
+ta2n1óra
+ta2n1ügy
+tányé2r1akna
+tá2p1anyag
+tapasztala2t1átad
+tá2p1érték
+tár2gy1isme
+társadalo2m1áb
+társadalo2m1ell
+tár2s3szerz
+tartalé2k1alap
+tartalé2k1áll
+tava2ly1elõtt
+tá2v1ir
+tá2v1ír
+távira2t1s2tílus
+távo2l1ugr
+tá2v1úsz
+tegna2p1elõtt
+tehé2n1ist
+tehe2r1ár
+tehe2r1aut
+te2j1ár
+tejfele2s3száj
+tejfölö2s3száj
+te2j1út
+.te2j1ü
+tekinté2ly1uralom
+telefo2n1áll
+telefo2n1auto
+telefo2n1érme
+tenge2r1áram
+tenge2r1öböl
+teni2sz1üt
+tenyé2sz1áll
+tenyé2sz1idõ
+tere2m1õr
+tere2p1ism
+tere2p1akad
+té2r1érz
+té2r1isz
+termé2ny1ár
+termé2s1ered
+természe2t1átala
+természe2t1ell
+természe2t1im
+ter2v1elõir
+ter2v1oszt
+tes2t1alk
+tes2t1ápol
+tes2t1edz
+tes2t1õr
+tet2t1erõ
+texti2l1any
+texti2l1ár
+texti2l1ipar
+1thyá1ny<!-- % Bat-thyá-ny ld. MHSz^{10} p.103 -->
+tífu2sz1olt
+típu2s1áru
+típu2s1ebéd
+tisztele2t1ad
+tisztessé2g1érz
+tisz2t1új
+tize2n1
+.tí2z1
+.tí3z2en
+.tí3z2es
+tí2z3szer
+toalet2t1aszt
+toro2ny1óra
+toro2ny1ugr
+tor2z3szül
+továb2b1ad
+továb2b1áll
+töb2b1év
+töb2b1ezer
+töb2b1oldal
+tõké2s1áll
+tõké2s1oszt
+töl2gy1erd
+töme2g1erõ
+töme2g3gy
+törö2k1ország
+törö2k1ül
+történe2t1ír
+törvé2ny1alk
+törvé2ny1ell
+törvé2ny1er
+tör2zs1õrm
+tör2zs3szám
+t2raccsol
+t2rágya
+t2rágyáz
+t2rakto2r1állo
+t2rancsír
+t2ranszform
+t2rappol
+t2récsel
+t4réfál
+t2rombit
+.t2rón
+t2ró2n1örök
+t2ró2n1ut
+tudá2s3szomj
+tuda2t1alatt
+tudomá2ny1egy
+tú2l1ad
+tú2l1árad
+tú2l1él
+tú2l1ér
+tú2l1erõ
+tú2l1expo
+tú2l1old
+tú2l1ór
+tû2z1áll
+tüzé2r1ezr
+tû2z1olt
+tû2z1õr
+.tû2z3sz
+tyú2k1ól
+.ugya2n1
+úgy1annyi
+úgy1is
+újon2c1állít
+ujsá2g1ár
+újsá2g1ír
+úr1assz
+utá2n3nyom
+utas3száll
+utász3száz
+út1elág
+út1épít
+út1irány
+ügyész3ség
+üg2y1int
+üg2y1ir
+üg2y1oszt
+.ük1a
+.ük1u
+ülés3szak
+.ûr1állom
+üve2g1a
+üve2g1á
+üve2g1ed
+üve2g3gy
+üve2g1ipa
+üze2m1anyag
+üzle2t1emb
+üzle2t1év
+va2d1áll
+va2d1alm
+vadá2sz1e
+vadász3zs
+va2d1emb
+va2d1evez
+va2d1ideg
+vá2d1irat
+va2d1õr
+vá2gy1álom
+va2gy1is
+vagyo2n1ad
+vagyo2n1átr
+va2k1ír
+vallá2s1alap
+vallá2s1ell
+vallá2s1okt
+vallás3sz
+vá2m1õr
+vándo2r1út
+vará2zs1er
+vará2zs1i
+vará2zs3sz
+váro2s1aty
+váro2s1épít
+váro2s3sz
+vá2r1õr
+vá2r1úr
+va2s1ágy
+va2s1aj
+va2s1akar
+va2s1ár
+va3s2árn
+va2s1ed
+va2s1eg
+va2s1érc
+va2s1esz
+va2s1olv
+.va2s1ö
+.vas3sz
+va2s1utas
+va2s1út
+vasú2t1áll
+vé2d1erõ
+vé2g1akar
+vé2g1áll
+vé2g1el
+vé3g2eláthat
+vé2g1eredmény
+vé2g1érv
+.végi2g1
+.vé2g1í
+.vé2g1ó
+vé2g1össz
+ve2gy1elem
+ve2gy1ért
+ve2gy1ipar
+vé2n1assz
+vendé2g1ágy
+vendé2g1old
+vé2n1emb
+.vé2r1ad
+.vé2r1al
+vé2r1áldoz
+vé2r1áram
+vé2r1á2t1öml
+.vé2r1eb
+vé2r1edény
+vé2r1ellát
+vére2s3száj
+vé2r1ont
+.vé2r1ö
+verse2ny1autó
+verse2ny1ist
+verse2ny1ú
+verse2ny1u
+ver2s1ír
+ver2s3szak
+vé2sz3síp
+véte2l1ár
+vezé2r1elv
+vezé2r1eszme
+vezé2r1evez
+vezé2r1ezr
+vezé2r1iga
+vezé2r1õrn
+via2sz3sárg
+ví2g1oper
+vilá2g1égés
+vilá2g1irod
+vilá2g1ismer
+vilá2g1ural
+vilá2g1ûr
+villamos3szék
+villa2ny1áram
+.villa2ny1e
+villa2ny1égõ
+villa2ny1õra
+villa2ny1oszlop
+virá2g1ágy
+virá2g1álv
+virá2g1ár
+virá2g1erd
+viszon2t1elad
+vissz1ér
+vissz1eres
+vité2z3ség
+ví2z1áll
+.ví2z1át
+ví2z1ellátás
+ví2z1elnyelõ
+ví2z1elvezet
+ví2z1épít
+ví2z1esés
+ví2z1iszony
+.ví2z3s
+<!-- %.ví2z3sz -->
+vona2t1érk
+vona2t1ind
+vörö2s1õr
+zápo2r1esõ
+zá2r1óra
+zászló2s1úr
+zu2g1ír
+zu2g1irász
+zu2g1utca
+.zu2g1ü
+zsá2k1utca
+zse2b1atlasz
+.zsi2b1ár
+zsili2p1õr
+zsí2r1alkohol
+zsí2r1ellát
+zsoltá2r1ír
+<!-- % ******************* Additions/modifications by GAM ****************
+% 1qu2 from 1qu see above -->
+.á4
+.é4
+.í4
+.ó4
+.ö4
+.õ4
+.ú4
+.ü4
+.û4
+4á.
+4é.
+4í.
+4ó.
+4ö.
+4õ.
+4ú.
+4ü.
+4û.
+</patterns>
+<!--
+% ****************** End of Additions by GAM ************************
+% dchuhyph Ver. 2.1
+-->
+</hyphenation-info>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE hyphenation-info SYSTEM "hyphenation.dtd">
+
+<!--
+ Hyphenation patterns for Polish.
+
+ Constructed by Marcin Kuthan <mkuthan@elka.pw.edu.pl> from TeX's plhypht.tex file.
+
+ Original comments preserved:
+
+% This is PLHYPH.TeX - the Polish hyphenation patterns
+% version 3.0a, Wednesday, May 17th, 1995
+% to be used for the inclusion of Polish hyphenation patterns in any format,
+% not necessarily in the MeX or LaMeX ones. The patterns are exactly
+% the same as in the version 3.0 being the part of the MeX package,
+% only the surrounding of the \pattern command is changed. The authors
+% claim the upward compatibility, i.e., the version 3.0a can also be used
+% with the MeX or LaMeX formats.
+
+% The history of development of the Polish hyphenation patterns:
+%
+% The first version of the patterns was developed
+% by Hanna Ko\l{}odziejska (1987).
+%
+% The adaptation to the LeX format (see below) and extensive modification
+% were done by Bogus\l{}aw Jackowski & Marek Ry\'cko (1987- -1989).
+%
+% The hyphenation rules were further improved and adapted to the
+% TeX 3.x requirements by Hanna Ko\l{}odziejska (1991).
+%
+% Lone-standing version (3.0a) of patterns was prepared (under pressure
+% from LaTeX users) by Bogus\l{}aw Jackowski and Marek Ry\'cko, following
+% Mariusz Olko's suggestions, 1995.
+
+% The LeX format mentioned above was the first version of the adaptation
+% of TeX to the Polish language. The next version is called MeX.
+
+% This macro file belongs to the public domain
+% under the conditions specified by the author of TeX:
+%
+% ``Macro files like PLAIN.TEX should not be changed in any way,
+% except with respect to preloaded fonts,
+% unless the changes are authorized by the authors of the macros.''
+%
+% Donald E. Knuth
+%
+% For details see MEXINFO.ENG or MEXINFO.POL in the MeX package.
+-->
+
+<hyphenation-info>
+
+<hyphen-char value="-"/>
+
+<!-- I'm not sure of settings below -->
+<hyphen-min before="3" after="2"/>
+
+<classes>
+aA
+bB
+cC
+dD
+eE
+fF
+gG
+hH
+iI
+jJ
+kK
+lL
+mM
+nN
+oO
+pP
+qQ
+rR
+sS
+tT
+uU
+vV
+wW
+xX
+yY
+zZ
+ąĄ
+ćĆ
+ęĘ
+łŁ
+ńŃ
+óÓ
+śŚ
+żŻ
+źŹ
+</classes>
+
+<exceptions>
+be-zach
+be-zami
+by-naj-mniej
+gdzie-nie-gdzie
+ina-czej
+na-dal
+ni-gdy
+ni-gdzie
+niech-że
+niech-by
+ow-szem
+pó-łach
+pó-łami
+pó-łek
+pod-ów-czas
+przy-naj-mniej
+skąd-inąd
+tró-jach
+tró-jami
+tró-jek
+</exceptions>
+
+<patterns>
+.ćć8
+.ćł8
+.ćń8
+.ćś8
+.ćź8
+.ćż8
+.ć8
+.ćb8
+.ćc8
+.ćd8
+.ćf8
+.ćg8
+.ćh8
+.ćj8
+.ćk8
+.ćl8
+.ćm8
+.ćn8
+.ćp8
+.ćr8
+.ćs8
+.ćt8
+.ćv8
+.ćw8
+.ćwier2ć3
+.ćx8
+.ćz8
+.łć8
+.łł8
+.łń8
+.łś8
+.łź8
+.łż8
+.ł8
+.łb8
+.łc8
+.łd8
+.łf8
+.łg8
+.łh8
+.łj8
+.łk8
+.łl8
+.łm8
+.łn8
+.łp8
+.łr8
+.łs8
+.łt8
+.łv8
+.łw8
+.łx8
+.łz8
+.ńć8
+.ńł8
+.ńń8
+.ńś8
+.ńź8
+.ńż8
+.ń8
+.ńb8
+.ńc8
+.ńd8
+.ńf8
+.ńg8
+.ńh8
+.ńj8
+.ńk8
+.ńl8
+.ńm8
+.ńn8
+.ńp8
+.ńr8
+.ńs8
+.ńt8
+.ńv8
+.ńw8
+.ńx8
+.ńz8
+.ść8
+.śł8
+.śń8
+.śś8
+.śź8
+.śż8
+.ś8
+.śb8
+.śc8
+.śd8
+.śf8
+.śg8
+.śh8
+.śj8
+.śk8
+.śl8
+.śm8
+.śn8
+.śp8
+.śró2d5
+.śródr2
+.śr8
+.śs8
+.śt8
+.śv8
+.św8
+.światło3w2
+.śx8
+.śz8
+.źć8
+.źł8
+.źń8
+.źś8
+.źź8
+.źż8
+.ź8
+.źb8
+.źc8
+.źdź8
+.źd8
+.źf8
+.źg8
+.źh8
+.źj8
+.źk8
+.źl8
+.źm8
+.źn8
+.źp8
+.źr8
+.źs8
+.źt8
+.źv8
+.źw8
+.źx8
+.źz8
+.żć8
+.żł8
+.żń8
+.żś8
+.żź8
+.żż8
+.ż8
+.żb8
+.żc8
+.żd8
+.żf8
+.żg8
+.żh8
+.żj8
+.żk8
+.żl8
+.żm8
+.żn8
+.żp8
+.żr8
+.żs8
+.żt8
+.żv8
+.żw8
+.żx8
+.żz8
+.a2b2s3t
+.a2d3
+.ad4a
+.ad4e
+.ad4i
+.ad4o
+.ad4u
+.ad4y
+.ad5apt
+.ad5iu
+.ad5op
+.ad5or
+.ae3ro
+.aeroa2
+.aeroe2
+.aeroi2
+.aeroo2
+.aerou2
+.antya2
+.antye2
+.antyi2
+.antyo2
+.antyu2
+.arcy3ł2
+.arcy3b2
+.arcy3bz2
+.arcy3k2
+.arcy3m2
+.arcya2
+.arcye2
+.arcyi2
+.arcyo2
+.arcyu2
+.au3g2
+.au3k2
+.au3t2
+.auto3ch2
+.autoa2
+.autoe2
+.autoi2
+.autoo2
+.autotran2s3
+.autou2
+.bć8
+.bł8
+.bń8
+.bś8
+.bź8
+.bż8
+.b8
+.bb8
+.bc8
+.bd8
+.be2z3
+.be3z4an
+.be3z4ec
+.be3z4ik
+.bezch2
+.bezm2
+.bezo2
+.bezo2b1j
+.bezw2
+.bezzw2
+.bf8
+.bg8
+.bh8
+.bj8
+.bk8
+.bl8
+.bm8
+.bn8
+.bp8
+.br8
+.brz8
+.bs8
+.bt8
+.bv8
+.bw8
+.bx8
+.bz8
+.cć8
+.cł8
+.cń8
+.cś8
+.cź8
+.cż8
+.c8
+.cało3ś2
+.cało3k2
+.cb8
+.cc8
+.cd8
+.cf8
+.cg8
+.ch8
+.chrz8
+.cienko3w2
+.ciepło3kr2
+.cj8
+.ck8
+.cl8
+.cm8
+.cn8
+.cp8
+.cr8
+.cs8
+.ct8
+.cv8
+.cw8
+.cx8
+.cz8
+.czarno3k2
+.czk8
+.cztere2ch3
+.czterechse2t3
+.cztero3ś2
+.czwó2r3
+.czwó3r4ą
+.czwó3r4ę
+.czwó3r4a
+.czwó3r4e
+.czwó3r4o
+.dć8
+.dł8
+.długo3tr2
+.długo3w2
+.dń8
+.dś8
+.dź8
+.dż8
+.d8
+.daleko3w2
+.db8
+.dc8
+.dd8
+.de2z3
+.de3z4a3bil
+.de3z4a3wu
+.de3z4el
+.de3z4er
+.de3z4y
+.deza2
+.dezo2
+.df8
+.dg8
+.dh8
+.dj8
+.dk8
+.dl8
+.dm8
+.dn8
+.do3ć2
+.do3ł2
+.do3ś2
+.do3ź2
+.do3ż2
+.do3b2
+.do3c2
+.do3d2
+.do3f2
+.do3g2
+.do3h2
+.do3k2
+.do3l2
+.do3m2
+.do3p2
+.do3r2
+.do3s2
+.do3t2
+.do3w2
+.do3z2
+.do4ł3k
+.do4k3t
+.do4l3n
+.do4m3k
+.do4r3s
+.do4w3c
+.do5m4k2n
+.dobr2
+.dobrz2
+.doch2
+.docz2
+.dodź2
+.dodż2
+.dodz2
+.dogrz2
+.dopch2
+.doprz2
+.dorż2
+.dorz2
+.dosch2
+.dosm2
+.dosz2
+.dotk2
+.dotr2
+.dp8
+.dr8
+.drogo3w2
+.drz8
+.ds8
+.dt8
+.dv8
+.dwó2j3
+.dwó3j4ą
+.dwó3j4ę
+.dwó3j4a
+.dwó3j4e
+.dwó3j4o
+.dw8
+.dx8
+.dy2s3
+.dy2z3
+.dy3s4e
+.dy3s4o
+.dy3s4ta
+.dy3s4y
+.dy3sz
+.dy3z4e
+.dyzu2
+.dz8
+.dziesięcio3ś2
+.dziewięćse2t3
+.dziewię2ć3
+.dziewięcio3ś2
+.e2k2s3
+.e2m3e2s5ze2t
+.e2s1e2s1ma
+.e2s1ha
+.e2s1t
+.egoa2
+.egoe2
+.egoi2
+.egoo2
+.egou2
+.eks4y
+.elektroa2
+.elektroe2
+.elektroi2
+.elektroo2
+.elektrou2
+.fć8
+.fł8
+.fń8
+.fś8
+.fź8
+.fż8
+.f8
+.fb8
+.fc8
+.fd8
+.ff8
+.fg8
+.fh8
+.fj8
+.fk8
+.fl8
+.fm8
+.fn8
+.fp8
+.fr8
+.fs8
+.ft8
+.fv8
+.fw8
+.fx8
+.fz8
+.gć8
+.gł8
+.gń8
+.gś8
+.gź8
+.gż8
+.g8
+.gb8
+.gc8
+.gd8
+.ge2o3
+.gf8
+.gg8
+.gh8
+.gj8
+.gk8
+.gl8
+.gm8
+.gn8
+.go2u3
+.gp8
+.gr8
+.grubo3w2
+.grz8
+.gs8
+.gt8
+.gv8
+.gw8
+.gx8
+.gz8
+.hć8
+.hł8
+.hń8
+.hś8
+.hź8
+.hż8
+.h8
+.hb8
+.hc8
+.hd8
+.hf8
+.hg8
+.hh8
+.hipe2r3
+.hipe3r4o
+.hipera2
+.hipere2
+.hj8
+.hk8
+.hl8
+.hm8
+.hn8
+.hp8
+.hr8
+.hs8
+.ht8
+.hv8
+.hw8
+.hx8
+.hz8
+.i2n3
+.i2s3l
+.i3n4ic
+.i3n4o
+.i3n4u
+.i4n5o2k
+.in4f3lan
+.ino3w2
+.izoa2
+.izoe2
+.izoi2
+.izoo2
+.izou2
+.jć8
+.jł8
+.jń8
+.jś8
+.jź8
+.jż8
+.j8
+.jadło3w2
+.jb8
+.jc8
+.jd8
+.jf8
+.jg8
+.jh8
+.jj8
+.jk8
+.jl8
+.jm8
+.jn8
+.jp8
+.jr8
+.js8
+.jt8
+.jv8
+.jw8
+.jx8
+.jz8
+.kć8
+.kł8
+.kń8
+.kś8
+.kź8
+.kż8
+.k8
+.kb8
+.kc8
+.kd8
+.kf8
+.kg8
+.kh8
+.kilkuse2t3
+.kilkuseto2
+.kj8
+.kk8
+.kl8
+.km8
+.kn8
+.koło3w2
+.kon2t2r3
+.kon3tr4a
+.kon3tr4e
+.kon3tr4o3l
+.kon3tr4o3w
+.kon3tr4y
+.kon4tr5a2gi
+.kon4tr5a2se
+.kon4tr5a2sy
+.kon4tr5a2ta
+.kon4tr5adm
+.kon4tr5akc
+.kon4tr5alt
+.kon4tr5arg
+.kontro2
+.kontru2
+.kp8
+.krótko3tr2
+.krótko3w2
+.kr8
+.kro2ć3
+.krz8
+.ks8
+.kt8
+.kv8
+.kw8
+.kx8
+.kz8
+.lć8
+.lł8
+.lń8
+.lś8
+.lź8
+.lż8
+.l8
+.lb8
+.lc8
+.ld8
+.lf8
+.lg8
+.lh8
+.lj8
+.lk8
+.ll8
+.lm8
+.ln8
+.lp8
+.lr8
+.ls8
+.lt8
+.ludo3w2
+.lv8
+.lw8
+.lx8
+.lz8
+.mć8
+.mł8
+.mń8
+.mś8
+.mź8
+.mż8
+.m8
+.mb8
+.mc8
+.md8
+.mf8
+.mg8
+.mh8
+.mili3amp
+.mj8
+.mk8
+.ml8
+.mm8
+.mn8
+.możno3w2
+.mp8
+.mr8
+.ms8
+.mt8
+.mv8
+.mw8
+.mx8
+.mz8
+.nć8
+.nł8
+.nń8
+.nś8
+.nź8
+.nż8
+.n8
+.na2d2
+.na2j
+.na3ć2
+.na3ł2
+.na3ś2
+.na3ź2
+.na3ż2
+.na3b2
+.na3c2
+.na3dą
+.na3dę
+.na3dź2
+.na3d4łub
+.na3d4ir
+.na3d4much
+.na3d4ręcz
+.na3d4r2w
+.na3d4repcz
+.na3d4rept
+.na3d4ruk
+.na3d4rz
+.na3d4worn
+.na3daj
+.na3de
+.na3do
+.na3dy
+.na3dzi
+.na3f2
+.na3g2
+.na3h2
+.na3ją
+.na3ję
+.na3jazd
+.na3je
+.na3k2
+.na3l2
+.na3m2
+.na3p2
+.na3r2
+.na3s2
+.na3t2
+.na3u2
+.na3w2
+.na3z2
+.na4d3o2b2ł
+.na4d3o2bojcz
+.na4d3o2bowi
+.na4d3o2brot
+.na4d3o2drz
+.na4d3o2kien
+.na4d3olbrz
+.na4d5rzą
+.na4d5rzę
+.na4d5rzecz
+.na4d5rzy
+.na4d5ziem
+.na4f3c
+.na4f3t
+.na4j3e2f
+.na4j3e2g
+.na4j3e2k2s
+.na4j3e2ko
+.na4j3e2n
+.na4j3e2r
+.na4j3e2s
+.na4j3e2w
+.na4j3emf
+.na4j3eu
+.na4r3c
+.na4r3d
+.na4r3k
+.na4r3r
+.na4r3t
+.nabrz2
+.nach2
+.nacz2
+.nadśrod5ziem
+.nad3ć2
+.nad3ł2
+.nad3ś2
+.nad3b2
+.nad3c2
+.nad3d2
+.nad3e2tat
+.nad3f2
+.nad3g2
+.nad3h2
+.nad3i2
+.nad3j2
+.nad3k2
+.nad3l2
+.nad3m2
+.nad3n2
+.nad3p2
+.nad3r2
+.nad3s2
+.nad3t2
+.nad3u2
+.nad3w2
+.nad5ż2
+.nad5zó
+.nad5z2mys
+.nad5zo
+.nad5zwycz
+.nadch2
+.nadcz2
+.naddź2
+.nade3ć2
+.nade3ł2
+.nade3ś2
+.nade3ź2
+.nade3ż2
+.nade3b2
+.nade3c2
+.nade3d2
+.nade3f2
+.nade3g2
+.nade3h2
+.nade3k2
+.nade3l2
+.nade3m2
+.nade3p2
+.nade3r2
+.nade3s2
+.nade3t2
+.nade3w2
+.nade3z2
+.nade4p3c
+.nade4p3n
+.nade4p3t
+.nadech2
+.nadecz2
+.nadedź2
+.nadedż2
+.nadedz2
+.naderż2
+.naderz2
+.nadesz2
+.nadsz2
+.nadtr2
+.nadz2
+.nagrz2
+.naj3ć2
+.naj3ł2
+.naj3ś2
+.naj3ź2
+.naj3ż2
+.naj3akt
+.naj3au
+.naj3b2
+.naj3c2
+.naj3d2
+.naj3f2
+.naj3g2
+.naj3h2
+.naj3i2
+.naj3k2
+.naj3l2
+.naj3m2
+.naj3o2
+.naj3o2ć2
+.naj3o2ł2
+.naj3o2ś2
+.naj3o2ź2
+.naj3o2ż2
+.naj3o2b2
+.naj3o2c2
+.naj3o2d2
+.naj3o2f2
+.naj3o2g2
+.naj3o2h2
+.naj3o2k2
+.naj3o2l2
+.naj3o2m2
+.naj3o2p2
+.naj3o2r2
+.naj3o2s2
+.naj3o2t2
+.naj3o2w2
+.naj3o2z2
+.naj3p2
+.naj3r2
+.naj3ro2z3
+.naj3s2
+.naj3t2
+.naj3u2
+.naj3w2
+.naj3z2
+.najbe2z3
+.najbezw2
+.najch2
+.najcz2
+.najdź2
+.najdż2
+.najdo3ć2
+.najdo3ł2
+.najdo3ś2
+.najdo3ź2
+.najdo3ż2
+.najdo3b2
+.najdo3c2
+.najdo3d2
+.najdo3f2
+.najdo3g2
+.najdo3h2
+.najdo3k2
+.najdo3l2
+.najdo3m2
+.najdo3p2
+.najdo3r2
+.najdo3s2
+.najdo3t2
+.najdo3w2
+.najdo3z2
+.najdoch2
+.najdocz2
+.najdodź2
+.najdodż2
+.najdodz2
+.najdorz2
+.najdosz2
+.najdotk2
+.najdz2
+.najkr2
+.najob3ć2
+.najob3ł2
+.najob3ś2
+.najob3ź2
+.najob3ż2
+.najob3c2
+.najob3d2
+.najob3f2
+.najob3g2
+.najob3h2
+.najob3j2
+.najob3k2
+.najob3l2
+.najob3m2
+.najob3n2
+.najob3p2
+.najob3s2
+.najob3t2
+.najob3w2
+.najobch2
+.najobcz2
+.najobdź2
+.najobdż2
+.najobdz2
+.najobrz2
+.najobsz2
+.najoch2
+.najocz2
+.najodź2
+.najod3ć2
+.najod3ś2
+.najod3c2
+.najod3d2
+.najod3f2
+.najod3g2
+.najod3h2
+.najod3j2
+.najod3k2
+.najod3l2
+.najod3m2
+.najod3n2
+.najod3p2
+.najod3s2
+.najod3t2
+.najod3w2
+.najod5ż2
+.najodch2
+.najodcz2
+.najoddź2
+.najoddż2
+.najoddz2
+.najodsz2
+.najodz2
+.najorz2
+.najosz2
+.najro3z4u
+.najrz2
+.najsm2
+.najsz2
+.najtk2
+.najtr2
+.najucz2
+.najzw2
+.nakr2
+.napo2d2
+.napo3ć2
+.napo3ł2
+.napo3ś2
+.napo3ź2
+.napo3ż2
+.napo3b2
+.napo3c2
+.napo3f2
+.napo3g2
+.napo3h2
+.napo3k2
+.napo3l2
+.napo3m2
+.napo3p2
+.napo3r2
+.napo3s2
+.napo3t2
+.napo3w2
+.napo3z2
+.napo4m3p
+.napoch2
+.napocz2
+.napodź2
+.napodż2
+.napod3d
+.napomk2
+.naporz2
+.naposz2
+.naprz2
+.narż2
+.naro2z3
+.narz2
+.nasm2
+.nasz2
+.natch2
+.natk2
+.naz3m2
+.nazw2
+.nb8
+.nc8
+.nd8
+.ne2o3
+.nf8
+.ng8
+.nh8
+.nie3ć2
+.nie3ł2
+.nie3ś2
+.nie3ź2
+.nie3ż2
+.nie3b2
+.nie3c2
+.nie3d2
+.nie3f2
+.nie3g2
+.nie3h2
+.nie3k2
+.nie3l2
+.nie3m2
+.nie3p2
+.nie3r2
+.nie3s2
+.nie3t2
+.nie3u2
+.nie3w2
+.nie3z2
+.nie4c3c
+.nie4c3k
+.nie4dź3
+.nie4m3c
+.nie4m3k
+.niech2
+.niecz2
+.niedż2
+.niedo3ć2
+.niedo3ł2
+.niedo3ś2
+.niedo3ź2
+.niedo3ż2
+.niedo3b2
+.niedo3c2
+.niedo3d2
+.niedo3f2
+.niedo3g2
+.niedo3h2
+.niedo3k2
+.niedo3l2
+.niedo3m2
+.niedo3p2
+.niedo3r2
+.niedo3s2
+.niedo3t2
+.niedo3w2
+.niedo3z2
+.niedobrz2
+.niedoch2
+.niedocz2
+.niedodź2
+.niedodż2
+.niedodz2
+.niedokr2
+.niedomk2
+.niedopch2
+.niedorz2
+.niedosz2
+.niedotk2
+.niedz2
+.nieoć2
+.nieoł2
+.nieoś2
+.nieoź2
+.nieoż2
+.nieo2
+.nieob2
+.nieob3ć2
+.nieob3ś2
+.nieob3ź2
+.nieob3ż2
+.nieob3c2
+.nieob3d2
+.nieob3f2
+.nieob3g2
+.nieob3h2
+.nieob3j2
+.nieob3k2
+.nieob3m2
+.nieob3p2
+.nieob3s2
+.nieob3w2
+.nieobch2
+.nieobcz2
+.nieobdź2
+.nieobdż2
+.nieobdz2
+.nieobsz2
+.nieoc2
+.nieoch2
+.nieocz2
+.nieodź2
+.nieod2
+.nieod3ć2
+.nieod3ł2
+.nieod3ś2
+.nieod3c2
+.nieod3d2
+.nieod3f2
+.nieod3g2
+.nieod3h2
+.nieod3j2
+.nieod3k2
+.nieod3l2
+.nieod3n2
+.nieod3p2
+.nieod3s2
+.nieod3t2
+.nieod3wr
+.nieod5ż2
+.nieodch2
+.nieodcz2
+.nieoddź2
+.nieoddż2
+.nieoddz2
+.nieodsz2
+.nieodw2
+.nieodz2
+.nieof2
+.nieog2
+.nieoh2
+.nieok2
+.nieol2
+.nieom2
+.nieop2
+.nieor2
+.nieorz2
+.nieos2
+.nieosz2
+.nieot2
+.nieow2
+.nieoz2
+.niepo2d2
+.niepo3ć2
+.niepo3ł2
+.niepo3ś2
+.niepo3ź2
+.niepo3ż2
+.niepo3b2
+.niepo3c2
+.niepo3dź2
+.niepo3d4łu
+.niepo3d4much
+.niepo3d4ręcz
+.niepo3d4raż
+.niepo3d4rap
+.niepo3d4repcz
+.niepo3d4rept
+.niepo3d4waj
+.niepo3d4woj
+.niepo3do
+.niepo3du
+.niepo3dz2
+.niepo3f2
+.niepo3g2
+.niepo3h2
+.niepo3k2
+.niepo3l2
+.niepo3m2
+.niepo3p2
+.niepo3r2
+.niepo3s2
+.niepo3t2
+.niepo3w2
+.niepo3z2
+.niepo4d3o2choc
+.niepo4d3o2strz
+.niepoch2
+.niepocz2
+.niepod3ć2
+.niepod3ł2
+.niepod3ś2
+.niepod3b2
+.niepod3c2
+.niepod3d2
+.niepod3f2
+.niepod3g2
+.niepod3h2
+.niepod3j2
+.niepod3k2
+.niepod3l2
+.niepod3m2
+.niepod3n2
+.niepod3p2
+.niepod3r2
+.niepod3s2
+.niepod3t2
+.niepod3w2
+.niepod5ż
+.niepodch2
+.niepodcz2
+.niepoddź2
+.niepoddż2
+.niepodsm2
+.niepodsz2
+.nieporz2
+.nieposm2
+.nieposz2
+.nieprzełk2
+.nieprze2d2
+.nieprze3ć2
+.nieprze3ł2
+.nieprze3ś2
+.nieprze3ź2
+.nieprze3ż2
+.nieprze3b2
+.nieprze3brz2
+.nieprze3c2
+.nieprze3dź2
+.nieprze3d4łuż
+.nieprze3d4much
+.nieprze3d4ramat
+.nieprze3d4ruk
+.nieprze3d4ryl
+.nieprze3d4rz2
+.nieprze3d4um
+.nieprze3dy
+.nieprze3dz2
+.nieprze3e2k2s3
+.nieprze3f2
+.nieprze3g2
+.nieprze3h2
+.nieprze3k2
+.nieprze3l2
+.nieprze3m2
+.nieprze3n2
+.nieprze3p2
+.nieprze3r2
+.nieprze3s2
+.nieprze3t2
+.nieprze3w2
+.nieprze3z2
+.nieprze4d5łużyc
+.nieprze4d5ż2
+.nieprze4d5z2a
+.nieprze4d5zg2
+.nieprze4d5zim
+.nieprze4d5zj
+.nieprze4d5zl
+.nieprze4d5zw2r
+.nieprze4d5zwoj
+.nieprzech2
+.nieprzecz2
+.nieprzed3ć2
+.nieprzed3ł2
+.nieprzed3ś2
+.nieprzed3c2
+.nieprzed3d2
+.nieprzed3f2
+.nieprzed3g2
+.nieprzed3h2
+.nieprzed3i2
+.nieprzed3j2
+.nieprzed3k2
+.nieprzed3l2
+.nieprzed3m2
+.nieprzed3n2
+.nieprzed3p2
+.nieprzed3r2
+.nieprzed3s2
+.nieprzed3sz2
+.nieprzed3t2
+.nieprzed3u2
+.nieprzed3w2
+.nieprzedch2
+.nieprzedcz2
+.nieprzeddź2
+.nieprzeddż2
+.nieprzeddz2
+.nieprzegrz2
+.nieprzekl2
+.nieprzekr2
+.nieprzepch2
+.nieprzerż2
+.nieprzerz2
+.nieprzesch2
+.nieprzesm2
+.nieprzesz2
+.nieprzetk2
+.nieprzetr2
+.niero2z3
+.niero3z4e
+.niero3z4u
+.nierozś2
+.nierozbrz2
+.nieroze3r2
+.nierozm2
+.nieroztr2
+.nierz2
+.niesu2b3
+.niesu3b4ie
+.niesz2
+.nietk2
+.nietr2
+.nieucz2
+.nieuw2
+.niewy3ć2
+.niewy3ł2
+.niewy3ś2
+.niewy3ź2
+.niewy3ż2
+.niewy3b2
+.niewy3c2
+.niewy3d2
+.niewy3f2
+.niewy3g2
+.niewy3h2
+.niewy3k2
+.niewy3l2
+.niewy3m2
+.niewy3p2
+.niewy3r2
+.niewy3s2
+.niewy3t2
+.niewy3w2
+.niewy3z2
+.niewybrz2
+.niewych2
+.niewycz2
+.niewydź2
+.niewydż2
+.niewydz2
+.niewyrz2
+.niewysz2
+.niewytk2
+.niewytr2
+.niezw2
+.nj8
+.nk8
+.nl8
+.nm8
+.nn8
+.np8
+.nr8
+.ns8
+.nt8
+.nv8
+.nw8
+.nx8
+.nz8
+.oć2
+.oś2
+.ośmio3ś2
+.oź2
+.oż2
+.o2b2
+.o2d2
+.o2t3chł
+.o3b4łą
+.o3b4łę
+.o3b4łoc
+.o3b4luzg
+.o3b4rać
+.o3b4raso
+.o3b4roń
+.o3b4ron
+.o3b4ryź
+.o3b4ryz
+.o3b4rz2
+.o3be
+.o3bi
+.o3d4iu
+.o3d4ręt
+.o3d4rap
+.o3d4robin
+.o3d4rut
+.o3d4rwi
+.o3d4rzeć
+.o3d4rzw
+.o3d6zia
+.o3d6zie
+.o3de
+.o3l2śn
+.o4b5łocz
+.o4b5rzą
+.o4b5rzęd
+.o4b5rzez
+.o4b5rzuc
+.o4b5rzut
+.o4b5rzyn
+.o4d7ziar
+.o4d7ziem
+.oa3z
+.ob3ć2
+.ob3ł2
+.ob3ś2
+.ob3ź2
+.ob3ż2
+.ob3c2
+.ob3d2
+.ob3f2
+.ob3g2
+.ob3h2
+.ob3j2
+.ob3k2
+.ob3l2
+.ob3m2
+.ob3n2
+.ob3o2strz
+.ob3p2
+.ob3r
+.ob3s2
+.ob3t2
+.ob3u2m2
+.ob3w2
+.obch2
+.obcz2
+.obdź2
+.obdż2
+.obdz2
+.obe3ć2
+.obe3ł2
+.obe3ś2
+.obe3ź2
+.obe3ż2
+.obe3b2
+.obe3c2
+.obe3d2
+.obe3f2
+.obe3g2
+.obe3h2
+.obe3k2
+.obe3l2
+.obe3m2
+.obe3p2
+.obe3r2
+.obe3r3t
+.obe3s2
+.obe3t2
+.obe3w2
+.obe3z2
+.obe4c3n
+.obe4z3w
+.obech2
+.obecz2
+.obedź2
+.obedż2
+.obedz2
+.oberż2
+.ober3m
+.oberz2
+.obesch2
+.obesz2
+.obetk2
+.obi3b2
+.obsz2
+.oc2
+.och2
+.ochrz2
+.ocz2
+.odź2
+.od3ć2
+.od3ś2
+.od3au
+.od3b2
+.od3c2
+.od3d2
+.od3f2
+.od3g2
+.od3h2
+.od3i2
+.od3i2zo
+.od3j2
+.od3k2
+.od3l2
+.od3m2
+.od3n2
+.od3o2s
+.od3p2
+.od3r2
+.od3s2
+.od3t2
+.od3u2cz
+.od3u2m2
+.od3w2
+.od5ż2
+.od5z2
+.odbe2z3
+.odch2
+.odcz2
+.oddź2
+.oddż2
+.oddz2
+.ode3ć2
+.ode3ł2
+.ode3ś2
+.ode3ź2
+.ode3ż2
+.ode3b2
+.ode3c2
+.ode3d2
+.ode3f2
+.ode3g2
+.ode3h2
+.ode3k2
+.ode3l2
+.ode3m2
+.ode3mk2
+.ode3p2
+.ode3r2
+.ode3s2
+.ode3t2
+.ode3w2
+.ode3z2
+.odech2
+.odecz2
+.odedź2
+.odedż2
+.odedz2
+.odepch2
+.oderż2
+.oderz2
+.odesz2
+.odetch2
+.odetk2
+.odkrz2
+.odrz2
+.odsz2
+.of2
+.ogólno3k2
+.og2
+.ognio3tr2
+.oh2
+.ok2
+.oka3m2
+.okr2
+.ole2o3
+.om2
+.op2
+.opch2
+.or2ż2
+.or2tę
+.or2z2
+.os2
+.osie2m3
+.osiemse2t3
+.osz2
+.ot2
+.ow2
+.oz2
+.pć8
+.pł8
+.płasko3w2
+.pń8
+.półk2
+.półkr2
+.półm2
+.póło2
+.półob3r
+.półom2d
+.półprzy3m2k
+.pó2ł3
+.pó3ł4ą
+.pó3ł4ę
+.pó3ł4ecz
+.pó3ł4y
+.pś8
+.pź8
+.pż8
+.p8
+.pb8
+.pc8
+.pch8
+.pd8
+.pełno3kr2
+.pe2r3
+.pe3c2k
+.pe3r4e
+.pe3r4i
+.pe3r4o
+.pe3r4u
+.pe3r4y
+.pe4r5i2n
+.pee2se2l
+.pepee2r
+.pepee2s
+.peze2t1pee2r
+.pf8
+.pg8
+.ph8
+.pięćse2t3
+.pię2ć3
+.pięcio3ś2
+.pierwo3w2
+.piono3w2
+.pj8
+.pk8
+.pl8
+.pm8
+.pn8
+.połk2
+.po2d2
+.po3ć2
+.po3ł2
+.po3ś2
+.po3ź2
+.po3ż2
+.po3b2
+.po3c2
+.po3dą
+.po3dę
+.po3dź2
+.po3d4łu
+.po3d4much
+.po3d4naw
+.po3d4ręcz
+.po3d4rętw
+.po3d4róż
+.po3d4r2wi
+.po3d4raż
+.po3d4rap
+.po3d4repcz
+.po3d4rept
+.po3d4roż
+.po3d4robó
+.po3d4roba
+.po3d4robo
+.po3d4roby
+.po3d4rocz
+.po3d4ruzg
+.po3d4ryg
+.po3d4rze
+.po3d4wójn
+.po3d4wór
+.po3d4waj
+.po3d4woi
+.po3d4woj
+.po3d4worz
+.po3da
+.po3de
+.po3dej
+.po3diu
+.po3do
+.po3du
+.po3dy
+.po3dz2
+.po3e2k2s3
+.po3f2
+.po3g2
+.po3h2
+.po3k2
+.po3l2
+.po3m2
+.po3p2
+.po3rż
+.po3r2
+.po3s2
+.po3t2
+.po3w2
+.po3z2
+.po4ń3c
+.po4cz3d
+.po4cz3t
+.po4d3ów
+.po4d3e4k2s3
+.po4d3o2bóz
+.po4d3o2biad
+.po4d3o2bojcz
+.po4d3o2braz
+.po4d3o2choc
+.po4d3o2dm
+.po4d3o2f
+.po4d3o2g
+.po4d3o2kien
+.po4d3o2kn
+.po4d3o2kręg
+.po4d3o2kres
+.po4d3o2piecz
+.po4d3o2ryw
+.po4d3o2siniak
+.po4d3o2strz
+.po4d3obsz
+.po4d3odd
+.po4d3olbrz
+.po4d3u2cz
+.po4d3u2dz
+.po4d3u2pa
+.po4d3u2ral
+.po4d3u2sta
+.po4d3u2szcz
+.po4d5ręczn
+.po4d5zakr
+.po4d5zam
+.po4d5zast
+.po4d5zbi
+.po4d5ze
+.po4d5zielenią
+.po4d5zielenić
+.po4d5zielenię
+.po4d5zielenił
+.po4d5zielenic
+.po4d5zielenien
+.po4d5zielenil
+.po4d5zielenim
+.po4d5zielenio
+.po4d5zielenis
+.po4d5ziem
+.po4d5ziom
+.po4d5zw2r
+.po4l3s
+.po4m3p
+.po4r3c
+.po4r3f
+.po4r3n
+.po4r3t
+.po4st3d
+.po4st3f
+.po4st3g
+.po4st3h
+.po4st3i2
+.po4st3k
+.po4st3l
+.po4st3m
+.po4st3p
+.po4st3rom
+.po4st3s
+.po5d4uszczyn
+.po5r4tę
+.pobr2
+.pobrz2
+.poch2
+.pochrz2
+.pocz2
+.pod3ć2
+.pod3ł2
+.pod3ś2
+.pod3śró2d5
+.pod3alp
+.pod3b2
+.pod3c2
+.pod3d2
+.pod3f2
+.pod3g2
+.pod3h2
+.pod3i2n
+.pod3j2
+.pod3k2
+.pod3l2
+.pod3m2
+.pod3n2
+.pod3p2
+.pod3r2
+.pod3s2
+.pod3t2
+.pod3w2
+.pod5ż2
+.podch2
+.podcz2
+.poddź2
+.poddż2
+.pode3ć2
+.pode3ł2
+.pode3ś2
+.pode3ź2
+.pode3ż2
+.pode3b2
+.pode3c2
+.pode3d2
+.pode3f2
+.pode3g2
+.pode3h2
+.pode3k2
+.pode3l2
+.pode3m2
+.pode3p2
+.pode3r2
+.pode3s2
+.pode3t2
+.pode3tk2
+.pode3w2
+.pode3z2
+.podech2
+.podecz2
+.podedź2
+.podedż2
+.podedz2
+.podepch2
+.poderż2
+.poderz2
+.podesch2
+.podesz2
+.podro2z3
+.podsm2
+.podsz2
+.pogrz2
+.pokl2
+.pokr2
+.pom4pk
+.pomk2
+.pona2d2
+.pona3ć2
+.pona3ł2
+.pona3ś2
+.pona3ź2
+.pona3ż2
+.pona3b2
+.pona3c2
+.pona3cz2
+.pona3dź2
+.pona3do
+.pona3f2
+.pona3g2
+.pona3h2
+.pona3k2
+.pona3l2
+.pona3m2
+.pona3p2
+.pona3r2
+.pona3s2
+.pona3t2
+.pona3w2
+.pona3z2
+.pona4f3t
+.ponabrz2
+.ponach2
+.ponad3ć2
+.ponad3ś2
+.ponad3c2
+.ponad3ch2
+.ponad3cz2
+.ponad3dź2
+.ponad3f2
+.ponad3g2
+.ponad3h2
+.ponad3j2
+.ponad3k2
+.ponad3l2
+.ponad3p2
+.ponad3s2
+.ponad3t2
+.ponadz2
+.ponarz2
+.ponasm2
+.ponasz2
+.ponaz3m2
+.ponazw2
+.ponie3k2
+.ponie3w2
+.popch2
+.popo3w2
+.poprz2
+.por4t1w
+.por4tf
+.por4tm
+.poro2z3
+.poro3z4u
+.porz2
+.posch2
+.posm2
+.posz2
+.potk2
+.potr2
+.poz4m2
+.poza3u2
+.pozw2
+.pp8
+.pr8
+.pra3s2
+.pra3w2nu
+.pra3w2z
+.prapra3w2nu
+.predy2s3po
+.prz8
+.przełk2
+.prze2d2
+.prze3ć2
+.prze3ł2
+.prze3ś2
+.prze3ź2
+.prze3ż2
+.prze3b2
+.prze3c2
+.prze3dą
+.prze3dę
+.prze3dź2
+.prze3d4łuż
+.prze3d4much
+.prze3d4o3br
+.prze3d4o3st
+.prze3d4o3zo
+.prze3d4ramat
+.prze3d4ruk
+.prze3d4ryl
+.prze3d4rz2
+.prze3d4um
+.prze3dy
+.prze3dz2
+.prze3e2k2s3
+.prze3f2
+.prze3g2
+.prze3h2
+.prze3k2
+.prze3l2
+.prze3m2
+.prze3n2
+.prze3p2
+.prze3r2
+.prze3s2
+.prze3t2
+.prze3u2
+.prze3w2
+.prze3z2
+.prze4d5łużyc
+.prze4d5ż2
+.prze4d5o4stat
+.prze4d5za
+.prze4d5zg2
+.prze4d5zim
+.prze4d5zj
+.prze4d5zl
+.prze4d5zw2r
+.prze4d5zwoj
+.przebr2
+.przebrz2
+.przech2
+.przechrz2
+.przeci2w3
+.przeci3w4ie
+.przeciwa2
+.przeciww2
+.przecz2
+.przed3ć2
+.przed3ł2
+.przed3ś2
+.przed3a2gon
+.przed3a2kc
+.przed3alp
+.przed3b2
+.przed3c2
+.przed3d2
+.przed3e2gz
+.przed3e2mer
+.przed3f2
+.przed3g2
+.przed3h2
+.przed3i2
+.przed3j2
+.przed3k2
+.przed3l2
+.przed3m2
+.przed3n2
+.przed3o2
+.przed3p2
+.przed3r2
+.przed3s2
+.przed3się3w2
+.przed3sz2
+.przed3t2
+.przed3u2
+.przed3w2
+.przedch2
+.przedcz2
+.przeddź2
+.przeddż2
+.przeddz2
+.przedgrz2
+.przedy2s3ku
+.przegrz2
+.przekl2
+.przekr2
+.przemk2
+.przepch2
+.przerż2
+.przerz2
+.przesch2
+.przesm2
+.przesz2
+.przetk2
+.przetr2
+.przetran2s3
+.przy3ć2
+.przy3ł2
+.przy3ś2
+.przy3ź2
+.przy3ż2
+.przy3b2
+.przy3c2
+.przy3d2
+.przy3f2
+.przy3g2
+.przy3h2
+.przy3k2
+.przy3l2
+.przy3m2
+.przy3p2
+.przy3r2
+.przy3s2
+.przy3t2
+.przy3w2
+.przy3z2
+.przybr2
+.przych2
+.przycz2
+.przydź2
+.przydż2
+.przydz2
+.przygrz2
+.przymk2
+.przyoz2
+.przypch2
+.przyrż2
+.przyrz2
+.przysch2
+.przysz2
+.przytk2
+.ps8
+.pt8
+.pv8
+.pw8
+.px8
+.pz8
+.rć8
+.rł8
+.rń8
+.rś8
+.rź8
+.rż8
+.r8
+.rb8
+.rc8
+.rd8
+.retran2s3
+.rf8
+.rg8
+.rh8
+.rj8
+.rk8
+.rl8
+.rm8
+.rn8
+.ro2z3
+.ro3z4a
+.ro3z4e
+.ro3z4e3ć2
+.ro3z4e3ł2
+.ro3z4e3ś2
+.ro3z4e3ź2
+.ro3z4e3ż2
+.ro3z4e3b2
+.ro3z4e3c2
+.ro3z4e3d2
+.ro3z4e3f2
+.ro3z4e3g2
+.ro3z4e3h2
+.ro3z4e3k2
+.ro3z4e3l2
+.ro3z4e3m2
+.ro3z4e3p2
+.ro3z4e3r2
+.ro3z4e3s2
+.ro3z4e3t2
+.ro3z4e3w2
+.ro3z4e3z2
+.ro3z4ej
+.ro3z4u
+.ro4z5a2gi
+.ro4z5a2nie
+.ro4z5e2mo
+.ro4z5e4g3z
+.ro4z5e4n3t
+.rozś2
+.rozbrz2
+.rozd2
+.rozech2
+.rozecz2
+.rozedź2
+.rozedż2
+.rozedz2
+.rozepch2
+.rozerż2
+.rozerz2
+.rozesch2
+.rozesz2
+.rozi2
+.rozm2
+.rozo2
+.rozpo3w2
+.rozt2
+.roztr2
+.rozw2
+.rp8
+.rr8
+.rs8
+.rt8
+.rv8
+.rw8
+.rx8
+.rz8
+.sć8
+.sł8
+.sń8
+.sś8
+.sź8
+.sż8
+.s8
+.samo3ch2
+.samo3k2
+.samo3p2
+.samo3w2
+.samoro2z3
+.sb8
+.sc8
+.sch8
+.sd8
+.sf8
+.sg8
+.sh8
+.siede2m3
+.siedemse2t3
+.siedmio3ś2
+.sj8
+.ską2d5że
+.sk8
+.skl8
+.skr8
+.sl8
+.sm8
+.sn8
+.sobo3w2
+.spó2ł3
+.sp8
+.spo2d2
+.spo3ć2
+.spo3ł2
+.spo3ś2
+.spo3ź2
+.spo3ż2
+.spo3b2
+.spo3c2
+.spo3dz2
+.spo3f2
+.spo3g2
+.spo3h2
+.spo3k2
+.spo3l2
+.spo3m2
+.spo3p2
+.spo3r2
+.spo3s2
+.spo3t2
+.spo3w2
+.spo3z2
+.spo4r3n
+.spo4r3t
+.spoch2
+.spocz2
+.spodź2
+.spodż2
+.spod3d
+.sporz2
+.sposz2
+.sr8
+.ss8
+.st8
+.stere2o3
+.stereoa2
+.stereoe2
+.stereoi2
+.stereoo2
+.stereou2
+.su2b3
+.su3b4ie
+.su3b4otn
+.supe2r3
+.supe3r4at
+.supe3r4io
+.supe4r5a2tr
+.super5z2b
+.supere2
+.supero2d1rzut
+.sv8
+.sw8
+.sx8
+.sz8
+.sześćse2t3
+.sześcio3ś2
+.sze2ś2ć3
+.sze2s3
+.tć8
+.tł8
+.tń8
+.tś8
+.tź8
+.tż8
+.t8
+.ta2o3
+.ta2r7zan
+.tb8
+.tc8
+.tch8
+.td8
+.te2o3
+.tf8
+.tg8
+.th8
+.tj8
+.tk8
+.tl8
+.tm8
+.tn8
+.toa3
+.tp8
+.tró2j3
+.tró3j4ą
+.tró3j4ę
+.tró3j4ecz
+.tr8
+.tran2s3
+.tran3s4e
+.tran3s4ie
+.tran3s4y
+.tran3sz
+.tran4s5eu
+.transa2
+.transo2
+.trz8
+.trze2ch3
+.trzechse2t3
+.ts8
+.tt8
+.tv8
+.tw8
+.tx8
+.tysią2c3
+.tysią3c4a
+.tysią3c4e
+.tysią3cz
+.tysią4c5zł
+.tz8
+.uć2
+.uś2
+.u3ł2
+.u3ź2
+.u3ż2
+.u3b2
+.u3c2
+.u3d2
+.u3f2
+.u3g2
+.u3h2
+.u3k2
+.u3l2
+.u3m2
+.u3n2
+.u3p2
+.u3r2
+.u3s2
+.u3t2
+.u3w2
+.u3z2
+.u4d3k
+.u4f3n
+.u4k3lej
+.u4l3s
+.u4l3t
+.u4m3br
+.u4n3c
+.u4n3d
+.u4p3p2s
+.u4r3s
+.u4st3n
+.u4stc
+.u4stk
+.u4z3be
+.ube2z3
+.ubezw2
+.ubr2
+.uch2
+.ucz2
+.udź2
+.udż2
+.udz2
+.ukr2
+.umk2
+.upch2
+.upo2d2
+.upo3ć2
+.upo3ł2
+.upo3ś2
+.upo3ź2
+.upo3ż2
+.upo3b2
+.upo3c2
+.upo3da
+.upo3f2
+.upo3g2
+.upo3h2
+.upo3k2
+.upo3l2
+.upo3m2
+.upo3p2
+.upo3r2
+.upo3s2
+.upo3t2
+.upo3w2
+.upo3z2
+.upoch2
+.upocz2
+.upodź2
+.upodż2
+.upod3d
+.uporz2
+.uposz2
+.urż2
+.uro2z3
+.urz2
+.usch2
+.usz2
+.utk2
+.utr2
+.uze3w2
+.vć8
+.vł8
+.vń8
+.vś8
+.vź8
+.vż8
+.v8
+.vb8
+.vc8
+.vd8
+.vf8
+.vg8
+.vh8
+.vj8
+.vk8
+.vl8
+.vm8
+.vn8
+.vp8
+.vr8
+.vs8
+.vt8
+.vv8
+.vw8
+.vx8
+.vz8
+.wć8
+.wł8
+.wń8
+.wś8
+.wź8
+.wż8
+.w8
+.wb8
+.wc8
+.wd8
+.we3ć2
+.we3ł2
+.we3ś2
+.we3ż2
+.we3b2
+.we3c2
+.we3d2
+.we3f2
+.we3g2
+.we3h2
+.we3k2
+.we3l2
+.we3m2
+.we3n2
+.we3p2
+.we3r2
+.we3s2
+.we3t2
+.we3w2
+.we3z2
+.we4ł3n
+.we4k3t
+.we4l3w
+.we4n3d
+.we4n3t
+.we4r3b
+.we4r3d
+.we4r3n
+.we4r3s
+.we4r3t
+.we4s3prz
+.we4s3tch2
+.we4z3br
+.we4z3gł
+.wech2
+.wecz2
+.wedź2
+.wedż2
+.wedz2
+.wemk2
+.wepch2
+.werz2
+.wesz2
+.wetk2
+.wewną2trz3
+.wf8
+.wg8
+.wh8
+.wielo3ś2
+.wielo3d2
+.wielo3k2
+.wieluse2t3
+.wilczo3m2
+.wj8
+.wk8
+.wl8
+.wm8
+.wn8
+.wniebo3w2
+.wodo3w2
+.wp8
+.wr8
+.ws8
+.współi2
+.współo2b3w
+.współu2
+.współw2
+.wspó2ł3
+.wsze2ch3
+.wszecho2
+.wszechw2
+.wt8
+.wv8
+.ww8
+.wx8
+.wy3ć2
+.wy3ł2
+.wy3ś2
+.wy3ź2
+.wy3ż2
+.wy3b2
+.wy3c2
+.wy3d2
+.wy3f2
+.wy3g2
+.wy3h2
+.wy3k2
+.wy3l2
+.wy3m2
+.wy3o2d3r
+.wy3p2
+.wy3r2
+.wy3s2
+.wy3t2
+.wy3w2
+.wy3z2
+.wy4ż3sz
+.wy4cz3ha
+.wybr2
+.wybrz2
+.wych2
+.wycz2
+.wydź2
+.wydż2
+.wydr2
+.wydz2
+.wye2k2s3
+.wygrz2
+.wyi2zo
+.wykl2
+.wykr2
+.wykrz2
+.wymk2
+.wypch2
+.wyprz2
+.wyrż2
+.wyrz2
+.wysch2
+.wysm2
+.wysz2
+.wytch2
+.wytk2
+.wytr2
+.wz8
+.xć8
+.xł8
+.xń8
+.xś8
+.xź8
+.xż8
+.x8
+.xb8
+.xc8
+.xd8
+.xf8
+.xg8
+.xh8
+.xj8
+.xk8
+.xl8
+.xm8
+.xn8
+.xp8
+.xr8
+.xs8
+.xt8
+.xv8
+.xw8
+.xx8
+.xz8
+.zć8
+.zł8
+.zło3w2
+.zń8
+.zś8
+.zź8
+.zż8
+.z8
+.za3ć2
+.za3ł2
+.za3ś2
+.za3ź2
+.za3ż2
+.za3b2
+.za3c2
+.za3d2
+.za3f2
+.za3g2
+.za3h2
+.za3k2
+.za3l2
+.za3m2
+.za3o2b3r
+.za3o2b3s
+.za3p2
+.za3r2
+.za3s2
+.za3t2
+.za3u2
+.za3w2
+.za3z2
+.za4k3t
+.za4l3g
+.za4l3k
+.za4l3t
+.za4m3k
+.za4r3ch
+.za4uto
+.za5m4k2n
+.zabr2
+.zabrz2
+.zach2
+.zacz2
+.zadź2
+.zadż2
+.zadośću4
+.zado2ść3
+.zadr2
+.zady2s3po
+.zadz2
+.zagrz2
+.zai2n3
+.zai2zo
+.zain4ic
+.zakl2
+.zakr2
+.zakrz2
+.zanie3d2
+.zarż2
+.zarz2
+.zasch2
+.zasm2
+.zasz2
+.zatk2
+.zatr2
+.zb8
+.zc8
+.zd8
+.zde2z3
+.zde3z4awu
+.zde3z4el
+.zde3z4er
+.zde3z4y
+.zdy2s3kont
+.zdy2s3kred
+.zdy2s3kwal
+.ze3ć2
+.ze3ł2
+.ze3ś2
+.ze3ź2
+.ze3ż2
+.ze3b2
+.ze3c2
+.ze3d2
+.ze3f2
+.ze3g2
+.ze3h2
+.ze3k2
+.ze3l2
+.ze3m2
+.ze3p2
+.ze3r2
+.ze3s2
+.ze3t2
+.ze3tk2
+.ze3w2
+.ze3z2
+.ze4r3k
+.ze4t3e2m1e2s
+.ze4t3e2s1e2l
+.ze4t3emp
+.ze4t3hap
+.zech2
+.zecz2
+.zedź2
+.zedż2
+.zedz2
+.zekl2
+.zepch2
+.zerż2
+.zerz2
+.zesch2
+.zesm4
+.zesz2
+.zf8
+.zg8
+.zh8
+.zimno3kr2
+.zj8
+.zk8
+.zl8
+.zm8
+.zmartwy2ch3
+.zmartwychw2
+.zn8
+.znie3ć2
+.znie3ł2
+.znie3ń2
+.znie3ś2
+.znie3ź2
+.znie3ż2
+.znie3b2
+.znie3c2
+.znie3d2
+.znie3f2
+.znie3g2
+.znie3h2
+.znie3k2
+.znie3l2
+.znie3m2
+.znie3n2
+.znie3p2
+.znie3r2
+.znie3s2
+.znie3t2
+.znie3w2
+.znie3z2
+.znie4dź3
+.znie4m3c
+.zniech2
+.zniecz2
+.zniedż2
+.zniedz2
+.znierz2
+.zniesz2
+.zo2o3
+.zp8
+.zr8
+.zro2z3
+.zro3z4u
+.zs8
+.zt8
+.zv8
+.zw8
+.zx8
+.zz8
+ą1
+ę1
+ó1
+ó4w3cz
+ś1c
+ź2dź
+1ś2ci
+2ć1ń
+2ć1ś
+2ć1ź
+2ć1ż
+2ć1b
+2ć1c
+2ć1d
+2ć1f
+2ć1g
+2ć1k
+2ć1m
+2ć1n
+2ć1p
+2ć1s
+2ć1t
+2ć1z
+2ł1ć
+2ł1ń
+2ł1ś
+2ł1ź
+2ł1ż
+2ł1b
+2ł1c
+2ł1d
+2ł1f
+2ł1g
+2ł1h
+2ł1j
+2ł1k
+2ł1l
+2ł1m
+2ł1n
+2ł1p
+2ł1r
+2ł1s
+2ł1t
+2ł1w
+2ł1z
+2ń1ć
+2ń1ł
+2ń1ń
+2ń1ś
+2ń1ź
+2ń1ż
+2ń1b
+2ń1c
+2ń1d
+2ń1f
+2ń1g
+2ń1h
+2ń1j
+2ń1k
+2ń1l
+2ń1m
+2ń1n
+2ń1p
+2ń1r
+2ń1s
+2ń1t
+2ń1w
+2ń1z
+2śćc
+2ś1ś
+2ś1ź
+2ś1ż
+2ś1b
+2ś1d
+2ś1f
+2ś1g
+2ś1k
+2ś1p
+2ś1s
+2ś1t
+2ś1z
+2ślm
+2śln
+2ź1ć
+2ź1ś
+2ź1ż
+2ź1b
+2ź1c
+2ź1d
+2ź1f
+2ź1g
+2ź1k
+2ź1l
+2ź1m
+2ź1n
+2ź1p
+2ź1s
+2ź1t
+2ź1w
+2ź1z
+2ż1ć
+2ż1ł
+2ż1ń
+2ż1ś
+2ż1ź
+2ż1b
+2ż1c
+2ż1d
+2ż1f
+2ż1g
+2ż1j
+2ż1k
+2ż1l
+2ż1m
+2ż1n
+2ż1p
+2ż1r
+2ż1s
+2ż1t
+2ż1w
+2ż1z
+2błk
+2b1ć
+2b1ń
+2b1ś
+2b1ź
+2b1ż
+2b1c
+2b1d
+2b1f
+2b1g
+2b1k
+2b1m
+2b1n
+2b1p
+2b1s
+2b1t
+2b1z
+2brn
+2c1ć
+2c1ń
+2c1ś
+2c1ź
+2c1ż
+2c1b
+2c1d
+2c1f
+2c1g
+2c1k
+2c1l
+2c1m
+2c1n
+2c1p
+2c1s
+2c1t
+2ch1ć
+2ch1ń
+2ch1ś
+2ch1ź
+2ch1ż
+2ch1b
+2ch1c
+2ch1d
+2ch1f
+2ch1g
+2ch1k
+2ch1m
+2ch1n
+2ch1p
+2ch1s
+2ch1t
+2ch1z
+2cz1ć
+2cz1ń
+2cz1ś
+2cz1ź
+2cz1ż
+2cz1b
+2cz1c
+2cz1d
+2cz1f
+2cz1g
+2cz1k
+2cz1l
+2cz1m
+2cz1n
+2cz1p
+2cz1s
+2cz1t
+2cz1z
+2dłb
+2dłsz
+2dź1ć
+2dź1ń
+2dź1ś
+2dź1ź
+2dź1ż
+2dź1b
+2dź1c
+2dź1d
+2dź1f
+2dź1g
+2dź1k
+2dź1m
+2dź1n
+2dź1p
+2dź1s
+2dź1t
+2dź1z
+2dż1ć
+2dż1ń
+2dż1ś
+2dż1ź
+2dż1ż
+2dż1b
+2dż1c
+2dż1d
+2dż1f
+2dż1g
+2dż1k
+2dż1m
+2dż1n
+2dż1p
+2dż1s
+2dż1t
+2dż1z
+2d1ć
+2d1ń
+2d1ś
+2d1b
+2d1c
+2d1f
+2d1g
+2d1k
+2d1m
+2d1n
+2d1p
+2d1s
+2d1t
+2drn
+2dz1ć
+2dz1ń
+2dz1ś
+2dz1ź
+2dz1ż
+2dz1b
+2dz1c
+2dz1d
+2dz1f
+2dz1g
+2dz1k
+2dz1l
+2dz1m
+2dz1n
+2dz1p
+2dz1s
+2dz1t
+2dz1z
+2f1c
+2f1k
+2f1m
+2f1n
+2głb
+2g1ć
+2g1ń
+2g1ś
+2g1ź
+2g1ż
+2g1b
+2g1c
+2g1d
+2g1f
+2g1k
+2g1m
+2g1p
+2g1s
+2g1t
+2g1z
+2h1ć
+2h1ł
+2h1ń
+2h1ś
+2h1ź
+2h1ż
+2h1b
+2h1c
+2h1d
+2h1f
+2h1g
+2h1j
+2h1k
+2h1l
+2h1m
+2h1n
+2h1p
+2h1r
+2h1s
+2h1t
+2h1w
+2h1z
+2j1ć
+2j1ł
+2j1ń
+2j1ś
+2j1ź
+2j1ż
+2j1b
+2j1c
+2j1d
+2j1f
+2j1g
+2j1h
+2j1k
+2j1l
+2j1m
+2j1n
+2j1p
+2j1r
+2j1s
+2j1t
+2j1w
+2j1z
+2kłb
+2k1ć
+2k1ń
+2k1ś
+2k1ź
+2k1ż
+2k1b
+2k1c
+2k1d
+2k1f
+2k1g
+2k1m
+2k1n
+2k1p
+2k1s
+2k1sz
+2k1t
+2k1z
+2l1ć
+2l1ł
+2l1ń
+2l1ś
+2l1ź
+2l1ż
+2l1b
+2l1c
+2l1d
+2l1f
+2l1g
+2l1h
+2l1j
+2l1k
+2l1m
+2l1n
+2l1p
+2l1r
+2l1s
+2l1t
+2l1w
+2l1z
+2m1ć
+2m1ł
+2m1ń
+2m1ś
+2m1ź
+2m1ż
+2m1b
+2m1c
+2m1d
+2m1f
+2m1g
+2m1h
+2m1j
+2m1k
+2m1l
+2m1n
+2m1p
+2m1r
+2m1s
+2m1t
+2m1w
+2m1z
+2n1ć
+2n1ł
+2n1ń
+2n1ś
+2n1ź
+2n1ż
+2n1b
+2n1c
+2n1d
+2n1f
+2n1g
+2n1h
+2n1j
+2n1k
+2n1l
+2n1m
+2n1p
+2n1r
+2n1s
+2n1t
+2n1w
+2n1z
+2ntn
+2p1ć
+2p1ń
+2p1ś
+2p1ź
+2p1ż
+2p1b
+2p1c
+2p1d
+2p1f
+2p1g
+2p1k
+2p1m
+2p1n
+2p1s
+2p1sz
+2p1t
+2p1z
+2pln
+2r1ć
+2r1ł
+2r1ń
+2r1ś
+2r1ź
+2r1ż
+2r1b
+2r1c
+2r1d
+2r1f
+2r1g
+2r1h
+2r1j
+2r1k
+2r1l
+2r1m
+2r1n
+2r1p
+2r1s
+2r1t
+2r1w
+2rz1ć
+2rz1ł
+2rz1ń
+2rz1ś
+2rz1ź
+2rz1ż
+2rz1b
+2rz1c
+2rz1d
+2rz1f
+2rz1g
+2rz1h
+2rz1j
+2rz1k
+2rz1l
+2rz1m
+2rz1n
+2rz1p
+2rz1r
+2rz1s
+2rz1t
+2rz1w
+2słb
+2s1ź
+2s1ż
+2s1b
+2s1d
+2s1f
+2s1g
+2s1s
+2snk
+2stk
+2stn
+2stsz
+2sz1ć
+2sz1ś
+2sz1c
+2sz1f
+2sz1k
+2sz1l
+2sz1m
+2sz1n
+2sz1p
+2sz1s
+2sz1t
+2sz1w
+2sz1z
+2szln
+2t1ć
+2t1ń
+2t1ś
+2t1ź
+2t1ż
+2t1b
+2t1c
+2t1d
+2t1f
+2t1g
+2t1k
+2t1m
+2t1n
+2t1p
+2t1s
+2t1z
+2tln
+2trk
+2trzn
+2w1ć
+2w1ł
+2w1ń
+2w1ś
+2w1ź
+2w1ż
+2w1b
+2w1c
+2w1d
+2w1f
+2w1g
+2w1j
+2w1k
+2w1l
+2w1m
+2w1n
+2w1p
+2w1r
+2w1s
+2w1t
+2w1z
+2z1ć
+2z1ś
+2z1c
+2z1d
+2z1f
+2z1k
+2z1p
+2z1s
+2z1t
+2zdk
+2zdn
+3d2niow
+3k2sz2t
+3m2k2n
+3m2nest
+3m2nezj
+3m2sk2n
+3p2neu
+3w2ład
+3w2łos
+3w2czas
+4ć3ć
+4ł3ł
+4ź3ź
+4ż3ż
+4b3b
+4c3c
+4d3d
+4f3f
+4g3g
+4h3h
+4j3j
+4k3k
+4l3l
+4m3m
+4n3n
+4p3p
+4r3r
+4t3t
+4w3w
+4z3z
+8ć.
+8ćć.
+8ćł.
+8ćń.
+8ćś.
+8ćź.
+8ćż.
+8ćb.
+8ćc.
+8ćd.
+8ćf.
+8ćg.
+8ćh.
+8ćj.
+8ćk.
+8ćl.
+8ćm.
+8ćn.
+8ćp.
+8ćr.
+8ćs.
+8ćt.
+8ćv.
+8ćw.
+8ćx.
+8ćz.
+8ł.
+8łć.
+8łł.
+8łń.
+8łś.
+8łź.
+8łż.
+8łb.
+8łc.
+8łd.
+8łf.
+8łg.
+8łh.
+8łj.
+8łk.
+8łl.
+8łm.
+8łn.
+8łp.
+8łr.
+8łs.
+8łt.
+8łv.
+8łw.
+8łx.
+8łz.
+8ń.
+8ńć.
+8ńł.
+8ńń.
+8ńś.
+8ńź.
+8ńż.
+8ńb.
+8ńc.
+8ńd.
+8ńf.
+8ńg.
+8ńh.
+8ńj.
+8ńk.
+8ńl.
+8ńm.
+8ńn.
+8ńp.
+8ńr.
+8ńs.
+8ńt.
+8ńv.
+8ńw.
+8ńx.
+8ńz.
+8ś.
+8ść.
+8śł.
+8śń.
+8śś.
+8śź.
+8śż.
+8śb.
+8śc.
+8śd.
+8śf.
+8śg.
+8śh.
+8śj.
+8śk.
+8śl.
+8śm.
+8śn.
+8śp.
+8śr.
+8śs.
+8śt.
+8śv.
+8św.
+8śx.
+8śz.
+8ź.
+8źć.
+8źł.
+8źń.
+8źś.
+8źź.
+8źż.
+8źb.
+8źc.
+8źd.
+8źf.
+8źg.
+8źh.
+8źj.
+8źk.
+8źl.
+8źm.
+8źn.
+8źp.
+8źr.
+8źs.
+8źt.
+8źv.
+8źw.
+8źx.
+8źz.
+8ż.
+8żć.
+8żł.
+8żń.
+8żś.
+8żź.
+8żż.
+8żb.
+8żc.
+8żd.
+8żf.
+8żg.
+8żh.
+8żj.
+8żk.
+8żl.
+8żm.
+8żn.
+8żp.
+8żr.
+8żs.
+8żt.
+8żv.
+8żw.
+8żx.
+8żz.
+8b.
+8bć.
+8bł.
+8bń.
+8bś.
+8bź.
+8bż.
+8bb.
+8bc.
+8bd.
+8bf.
+8bg.
+8bh.
+8bj.
+8bk.
+8bl.
+8bm.
+8bn.
+8bp.
+8br.
+8brz.
+8bs.
+8bt.
+8bv.
+8bw.
+8bx.
+8bz.
+8c.
+8cć.
+8cł.
+8cń.
+8cś.
+8cź.
+8cż.
+8cb.
+8cc.
+8cd.
+8cf.
+8cg.
+8ch.
+8chł.
+8chrz.
+8chw.
+8cj.
+8ck.
+8cl.
+8cm.
+8cn.
+8cp.
+8cr.
+8cs.
+8ct.
+8cv.
+8cw.
+8cx.
+8cz.
+8czt.
+8d.
+8dć.
+8dł.
+8dń.
+8dś.
+8dź.
+8dż.
+8db.
+8dc.
+8dd.
+8df.
+8dg.
+8dh.
+8dj.
+8dk.
+8dl.
+8dm.
+8dn.
+8dp.
+8dr.
+8drz.
+8ds.
+8dt.
+8dv.
+8dw.
+8dx.
+8dz.
+8f.
+8fć.
+8fł.
+8fń.
+8fś.
+8fź.
+8fż.
+8fb.
+8fc.
+8fd.
+8ff.
+8fg.
+8fh.
+8fj.
+8fk.
+8fl.
+8fm.
+8fn.
+8fp.
+8fr.
+8fs.
+8ft.
+8fv.
+8fw.
+8fx.
+8fz.
+8g.
+8gć.
+8gł.
+8gń.
+8gś.
+8gź.
+8gż.
+8gb.
+8gc.
+8gd.
+8gf.
+8gg.
+8gh.
+8gj.
+8gk.
+8gl.
+8gm.
+8gn.
+8gp.
+8gr.
+8gs.
+8gt.
+8gv.
+8gw.
+8gx.
+8gz.
+8h.
+8hć.
+8hł.
+8hń.
+8hś.
+8hź.
+8hż.
+8hb.
+8hc.
+8hd.
+8hf.
+8hg.
+8hh.
+8hj.
+8hk.
+8hl.
+8hm.
+8hn.
+8hp.
+8hr.
+8hs.
+8ht.
+8hv.
+8hw.
+8hx.
+8hz.
+8j.
+8jć.
+8jł.
+8jń.
+8jś.
+8jź.
+8jż.
+8jb.
+8jc.
+8jd.
+8jf.
+8jg.
+8jh.
+8jj.
+8jk.
+8jl.
+8jm.
+8jn.
+8jp.
+8jr.
+8js.
+8jt.
+8jv.
+8jw.
+8jx.
+8jz.
+8k.
+8kć.
+8kł.
+8kń.
+8kś.
+8kź.
+8kż.
+8kb.
+8kc.
+8kd.
+8kf.
+8kg.
+8kh.
+8kj.
+8kk.
+8kl.
+8km.
+8kn.
+8kp.
+8kr.
+8ks.
+8kst.
+8kt.
+8kv.
+8kw.
+8kx.
+8kz.
+8l.
+8lć.
+8lł.
+8lń.
+8lś.
+8lź.
+8lż.
+8lb.
+8lc.
+8ld.
+8lf.
+8lg.
+8lh.
+8lj.
+8lk.
+8ll.
+8lm.
+8ln.
+8lp.
+8lr.
+8ls.
+8lt.
+8lv.
+8lw.
+8lx.
+8lz.
+8m.
+8mć.
+8mł.
+8mń.
+8mś.
+8mź.
+8mż.
+8mb.
+8mc.
+8md.
+8mf.
+8mg.
+8mh.
+8mj.
+8mk.
+8ml.
+8mm.
+8mn.
+8mp.
+8mr.
+8ms.
+8mst.
+8mt.
+8mv.
+8mw.
+8mx.
+8mz.
+8n.
+8nć.
+8nł.
+8nń.
+8nś.
+8nź.
+8nż.
+8nb.
+8nc.
+8nd.
+8nf.
+8ng.
+8nh.
+8nj.
+8nk.
+8nl.
+8nm.
+8nn.
+8np.
+8nr.
+8ns.
+8nt.
+8nv.
+8nw.
+8nx.
+8nz.
+8p.
+8pć.
+8pł.
+8pń.
+8pś.
+8pź.
+8pż.
+8pb.
+8pc.
+8pd.
+8pf.
+8pg.
+8ph.
+8pj.
+8pk.
+8pl.
+8pm.
+8pn.
+8pp.
+8pr.
+8prz.
+8ps.
+8pt.
+8pv.
+8pw.
+8px.
+8pz.
+8r.
+8rć.
+8rł.
+8rń.
+8rś.
+8rź.
+8rż.
+8rb.
+8rc.
+8rd.
+8rf.
+8rg.
+8rh.
+8rj.
+8rk.
+8rl.
+8rm.
+8rn.
+8rp.
+8rr.
+8rs.
+8rsz.
+8rt.
+8rv.
+8rw.
+8rx.
+8rz.
+8rzł.
+8s.
+8sć.
+8sł.
+8sń.
+8sś.
+8sź.
+8sż.
+8sb.
+8sc.
+8sch.
+8sd.
+8sf.
+8sg.
+8sh.
+8sj.
+8sk.
+8skrz.
+8sl.
+8sm.
+8sn.
+8sp.
+8sr.
+8ss.
+8st.
+8str.
+8strz.
+8stw.
+8sv.
+8sw.
+8sx.
+8sz.
+8szcz.
+8szczb.
+8szk.
+8szn.
+8szt.
+8sztr.
+8t.
+8tć.
+8tł.
+8tń.
+8tś.
+8tź.
+8tż.
+8tb.
+8tc.
+8td.
+8tf.
+8tg.
+8th.
+8tj.
+8tk.
+8tl.
+8tm.
+8tn.
+8tp.
+8tr.
+8trz.
+8ts.
+8tt.
+8tv.
+8tw.
+8tx.
+8tz.
+8v.
+8vć.
+8vł.
+8vń.
+8vś.
+8vź.
+8vż.
+8vb.
+8vc.
+8vd.
+8vf.
+8vg.
+8vh.
+8vj.
+8vk.
+8vl.
+8vm.
+8vn.
+8vp.
+8vr.
+8vs.
+8vt.
+8vv.
+8vw.
+8vx.
+8vz.
+8w.
+8wć.
+8wł.
+8wń.
+8wś.
+8wź.
+8wż.
+8wb.
+8wc.
+8wd.
+8wf.
+8wg.
+8wh.
+8wj.
+8wk.
+8wl.
+8wm.
+8wn.
+8wp.
+8wr.
+8ws.
+8wt.
+8wv.
+8ww.
+8wx.
+8wz.
+8x.
+8xć.
+8xł.
+8xń.
+8xś.
+8xź.
+8xż.
+8xb.
+8xc.
+8xd.
+8xf.
+8xg.
+8xh.
+8xj.
+8xk.
+8xl.
+8xm.
+8xn.
+8xp.
+8xr.
+8xs.
+8xt.
+8xv.
+8xw.
+8xx.
+8xz.
+8z.
+8zć.
+8zł.
+8zń.
+8zś.
+8zź.
+8zż.
+8zb.
+8zc.
+8zd.
+8zdr.
+8zdrz.
+8zf.
+8zg.
+8zh.
+8zj.
+8zk.
+8zl.
+8zm.
+8zn.
+8zp.
+8zr.
+8zs.
+8zt.
+8zv.
+8zw.
+8zx.
+8zz.
+a1
+a2u
+a2y
+aa2
+ae2
+ai2
+ao2
+be2eth
+be2f3sz2
+be2k1hend
+bi2n3o2ku
+bi2sz3kop
+bi2z3ne2s3m
+bi2z3nes
+birmin2g1ham
+blo2k1hauz
+bo2s3ma
+br2d
+bro2a2d3way
+bu2sz3me
+buk2sz3pan
+busine2ss3m
+busines2s
+c4h
+c4z
+cal2d1well
+ch2ł
+ch2j
+ch2l
+ch2r
+ch2w
+chus1t
+cu2r7zon
+dż2ł
+dż2j
+dż2l
+dż2r
+dż2w
+dże4z3b
+dże4z3m
+d4ź
+d4ż
+d4z
+deut4sch3land
+drz2w
+du2sz3past
+e1
+e2r5zac
+e2u
+e2y
+e3u2sz
+ea2
+ee2
+ei2
+eo2
+fi2s3harm
+fi2sz3bin
+fo2k2s3t
+fo2r5zac
+fol2k1lor
+fos2f1a2zot
+ga3d2get
+gado3p2ta
+gol2f3s
+golfsz2
+gran2d1ilo
+gro4t3r
+hi2sz3p
+hu2cz1w
+hu2x3ley
+i1
+i2ą
+i2ę
+i2ó
+i2a
+i2e
+i2i
+i2o
+i2u
+i2y
+in4nsbruck
+in4sbruc
+j2t1ł
+j2t1r
+ja4z4z3b
+ja4z4z3m
+karl2s1kron
+karl2s1ruhe
+kir2chhoff
+kongre2s3m
+led1w
+lu2ft3waffe
+lu2ks1fer
+ly2o
+ma2r5zł
+ma2r5zl
+ma2r5zn
+mi2sz1masz
+mie2r5zł
+mie2r5zi
+mon2t3real
+moza2i3k
+mu2r7zasich3l
+na4ł3kows
+na4r3v
+o1
+o2y
+oa2
+och3mistrz
+oe2
+of2f3set
+oi2
+oo2
+ou2
+pa2n3a2mer
+pa2s3cal
+pa2s3ch
+połu3d2ni
+po3d4nieprz
+po3m2ną
+po3m2nę
+po3m2ni
+po4rt2s3mo2uth
+po4rt3land
+poli3e2t
+poli3u2re
+powsze3d2ni
+pr2chal
+pre2sz3pa
+r4z
+ro2e3nt2gen
+ro2k3rocz
+ro2s3to3c2k
+s4z
+se2t3le
+sko2r5zoner
+sm2r
+sowi3z2
+sy2n3opt
+sy2s1tem
+sza2sz1ły
+sze2z1long
+sze4ść
+szto2k1holm
+szyn2k1was
+to3y2o3t
+turboo2d3rzut
+tygo3d2ni
+u1
+u2y
+ua2
+ue2
+ui2
+uo2
+uu2
+vo2lk2s3
+we2e2k1end
+we4st3f
+we4st3m
+y1
+ya2
+ye2
+yi2
+yo2
+yu2
+ze4p3p
+</patterns>
+
+</hyphenation-info>
--- /dev/null
+IBM Public License Version 1.0
+
+ THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC LICENSE
+ ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S
+ ACCEPTANCE OF THIS AGREEMENT.
+
+ 1. DEFINITIONS
+
+ "Contribution" means:
+
+ a) in the case of International Business Machines Corporation ("IBM"), the Original Program, and
+
+ b) in the case of each Contributor,
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from and are distributed by that particular
+ Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor
+ itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program
+ which: (i) are separate modules of software distributed in conjunction with the Program under their own license
+ agreement, and (ii) are not derivative works of the Program.
+
+ "Contributor" means IBM and any other entity that distributes the Program.
+
+ "Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale
+ of its Contribution alone or when combined with the Program.
+
+ "Original Program" means the original version of the software accompanying this Agreement as released by IBM,
+ including source code, object code and documentation, if any.
+
+ "Program" means the Original Program and Contributions.
+
+ "Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+ 2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+ royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform,
+ distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code
+ and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+ royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer
+ the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply
+ to the combination of the Contribution and the Program if, at the time the Contribution is added by the
+ Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.
+ The patent license shall not apply to any other combinations which include the Contribution. No hardware per se
+ is licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein,
+ no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual
+ property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any
+ other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the
+ rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other
+ intellectual property rights needed, if any. For example, if a third party patent license is required to allow
+ Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the
+ Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+ grant the copyright license set forth in this Agreement.
+
+ 3. REQUIREMENTS
+
+ A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+ warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability
+ and fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+ incidental and consequential damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by
+ any other party; and
+
+ iv) states that source code for the Program is available from such Contributor, and informs licensees how to
+ obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+ When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the Program.
+
+ Each Contributor must include the following in a conspicuous location in the Program:
+
+ Copyright © {date here}, International Business Machines Corporation and others. All Rights Reserved.
+
+ In addition, each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably
+ allows subsequent Recipients to identify the originator of the Contribution.
+
+ 4. COMMERCIAL DISTRIBUTION
+
+ Commercial distributors of software may accept certain responsibilities with respect to end users, business partners
+ and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+ the Program in a commercial product offering should do so in a manner which does not create potential liability for
+ other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+ ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+ against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+ brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+ Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+ obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property
+ infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in
+ writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial
+ Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any
+ such claim at its own expense.
+
+ For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+ then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+ related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+ Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+ those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+ the Commercial Contributor must pay those damages.
+
+ 5. NO WARRANTY
+
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
+ LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
+ FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using
+ and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement,
+ including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss
+ of data, programs or equipment, and unavailability or interruption of operations.
+
+ 6. DISCLAIMER OF LIABILITY
+
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
+ SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF
+ ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ 7. GENERAL
+
+ If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+ enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+ provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a
+ cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under
+ this Agreement shall terminate as of the date such litigation is filed. In addition, If Recipient institutes patent litigation
+ against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding
+ combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such
+ Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+ All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+ conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of
+ such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and
+ distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement
+ and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+ IBM may publish new versions (including revisions) of this Agreement from time to time. Each new version of the
+ Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+ distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the
+ Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new
+ version. No one other than IBM has the right to modify this Agreement. Except as expressly stated in Sections 2(a) and
+ 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement,
+ whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this
+ Agreement are reserved.
+
+ This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+ of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+ of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
--- /dev/null
+/*
+ * ============================================================================
+ * The Apache Software License, Version 1.1
+ * ============================================================================
+ *
+ * Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modifica-
+ * tion, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if any, must
+ * include the following acknowledgment: "This product includes software
+ * developed by the Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself, if
+ * and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Ant" and "Apache Software Foundation" must not be used to
+ * endorse or promote products derived from this software without prior
+ * written permission. For written permission, please contact
+ * apache@apache.org.
+ *
+ * 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 Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
+ * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (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 consists of voluntary contributions made by many individuals
+ * on behalf of the Apache Software Foundation. For more information on the
+ * Apache Software Foundation, please see <http://www.apache.org/>.
+ *
+ */
--- /dev/null
+/*
+
+ ============================================================================
+ The Apache Software License, Version 1.1
+ ============================================================================
+
+ Copyright (C) @year@ The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment: "This product includes software
+ developed by the Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowledgment may appear in the software itself, if
+ and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "Jakarta", "Apache Avalon", "Avalon Excalibur", "Avalon
+ Framework" and "Apache Software Foundation" must not be used to endorse
+ or promote products derived from this software without prior written
+ permission. For written permission, please contact apache@apache.org.
+
+ 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 Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (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 consists of voluntary contributions made by many individuals
+ on behalf of the Apache Software Foundation and was originally created by
+ Stefano Mazzocchi <stefano@apache.org>. For more information on the Apache
+ Software Foundation, please see <http://www.apache.org/>.
+
+*/
--- /dev/null
+ ============================================================================
+ The Apache Software License, Version 1.1
+ ============================================================================
+
+ Copyright (C) 2000 The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment: "This product includes software
+ developed by the Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowledgment may appear in the software itself, if
+ and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "Batik" and "Apache Software Foundation" must not be used to
+ endorse or promote products derived from this software without prior
+ written permission. For written permission, please contact
+ apache@apache.org.
+
+ 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 Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (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 consists of voluntary contributions made by many individuals
+ on behalf of the Apache Software Foundation. For more information on the
+ Apache Software Foundation, please see <http://www.apache.org/>.
--- /dev/null
+
+ ============================================================================
+ The Apache Software License, Version 1.1
+ ============================================================================
+
+ Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment: "This product includes software
+ developed by the Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowledgment may appear in the software itself, if
+ and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "FOP" and "Apache Software Foundation" must not be used to
+ endorse or promote products derived from this software without prior
+ written permission. For written permission, please contact
+ apache@apache.org.
+
+ 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 Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (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 consists of voluntary contributions made by many individuals
+ on behalf of the Apache Software Foundation and was originally created by
+ James Tauber <jtauber@jtauber.com>. For more information on the Apache
+ Software Foundation, please see <http://www.apache.org/>.
+
+++ /dev/null
-Sun Microsystems, Inc.
-Binary Code License Agreement
-
-READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE DOWNLOADING OR USING THE SOFTWARE. BY DOWNLOADING OR USING THE SOFTWARE, YOU AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL THESE TERMS, YOU ARE NOT AUTHORIZED TO DOWNLOAD OR USE THE SOFTWARE IN ANY MANNER.
-
-1. LICENSE TO USE. Sun grants you a non-exclusive and non-transferable license for the internal use only, for the accompanying software and documentation (collectively "Software"). This is a one time code drop and will not be updated or otherwise supported by Sun.
-
-2. RESTRICTIONS Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by Sun and/or its licensors. Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other than a single copy of Software for archival purposes. Unless enforcement is prohibited by applicable law, you may not modify, decompile, reverse engineer Software.
-
-3. LIMITED WARRANTY. Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use. Except for the foregoing, Software is provided "AS IS". Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid for Software.
-
-4. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. YOU ACKNOWLEDGE THAT SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE IN THE DESIGN, CONSTRUCTION, OPERATION, OR MAINTENANCE OF ANY NUCLEAR FACILITY. SUN DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR SUCH USES.
-
-5. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount
-paid by you for Software under this Agreement. The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
-
-6. Termination. This Agreement is effective until terminated. You may terminate this Agreement at any time by destroying all copies of Software. This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement. Upon Termination, you must destroy all copies of Software.
-
-7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be subject to export or import regulations in other countries. You agree to comply strictly with all such laws and regulations and acknowledge that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
-
-8. U.S. Government Restricted Rights. Use, duplication, or disclosure by the U.S. Government is subject to restrictions set forth in this Agreement and as provided in DFARS 227.7202-1 (a) and 227.7202-3(a) (1995), DFARS 252.227-7013 (c)(1)(ii)(Oct 1988), FAR 12.212 (a) (1995), FAR 52.227-19 (June 1987), or FAR 52.227-14(ALT III) (June 1987), as applicable.
-
-9. Governing Law. Any action related to this Agreement will be governed by California law and controlling U.S. federal law. No choice of law rules of any jurisdiction will apply.
-
-10. Severability. If any provision of this Agreement is held to be unenforceable, This Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
-
-11. Integration. This Agreement is the entire agreement between you and Sun relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
-
-For inquiries please contact: Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303
-
-
-
-JIMI SDK, Version 2.0
-SUPPLEMENTAL LICENSE TERMS
-
-These supplemental terms ("Supplement") add to the terms of the Binary Code License Agreement ("Agreement"). Capitalized terms not defined herein shall have the same meanings ascribed to them in the Agreement. The Supplement terms shall supersede any inconsistent or conflicting terms in the Agreement.
-
-1. Limited License Grant.
-
-a. Software Development License. Subject to your obligation to indemnify Sun pursuant to Section 3 below, Sun grants to you a non-exclusive, non-transferable limited license to use the Software without fee for evaluation of the Software and for development of Java(TM) applets and applications provided that you may not re-distribute the Software in whole or in part, except as provided in Section 1.b below. The Software may contain source code which is provided for reference purposes only, and may not be modified (except for the purpose of correcting errors) or redistributed.
-
-b. License to Distribute Runtime. Subject to your obligation to indemnify Sun pursuant to Section 3 below, Sun grants to you a non-exclusive, non-transferable limited, royalty-free license to reproduce, distribute offer to sell and sell the Software provided that you: (i)distribute the Software complete and unmodified (except for error corrections), only as part of, and for the sole purpose of running, your Java applet or application ("Program") into which the Software is incorporated; (ii) do not distribute additional software intended to replace any component(s) of the Software; (iii) do not remove or alter any proprietary legends or notices contained in the Software; (iv) only distribute the Program subject to a license agreement that protects Sun's interests consistent with the terms contained herein; and (v) may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are contained in the "java" or "sun" packages or similar as !
-specified by Sun in any class file naming convention.
-
- 2. Java Platform Interface. In the event that Licensee creates an additional API(s) which: (i) extends the functionality of a Java Environment; and, (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, Licensee must promptly publish broadly an accurate specification for such API for free use by all developers.
-
-3.Indemnity to Sun. As a condition precedent to each license grant in this Agreement, you agree to indemnify, hold harmless, and defend Sun and its licensors from and against any and all claims, lawsuits, liabilities, demands and expenses (including attorneys' fees), that arise or result from the use or distribution of the Software or the Program, including without limitation, those brought by Unisys Corporation, its successors and assigns, with respect to U.S. Patent Number 4,558,302 and all foreign counterparts thereto which Unisys Corporation may now have or acquire in the future (the "LZW Patents") relating to your making, using, selling, licensing, importing, offering to sell, or otherwise transferring the GIF encoding and/or decoding feature of the Software or the Program. This Agreement does not grant any rights to you with respect to the LZW Patents.
-
-4. Trademarks and Logos. This Agreement does not authorize you to use any Sun name, trademark or logo. Licensee acknowledges as between it and Sun that Sun owns the Java trademark and all Java-related trademarks, logos and icons including the Coffee Cup and Duke ("Java Marks") and agrees to comply with the Java Trademark Guidelines at http://java.sun.com/trademarks.html.
-
-
-
--- /dev/null
+/*
+
+ ============================================================================
+ The Apache Software License, Version 1.1
+ ============================================================================
+
+ Copyright (C) @year@ The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment: "This product includes software
+ developed by the Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowledgment may appear in the software itself, if
+ and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "LogKit", "Jakarta" and "Apache Software Foundation" must not
+ be used to endorse or promote products derived from this software without
+ prior written permission. For written permission, please contact
+ apache@apache.org.
+
+ 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 Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (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 consists of voluntary contributions made by many individuals
+ on behalf of the Apache Software Foundation and was originally created by
+ Stefano Mazzocchi <stefano@apache.org>. For more information on the Apache
+ Software Foundation, please see <http://www.apache.org/>.
+
+*/
Xalan 2 in the classpath when building it.)
stylebook.jar Jar used for creating the FOP website
+
+*** OPTIONAL ***
+
+jimi.jar May be obtained from http://java.sun.com/products/jimi/.
+ Place jimi*.jar in lib/; modify batch/shell script
+ classpaths.
+
--- /dev/null
+/*
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Xerces" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 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 Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (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 consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, International
+ * Business Machines, Inc., http://www.apache.org. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
--- /dev/null
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Xalan" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 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 Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (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 consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, Lotus
+ * Development Corporation., http://www.lotus.com. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
--- /dev/null
+/*
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Xerces" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 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 Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (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 consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, International
+ * Business Machines, Inc., http://www.ibm.com. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
<font-metrics>
<font-name>Courier-Bold</font-name>
<class-name>CourierBold</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>562</cap-height>
<x-height>439</x-height>
<ascender>626</ascender>
<char name="Edieresis" width="600"/>
<char name="Egrave" width="600"/>
<char name="Eth" width="600"/>
+ <char name="Euro" width="600"/>
<char name="F" width="600"/>
<char name="G" width="600"/>
<char name="Gcaron" width="600"/>
<font-metrics>
<font-name>Courier-BoldOblique</font-name>
<class-name>CourierBoldOblique</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>562</cap-height>
<x-height>439</x-height>
<ascender>626</ascender>
<char name="Edieresis" width="600"/>
<char name="Egrave" width="600"/>
<char name="Eth" width="600"/>
+ <char name="Euro" width="600"/>
<char name="F" width="600"/>
<char name="G" width="600"/>
<char name="Gcaron" width="600"/>
<font-metrics>
<font-name>Courier-Oblique</font-name>
<class-name>CourierOblique</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>562</cap-height>
<x-height>426</x-height>
<ascender>629</ascender>
<char name="Edieresis" width="600"/>
<char name="Egrave" width="600"/>
<char name="Eth" width="600"/>
+ <char name="Euro" width="600"/>
<char name="F" width="600"/>
<char name="G" width="600"/>
<char name="Gcaron" width="600"/>
<font-metrics>
<font-name>Courier</font-name>
<class-name>Courier</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>562</cap-height>
<x-height>426</x-height>
<ascender>629</ascender>
<char name="Edieresis" width="600"/>
<char name="Egrave" width="600"/>
<char name="Eth" width="600"/>
+ <char name="Euro" width="600"/>
<char name="F" width="600"/>
<char name="G" width="600"/>
<char name="Gcaron" width="600"/>
<font-metrics>
<font-name>Helvetica-Bold</font-name>
<class-name>HelveticaBold</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>718</cap-height>
<x-height>532</x-height>
<ascender>718</ascender>
<char name="Edieresis" width="667"/>
<char name="Egrave" width="667"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="556"/>
<char name="F" width="611"/>
<char name="G" width="778"/>
<char name="H" width="722"/>
<font-metrics>
<font-name>Helvetica-BoldOblique</font-name>
<class-name>HelveticaBoldOblique</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>718</cap-height>
<x-height>532</x-height>
<ascender>718</ascender>
<char name="Edieresis" width="667"/>
<char name="Egrave" width="667"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="556"/>
<char name="F" width="611"/>
<char name="G" width="778"/>
<char name="H" width="722"/>
<font-metrics>
<font-name>Helvetica-Oblique</font-name>
<class-name>HelveticaOblique</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>718</cap-height>
<x-height>523</x-height>
<ascender>718</ascender>
<char name="Edieresis" width="667"/>
<char name="Egrave" width="667"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="556"/>
<char name="F" width="611"/>
<char name="G" width="778"/>
<char name="H" width="722"/>
<font-metrics>
<font-name>Helvetica</font-name>
<class-name>Helvetica</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>718</cap-height>
<x-height>523</x-height>
<ascender>718</ascender>
<char name="Edieresis" width="667"/>
<char name="Egrave" width="667"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="556"/>
<char name="F" width="611"/>
<char name="G" width="778"/>
<char name="H" width="722"/>
<font-metrics>
<font-name>Symbol</font-name>
<class-name>Symbol</class-name>
- <encoding>StandardEncoding</encoding>
+ <encoding>SymbolEncoding</encoding>
<cap-height>1010</cap-height>
<x-height>520</x-height>
<ascender>1010</ascender>
<font-metrics>
<font-name>Times-Bold</font-name>
<class-name>TimesBold</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>676</cap-height>
<x-height>461</x-height>
<ascender>676</ascender>
<char name="Edieresis" width="667"/>
<char name="Egrave" width="667"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="500"/>
<char name="F" width="611"/>
<char name="G" width="778"/>
<char name="H" width="778"/>
<font-metrics>
<font-name>Times-BoldItalic</font-name>
<class-name>TimesBoldItalic</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>669</cap-height>
<x-height>462</x-height>
<ascender>699</ascender>
<char name="Edieresis" width="667"/>
<char name="Egrave" width="667"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="500"/>
<char name="F" width="667"/>
<char name="G" width="722"/>
<char name="H" width="778"/>
<font-metrics>
<font-name>Times-Italic</font-name>
<class-name>TimesItalic</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>653</cap-height>
<x-height>441</x-height>
<ascender>683</ascender>
<char name="Edieresis" width="611"/>
<char name="Egrave" width="611"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="500"/>
<char name="F" width="611"/>
<char name="G" width="722"/>
<char name="H" width="722"/>
<font-metrics>
<font-name>Times-Roman</font-name>
<class-name>TimesRoman</class-name>
- <encoding>WinAnsiEncoding</encoding>
+ <encoding>StandardEncoding</encoding>
<cap-height>662</cap-height>
<x-height>450</x-height>
<ascender>683</ascender>
<char name="Edieresis" width="611"/>
<char name="Egrave" width="611"/>
<char name="Eth" width="722"/>
+ <char name="Euro" width="500"/>
<char name="F" width="556"/>
<char name="G" width="722"/>
<char name="H" width="722"/>
<font-metrics>
<font-name>ZapfDingbats</font-name>
<class-name>ZapfDingbats</class-name>
- <encoding>StandardEncoding</encoding>
+ <encoding>ZapfDingbatsEncoding</encoding>
<cap-height>820</cap-height>
<x-height>426</x-height>
<ascender>820</ascender>
<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:lxslt="http://xml.apache.org/xslt"
- xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
- extension-element-prefixes="redirect">
-<xsl:output method="text" />
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text"/>
+ <xsl:variable name='glyphlists'
+ select="document('glyphlist.xml')/glyphlist-set"/>
-<xsl:template match="font-mappings">
-<!-- <redirect:write file="org/apache/fop/render/pdf/CodePointMapping.java"> -->
+ <xsl:template match="encoding-set">
package org.apache.fop.render.pdf;
+import java.util.Hashtable;
public class CodePointMapping {
- public static char[] map;
+ private char[] latin1Map;
+ private char[] characters;
+ private char[] codepoints;
+ private CodePointMapping(int [] table) {
+ int nonLatin1 = 0;
+ latin1Map = new char[256];
+ for(int i = 0; i < table.length; i += 2) {
+ if(table[i+1] < 256)
+ latin1Map[table[i+1]] = (char) table[i];
+ else
+ ++nonLatin1;
+ }
+ characters = new char[nonLatin1];
+ codepoints = new char[nonLatin1];
+ int top = 0;
+ for(int i = 0; i < table.length; i += 2) {
+ char c = (char) table[i+1];
+ if(c >= 256) {
+ ++top;
+ for(int j = top - 1; j >= 0; --j) {
+ if(j > 0 && characters[j-1] >= c) {
+ characters[j] = characters[j-1];
+ codepoints[j] = codepoints[j-1];
+ } else {
+ characters[j] = c;
+ codepoints[j] = (char) table[i];
+ break;
+ }
+ }
+ }
+ }
+ }
+ public final char mapChar(char c) {
+ if(c < 256) {
+ return latin1Map[c];
+ } else {
+ int bot = 0, top = characters.length - 1;
+ while(top >= bot) {
+ int mid = (bot + top) / 2;
+ char mc = characters[mid];
+
+ if(c == mc)
+ return codepoints[mid];
+ else if(c < mc)
+ top = mid - 1;
+ else
+ bot = mid + 1;
+ }
+ return 0;
+ }
+ }
- static {
- map = new char[65536];
-<xsl:for-each select="map[@unicode!='-1' and @win-ansi!='-1']"> map[<xsl:value-of select="@unicode"/>] = <xsl:value-of select="@win-ansi"/>;
-</xsl:for-each>
+ private static Hashtable mappings;
+ static {
+ mappings = new Hashtable();
+ }
+ public static CodePointMapping getMapping(String encoding) {
+ CodePointMapping mapping = (CodePointMapping) mappings.get(encoding);
+ if(mapping != null) {
+ return mapping;
+ } <xsl:apply-templates mode="get"/>
+ else {
+ return null;
}
+ }
+<xsl:apply-templates mode="table"/>
}
-<!-- </redirect:write>-->
-</xsl:template>
-</xsl:stylesheet>
+ </xsl:template>
+
+ <xsl:template match="encoding" mode="get">
+ else if(encoding.equals("<xsl:value-of select="@id"/>")) {
+ mapping = new CodePointMapping(enc<xsl:value-of select="@id"/>);
+ mappings.put("<xsl:value-of select="@id"/>", mapping);
+ return mapping;
+ }
+ </xsl:template>
+ <xsl:template match="encoding" mode="table">
+ <xsl:variable name="glyphlist-name" select="@glyphlist"/>
+ <xsl:variable name="glyphlist"
+ select="$glyphlists/glyphlist[@id=$glyphlist-name]"/>
+ private static final int[] enc<xsl:value-of select="@id"/>
+ = {<xsl:for-each select="glyph">
+ <xsl:variable name="codepoint" select="@codepoint"/>
+ <xsl:variable name="name" select="@name"/><xsl:for-each select="$glyphlist/glyph[@name=$name]">
+ 0x<xsl:value-of select="$codepoint"/>, 0x<xsl:value-of select="@codepoint"/>, // <xsl:value-of select="$name"/>
+</xsl:for-each></xsl:for-each>
+ };
+ </xsl:template>
+</xsl:stylesheet>
--- /dev/null
+<?xml version='1.0'?>
+<!DOCTYPE encoding-set [
+ <!ELEMENT encoding-set (encoding+)>
+ <!ELEMENT encoding (glyph+)>
+ <!ATTLIST encoding id ID #REQUIRED glyphlist CDATA "AGL">
+ <!ELEMENT glyph EMPTY>
+ <!ATTLIST glyph codepoint CDATA #REQUIRED name CDATA #REQUIRED>
+]>
+<encoding-set>
+ <encoding id='StandardEncoding' glyphlist='AGL'>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='exclam'/>
+ <glyph codepoint='22' name='quotedbl'/>
+ <glyph codepoint='23' name='numbersign'/>
+ <glyph codepoint='24' name='dollar'/>
+ <glyph codepoint='25' name='percent'/>
+ <glyph codepoint='26' name='ampersand'/>
+ <glyph codepoint='27' name='quoteright'/>
+ <glyph codepoint='28' name='parenleft'/>
+ <glyph codepoint='29' name='parenright'/>
+ <glyph codepoint='2a' name='asterisk'/>
+ <glyph codepoint='2b' name='plus'/>
+ <glyph codepoint='2c' name='comma'/>
+ <glyph codepoint='2d' name='hyphen'/>
+ <glyph codepoint='2e' name='period'/>
+ <glyph codepoint='2f' name='slash'/>
+ <glyph codepoint='30' name='zero'/>
+ <glyph codepoint='31' name='one'/>
+ <glyph codepoint='32' name='two'/>
+ <glyph codepoint='33' name='three'/>
+ <glyph codepoint='34' name='four'/>
+ <glyph codepoint='35' name='five'/>
+ <glyph codepoint='36' name='six'/>
+ <glyph codepoint='37' name='seven'/>
+ <glyph codepoint='38' name='eight'/>
+ <glyph codepoint='39' name='nine'/>
+ <glyph codepoint='3a' name='colon'/>
+ <glyph codepoint='3b' name='semicolon'/>
+ <glyph codepoint='3c' name='less'/>
+ <glyph codepoint='3d' name='equal'/>
+ <glyph codepoint='3e' name='greater'/>
+ <glyph codepoint='3f' name='question'/>
+ <glyph codepoint='40' name='at'/>
+ <glyph codepoint='41' name='A'/>
+ <glyph codepoint='42' name='B'/>
+ <glyph codepoint='43' name='C'/>
+ <glyph codepoint='44' name='D'/>
+ <glyph codepoint='45' name='E'/>
+ <glyph codepoint='46' name='F'/>
+ <glyph codepoint='47' name='G'/>
+ <glyph codepoint='48' name='H'/>
+ <glyph codepoint='49' name='I'/>
+ <glyph codepoint='4a' name='J'/>
+ <glyph codepoint='4b' name='K'/>
+ <glyph codepoint='4c' name='L'/>
+ <glyph codepoint='4d' name='M'/>
+ <glyph codepoint='4e' name='N'/>
+ <glyph codepoint='4f' name='O'/>
+ <glyph codepoint='50' name='P'/>
+ <glyph codepoint='51' name='Q'/>
+ <glyph codepoint='52' name='R'/>
+ <glyph codepoint='53' name='S'/>
+ <glyph codepoint='54' name='T'/>
+ <glyph codepoint='55' name='U'/>
+ <glyph codepoint='56' name='V'/>
+ <glyph codepoint='57' name='W'/>
+ <glyph codepoint='58' name='X'/>
+ <glyph codepoint='59' name='Y'/>
+ <glyph codepoint='5a' name='Z'/>
+ <glyph codepoint='5b' name='bracketleft'/>
+ <glyph codepoint='5c' name='backslash'/>
+ <glyph codepoint='5d' name='bracketright'/>
+ <glyph codepoint='5e' name='asciicircum'/>
+ <glyph codepoint='5f' name='underscore'/>
+ <glyph codepoint='60' name='quoteleft'/>
+ <glyph codepoint='61' name='a'/>
+ <glyph codepoint='62' name='b'/>
+ <glyph codepoint='63' name='c'/>
+ <glyph codepoint='64' name='d'/>
+ <glyph codepoint='65' name='e'/>
+ <glyph codepoint='66' name='f'/>
+ <glyph codepoint='67' name='g'/>
+ <glyph codepoint='68' name='h'/>
+ <glyph codepoint='69' name='i'/>
+ <glyph codepoint='6a' name='j'/>
+ <glyph codepoint='6b' name='k'/>
+ <glyph codepoint='6c' name='l'/>
+ <glyph codepoint='6d' name='m'/>
+ <glyph codepoint='6e' name='n'/>
+ <glyph codepoint='6f' name='o'/>
+ <glyph codepoint='70' name='p'/>
+ <glyph codepoint='71' name='q'/>
+ <glyph codepoint='72' name='r'/>
+ <glyph codepoint='73' name='s'/>
+ <glyph codepoint='74' name='t'/>
+ <glyph codepoint='75' name='u'/>
+ <glyph codepoint='76' name='v'/>
+ <glyph codepoint='77' name='w'/>
+ <glyph codepoint='78' name='x'/>
+ <glyph codepoint='79' name='y'/>
+ <glyph codepoint='7a' name='z'/>
+ <glyph codepoint='7b' name='braceleft'/>
+ <glyph codepoint='7c' name='bar'/>
+ <glyph codepoint='7d' name='braceright'/>
+ <glyph codepoint='7e' name='asciitilde'/>
+ <glyph codepoint='a1' name='exclamdown'/>
+ <glyph codepoint='a2' name='cent'/>
+ <glyph codepoint='a3' name='sterling'/>
+ <glyph codepoint='a4' name='fraction'/>
+ <glyph codepoint='a5' name='yen'/>
+ <glyph codepoint='a6' name='florin'/>
+ <glyph codepoint='a7' name='section'/>
+ <glyph codepoint='a8' name='currency'/>
+ <glyph codepoint='a9' name='quotesingle'/>
+ <glyph codepoint='aa' name='quotedblleft'/>
+ <glyph codepoint='ab' name='guillemotleft'/>
+ <glyph codepoint='ac' name='guilsinglleft'/>
+ <glyph codepoint='ad' name='guilsinglright'/>
+ <glyph codepoint='ae' name='fi'/>
+ <glyph codepoint='af' name='fl'/>
+ <glyph codepoint='b1' name='endash'/>
+ <glyph codepoint='b2' name='dagger'/>
+ <glyph codepoint='b3' name='daggerdbl'/>
+ <glyph codepoint='b4' name='periodcentered'/>
+ <glyph codepoint='b6' name='paragraph'/>
+ <glyph codepoint='b7' name='bullet'/>
+ <glyph codepoint='b8' name='quotesinglbase'/>
+ <glyph codepoint='b9' name='quotedblbase'/>
+ <glyph codepoint='ba' name='quotedblright'/>
+ <glyph codepoint='bb' name='guillemotright'/>
+ <glyph codepoint='bc' name='ellipsis'/>
+ <glyph codepoint='bd' name='perthousand'/>
+ <glyph codepoint='bf' name='questiondown'/>
+ <glyph codepoint='c1' name='grave'/>
+ <glyph codepoint='c2' name='acute'/>
+ <glyph codepoint='c3' name='circumflex'/>
+ <glyph codepoint='c4' name='tilde'/>
+ <glyph codepoint='c5' name='macron'/>
+ <glyph codepoint='c6' name='breve'/>
+ <glyph codepoint='c7' name='dotaccent'/>
+ <glyph codepoint='c8' name='dieresis'/>
+ <glyph codepoint='ca' name='ring'/>
+ <glyph codepoint='cb' name='cedilla'/>
+ <glyph codepoint='cd' name='hungarumlaut'/>
+ <glyph codepoint='ce' name='ogonek'/>
+ <glyph codepoint='cf' name='caron'/>
+ <glyph codepoint='d0' name='emdash'/>
+ <glyph codepoint='e1' name='AE'/>
+ <glyph codepoint='e3' name='ordfeminine'/>
+ <glyph codepoint='e8' name='Lslash'/>
+ <glyph codepoint='e9' name='Oslash'/>
+ <glyph codepoint='ea' name='OE'/>
+ <glyph codepoint='eb' name='ordmasculine'/>
+ <glyph codepoint='f1' name='ae'/>
+ <glyph codepoint='f5' name='dotlessi'/>
+ <glyph codepoint='f8' name='lslash'/>
+ <glyph codepoint='f9' name='oslash'/>
+ <glyph codepoint='fa' name='oe'/>
+ <glyph codepoint='fb' name='germandbls'/>
+ </encoding>
+ <encoding id='ISOLatin1Encoding' glyphlist='AGL'>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='exclam'/>
+ <glyph codepoint='22' name='quotedbl'/>
+ <glyph codepoint='23' name='numbersign'/>
+ <glyph codepoint='24' name='dollar'/>
+ <glyph codepoint='25' name='percent'/>
+ <glyph codepoint='26' name='ampersand'/>
+ <glyph codepoint='27' name='quoteright'/>
+ <glyph codepoint='28' name='parenleft'/>
+ <glyph codepoint='29' name='parenright'/>
+ <glyph codepoint='2a' name='asterisk'/>
+ <glyph codepoint='2b' name='plus'/>
+ <glyph codepoint='2c' name='comma'/>
+ <glyph codepoint='2d' name='minus'/>
+ <glyph codepoint='2e' name='period'/>
+ <glyph codepoint='2f' name='slash'/>
+ <glyph codepoint='30' name='zero'/>
+ <glyph codepoint='31' name='one'/>
+ <glyph codepoint='32' name='two'/>
+ <glyph codepoint='33' name='three'/>
+ <glyph codepoint='34' name='four'/>
+ <glyph codepoint='35' name='five'/>
+ <glyph codepoint='36' name='six'/>
+ <glyph codepoint='37' name='seven'/>
+ <glyph codepoint='38' name='eight'/>
+ <glyph codepoint='39' name='nine'/>
+ <glyph codepoint='3a' name='colon'/>
+ <glyph codepoint='3b' name='semicolon'/>
+ <glyph codepoint='3c' name='less'/>
+ <glyph codepoint='3d' name='equal'/>
+ <glyph codepoint='3e' name='greater'/>
+ <glyph codepoint='3f' name='question'/>
+ <glyph codepoint='40' name='at'/>
+ <glyph codepoint='41' name='A'/>
+ <glyph codepoint='42' name='B'/>
+ <glyph codepoint='43' name='C'/>
+ <glyph codepoint='44' name='D'/>
+ <glyph codepoint='45' name='E'/>
+ <glyph codepoint='46' name='F'/>
+ <glyph codepoint='47' name='G'/>
+ <glyph codepoint='48' name='H'/>
+ <glyph codepoint='49' name='I'/>
+ <glyph codepoint='4a' name='J'/>
+ <glyph codepoint='4b' name='K'/>
+ <glyph codepoint='4c' name='L'/>
+ <glyph codepoint='4d' name='M'/>
+ <glyph codepoint='4e' name='N'/>
+ <glyph codepoint='4f' name='O'/>
+ <glyph codepoint='50' name='P'/>
+ <glyph codepoint='51' name='Q'/>
+ <glyph codepoint='52' name='R'/>
+ <glyph codepoint='53' name='S'/>
+ <glyph codepoint='54' name='T'/>
+ <glyph codepoint='55' name='U'/>
+ <glyph codepoint='56' name='V'/>
+ <glyph codepoint='57' name='W'/>
+ <glyph codepoint='58' name='X'/>
+ <glyph codepoint='59' name='Y'/>
+ <glyph codepoint='5a' name='Z'/>
+ <glyph codepoint='5b' name='bracketleft'/>
+ <glyph codepoint='5c' name='backslash'/>
+ <glyph codepoint='5d' name='bracketright'/>
+ <glyph codepoint='5e' name='asciicircum'/>
+ <glyph codepoint='5f' name='underscore'/>
+ <glyph codepoint='60' name='quoteleft'/>
+ <glyph codepoint='61' name='a'/>
+ <glyph codepoint='62' name='b'/>
+ <glyph codepoint='63' name='c'/>
+ <glyph codepoint='64' name='d'/>
+ <glyph codepoint='65' name='e'/>
+ <glyph codepoint='66' name='f'/>
+ <glyph codepoint='67' name='g'/>
+ <glyph codepoint='68' name='h'/>
+ <glyph codepoint='69' name='i'/>
+ <glyph codepoint='6a' name='j'/>
+ <glyph codepoint='6b' name='k'/>
+ <glyph codepoint='6c' name='l'/>
+ <glyph codepoint='6d' name='m'/>
+ <glyph codepoint='6e' name='n'/>
+ <glyph codepoint='6f' name='o'/>
+ <glyph codepoint='70' name='p'/>
+ <glyph codepoint='71' name='q'/>
+ <glyph codepoint='72' name='r'/>
+ <glyph codepoint='73' name='s'/>
+ <glyph codepoint='74' name='t'/>
+ <glyph codepoint='75' name='u'/>
+ <glyph codepoint='76' name='v'/>
+ <glyph codepoint='77' name='w'/>
+ <glyph codepoint='78' name='x'/>
+ <glyph codepoint='79' name='y'/>
+ <glyph codepoint='7a' name='z'/>
+ <glyph codepoint='7b' name='braceleft'/>
+ <glyph codepoint='7c' name='bar'/>
+ <glyph codepoint='7d' name='braceright'/>
+ <glyph codepoint='7e' name='asciitilde'/>
+ <glyph codepoint='90' name='dotlessi'/>
+ <glyph codepoint='91' name='grave'/>
+ <glyph codepoint='93' name='circumflex'/>
+ <glyph codepoint='94' name='tilde'/>
+ <glyph codepoint='96' name='breve'/>
+ <glyph codepoint='97' name='dotaccent'/>
+ <glyph codepoint='9a' name='ring'/>
+ <glyph codepoint='9d' name='hungarumlaut'/>
+ <glyph codepoint='9e' name='ogonek'/>
+ <glyph codepoint='9f' name='caron'/>
+ <glyph codepoint='a1' name='exclamdown'/>
+ <glyph codepoint='a2' name='cent'/>
+ <glyph codepoint='a3' name='sterling'/>
+ <glyph codepoint='a4' name='currency'/>
+ <glyph codepoint='a5' name='yen'/>
+ <glyph codepoint='a6' name='brokenbar'/>
+ <glyph codepoint='a7' name='section'/>
+ <glyph codepoint='a8' name='dieresis'/>
+ <glyph codepoint='a9' name='copyright'/>
+ <glyph codepoint='aa' name='ordfeminine'/>
+ <glyph codepoint='ab' name='guillemotleft'/>
+ <glyph codepoint='ac' name='logicalnot'/>
+ <glyph codepoint='ad' name='hyphen'/>
+ <glyph codepoint='ae' name='registered'/>
+ <glyph codepoint='af' name='macron'/>
+ <glyph codepoint='b0' name='degree'/>
+ <glyph codepoint='b1' name='plusminus'/>
+ <glyph codepoint='b2' name='twosuperior'/>
+ <glyph codepoint='b3' name='threesuperior'/>
+ <glyph codepoint='b4' name='acute'/>
+ <glyph codepoint='b5' name='mu'/>
+ <glyph codepoint='b6' name='paragraph'/>
+ <glyph codepoint='b7' name='periodcentered'/>
+ <glyph codepoint='b8' name='cedilla'/>
+ <glyph codepoint='b9' name='onesuperior'/>
+ <glyph codepoint='ba' name='ordmasculine'/>
+ <glyph codepoint='bb' name='guillemotright'/>
+ <glyph codepoint='bc' name='onequarter'/>
+ <glyph codepoint='bd' name='onehalf'/>
+ <glyph codepoint='be' name='threequarters'/>
+ <glyph codepoint='bf' name='questiondown'/>
+ <glyph codepoint='c0' name='Agrave'/>
+ <glyph codepoint='c1' name='Aacute'/>
+ <glyph codepoint='c2' name='Acircumflex'/>
+ <glyph codepoint='c3' name='Atilde'/>
+ <glyph codepoint='c4' name='Adieresis'/>
+ <glyph codepoint='c5' name='Aring'/>
+ <glyph codepoint='c6' name='AE'/>
+ <glyph codepoint='c7' name='Ccedilla'/>
+ <glyph codepoint='c8' name='Egrave'/>
+ <glyph codepoint='c9' name='Eacute'/>
+ <glyph codepoint='ca' name='Ecircumflex'/>
+ <glyph codepoint='cb' name='Edieresis'/>
+ <glyph codepoint='cc' name='Igrave'/>
+ <glyph codepoint='cd' name='Iacute'/>
+ <glyph codepoint='ce' name='Icircumflex'/>
+ <glyph codepoint='cf' name='Idieresis'/>
+ <glyph codepoint='d0' name='Eth'/>
+ <glyph codepoint='d1' name='Ntilde'/>
+ <glyph codepoint='d2' name='Ograve'/>
+ <glyph codepoint='d3' name='Oacute'/>
+ <glyph codepoint='d4' name='Ocircumflex'/>
+ <glyph codepoint='d5' name='Otilde'/>
+ <glyph codepoint='d6' name='Odieresis'/>
+ <glyph codepoint='d7' name='multiply'/>
+ <glyph codepoint='d8' name='Oslash'/>
+ <glyph codepoint='d9' name='Ugrave'/>
+ <glyph codepoint='da' name='Uacute'/>
+ <glyph codepoint='db' name='Ucircumflex'/>
+ <glyph codepoint='dc' name='Udieresis'/>
+ <glyph codepoint='dd' name='Yacute'/>
+ <glyph codepoint='de' name='Thorn'/>
+ <glyph codepoint='df' name='germandbls'/>
+ <glyph codepoint='e0' name='agrave'/>
+ <glyph codepoint='e1' name='aacute'/>
+ <glyph codepoint='e2' name='acircumflex'/>
+ <glyph codepoint='e3' name='atilde'/>
+ <glyph codepoint='e4' name='adieresis'/>
+ <glyph codepoint='e5' name='aring'/>
+ <glyph codepoint='e6' name='ae'/>
+ <glyph codepoint='e7' name='ccedilla'/>
+ <glyph codepoint='e8' name='egrave'/>
+ <glyph codepoint='e9' name='eacute'/>
+ <glyph codepoint='ea' name='ecircumflex'/>
+ <glyph codepoint='eb' name='edieresis'/>
+ <glyph codepoint='ec' name='igrave'/>
+ <glyph codepoint='ed' name='iacute'/>
+ <glyph codepoint='ee' name='icircumflex'/>
+ <glyph codepoint='ef' name='idieresis'/>
+ <glyph codepoint='f0' name='eth'/>
+ <glyph codepoint='f1' name='ntilde'/>
+ <glyph codepoint='f2' name='ograve'/>
+ <glyph codepoint='f3' name='oacute'/>
+ <glyph codepoint='f4' name='ocircumflex'/>
+ <glyph codepoint='f5' name='otilde'/>
+ <glyph codepoint='f6' name='odieresis'/>
+ <glyph codepoint='f7' name='divide'/>
+ <glyph codepoint='f8' name='oslash'/>
+ <glyph codepoint='f9' name='ugrave'/>
+ <glyph codepoint='fa' name='uacute'/>
+ <glyph codepoint='fb' name='ucircumflex'/>
+ <glyph codepoint='fc' name='udieresis'/>
+ <glyph codepoint='fd' name='yacute'/>
+ <glyph codepoint='fe' name='thorn'/>
+ <glyph codepoint='ff' name='ydieresis'/>
+ </encoding>
+ <encoding id='CEEncoding' glyphlist='AGL'>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='exclam'/>
+ <glyph codepoint='22' name='quotedbl'/>
+ <glyph codepoint='23' name='numbersign'/>
+ <glyph codepoint='24' name='dollar'/>
+ <glyph codepoint='25' name='percent'/>
+ <glyph codepoint='26' name='ampersand'/>
+ <glyph codepoint='27' name='quotesingle'/>
+ <glyph codepoint='28' name='parenleft'/>
+ <glyph codepoint='29' name='parenright'/>
+ <glyph codepoint='2a' name='asterisk'/>
+ <glyph codepoint='2b' name='plus'/>
+ <glyph codepoint='2c' name='comma'/>
+ <glyph codepoint='2d' name='hyphen'/>
+ <glyph codepoint='2e' name='period'/>
+ <glyph codepoint='2f' name='slash'/>
+ <glyph codepoint='30' name='zero'/>
+ <glyph codepoint='31' name='one'/>
+ <glyph codepoint='32' name='two'/>
+ <glyph codepoint='33' name='three'/>
+ <glyph codepoint='34' name='four'/>
+ <glyph codepoint='35' name='five'/>
+ <glyph codepoint='36' name='six'/>
+ <glyph codepoint='37' name='seven'/>
+ <glyph codepoint='38' name='eight'/>
+ <glyph codepoint='39' name='nine'/>
+ <glyph codepoint='3a' name='colon'/>
+ <glyph codepoint='3b' name='semicolon'/>
+ <glyph codepoint='3c' name='less'/>
+ <glyph codepoint='3d' name='equal'/>
+ <glyph codepoint='3e' name='greater'/>
+ <glyph codepoint='3f' name='question'/>
+ <glyph codepoint='40' name='at'/>
+ <glyph codepoint='41' name='A'/>
+ <glyph codepoint='42' name='B'/>
+ <glyph codepoint='43' name='C'/>
+ <glyph codepoint='44' name='D'/>
+ <glyph codepoint='45' name='E'/>
+ <glyph codepoint='46' name='F'/>
+ <glyph codepoint='47' name='G'/>
+ <glyph codepoint='48' name='H'/>
+ <glyph codepoint='49' name='I'/>
+ <glyph codepoint='4a' name='J'/>
+ <glyph codepoint='4b' name='K'/>
+ <glyph codepoint='4c' name='L'/>
+ <glyph codepoint='4d' name='M'/>
+ <glyph codepoint='4e' name='N'/>
+ <glyph codepoint='4f' name='O'/>
+ <glyph codepoint='50' name='P'/>
+ <glyph codepoint='51' name='Q'/>
+ <glyph codepoint='52' name='R'/>
+ <glyph codepoint='53' name='S'/>
+ <glyph codepoint='54' name='T'/>
+ <glyph codepoint='55' name='U'/>
+ <glyph codepoint='56' name='V'/>
+ <glyph codepoint='57' name='W'/>
+ <glyph codepoint='58' name='X'/>
+ <glyph codepoint='59' name='Y'/>
+ <glyph codepoint='5a' name='Z'/>
+ <glyph codepoint='5b' name='bracketleft'/>
+ <glyph codepoint='5c' name='backslash'/>
+ <glyph codepoint='5d' name='bracketright'/>
+ <glyph codepoint='5e' name='asciicircum'/>
+ <glyph codepoint='5f' name='underscore'/>
+ <glyph codepoint='60' name='grave'/>
+ <glyph codepoint='61' name='a'/>
+ <glyph codepoint='62' name='b'/>
+ <glyph codepoint='63' name='c'/>
+ <glyph codepoint='64' name='d'/>
+ <glyph codepoint='65' name='e'/>
+ <glyph codepoint='66' name='f'/>
+ <glyph codepoint='67' name='g'/>
+ <glyph codepoint='68' name='h'/>
+ <glyph codepoint='69' name='i'/>
+ <glyph codepoint='6a' name='j'/>
+ <glyph codepoint='6b' name='k'/>
+ <glyph codepoint='6c' name='l'/>
+ <glyph codepoint='6d' name='m'/>
+ <glyph codepoint='6e' name='n'/>
+ <glyph codepoint='6f' name='o'/>
+ <glyph codepoint='70' name='p'/>
+ <glyph codepoint='71' name='q'/>
+ <glyph codepoint='72' name='r'/>
+ <glyph codepoint='73' name='s'/>
+ <glyph codepoint='74' name='t'/>
+ <glyph codepoint='75' name='u'/>
+ <glyph codepoint='76' name='v'/>
+ <glyph codepoint='77' name='w'/>
+ <glyph codepoint='78' name='x'/>
+ <glyph codepoint='79' name='y'/>
+ <glyph codepoint='7a' name='z'/>
+ <glyph codepoint='7b' name='braceleft'/>
+ <glyph codepoint='7c' name='bar'/>
+ <glyph codepoint='7d' name='braceright'/>
+ <glyph codepoint='7e' name='asciitilde'/>
+ <glyph codepoint='82' name='quotesinglbase'/>
+ <glyph codepoint='84' name='quotedblbase'/>
+ <glyph codepoint='85' name='ellipsis'/>
+ <glyph codepoint='86' name='dagger'/>
+ <glyph codepoint='87' name='daggerdbl'/>
+ <glyph codepoint='89' name='perthousand'/>
+ <glyph codepoint='8a' name='Scaron'/>
+ <glyph codepoint='8b' name='guilsinglleft'/>
+ <glyph codepoint='8c' name='Sacute'/>
+ <glyph codepoint='8d' name='Tcaron'/>
+ <glyph codepoint='8e' name='Zcaron'/>
+ <glyph codepoint='8f' name='Zacute'/>
+ <glyph codepoint='91' name='quoteleft'/>
+ <glyph codepoint='92' name='quoteright'/>
+ <glyph codepoint='93' name='quotedblleft'/>
+ <glyph codepoint='94' name='quotedblright'/>
+ <glyph codepoint='95' name='bullet'/>
+ <glyph codepoint='96' name='endash'/>
+ <glyph codepoint='97' name='emdash'/>
+ <glyph codepoint='99' name='trademark'/>
+ <glyph codepoint='9a' name='scaron'/>
+ <glyph codepoint='9b' name='guilsinglright'/>
+ <glyph codepoint='9c' name='sacute'/>
+ <glyph codepoint='9d' name='tcaron'/>
+ <glyph codepoint='9e' name='zcaron'/>
+ <glyph codepoint='9f' name='zacute'/>
+ <glyph codepoint='a1' name='caron'/>
+ <glyph codepoint='a2' name='breve'/>
+ <glyph codepoint='a3' name='Lslash'/>
+ <glyph codepoint='a4' name='currency'/>
+ <glyph codepoint='a5' name='Aogonek'/>
+ <glyph codepoint='a6' name='brokenbar'/>
+ <glyph codepoint='a7' name='section'/>
+ <glyph codepoint='a8' name='dieresis'/>
+ <glyph codepoint='a9' name='copyright'/>
+ <glyph codepoint='aa' name='Scommaaccent'/>
+ <glyph codepoint='ab' name='guillemotleft'/>
+ <glyph codepoint='ac' name='logicalnot'/>
+ <glyph codepoint='ae' name='registered'/>
+ <glyph codepoint='af' name='Zdotaccent'/>
+ <glyph codepoint='b0' name='degree'/>
+ <glyph codepoint='b1' name='plusminus'/>
+ <glyph codepoint='b2' name='ogonek'/>
+ <glyph codepoint='b3' name='lslash'/>
+ <glyph codepoint='b4' name='acute'/>
+ <glyph codepoint='b5' name='mu'/>
+ <glyph codepoint='b6' name='paragraph'/>
+ <glyph codepoint='b7' name='periodcentered'/>
+ <glyph codepoint='b8' name='cedilla'/>
+ <glyph codepoint='b9' name='aogonek'/>
+ <glyph codepoint='ba' name='scommaaccent'/>
+ <glyph codepoint='bb' name='guillemotright'/>
+ <glyph codepoint='bc' name='Lcaron'/>
+ <glyph codepoint='bd' name='hungarumlaut'/>
+ <glyph codepoint='be' name='lcaron'/>
+ <glyph codepoint='bf' name='zdotaccent'/>
+ <glyph codepoint='c0' name='Racute'/>
+ <glyph codepoint='c1' name='Aacute'/>
+ <glyph codepoint='c2' name='Acircumflex'/>
+ <glyph codepoint='c3' name='Abreve'/>
+ <glyph codepoint='c4' name='Adieresis'/>
+ <glyph codepoint='c5' name='Lacute'/>
+ <glyph codepoint='c6' name='Cacute'/>
+ <glyph codepoint='c7' name='Ccedilla'/>
+ <glyph codepoint='c8' name='Ccaron'/>
+ <glyph codepoint='c9' name='Eacute'/>
+ <glyph codepoint='ca' name='Eogonek'/>
+ <glyph codepoint='cb' name='Edieresis'/>
+ <glyph codepoint='cc' name='Ecaron'/>
+ <glyph codepoint='cd' name='Iacute'/>
+ <glyph codepoint='ce' name='Icircumflex'/>
+ <glyph codepoint='cf' name='Dcaron'/>
+ <glyph codepoint='d0' name='Dcroat'/>
+ <glyph codepoint='d1' name='Nacute'/>
+ <glyph codepoint='d2' name='Ncaron'/>
+ <glyph codepoint='d3' name='Oacute'/>
+ <glyph codepoint='d4' name='Ocircumflex'/>
+ <glyph codepoint='d5' name='Ohungarumlaut'/>
+ <glyph codepoint='d6' name='Odieresis'/>
+ <glyph codepoint='d7' name='multiply'/>
+ <glyph codepoint='d8' name='Rcaron'/>
+ <glyph codepoint='d9' name='Uring'/>
+ <glyph codepoint='da' name='Uacute'/>
+ <glyph codepoint='db' name='Uhungarumlaut'/>
+ <glyph codepoint='dc' name='Udieresis'/>
+ <glyph codepoint='dd' name='Yacute'/>
+ <glyph codepoint='de' name='Tcommaaccent'/>
+ <glyph codepoint='df' name='germandbls'/>
+ <glyph codepoint='e0' name='racute'/>
+ <glyph codepoint='e1' name='aacute'/>
+ <glyph codepoint='e2' name='acircumflex'/>
+ <glyph codepoint='e3' name='abreve'/>
+ <glyph codepoint='e4' name='adieresis'/>
+ <glyph codepoint='e5' name='lacute'/>
+ <glyph codepoint='e6' name='cacute'/>
+ <glyph codepoint='e7' name='ccedilla'/>
+ <glyph codepoint='e8' name='ccaron'/>
+ <glyph codepoint='e9' name='eacute'/>
+ <glyph codepoint='ea' name='eogonek'/>
+ <glyph codepoint='eb' name='edieresis'/>
+ <glyph codepoint='ec' name='ecaron'/>
+ <glyph codepoint='ed' name='iacute'/>
+ <glyph codepoint='ee' name='icircumflex'/>
+ <glyph codepoint='ef' name='dcaron'/>
+ <glyph codepoint='f0' name='dcroat'/>
+ <glyph codepoint='f1' name='nacute'/>
+ <glyph codepoint='f2' name='ncaron'/>
+ <glyph codepoint='f3' name='oacute'/>
+ <glyph codepoint='f4' name='ocircumflex'/>
+ <glyph codepoint='f5' name='ohungarumlaut'/>
+ <glyph codepoint='f6' name='odieresis'/>
+ <glyph codepoint='f7' name='divide'/>
+ <glyph codepoint='f8' name='rcaron'/>
+ <glyph codepoint='f9' name='uring'/>
+ <glyph codepoint='fa' name='uacute'/>
+ <glyph codepoint='fb' name='uhungarumlaut'/>
+ <glyph codepoint='fc' name='udieresis'/>
+ <glyph codepoint='fd' name='yacute'/>
+ <glyph codepoint='fe' name='tcommaaccent'/>
+ <glyph codepoint='ff' name='dotaccent'/>
+ </encoding>
+ <encoding id='MacRomanEncoding' glyphlist='AGL'>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='exclam'/>
+ <glyph codepoint='22' name='quotedbl'/>
+ <glyph codepoint='23' name='numbersign'/>
+ <glyph codepoint='24' name='dollar'/>
+ <glyph codepoint='25' name='percent'/>
+ <glyph codepoint='26' name='ampersand'/>
+ <glyph codepoint='27' name='quotesingle'/>
+ <glyph codepoint='28' name='parenleft'/>
+ <glyph codepoint='29' name='parenright'/>
+ <glyph codepoint='2a' name='asterisk'/>
+ <glyph codepoint='2b' name='plus'/>
+ <glyph codepoint='2c' name='comma'/>
+ <glyph codepoint='2d' name='hyphen'/>
+ <glyph codepoint='2e' name='period'/>
+ <glyph codepoint='2f' name='slash'/>
+ <glyph codepoint='30' name='zero'/>
+ <glyph codepoint='31' name='one'/>
+ <glyph codepoint='32' name='two'/>
+ <glyph codepoint='33' name='three'/>
+ <glyph codepoint='34' name='four'/>
+ <glyph codepoint='35' name='five'/>
+ <glyph codepoint='36' name='six'/>
+ <glyph codepoint='37' name='seven'/>
+ <glyph codepoint='38' name='eight'/>
+ <glyph codepoint='39' name='nine'/>
+ <glyph codepoint='3a' name='colon'/>
+ <glyph codepoint='3b' name='semicolon'/>
+ <glyph codepoint='3c' name='less'/>
+ <glyph codepoint='3d' name='equal'/>
+ <glyph codepoint='3e' name='greater'/>
+ <glyph codepoint='3f' name='question'/>
+ <glyph codepoint='40' name='at'/>
+ <glyph codepoint='41' name='A'/>
+ <glyph codepoint='42' name='B'/>
+ <glyph codepoint='43' name='C'/>
+ <glyph codepoint='44' name='D'/>
+ <glyph codepoint='45' name='E'/>
+ <glyph codepoint='46' name='F'/>
+ <glyph codepoint='47' name='G'/>
+ <glyph codepoint='48' name='H'/>
+ <glyph codepoint='49' name='I'/>
+ <glyph codepoint='4a' name='J'/>
+ <glyph codepoint='4b' name='K'/>
+ <glyph codepoint='4c' name='L'/>
+ <glyph codepoint='4d' name='M'/>
+ <glyph codepoint='4e' name='N'/>
+ <glyph codepoint='4f' name='O'/>
+ <glyph codepoint='50' name='P'/>
+ <glyph codepoint='51' name='Q'/>
+ <glyph codepoint='52' name='R'/>
+ <glyph codepoint='53' name='S'/>
+ <glyph codepoint='54' name='T'/>
+ <glyph codepoint='55' name='U'/>
+ <glyph codepoint='56' name='V'/>
+ <glyph codepoint='57' name='W'/>
+ <glyph codepoint='58' name='X'/>
+ <glyph codepoint='59' name='Y'/>
+ <glyph codepoint='5a' name='Z'/>
+ <glyph codepoint='5b' name='bracketleft'/>
+ <glyph codepoint='5c' name='backslash'/>
+ <glyph codepoint='5d' name='bracketright'/>
+ <glyph codepoint='5e' name='asciicircum'/>
+ <glyph codepoint='5f' name='underscore'/>
+ <glyph codepoint='60' name='grave'/>
+ <glyph codepoint='61' name='a'/>
+ <glyph codepoint='62' name='b'/>
+ <glyph codepoint='63' name='c'/>
+ <glyph codepoint='64' name='d'/>
+ <glyph codepoint='65' name='e'/>
+ <glyph codepoint='66' name='f'/>
+ <glyph codepoint='67' name='g'/>
+ <glyph codepoint='68' name='h'/>
+ <glyph codepoint='69' name='i'/>
+ <glyph codepoint='6a' name='j'/>
+ <glyph codepoint='6b' name='k'/>
+ <glyph codepoint='6c' name='l'/>
+ <glyph codepoint='6d' name='m'/>
+ <glyph codepoint='6e' name='n'/>
+ <glyph codepoint='6f' name='o'/>
+ <glyph codepoint='70' name='p'/>
+ <glyph codepoint='71' name='q'/>
+ <glyph codepoint='72' name='r'/>
+ <glyph codepoint='73' name='s'/>
+ <glyph codepoint='74' name='t'/>
+ <glyph codepoint='75' name='u'/>
+ <glyph codepoint='76' name='v'/>
+ <glyph codepoint='77' name='w'/>
+ <glyph codepoint='78' name='x'/>
+ <glyph codepoint='79' name='y'/>
+ <glyph codepoint='7b' name='braceleft'/>
+ <glyph codepoint='7c' name='bar'/>
+ <glyph codepoint='7d' name='braceright'/>
+ <glyph codepoint='7e' name='asciitilde'/>
+ <glyph codepoint='80' name='Adieresis'/>
+ <glyph codepoint='81' name='Aring'/>
+ <glyph codepoint='82' name='Ccedilla'/>
+ <glyph codepoint='83' name='Eacute'/>
+ <glyph codepoint='84' name='Ntilde'/>
+ <glyph codepoint='85' name='Odieresis'/>
+ <glyph codepoint='86' name='Udieresis'/>
+ <glyph codepoint='87' name='aacute'/>
+ <glyph codepoint='88' name='agrave'/>
+ <glyph codepoint='89' name='acircumflex'/>
+ <glyph codepoint='8a' name='adieresis'/>
+ <glyph codepoint='8b' name='atilde'/>
+ <glyph codepoint='8c' name='aring'/>
+ <glyph codepoint='8d' name='ccedilla'/>
+ <glyph codepoint='8e' name='eacute'/>
+ <glyph codepoint='8f' name='egrave'/>
+ <glyph codepoint='90' name='ecircumflex'/>
+ <glyph codepoint='91' name='edieresis'/>
+ <glyph codepoint='92' name='iacute'/>
+ <glyph codepoint='93' name='igrave'/>
+ <glyph codepoint='94' name='icircumflex'/>
+ <glyph codepoint='95' name='idieresis'/>
+ <glyph codepoint='96' name='ntilde'/>
+ <glyph codepoint='97' name='oacute'/>
+ <glyph codepoint='98' name='ograve'/>
+ <glyph codepoint='99' name='ocircumflex'/>
+ <glyph codepoint='9a' name='odieresis'/>
+ <glyph codepoint='9b' name='otilde'/>
+ <glyph codepoint='9c' name='uacute'/>
+ <glyph codepoint='9d' name='ugrave'/>
+ <glyph codepoint='9e' name='ucircumflex'/>
+ <glyph codepoint='9f' name='udieresis'/>
+ <glyph codepoint='a0' name='dagger'/>
+ <glyph codepoint='a1' name='degree'/>
+ <glyph codepoint='a2' name='cent'/>
+ <glyph codepoint='a3' name='sterling'/>
+ <glyph codepoint='a4' name='section'/>
+ <glyph codepoint='a5' name='bullet'/>
+ <glyph codepoint='a6' name='paragraph'/>
+ <glyph codepoint='a7' name='germandbls'/>
+ <glyph codepoint='a8' name='registered'/>
+ <glyph codepoint='a9' name='copyright'/>
+ <glyph codepoint='aa' name='trademark'/>
+ <glyph codepoint='ab' name='acute'/>
+ <glyph codepoint='ac' name='dieresis'/>
+ <glyph codepoint='ae' name='AE'/>
+ <glyph codepoint='af' name='Oslash'/>
+ <glyph codepoint='b1' name='plusminus'/>
+ <glyph codepoint='b5' name='mu'/>
+ <glyph codepoint='bb' name='ordfeminine'/>
+ <glyph codepoint='bc' name='ordmasculine'/>
+ <glyph codepoint='be' name='ae'/>
+ <glyph codepoint='bf' name='oslash'/>
+ <glyph codepoint='c0' name='questiondown'/>
+ <glyph codepoint='c1' name='exclamdown'/>
+ <glyph codepoint='c2' name='logicalnot'/>
+ <glyph codepoint='c4' name='florin'/>
+ <glyph codepoint='c7' name='guillemotleft'/>
+ <glyph codepoint='c8' name='guillemotright'/>
+ <glyph codepoint='c9' name='ellipsis'/>
+ <glyph codepoint='cb' name='Agrave'/>
+ <glyph codepoint='cc' name='Atilde'/>
+ <glyph codepoint='cd' name='Otilde'/>
+ <glyph codepoint='ce' name='OE'/>
+ <glyph codepoint='cf' name='oe'/>
+ <glyph codepoint='d0' name='endash'/>
+ <glyph codepoint='d1' name='emdash'/>
+ <glyph codepoint='d2' name='quotedblleft'/>
+ <glyph codepoint='d3' name='quotedblright'/>
+ <glyph codepoint='d4' name='quoteleft'/>
+ <glyph codepoint='d5' name='quoteright'/>
+ <glyph codepoint='d6' name='divide'/>
+ <glyph codepoint='d9' name='Ydieresis'/>
+ <glyph codepoint='da' name='fraction'/>
+ <glyph codepoint='db' name='currency'/>
+ <glyph codepoint='dc' name='guilsinglleft'/>
+ <glyph codepoint='dd' name='guilsinglright'/>
+ <glyph codepoint='de' name='fi'/>
+ <glyph codepoint='df' name='fl'/>
+ <glyph codepoint='e0' name='daggerdbl'/>
+ <glyph codepoint='e1' name='periodcentered'/>
+ <glyph codepoint='e2' name='quotesinglbase'/>
+ <glyph codepoint='e3' name='quotedblbase'/>
+ <glyph codepoint='e4' name='perthousand'/>
+ <glyph codepoint='e5' name='Acircumflex'/>
+ <glyph codepoint='e6' name='Ecircumflex'/>
+ <glyph codepoint='e7' name='Aacute'/>
+ <glyph codepoint='e8' name='Edieresis'/>
+ <glyph codepoint='e9' name='Egrave'/>
+ <glyph codepoint='ea' name='Iacute'/>
+ <glyph codepoint='eb' name='Icircumflex'/>
+ <glyph codepoint='ec' name='Idieresis'/>
+ <glyph codepoint='ed' name='Igrave'/>
+ <glyph codepoint='ee' name='Oacute'/>
+ <glyph codepoint='ef' name='Ocircumflex'/>
+ <glyph codepoint='f1' name='Ograve'/>
+ <glyph codepoint='f2' name='Uacute'/>
+ <glyph codepoint='f3' name='Ucircumflex'/>
+ <glyph codepoint='f4' name='Ugrave'/>
+ <glyph codepoint='f5' name='dotlessi'/>
+ <glyph codepoint='f6' name='circumflex'/>
+ <glyph codepoint='f7' name='tilde'/>
+ <glyph codepoint='f8' name='macron'/>
+ <glyph codepoint='f9' name='breve'/>
+ <glyph codepoint='fa' name='dotaccent'/>
+ <glyph codepoint='fb' name='ring'/>
+ <glyph codepoint='fc' name='cedilla'/>
+ <glyph codepoint='fd' name='hungarumlaut'/>
+ <glyph codepoint='fe' name='ogonek'/>
+ <glyph codepoint='ff' name='caron'/>
+ <glyph codepoint='d8' name='ydieresis'/>
+ <glyph codepoint='b4' name='yen'/>
+ <glyph codepoint='7a' name='z'/>
+ </encoding>
+ <encoding id='WinAnsiEncoding' glyphlist='AGL'>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='exclam'/>
+ <glyph codepoint='22' name='quotedbl'/>
+ <glyph codepoint='23' name='numbersign'/>
+ <glyph codepoint='24' name='dollar'/>
+ <glyph codepoint='25' name='percent'/>
+ <glyph codepoint='26' name='ampersand'/>
+ <glyph codepoint='27' name='quotesingle'/>
+ <glyph codepoint='28' name='parenleft'/>
+ <glyph codepoint='29' name='parenright'/>
+ <glyph codepoint='2a' name='asterisk'/>
+ <glyph codepoint='2b' name='plus'/>
+ <glyph codepoint='2c' name='comma'/>
+ <glyph codepoint='2d' name='hyphen'/>
+ <glyph codepoint='2e' name='period'/>
+ <glyph codepoint='2f' name='slash'/>
+ <glyph codepoint='30' name='zero'/>
+ <glyph codepoint='31' name='one'/>
+ <glyph codepoint='32' name='two'/>
+ <glyph codepoint='33' name='three'/>
+ <glyph codepoint='34' name='four'/>
+ <glyph codepoint='35' name='five'/>
+ <glyph codepoint='36' name='six'/>
+ <glyph codepoint='37' name='seven'/>
+ <glyph codepoint='38' name='eight'/>
+ <glyph codepoint='39' name='nine'/>
+ <glyph codepoint='3a' name='colon'/>
+ <glyph codepoint='3b' name='semicolon'/>
+ <glyph codepoint='3c' name='less'/>
+ <glyph codepoint='3d' name='equal'/>
+ <glyph codepoint='3e' name='greater'/>
+ <glyph codepoint='3f' name='question'/>
+ <glyph codepoint='40' name='at'/>
+ <glyph codepoint='41' name='A'/>
+ <glyph codepoint='42' name='B'/>
+ <glyph codepoint='43' name='C'/>
+ <glyph codepoint='44' name='D'/>
+ <glyph codepoint='45' name='E'/>
+ <glyph codepoint='46' name='F'/>
+ <glyph codepoint='47' name='G'/>
+ <glyph codepoint='48' name='H'/>
+ <glyph codepoint='49' name='I'/>
+ <glyph codepoint='4a' name='J'/>
+ <glyph codepoint='4b' name='K'/>
+ <glyph codepoint='4c' name='L'/>
+ <glyph codepoint='4d' name='M'/>
+ <glyph codepoint='4e' name='N'/>
+ <glyph codepoint='4f' name='O'/>
+ <glyph codepoint='50' name='P'/>
+ <glyph codepoint='51' name='Q'/>
+ <glyph codepoint='52' name='R'/>
+ <glyph codepoint='53' name='S'/>
+ <glyph codepoint='54' name='T'/>
+ <glyph codepoint='55' name='U'/>
+ <glyph codepoint='56' name='V'/>
+ <glyph codepoint='57' name='W'/>
+ <glyph codepoint='58' name='X'/>
+ <glyph codepoint='59' name='Y'/>
+ <glyph codepoint='5a' name='Z'/>
+ <glyph codepoint='5b' name='bracketleft'/>
+ <glyph codepoint='5c' name='backslash'/>
+ <glyph codepoint='5d' name='bracketright'/>
+ <glyph codepoint='5e' name='asciicircum'/>
+ <glyph codepoint='5f' name='underscore'/>
+ <glyph codepoint='60' name='grave'/>
+ <glyph codepoint='61' name='a'/>
+ <glyph codepoint='62' name='b'/>
+ <glyph codepoint='63' name='c'/>
+ <glyph codepoint='64' name='d'/>
+ <glyph codepoint='65' name='e'/>
+ <glyph codepoint='66' name='f'/>
+ <glyph codepoint='67' name='g'/>
+ <glyph codepoint='68' name='h'/>
+ <glyph codepoint='69' name='i'/>
+ <glyph codepoint='6a' name='j'/>
+ <glyph codepoint='6b' name='k'/>
+ <glyph codepoint='6c' name='l'/>
+ <glyph codepoint='6d' name='m'/>
+ <glyph codepoint='6e' name='n'/>
+ <glyph codepoint='6f' name='o'/>
+ <glyph codepoint='70' name='p'/>
+ <glyph codepoint='71' name='q'/>
+ <glyph codepoint='72' name='r'/>
+ <glyph codepoint='73' name='s'/>
+ <glyph codepoint='74' name='t'/>
+ <glyph codepoint='75' name='u'/>
+ <glyph codepoint='76' name='v'/>
+ <glyph codepoint='77' name='w'/>
+ <glyph codepoint='78' name='x'/>
+ <glyph codepoint='79' name='y'/>
+ <glyph codepoint='7a' name='z'/>
+ <glyph codepoint='7b' name='braceleft'/>
+ <glyph codepoint='7c' name='bar'/>
+ <glyph codepoint='7d' name='braceright'/>
+ <glyph codepoint='7e' name='asciitilde'/>
+ <glyph codepoint='80' name='Euro'/>
+ <glyph codepoint='82' name='quotesinglbase'/>
+ <glyph codepoint='83' name='florin'/>
+ <glyph codepoint='84' name='quotedblbase'/>
+ <glyph codepoint='85' name='ellipsis'/>
+ <glyph codepoint='86' name='dagger'/>
+ <glyph codepoint='87' name='daggerdbl'/>
+ <glyph codepoint='88' name='circumflex'/>
+ <glyph codepoint='89' name='perthousand'/>
+ <glyph codepoint='8a' name='Scaron'/>
+ <glyph codepoint='8b' name='guilsinglleft'/>
+ <glyph codepoint='8c' name='OE'/>
+ <glyph codepoint='8e' name='Zcaron'/>
+ <glyph codepoint='91' name='quoteleft'/>
+ <glyph codepoint='92' name='quoteright'/>
+ <glyph codepoint='93' name='quotedblleft'/>
+ <glyph codepoint='94' name='quotedblright'/>
+ <glyph codepoint='95' name='bullet'/>
+ <glyph codepoint='96' name='endash'/>
+ <glyph codepoint='97' name='emdash'/>
+ <glyph codepoint='98' name='tilde'/>
+ <glyph codepoint='99' name='trademark'/>
+ <glyph codepoint='9a' name='scaron'/>
+ <glyph codepoint='9b' name='guilsinglright'/>
+ <glyph codepoint='9c' name='oe'/>
+ <glyph codepoint='9e' name='zcaron'/>
+ <glyph codepoint='9f' name='Ydieresis'/>
+ <glyph codepoint='a1' name='exclamdown'/>
+ <glyph codepoint='a2' name='cent'/>
+ <glyph codepoint='a3' name='sterling'/>
+ <glyph codepoint='a4' name='currency'/>
+ <glyph codepoint='a5' name='yen'/>
+ <glyph codepoint='a6' name='brokenbar'/>
+ <glyph codepoint='a7' name='section'/>
+ <glyph codepoint='a8' name='dieresis'/>
+ <glyph codepoint='a9' name='copyright'/>
+ <glyph codepoint='aa' name='ordfeminine'/>
+ <glyph codepoint='ab' name='guillemotleft'/>
+ <glyph codepoint='ac' name='logicalnot'/>
+ <glyph codepoint='ae' name='registered'/>
+ <glyph codepoint='af' name='macron'/>
+ <glyph codepoint='b0' name='degree'/>
+ <glyph codepoint='b1' name='plusminus'/>
+ <glyph codepoint='b2' name='twosuperior'/>
+ <glyph codepoint='b3' name='threesuperior'/>
+ <glyph codepoint='b4' name='acute'/>
+ <glyph codepoint='b5' name='mu'/>
+ <glyph codepoint='b6' name='paragraph'/>
+ <glyph codepoint='b7' name='periodcentered'/>
+ <glyph codepoint='b8' name='cedilla'/>
+ <glyph codepoint='b9' name='onesuperior'/>
+ <glyph codepoint='ba' name='ordmasculine'/>
+ <glyph codepoint='bb' name='guillemotright'/>
+ <glyph codepoint='bc' name='onequarter'/>
+ <glyph codepoint='bd' name='onehalf'/>
+ <glyph codepoint='be' name='threequarters'/>
+ <glyph codepoint='bf' name='questiondown'/>
+ <glyph codepoint='c0' name='Agrave'/>
+ <glyph codepoint='c1' name='Aacute'/>
+ <glyph codepoint='c2' name='Acircumflex'/>
+ <glyph codepoint='c3' name='Atilde'/>
+ <glyph codepoint='c4' name='Adieresis'/>
+ <glyph codepoint='c5' name='Aring'/>
+ <glyph codepoint='c6' name='AE'/>
+ <glyph codepoint='c7' name='Ccedilla'/>
+ <glyph codepoint='c8' name='Egrave'/>
+ <glyph codepoint='c9' name='Eacute'/>
+ <glyph codepoint='ca' name='Ecircumflex'/>
+ <glyph codepoint='cb' name='Edieresis'/>
+ <glyph codepoint='cc' name='Igrave'/>
+ <glyph codepoint='cd' name='Iacute'/>
+ <glyph codepoint='ce' name='Icircumflex'/>
+ <glyph codepoint='cf' name='Idieresis'/>
+ <glyph codepoint='d0' name='Eth'/>
+ <glyph codepoint='d1' name='Ntilde'/>
+ <glyph codepoint='d2' name='Ograve'/>
+ <glyph codepoint='d3' name='Oacute'/>
+ <glyph codepoint='d4' name='Ocircumflex'/>
+ <glyph codepoint='d5' name='Otilde'/>
+ <glyph codepoint='d6' name='Odieresis'/>
+ <glyph codepoint='d7' name='multiply'/>
+ <glyph codepoint='d8' name='Oslash'/>
+ <glyph codepoint='d9' name='Ugrave'/>
+ <glyph codepoint='da' name='Uacute'/>
+ <glyph codepoint='db' name='Ucircumflex'/>
+ <glyph codepoint='dc' name='Udieresis'/>
+ <glyph codepoint='dd' name='Yacute'/>
+ <glyph codepoint='de' name='Thorn'/>
+ <glyph codepoint='df' name='germandbls'/>
+ <glyph codepoint='e0' name='agrave'/>
+ <glyph codepoint='e1' name='aacute'/>
+ <glyph codepoint='e2' name='acircumflex'/>
+ <glyph codepoint='e3' name='atilde'/>
+ <glyph codepoint='e4' name='adieresis'/>
+ <glyph codepoint='e5' name='aring'/>
+ <glyph codepoint='e6' name='ae'/>
+ <glyph codepoint='e7' name='ccedilla'/>
+ <glyph codepoint='e8' name='egrave'/>
+ <glyph codepoint='e9' name='eacute'/>
+ <glyph codepoint='ea' name='ecircumflex'/>
+ <glyph codepoint='eb' name='edieresis'/>
+ <glyph codepoint='ec' name='igrave'/>
+ <glyph codepoint='ed' name='iacute'/>
+ <glyph codepoint='ee' name='icircumflex'/>
+ <glyph codepoint='ef' name='idieresis'/>
+ <glyph codepoint='f0' name='eth'/>
+ <glyph codepoint='f1' name='ntilde'/>
+ <glyph codepoint='f2' name='ograve'/>
+ <glyph codepoint='f3' name='oacute'/>
+ <glyph codepoint='f4' name='ocircumflex'/>
+ <glyph codepoint='f5' name='otilde'/>
+ <glyph codepoint='f6' name='odieresis'/>
+ <glyph codepoint='f7' name='divide'/>
+ <glyph codepoint='f8' name='oslash'/>
+ <glyph codepoint='f9' name='ugrave'/>
+ <glyph codepoint='fa' name='uacute'/>
+ <glyph codepoint='fb' name='ucircumflex'/>
+ <glyph codepoint='fc' name='udieresis'/>
+ <glyph codepoint='fd' name='yacute'/>
+ <glyph codepoint='fe' name='thorn'/>
+ <glyph codepoint='ff' name='ydieresis'/>
+ </encoding>
+ <encoding id='PDFDocEncoding' glyphlist='AGL'>
+ <glyph codepoint='18' name='breve'/>
+ <glyph codepoint='19' name='caron'/>
+ <glyph codepoint='1a' name='circumflex'/>
+ <glyph codepoint='1b' name='dotaccent'/>
+ <glyph codepoint='1c' name='hungarumlaut'/>
+ <glyph codepoint='1d' name='ogonek'/>
+ <glyph codepoint='1e' name='ring'/>
+ <glyph codepoint='1f' name='tilde'/>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='exclam'/>
+ <glyph codepoint='22' name='quotedbl'/>
+ <glyph codepoint='23' name='numbersign'/>
+ <glyph codepoint='24' name='dollar'/>
+ <glyph codepoint='25' name='percent'/>
+ <glyph codepoint='26' name='ampersand'/>
+ <glyph codepoint='27' name='quotesingle'/>
+ <glyph codepoint='28' name='parenleft'/>
+ <glyph codepoint='29' name='parenright'/>
+ <glyph codepoint='2a' name='asterisk'/>
+ <glyph codepoint='2b' name='plus'/>
+ <glyph codepoint='2c' name='comma'/>
+ <glyph codepoint='2d' name='hyphen'/>
+ <glyph codepoint='2e' name='period'/>
+ <glyph codepoint='2f' name='slash'/>
+ <glyph codepoint='30' name='zero'/>
+ <glyph codepoint='31' name='one'/>
+ <glyph codepoint='32' name='two'/>
+ <glyph codepoint='33' name='three'/>
+ <glyph codepoint='34' name='four'/>
+ <glyph codepoint='35' name='five'/>
+ <glyph codepoint='36' name='six'/>
+ <glyph codepoint='37' name='seven'/>
+ <glyph codepoint='38' name='eight'/>
+ <glyph codepoint='39' name='nine'/>
+ <glyph codepoint='3a' name='colon'/>
+ <glyph codepoint='3b' name='semicolon'/>
+ <glyph codepoint='3c' name='less'/>
+ <glyph codepoint='3d' name='equal'/>
+ <glyph codepoint='3e' name='greater'/>
+ <glyph codepoint='3f' name='question'/>
+ <glyph codepoint='40' name='at'/>
+ <glyph codepoint='41' name='A'/>
+ <glyph codepoint='42' name='B'/>
+ <glyph codepoint='43' name='C'/>
+ <glyph codepoint='44' name='D'/>
+ <glyph codepoint='45' name='E'/>
+ <glyph codepoint='46' name='F'/>
+ <glyph codepoint='47' name='G'/>
+ <glyph codepoint='48' name='H'/>
+ <glyph codepoint='49' name='I'/>
+ <glyph codepoint='4a' name='J'/>
+ <glyph codepoint='4b' name='K'/>
+ <glyph codepoint='4c' name='L'/>
+ <glyph codepoint='4d' name='M'/>
+ <glyph codepoint='4e' name='N'/>
+ <glyph codepoint='4f' name='O'/>
+ <glyph codepoint='50' name='P'/>
+ <glyph codepoint='51' name='Q'/>
+ <glyph codepoint='52' name='R'/>
+ <glyph codepoint='53' name='S'/>
+ <glyph codepoint='54' name='T'/>
+ <glyph codepoint='55' name='U'/>
+ <glyph codepoint='56' name='V'/>
+ <glyph codepoint='57' name='W'/>
+ <glyph codepoint='58' name='X'/>
+ <glyph codepoint='59' name='Y'/>
+ <glyph codepoint='5a' name='Z'/>
+ <glyph codepoint='5b' name='bracketleft'/>
+ <glyph codepoint='5c' name='backslash'/>
+ <glyph codepoint='5d' name='bracketright'/>
+ <glyph codepoint='5e' name='asciicircum'/>
+ <glyph codepoint='5f' name='underscore'/>
+ <glyph codepoint='60' name='grave'/>
+ <glyph codepoint='61' name='a'/>
+ <glyph codepoint='62' name='b'/>
+ <glyph codepoint='63' name='c'/>
+ <glyph codepoint='64' name='d'/>
+ <glyph codepoint='65' name='e'/>
+ <glyph codepoint='66' name='f'/>
+ <glyph codepoint='67' name='g'/>
+ <glyph codepoint='68' name='h'/>
+ <glyph codepoint='69' name='i'/>
+ <glyph codepoint='6a' name='j'/>
+ <glyph codepoint='6b' name='k'/>
+ <glyph codepoint='6c' name='l'/>
+ <glyph codepoint='6d' name='m'/>
+ <glyph codepoint='6e' name='n'/>
+ <glyph codepoint='6f' name='o'/>
+ <glyph codepoint='70' name='p'/>
+ <glyph codepoint='71' name='q'/>
+ <glyph codepoint='72' name='r'/>
+ <glyph codepoint='73' name='s'/>
+ <glyph codepoint='74' name='t'/>
+ <glyph codepoint='75' name='u'/>
+ <glyph codepoint='76' name='v'/>
+ <glyph codepoint='77' name='w'/>
+ <glyph codepoint='78' name='x'/>
+ <glyph codepoint='79' name='y'/>
+ <glyph codepoint='7a' name='z'/>
+ <glyph codepoint='7b' name='braceleft'/>
+ <glyph codepoint='7c' name='bar'/>
+ <glyph codepoint='7d' name='braceright'/>
+ <glyph codepoint='7e' name='asciitilde'/>
+ <glyph codepoint='80' name='bullet'/>
+ <glyph codepoint='81' name='dagger'/>
+ <glyph codepoint='82' name='daggerdbl'/>
+ <glyph codepoint='83' name='ellipsis'/>
+ <glyph codepoint='84' name='emdash'/>
+ <glyph codepoint='85' name='endash'/>
+ <glyph codepoint='86' name='florin'/>
+ <glyph codepoint='87' name='fraction'/>
+ <glyph codepoint='88' name='guilsinglleft'/>
+ <glyph codepoint='89' name='guilsinglright'/>
+ <glyph codepoint='8a' name='minus'/>
+ <glyph codepoint='8b' name='perthousand'/>
+ <glyph codepoint='8c' name='quotedblbase'/>
+ <glyph codepoint='8d' name='quotedblleft'/>
+ <glyph codepoint='8e' name='quotedblright'/>
+ <glyph codepoint='8f' name='quoteleft'/>
+ <glyph codepoint='90' name='quoteright'/>
+ <glyph codepoint='91' name='quotesinglbase'/>
+ <glyph codepoint='92' name='trademark'/>
+ <glyph codepoint='93' name='fi'/>
+ <glyph codepoint='94' name='fl'/>
+ <glyph codepoint='95' name='Lslash'/>
+ <glyph codepoint='96' name='OE'/>
+ <glyph codepoint='97' name='Scaron'/>
+ <glyph codepoint='98' name='Ydieresis'/>
+ <glyph codepoint='99' name='Zcaron'/>
+ <glyph codepoint='9a' name='dotlessi'/>
+ <glyph codepoint='9b' name='lslash'/>
+ <glyph codepoint='9c' name='oe'/>
+ <glyph codepoint='9d' name='scaron'/>
+ <glyph codepoint='9e' name='zcaron'/>
+ <glyph codepoint='a0' name='Euro'/>
+ <glyph codepoint='a1' name='exclamdown'/>
+ <glyph codepoint='a2' name='cent'/>
+ <glyph codepoint='a3' name='sterling'/>
+ <glyph codepoint='a4' name='currency'/>
+ <glyph codepoint='a5' name='yen'/>
+ <glyph codepoint='a6' name='brokenbar'/>
+ <glyph codepoint='a7' name='section'/>
+ <glyph codepoint='a8' name='dieresis'/>
+ <glyph codepoint='a9' name='copyright'/>
+ <glyph codepoint='aa' name='ordfeminine'/>
+ <glyph codepoint='ab' name='guillemotleft'/>
+ <glyph codepoint='ac' name='logicalnot'/>
+ <glyph codepoint='ae' name='registered'/>
+ <glyph codepoint='af' name='macron'/>
+ <glyph codepoint='b0' name='degree'/>
+ <glyph codepoint='b1' name='plusminus'/>
+ <glyph codepoint='b2' name='twosuperior'/>
+ <glyph codepoint='b3' name='threesuperior'/>
+ <glyph codepoint='b4' name='acute'/>
+ <glyph codepoint='b5' name='mu'/>
+ <glyph codepoint='b6' name='paragraph'/>
+ <glyph codepoint='b7' name='periodcentered'/>
+ <glyph codepoint='b8' name='cedilla'/>
+ <glyph codepoint='b9' name='onesuperior'/>
+ <glyph codepoint='ba' name='ordmasculine'/>
+ <glyph codepoint='bb' name='guillemotright'/>
+ <glyph codepoint='bc' name='onequarter'/>
+ <glyph codepoint='bd' name='onehalf'/>
+ <glyph codepoint='be' name='threequarters'/>
+ <glyph codepoint='bf' name='questiondown'/>
+ <glyph codepoint='c0' name='Agrave'/>
+ <glyph codepoint='c1' name='Aacute'/>
+ <glyph codepoint='c2' name='Acircumflex'/>
+ <glyph codepoint='c3' name='Atilde'/>
+ <glyph codepoint='c4' name='Adieresis'/>
+ <glyph codepoint='c5' name='Aring'/>
+ <glyph codepoint='c6' name='AE'/>
+ <glyph codepoint='c7' name='Ccedilla'/>
+ <glyph codepoint='c8' name='Egrave'/>
+ <glyph codepoint='c9' name='Eacute'/>
+ <glyph codepoint='ca' name='Ecircumflex'/>
+ <glyph codepoint='cb' name='Edieresis'/>
+ <glyph codepoint='cc' name='Igrave'/>
+ <glyph codepoint='cd' name='Iacute'/>
+ <glyph codepoint='ce' name='Icircumflex'/>
+ <glyph codepoint='cf' name='Idieresis'/>
+ <glyph codepoint='d0' name='Eth'/>
+ <glyph codepoint='d1' name='Ntilde'/>
+ <glyph codepoint='d2' name='Ograve'/>
+ <glyph codepoint='d3' name='Oacute'/>
+ <glyph codepoint='d4' name='Ocircumflex'/>
+ <glyph codepoint='d5' name='Otilde'/>
+ <glyph codepoint='d6' name='Odieresis'/>
+ <glyph codepoint='d7' name='multiply'/>
+ <glyph codepoint='d8' name='Oslash'/>
+ <glyph codepoint='d9' name='Ugrave'/>
+ <glyph codepoint='da' name='Uacute'/>
+ <glyph codepoint='db' name='Ucircumflex'/>
+ <glyph codepoint='dc' name='Udieresis'/>
+ <glyph codepoint='dd' name='Yacute'/>
+ <glyph codepoint='de' name='Thorn'/>
+ <glyph codepoint='df' name='germandbls'/>
+ <glyph codepoint='e0' name='agrave'/>
+ <glyph codepoint='e1' name='aacute'/>
+ <glyph codepoint='e2' name='acircumflex'/>
+ <glyph codepoint='e3' name='atilde'/>
+ <glyph codepoint='e4' name='adieresis'/>
+ <glyph codepoint='e5' name='aring'/>
+ <glyph codepoint='e6' name='ae'/>
+ <glyph codepoint='e7' name='ccedilla'/>
+ <glyph codepoint='e8' name='egrave'/>
+ <glyph codepoint='e9' name='eacute'/>
+ <glyph codepoint='ea' name='ecircumflex'/>
+ <glyph codepoint='eb' name='edieresis'/>
+ <glyph codepoint='ec' name='igrave'/>
+ <glyph codepoint='ed' name='iacute'/>
+ <glyph codepoint='ee' name='icircumflex'/>
+ <glyph codepoint='ef' name='idieresis'/>
+ <glyph codepoint='f0' name='eth'/>
+ <glyph codepoint='f1' name='ntilde'/>
+ <glyph codepoint='f2' name='ograve'/>
+ <glyph codepoint='f3' name='oacute'/>
+ <glyph codepoint='f4' name='ocircumflex'/>
+ <glyph codepoint='f5' name='otilde'/>
+ <glyph codepoint='f6' name='odieresis'/>
+ <glyph codepoint='f7' name='divide'/>
+ <glyph codepoint='f8' name='oslash'/>
+ <glyph codepoint='f9' name='ugrave'/>
+ <glyph codepoint='fa' name='uacute'/>
+ <glyph codepoint='fb' name='ucircumflex'/>
+ <glyph codepoint='fc' name='udieresis'/>
+ <glyph codepoint='fd' name='yacute'/>
+ <glyph codepoint='fe' name='thorn'/>
+ <glyph codepoint='ff' name='ydieresis'/>
+ </encoding>
+ <encoding id='SymbolEncoding' glyphlist='AGL'>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='exclam'/>
+ <glyph codepoint='22' name='universal'/>
+ <glyph codepoint='23' name='numbersign'/>
+ <glyph codepoint='24' name='existential'/>
+ <glyph codepoint='25' name='percent'/>
+ <glyph codepoint='26' name='ampersand'/>
+ <glyph codepoint='27' name='suchthat'/>
+ <glyph codepoint='28' name='parenleft'/>
+ <glyph codepoint='29' name='parenright'/>
+ <glyph codepoint='2a' name='asteriskmath'/>
+ <glyph codepoint='2b' name='plus'/>
+ <glyph codepoint='2c' name='comma'/>
+ <glyph codepoint='2d' name='minus'/>
+ <glyph codepoint='2e' name='period'/>
+ <glyph codepoint='2f' name='slash'/>
+ <glyph codepoint='30' name='zero'/>
+ <glyph codepoint='31' name='one'/>
+ <glyph codepoint='32' name='two'/>
+ <glyph codepoint='33' name='three'/>
+ <glyph codepoint='34' name='four'/>
+ <glyph codepoint='35' name='five'/>
+ <glyph codepoint='36' name='six'/>
+ <glyph codepoint='37' name='seven'/>
+ <glyph codepoint='38' name='eight'/>
+ <glyph codepoint='39' name='nine'/>
+ <glyph codepoint='3a' name='colon'/>
+ <glyph codepoint='3b' name='semicolon'/>
+ <glyph codepoint='3c' name='less'/>
+ <glyph codepoint='3d' name='equal'/>
+ <glyph codepoint='3e' name='greater'/>
+ <glyph codepoint='3f' name='question'/>
+ <glyph codepoint='40' name='congruent'/>
+ <glyph codepoint='41' name='Alpha'/>
+ <glyph codepoint='42' name='Beta'/>
+ <glyph codepoint='43' name='Chi'/>
+ <glyph codepoint='44' name='Delta'/>
+ <glyph codepoint='45' name='Epsilon'/>
+ <glyph codepoint='46' name='Phi'/>
+ <glyph codepoint='47' name='Gamma'/>
+ <glyph codepoint='48' name='Eta'/>
+ <glyph codepoint='49' name='Iota'/>
+ <glyph codepoint='4a' name='theta1'/>
+ <glyph codepoint='4b' name='Kappa'/>
+ <glyph codepoint='4c' name='Lambda'/>
+ <glyph codepoint='4d' name='Mu'/>
+ <glyph codepoint='4e' name='Nu'/>
+ <glyph codepoint='4f' name='Omicron'/>
+ <glyph codepoint='50' name='Pi'/>
+ <glyph codepoint='51' name='Theta'/>
+ <glyph codepoint='52' name='Rho'/>
+ <glyph codepoint='53' name='Sigma'/>
+ <glyph codepoint='54' name='Tau'/>
+ <glyph codepoint='55' name='Upsilon'/>
+ <glyph codepoint='56' name='sigma1'/>
+ <glyph codepoint='57' name='Omega'/>
+ <glyph codepoint='58' name='Xi'/>
+ <glyph codepoint='59' name='Psi'/>
+ <glyph codepoint='5a' name='Zeta'/>
+ <glyph codepoint='5b' name='bracketleft'/>
+ <glyph codepoint='5c' name='therefore'/>
+ <glyph codepoint='5d' name='bracketright'/>
+ <glyph codepoint='5e' name='perpendicular'/>
+ <glyph codepoint='5f' name='underscore'/>
+ <glyph codepoint='60' name='radicalex'/>
+ <glyph codepoint='61' name='alpha'/>
+ <glyph codepoint='62' name='beta'/>
+ <glyph codepoint='63' name='chi'/>
+ <glyph codepoint='64' name='delta'/>
+ <glyph codepoint='65' name='epsilon'/>
+ <glyph codepoint='66' name='phi'/>
+ <glyph codepoint='67' name='gamma'/>
+ <glyph codepoint='68' name='eta'/>
+ <glyph codepoint='69' name='iota'/>
+ <glyph codepoint='6a' name='phi1'/>
+ <glyph codepoint='6b' name='kappa'/>
+ <glyph codepoint='6c' name='lambda'/>
+ <glyph codepoint='6d' name='mu'/>
+ <glyph codepoint='6e' name='nu'/>
+ <glyph codepoint='6f' name='omicron'/>
+ <glyph codepoint='70' name='pi'/>
+ <glyph codepoint='71' name='theta'/>
+ <glyph codepoint='72' name='rho'/>
+ <glyph codepoint='73' name='sigma'/>
+ <glyph codepoint='74' name='tau'/>
+ <glyph codepoint='75' name='upsilon'/>
+ <glyph codepoint='76' name='omega1'/>
+ <glyph codepoint='77' name='omega'/>
+ <glyph codepoint='78' name='xi'/>
+ <glyph codepoint='79' name='psi'/>
+ <glyph codepoint='7a' name='zeta'/>
+ <glyph codepoint='7b' name='braceleft'/>
+ <glyph codepoint='7c' name='bar'/>
+ <glyph codepoint='7d' name='braceright'/>
+ <glyph codepoint='7e' name='similar'/>
+ <glyph codepoint='a0' name='Euro'/>
+ <glyph codepoint='a1' name='Upsilon1'/>
+ <glyph codepoint='a2' name='minute'/>
+ <glyph codepoint='a3' name='lessequal'/>
+ <glyph codepoint='a4' name='fraction'/>
+ <glyph codepoint='a5' name='infinity'/>
+ <glyph codepoint='a6' name='florin'/>
+ <glyph codepoint='a7' name='club'/>
+ <glyph codepoint='a8' name='diamond'/>
+ <glyph codepoint='a9' name='heart'/>
+ <glyph codepoint='aa' name='spade'/>
+ <glyph codepoint='ab' name='arrowboth'/>
+ <glyph codepoint='ac' name='arrowleft'/>
+ <glyph codepoint='ad' name='arrowup'/>
+ <glyph codepoint='ae' name='arrowright'/>
+ <glyph codepoint='af' name='arrowdown'/>
+ <glyph codepoint='b0' name='degree'/>
+ <glyph codepoint='b1' name='plusminus'/>
+ <glyph codepoint='b2' name='second'/>
+ <glyph codepoint='b3' name='greaterequal'/>
+ <glyph codepoint='b4' name='multiply'/>
+ <glyph codepoint='b5' name='proportional'/>
+ <glyph codepoint='b6' name='partialdiff'/>
+ <glyph codepoint='b7' name='bullet'/>
+ <glyph codepoint='b8' name='divide'/>
+ <glyph codepoint='b9' name='notequal'/>
+ <glyph codepoint='ba' name='equivalence'/>
+ <glyph codepoint='bb' name='approxequal'/>
+ <glyph codepoint='bc' name='ellipsis'/>
+ <glyph codepoint='bd' name='arrowvertex'/>
+ <glyph codepoint='be' name='arrowhorizex'/>
+ <glyph codepoint='bf' name='carriagereturn'/>
+ <glyph codepoint='c0' name='aleph'/>
+ <glyph codepoint='c1' name='Ifraktur'/>
+ <glyph codepoint='c2' name='Rfraktur'/>
+ <glyph codepoint='c3' name='weierstrass'/>
+ <glyph codepoint='c4' name='circlemultiply'/>
+ <glyph codepoint='c5' name='circleplus'/>
+ <glyph codepoint='c6' name='emptyset'/>
+ <glyph codepoint='c7' name='intersection'/>
+ <glyph codepoint='c8' name='union'/>
+ <glyph codepoint='c9' name='propersuperset'/>
+ <glyph codepoint='ca' name='reflexsuperset'/>
+ <glyph codepoint='cb' name='notsubset'/>
+ <glyph codepoint='cc' name='propersubset'/>
+ <glyph codepoint='cd' name='reflexsubset'/>
+ <glyph codepoint='ce' name='element'/>
+ <glyph codepoint='cf' name='notelement'/>
+ <glyph codepoint='d0' name='angle'/>
+ <glyph codepoint='d1' name='gradient'/>
+ <glyph codepoint='d2' name='registerserif'/>
+ <glyph codepoint='d3' name='copyrightserif'/>
+ <glyph codepoint='d4' name='trademarkserif'/>
+ <glyph codepoint='d5' name='product'/>
+ <glyph codepoint='d6' name='radical'/>
+ <glyph codepoint='d7' name='dotmath'/>
+ <glyph codepoint='d8' name='logicalnot'/>
+ <glyph codepoint='d9' name='logicaland'/>
+ <glyph codepoint='da' name='logicalor'/>
+ <glyph codepoint='db' name='arrowdblboth'/>
+ <glyph codepoint='dc' name='arrowdblleft'/>
+ <glyph codepoint='dd' name='arrowdblup'/>
+ <glyph codepoint='de' name='arrowdblright'/>
+ <glyph codepoint='df' name='arrowdbldown'/>
+ <glyph codepoint='e0' name='lozenge'/>
+ <glyph codepoint='e1' name='angleleft'/>
+ <glyph codepoint='e2' name='registersans'/>
+ <glyph codepoint='e3' name='copyrightsans'/>
+ <glyph codepoint='e4' name='trademarksans'/>
+ <glyph codepoint='e5' name='summation'/>
+ <glyph codepoint='e6' name='parenlefttp'/>
+ <glyph codepoint='e7' name='parenleftex'/>
+ <glyph codepoint='e8' name='parenleftbt'/>
+ <glyph codepoint='e9' name='bracketlefttp'/>
+ <glyph codepoint='ea' name='bracketleftex'/>
+ <glyph codepoint='eb' name='bracketleftbt'/>
+ <glyph codepoint='ec' name='bracelefttp'/>
+ <glyph codepoint='ed' name='braceleftmid'/>
+ <glyph codepoint='ee' name='braceleftbt'/>
+ <glyph codepoint='ef' name='braceex'/>
+ <glyph codepoint='f1' name='angleright'/>
+ <glyph codepoint='f2' name='integral'/>
+ <glyph codepoint='f3' name='integraltp'/>
+ <glyph codepoint='f4' name='integralex'/>
+ <glyph codepoint='f5' name='integralbt'/>
+ <glyph codepoint='f6' name='parenrighttp'/>
+ <glyph codepoint='f7' name='parenrightex'/>
+ <glyph codepoint='f8' name='parenrightbt'/>
+ <glyph codepoint='f9' name='bracketrighttp'/>
+ <glyph codepoint='fa' name='bracketrightex'/>
+ <glyph codepoint='fb' name='bracketrightbt'/>
+ <glyph codepoint='fc' name='bracerighttp'/>
+ <glyph codepoint='fd' name='bracerightmid'/>
+ <glyph codepoint='fe' name='bracerightbt'/>
+ </encoding>
+ <encoding id='ZapfDingbatsEncoding' glyphlist='ZGL'>
+ <glyph codepoint='20' name='space'/>
+ <glyph codepoint='21' name='a1'/>
+ <glyph codepoint='22' name='a2'/>
+ <glyph codepoint='23' name='a202'/>
+ <glyph codepoint='24' name='a3'/>
+ <glyph codepoint='25' name='a4'/>
+ <glyph codepoint='26' name='a5'/>
+ <glyph codepoint='27' name='a119'/>
+ <glyph codepoint='28' name='a118'/>
+ <glyph codepoint='29' name='a117'/>
+ <glyph codepoint='2A' name='a11'/>
+ <glyph codepoint='2B' name='a12'/>
+ <glyph codepoint='2C' name='a13'/>
+ <glyph codepoint='2D' name='a14'/>
+ <glyph codepoint='2E' name='a15'/>
+ <glyph codepoint='2F' name='a16'/>
+ <glyph codepoint='30' name='a105'/>
+ <glyph codepoint='31' name='a17'/>
+ <glyph codepoint='32' name='a18'/>
+ <glyph codepoint='33' name='a19'/>
+ <glyph codepoint='34' name='a20'/>
+ <glyph codepoint='35' name='a21'/>
+ <glyph codepoint='36' name='a22'/>
+ <glyph codepoint='37' name='a23'/>
+ <glyph codepoint='38' name='a24'/>
+ <glyph codepoint='39' name='a25'/>
+ <glyph codepoint='3A' name='a26'/>
+ <glyph codepoint='3B' name='a27'/>
+ <glyph codepoint='3C' name='a28'/>
+ <glyph codepoint='3D' name='a6'/>
+ <glyph codepoint='3E' name='a7'/>
+ <glyph codepoint='3F' name='a8'/>
+ <glyph codepoint='40' name='a9'/>
+ <glyph codepoint='41' name='a10'/>
+ <glyph codepoint='42' name='a29'/>
+ <glyph codepoint='43' name='a30'/>
+ <glyph codepoint='44' name='a31'/>
+ <glyph codepoint='45' name='a32'/>
+ <glyph codepoint='46' name='a33'/>
+ <glyph codepoint='47' name='a34'/>
+ <glyph codepoint='48' name='a35'/>
+ <glyph codepoint='49' name='a36'/>
+ <glyph codepoint='4A' name='a37'/>
+ <glyph codepoint='4B' name='a38'/>
+ <glyph codepoint='4C' name='a39'/>
+ <glyph codepoint='4D' name='a40'/>
+ <glyph codepoint='4E' name='a41'/>
+ <glyph codepoint='4F' name='a42'/>
+ <glyph codepoint='50' name='a43'/>
+ <glyph codepoint='51' name='a44'/>
+ <glyph codepoint='52' name='a45'/>
+ <glyph codepoint='53' name='a46'/>
+ <glyph codepoint='54' name='a47'/>
+ <glyph codepoint='55' name='a48'/>
+ <glyph codepoint='56' name='a49'/>
+ <glyph codepoint='57' name='a50'/>
+ <glyph codepoint='58' name='a51'/>
+ <glyph codepoint='59' name='a52'/>
+ <glyph codepoint='5A' name='a53'/>
+ <glyph codepoint='5B' name='a54'/>
+ <glyph codepoint='5C' name='a55'/>
+ <glyph codepoint='5D' name='a56'/>
+ <glyph codepoint='5E' name='a57'/>
+ <glyph codepoint='5F' name='a58'/>
+ <glyph codepoint='60' name='a59'/>
+ <glyph codepoint='61' name='a60'/>
+ <glyph codepoint='62' name='a61'/>
+ <glyph codepoint='63' name='a62'/>
+ <glyph codepoint='64' name='a63'/>
+ <glyph codepoint='65' name='a64'/>
+ <glyph codepoint='66' name='a65'/>
+ <glyph codepoint='67' name='a66'/>
+ <glyph codepoint='68' name='a67'/>
+ <glyph codepoint='69' name='a68'/>
+ <glyph codepoint='6A' name='a69'/>
+ <glyph codepoint='6B' name='a70'/>
+ <glyph codepoint='6C' name='a71'/>
+ <glyph codepoint='6D' name='a72'/>
+ <glyph codepoint='6E' name='a73'/>
+ <glyph codepoint='6F' name='a74'/>
+ <glyph codepoint='70' name='a203'/>
+ <glyph codepoint='71' name='a75'/>
+ <glyph codepoint='72' name='a204'/>
+ <glyph codepoint='73' name='a76'/>
+ <glyph codepoint='74' name='a77'/>
+ <glyph codepoint='75' name='a78'/>
+ <glyph codepoint='76' name='a79'/>
+ <glyph codepoint='77' name='a81'/>
+ <glyph codepoint='78' name='a82'/>
+ <glyph codepoint='79' name='a83'/>
+ <glyph codepoint='7A' name='a84'/>
+ <glyph codepoint='7B' name='a97'/>
+ <glyph codepoint='7C' name='a98'/>
+ <glyph codepoint='7D' name='a99'/>
+ <glyph codepoint='7E' name='a100'/>
+ <glyph codepoint='80' name='a89'/>
+ <glyph codepoint='81' name='a90'/>
+ <glyph codepoint='82' name='a93'/>
+ <glyph codepoint='83' name='a94'/>
+ <glyph codepoint='84' name='a91'/>
+ <glyph codepoint='85' name='a92'/>
+ <glyph codepoint='86' name='a205'/>
+ <glyph codepoint='87' name='a85'/>
+ <glyph codepoint='88' name='a206'/>
+ <glyph codepoint='89' name='a86'/>
+ <glyph codepoint='8A' name='a87'/>
+ <glyph codepoint='8B' name='a88'/>
+ <glyph codepoint='8C' name='a95'/>
+ <glyph codepoint='8D' name='a96'/>
+ <glyph codepoint='A1' name='a101'/>
+ <glyph codepoint='A2' name='a102'/>
+ <glyph codepoint='A3' name='a103'/>
+ <glyph codepoint='A4' name='a104'/>
+ <glyph codepoint='A5' name='a106'/>
+ <glyph codepoint='A6' name='a107'/>
+ <glyph codepoint='A7' name='a108'/>
+ <glyph codepoint='A8' name='a112'/>
+ <glyph codepoint='A9' name='a111'/>
+ <glyph codepoint='AA' name='a110'/>
+ <glyph codepoint='AB' name='a109'/>
+ <glyph codepoint='AC' name='a120'/>
+ <glyph codepoint='AD' name='a121'/>
+ <glyph codepoint='AE' name='a122'/>
+ <glyph codepoint='AF' name='a123'/>
+ <glyph codepoint='B0' name='a124'/>
+ <glyph codepoint='B1' name='a125'/>
+ <glyph codepoint='B2' name='a126'/>
+ <glyph codepoint='B3' name='a127'/>
+ <glyph codepoint='B4' name='a128'/>
+ <glyph codepoint='B5' name='a129'/>
+ <glyph codepoint='B6' name='a130'/>
+ <glyph codepoint='B7' name='a131'/>
+ <glyph codepoint='B8' name='a132'/>
+ <glyph codepoint='B9' name='a133'/>
+ <glyph codepoint='BA' name='a134'/>
+ <glyph codepoint='BB' name='a135'/>
+ <glyph codepoint='BC' name='a136'/>
+ <glyph codepoint='BD' name='a137'/>
+ <glyph codepoint='BE' name='a138'/>
+ <glyph codepoint='BF' name='a139'/>
+ <glyph codepoint='C0' name='a140'/>
+ <glyph codepoint='C1' name='a141'/>
+ <glyph codepoint='C2' name='a142'/>
+ <glyph codepoint='C3' name='a143'/>
+ <glyph codepoint='C4' name='a144'/>
+ <glyph codepoint='C5' name='a145'/>
+ <glyph codepoint='C6' name='a146'/>
+ <glyph codepoint='C7' name='a147'/>
+ <glyph codepoint='C8' name='a148'/>
+ <glyph codepoint='C9' name='a149'/>
+ <glyph codepoint='CA' name='a150'/>
+ <glyph codepoint='CB' name='a151'/>
+ <glyph codepoint='CC' name='a152'/>
+ <glyph codepoint='CD' name='a153'/>
+ <glyph codepoint='CE' name='a154'/>
+ <glyph codepoint='CF' name='a155'/>
+ <glyph codepoint='D0' name='a156'/>
+ <glyph codepoint='D1' name='a157'/>
+ <glyph codepoint='D2' name='a158'/>
+ <glyph codepoint='D3' name='a159'/>
+ <glyph codepoint='D4' name='a160'/>
+ <glyph codepoint='D5' name='a161'/>
+ <glyph codepoint='D6' name='a163'/>
+ <glyph codepoint='D7' name='a164'/>
+ <glyph codepoint='D8' name='a196'/>
+ <glyph codepoint='D9' name='a165'/>
+ <glyph codepoint='DA' name='a192'/>
+ <glyph codepoint='DB' name='a166'/>
+ <glyph codepoint='DC' name='a167'/>
+ <glyph codepoint='DD' name='a168'/>
+ <glyph codepoint='DE' name='a169'/>
+ <glyph codepoint='DF' name='a170'/>
+ <glyph codepoint='E0' name='a171'/>
+ <glyph codepoint='E1' name='a172'/>
+ <glyph codepoint='E2' name='a173'/>
+ <glyph codepoint='E3' name='a162'/>
+ <glyph codepoint='E4' name='a174'/>
+ <glyph codepoint='E5' name='a175'/>
+ <glyph codepoint='E6' name='a176'/>
+ <glyph codepoint='E7' name='a177'/>
+ <glyph codepoint='E8' name='a178'/>
+ <glyph codepoint='E9' name='a179'/>
+ <glyph codepoint='EA' name='a193'/>
+ <glyph codepoint='EB' name='a180'/>
+ <glyph codepoint='EC' name='a199'/>
+ <glyph codepoint='ED' name='a181'/>
+ <glyph codepoint='EE' name='a200'/>
+ <glyph codepoint='EF' name='a182'/>
+ <glyph codepoint='F1' name='a201'/>
+ <glyph codepoint='F2' name='a183'/>
+ <glyph codepoint='F3' name='a184'/>
+ <glyph codepoint='F4' name='a197'/>
+ <glyph codepoint='F5' name='a185'/>
+ <glyph codepoint='F6' name='a194'/>
+ <glyph codepoint='F7' name='a198'/>
+ <glyph codepoint='F8' name='a186'/>
+ <glyph codepoint='F9' name='a195'/>
+ <glyph codepoint='FA' name='a187'/>
+ <glyph codepoint='FB' name='a188'/>
+ <glyph codepoint='FC' name='a189'/>
+ <glyph codepoint='FD' name='a190'/>
+ <glyph codepoint='FE' name='a191'/>
+ </encoding>
+</encoding-set>
-<!--
-This files writes the class files for the fonts (Courier.java, Helvetica.java etc.).
-It uses the information in the font description files (Courier.xml, Helvetica.xml) to this
-In these font description files each character is referenced by its adobe name:
- <char name="A" width="667"/>
-To resolve this name and to find the code for this character it looks up the adobe name in the
-file charlist.xml and extracts the WinAnsi code.
--->
-
+<!-- This file writes the class files for the fonts (Courier.java,
+ Helvetica.java etc.). It uses the information in the font
+ description files (Courier.xml, Helvetica.xml) to do this. In these
+ font description files each character is referenced by its adobe
+ glyph name:
+ <char name="A" width="667"/>
+ To resolve this name and to find the code for this character it looks
+ up the adobe name in the file encodings.xml and extracts the appropriate
+ code. -->
<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:lxslt="http://xml.apache.org/xslt"
- xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
- extension-element-prefixes="redirect">
-<xsl:output method="text" />
-
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-<!-- Note: this key is used with charlist.xml in a for-each. -->
-<xsl:key name="adobe-char-map" match="map" use="@adobe-name"/>
+ <xsl:output method="text"/>
+
+ <xsl:param name="encoding" select="/font-metrics/encoding"/>
+ <xsl:variable name="native-encoding" select="/font-metrics/encoding"/>
+ <xsl:variable name="glyphs" select="document('encodings.xml')/encoding-set/encoding[@id=$encoding]/glyph"/>
-<xsl:template match="font-metrics">
-<xsl:variable name="class-name" select="class-name"/>
-<!--<redirect:write select="concat('org/apache/fop/render/pdf/fonts/', $class-name, '.java')">-->
+ <xsl:template match="font-metrics">
package org.apache.fop.render.pdf.fonts;
import org.apache.fop.render.pdf.Font;
+import org.apache.fop.render.pdf.CodePointMapping;
public class <xsl:value-of select="class-name"/> extends Font {
private final static String fontName = "<xsl:value-of select="font-name"/>";
- private final static String encoding = "<xsl:value-of select="encoding"/>";
+ private final static String encoding = <xsl:choose><xsl:when test="$encoding != $native-encoding">"<xsl:value-of select="$encoding"/>"</xsl:when><xsl:otherwise>null</xsl:otherwise></xsl:choose>;
private final static int capHeight = <xsl:value-of select="cap-height"/>;
private final static int xHeight = <xsl:value-of select="x-height"/>;
private final static int ascender = <xsl:value-of select="ascender"/>;
private final static int firstChar = <xsl:value-of select="first-char"/>;
private final static int lastChar = <xsl:value-of select="last-char"/>;
private final static int[] width;
+ private final CodePointMapping mapping
+ = CodePointMapping.getMapping("<xsl:value-of select="$encoding"/>");
static {
width = new int[256];
-<xsl:for-each select="widths/char"><xsl:variable name="char-name" select="@name"/><xsl:variable name="char-width" select="@width"/>
-<xsl:for-each select="document('charlist.xml')"><xsl:variable name="char-num" select="key('adobe-char-map',$char-name)/@win-ansi"/>
-<xsl:if test="$char-num!='-1'"> width[<xsl:value-of select="$char-num"/>] = <xsl:value-of select="$char-width"/>;
-</xsl:if></xsl:for-each></xsl:for-each>
+ <xsl:apply-templates select="widths"/>
}
public String encoding() {
for( int i = 0; i < arr.length; i++) arr[i] *= size;
return arr;
}
+
+ public char mapChar(char c) {
+ char d = mapping.mapChar(c);
+ if(d != 0)
+ return d;
+ else
+ return '#';
+ }
+
}
-<!--</redirect:write>-->
-</xsl:template>
+ </xsl:template>
+
+ <xsl:template match="widths/char"><xsl:variable name="char-name" select="@name"/><xsl:variable name="char-num" select="$glyphs[@name = $char-name]/@codepoint"/><xsl:if test="$char-num!=''"> width[0x<xsl:value-of select="$char-num"/>] = <xsl:value-of select="@width"/>;</xsl:if></xsl:template>
</xsl:stylesheet>
<?xml version="1.0" standalone="yes" ?>
<property-list family="FO">
<generic-property-list>
- <property type="generic">
- <name>generic-color</name>
- <class-name>GenericColor</class-name>
- <datatype>ColorType</datatype>
- <extfile href="colorkw.xml"/>
+ <property type="generic">
+ <name>generic-color</name>
+ <class-name>GenericColor</class-name>
+ <datatype>ColorType</datatype>
+ <extfile href="colorkw.xml"/>
<!--
- <datatype-conversion from-type="String" varname="strval">
- new ColorType(strval)</datatype-conversion>
+ <datatype-conversion from-type="String" varname="strval">
+ new ColorType(strval)</datatype-conversion>
-->
- </property>
- <property type="generic">
- <name>generic-boolean</name>
- <class-name>GenericBoolean</class-name>
- <datatype>Enum</datatype>
- <enumeration>
- <value const="TRUE">true</value>
- <value const="FALSE">false</value>
- </enumeration>
- </property>
- <property type="generic">
- <name>generic-keep</name>
- <class-name>GenericKeep</class-name>
- <datatype>Keep</datatype> <!-- CompoundDatatype -->
- <compound>
- <subproperty set-by-shorthand="true">
- <name>within-page</name>
- <datatype>Number</datatype>
- <default>auto</default>
- <enumeration>
- <value const="AUTO">auto</value>
- <value const="ALWAYS">always</value>
- </enumeration>
- </subproperty>
- <subproperty set-by-shorthand="true">
- <name>within-line</name>
- <datatype>Number</datatype>
- <default>auto</default>
- <enumeration>
- <value const="AUTO">auto</value>
- <value const="ALWAYS">always</value>
- </enumeration>
- </subproperty>
- <subproperty set-by-shorthand="true">
- <name>within-column</name>
- <datatype>Number</datatype>
- <default>auto</default>
- <enumeration>
- <value const="AUTO">auto</value>
- <value const="ALWAYS">always</value>
- </enumeration>
- </subproperty>
- </compound>
- </property>
- <property type="generic">
- <name>conditional-length-template</name>
- <class-name>GenericCondLength</class-name>
- <datatype>CondLength</datatype>
- <compound>
- <subproperty set-by-shorthand="true">
- <name>length</name>
- <datatype>Length</datatype>
- </subproperty>
- <subproperty>
- <name>conditionality</name>
- <datatype>Enum</datatype>
- <enumeration>
- <value const="DISCARD">discard</value>
- <value const="RETAIN">retain</value>
- </enumeration>
- </subproperty>
- </compound>
- </property>
- <property type="generic">
- <name>padding-template</name>
- <class-name>GenericCondPadding</class-name>
- <use-generic>GenericCondLength</use-generic>
- <inherited>false</inherited>
- <default subproperty="length">0pt</default>
- </property>
- <property type="generic">
- <name>padding-template</name>
- <class-name>GenericPadding</class-name>
- <datatype>Length</datatype>
- <inherited>false</inherited>
- <default>0pt</default>
+ </property>
+ <property type="generic">
+ <name>generic-boolean</name>
+ <class-name>GenericBoolean</class-name>
+ <datatype>Enum</datatype>
+ <enumeration>
+ <value const="TRUE">true</value>
+ <value const="FALSE">false</value>
+ </enumeration>
+ </property>
+ <property type="generic">
+ <name>generic-keep</name>
+ <class-name>GenericKeep</class-name>
+ <datatype>Keep</datatype> <!-- CompoundDatatype -->
+ <compound>
+ <subproperty set-by-shorthand="true">
+ <name>within-page</name>
+ <datatype>Number</datatype>
+ <default>auto</default>
+ <enumeration>
+ <value const="AUTO">auto</value>
+ <value const="ALWAYS">always</value>
+ </enumeration>
+ </subproperty>
+ <subproperty set-by-shorthand="true">
+ <name>within-line</name>
+ <datatype>Number</datatype>
+ <default>auto</default>
+ <enumeration>
+ <value const="AUTO">auto</value>
+ <value const="ALWAYS">always</value>
+ </enumeration>
+ </subproperty>
+ <subproperty set-by-shorthand="true">
+ <name>within-column</name>
+ <datatype>Number</datatype>
+ <default>auto</default>
+ <enumeration>
+ <value const="AUTO">auto</value>
+ <value const="ALWAYS">always</value>
+ </enumeration>
+ </subproperty>
+ </compound>
+ </property>
+ <property type="generic">
+ <name>conditional-length-template</name>
+ <class-name>GenericCondLength</class-name>
+ <datatype>CondLength</datatype>
+ <compound>
+ <subproperty set-by-shorthand="true">
+ <name>length</name>
+ <datatype>Length</datatype>
+ </subproperty>
+ <subproperty>
+ <name>conditionality</name>
+ <datatype>Enum</datatype>
+ <enumeration>
+ <value const="DISCARD">discard</value>
+ <value const="RETAIN">retain</value>
+ </enumeration>
+ </subproperty>
+ </compound>
+ </property>
+ <property type="generic">
+ <name>padding-template</name>
+ <class-name>GenericCondPadding</class-name>
+ <use-generic>GenericCondLength</use-generic>
+ <inherited>false</inherited>
+ <default subproperty="length">0pt</default>
+ </property>
+ <property type="generic">
+ <name>padding-template</name>
+ <class-name>GenericPadding</class-name>
+ <datatype>Length</datatype>
+ <inherited>false</inherited>
+ <default>0pt</default>
<shorthand>padding</shorthand>
- </property>
+ </property>
<!-- Before, After, Start, End border width props -->
<!-- CondLength, but adds keyword values both to the "shorthand" setting
- and to the length component. So we redefine the components here,
- rather than doing a "use-generic" on GenericCondLength.
+ and to the length component. So we redefine the components here,
+ rather than doing a "use-generic" on GenericCondLength.
-->
- <property type="generic">
- <name>border-cond-width-template</name>
- <class-name>GenericCondBorderWidth</class-name>
- <keyword-equiv match="thin">0.5pt</keyword-equiv>
- <keyword-equiv match="medium">1pt</keyword-equiv>
- <keyword-equiv match="thick">2pt</keyword-equiv>
- <inherited>false</inherited>
- <datatype>CondLength</datatype>
- <compound>
- <subproperty set-by-shorthand="true">
- <name>length</name>
- <datatype>Length</datatype>
- <keyword-equiv match="thin">0.5pt</keyword-equiv>
- <keyword-equiv match="medium">1pt</keyword-equiv>
- <keyword-equiv match="thick">2pt</keyword-equiv>
- <default>medium</default>
- </subproperty>
- <subproperty>
- <datatype>Enum</datatype>
- <name>conditionality</name>
- <enumeration>
- <value const="DISCARD">discard</value>
- <value const="RETAIN">retain</value>
- </enumeration>
- </subproperty>
- </compound>
- </property>
+ <property type="generic">
+ <name>border-cond-width-template</name>
+ <class-name>GenericCondBorderWidth</class-name>
+ <keyword-equiv match="thin">0.5pt</keyword-equiv>
+ <keyword-equiv match="medium">1pt</keyword-equiv>
+ <keyword-equiv match="thick">2pt</keyword-equiv>
+ <inherited>false</inherited>
+ <datatype>CondLength</datatype>
+ <compound>
+ <subproperty set-by-shorthand="true">
+ <name>length</name>
+ <datatype>Length</datatype>
+ <keyword-equiv match="thin">0.5pt</keyword-equiv>
+ <keyword-equiv match="medium">1pt</keyword-equiv>
+ <keyword-equiv match="thick">2pt</keyword-equiv>
+ <default>medium</default>
+ </subproperty>
+ <subproperty>
+ <datatype>Enum</datatype>
+ <name>conditionality</name>
+ <enumeration>
+ <value const="DISCARD">discard</value>
+ <value const="RETAIN">retain</value>
+ </enumeration>
+ </subproperty>
+ </compound>
+ </property>
<!-- Left, Right, Top, Bottom borderwidth props -->
- <property type="generic">
- <name>border-width-template</name>
- <class-name>GenericBorderWidth</class-name>
- <datatype>Length</datatype>
- <keyword-equiv match="thin">0.5pt</keyword-equiv>
- <keyword-equiv match="medium">1pt</keyword-equiv>
- <keyword-equiv match="thick">2pt</keyword-equiv>
- <inherited>false</inherited>
- <default>0pt</default>
- <shorthand>border-width</shorthand>
- </property>
- <property type="generic">
- <name>border-style-template</name>
- <class-name>GenericBorderStyle</class-name>
- <inherited>false</inherited>
- <datatype>Enum</datatype>
- <enumeration>
- <value const="NONE">none</value>
- <value const="HIDDEN">hidden</value>
- <value const="DOTTED">dotted</value>
- <value const="DASHED">dashed</value>
- <value const="SOLID">solid</value>
- <value const="DOUBLE">double</value>
- <value const="GROOVE">groove</value>
- <value const="RIDGE">ridge</value>
- <value const="INSET">inset</value>
- <value const="OUTSET">outset</value>
- </enumeration>
- <default>none</default>
- <shorthand>border-style</shorthand>
- </property>
- <property type="generic">
- <name>break-template</name>
- <class-name>GenericBreak</class-name>
- <inherited>false</inherited>
- <datatype>Enum</datatype>
- <enumeration>
- <value const="AUTO">auto</value>
- <value const="COLUMN">column</value>
- <value const="PAGE">page</value>
- <value const="EVEN_PAGE">even-page</value>
- <value const="ODD_PAGE">odd-page</value>
- </enumeration>
- <default>auto</default>
- </property>
- <property type="generic">
- <name>generic-space</name>
- <class-name>GenericSpace</class-name>
- <inherited>false</inherited>
- <datatype>Space</datatype>
- <compound>
- <subproperty set-by-shorthand="true">
- <name>minimum</name>
- <datatype>Length</datatype>
- <default>0pt</default>
- </subproperty>
- <subproperty set-by-shorthand="true">
- <name>optimum</name>
- <datatype>Length</datatype>
- <default>0pt</default>
- </subproperty>
- <subproperty set-by-shorthand="true">
- <name>maximum</name>
- <datatype>Length</datatype>
- <default>0pt</default>
- </subproperty>
- <subproperty>
- <name>precedence</name>
- <datatype>Number</datatype>
- <enumeration>
- <value const="FORCE">force</value>
- </enumeration>
- <default>0</default>
- </subproperty>
- <subproperty>
- <name>conditionality</name>
- <datatype>Enum</datatype>
- <enumeration>
- <value const="DISCARD">discard</value>
- <value const="RETAIN">retain</value>
- </enumeration>
- <default>discard</default>
- </subproperty>
- </compound>
- </property>
+ <property type="generic">
+ <name>border-width-template</name>
+ <class-name>GenericBorderWidth</class-name>
+ <datatype>Length</datatype>
+ <keyword-equiv match="thin">0.5pt</keyword-equiv>
+ <keyword-equiv match="medium">1pt</keyword-equiv>
+ <keyword-equiv match="thick">2pt</keyword-equiv>
+ <inherited>false</inherited>
+ <default>0pt</default>
+ <shorthand>border-width</shorthand>
+ </property>
+ <property type="generic">
+ <name>border-style-template</name>
+ <class-name>GenericBorderStyle</class-name>
+ <inherited>false</inherited>
+ <datatype>Enum</datatype>
+ <enumeration>
+ <value const="NONE">none</value>
+ <value const="HIDDEN">hidden</value>
+ <value const="DOTTED">dotted</value>
+ <value const="DASHED">dashed</value>
+ <value const="SOLID">solid</value>
+ <value const="DOUBLE">double</value>
+ <value const="GROOVE">groove</value>
+ <value const="RIDGE">ridge</value>
+ <value const="INSET">inset</value>
+ <value const="OUTSET">outset</value>
+ </enumeration>
+ <default>none</default>
+ <shorthand>border-style</shorthand>
+ </property>
+ <property type="generic">
+ <name>break-template</name>
+ <class-name>GenericBreak</class-name>
+ <inherited>false</inherited>
+ <datatype>Enum</datatype>
+ <enumeration>
+ <value const="AUTO">auto</value>
+ <value const="COLUMN">column</value>
+ <value const="PAGE">page</value>
+ <value const="EVEN_PAGE">even-page</value>
+ <value const="ODD_PAGE">odd-page</value>
+ </enumeration>
+ <default>auto</default>
+ </property>
+ <property type="generic">
+ <name>generic-space</name>
+ <class-name>GenericSpace</class-name>
+ <inherited>false</inherited>
+ <datatype>Space</datatype>
+ <compound>
+ <subproperty set-by-shorthand="true">
+ <name>minimum</name>
+ <datatype>Length</datatype>
+ <default>0pt</default>
+ </subproperty>
+ <subproperty set-by-shorthand="true">
+ <name>optimum</name>
+ <datatype>Length</datatype>
+ <default>0pt</default>
+ </subproperty>
+ <subproperty set-by-shorthand="true">
+ <name>maximum</name>
+ <datatype>Length</datatype>
+ <default>0pt</default>
+ </subproperty>
+ <subproperty>
+ <name>precedence</name>
+ <datatype>Number</datatype>
+ <enumeration>
+ <value const="FORCE">force</value>
+ </enumeration>
+ <default>0</default>
+ </subproperty>
+ <subproperty>
+ <name>conditionality</name>
+ <datatype>Enum</datatype>
+ <enumeration>
+ <value const="DISCARD">discard</value>
+ <value const="RETAIN">retain</value>
+ </enumeration>
+ <default>discard</default>
+ </subproperty>
+ </compound>
+ </property>
<!-- Common Accessibility Properties -->
<default>treat-as-space</default>
</property>
<property>
- <name>space-treatment</name>
+ <name>white-space-treatment</name>
<inherited>true</inherited>
<datatype>ToBeImplemented</datatype>
<default>preserve</default>
<property>
<name>letter-spacing</name>
<inherited>true</inherited>
- <datatype>ToBeImplemented</datatype>
- <default>normal</default>
+ <datatype>Length</datatype>
+ <default>0pt</default>
</property>
<property>
<name>suppress-at-line-break</name>
<datatype>String</datatype>
<default></default>
</property>
+ <property>
+ <name>master-reference</name>
+ <inherited>false</inherited>
+ <datatype>String</datatype>
+ <default></default>
+ </property>
<property>
<name>maximum-repeats</name>
<inherited>false</inherited>
--- /dev/null
+<?xml version='1.0'?>
+<!DOCTYPE glyphlist-set [
+ <!ELEMENT glyphlist-set (glyphlist+)>
+ <!ELEMENT glyphlist (glyph+)>
+ <!ATTLIST glyphlist id ID #REQUIRED>
+ <!ELEMENT glyph EMPTY>
+ <!ATTLIST glyph codepoint CDATA #REQUIRED name CDATA #REQUIRED>
+]>
+<glyphlist-set>
+
+ <!-- This encodes the Adobe Glyph List, version 1.2 (22 Oct 1998),
+ located at http://partners.adobe.com/asn/developer/type/glyphlist.txt
+ -->
+ <glyphlist id='AGL'>
+ <glyph codepoint='0041' name='A'/>
+ <glyph codepoint='00C6' name='AE'/>
+ <glyph codepoint='01FC' name='AEacute'/>
+ <glyph codepoint='F7E6' name='AEsmall'/>
+ <glyph codepoint='00C1' name='Aacute'/>
+ <glyph codepoint='F7E1' name='Aacutesmall'/>
+ <glyph codepoint='0102' name='Abreve'/>
+ <glyph codepoint='00C2' name='Acircumflex'/>
+ <glyph codepoint='F7E2' name='Acircumflexsmall'/>
+ <glyph codepoint='F6C9' name='Acute'/>
+ <glyph codepoint='F7B4' name='Acutesmall'/>
+ <glyph codepoint='00C4' name='Adieresis'/>
+ <glyph codepoint='F7E4' name='Adieresissmall'/>
+ <glyph codepoint='00C0' name='Agrave'/>
+ <glyph codepoint='F7E0' name='Agravesmall'/>
+ <glyph codepoint='0391' name='Alpha'/>
+ <glyph codepoint='0386' name='Alphatonos'/>
+ <glyph codepoint='0100' name='Amacron'/>
+ <glyph codepoint='0104' name='Aogonek'/>
+ <glyph codepoint='00C5' name='Aring'/>
+ <glyph codepoint='01FA' name='Aringacute'/>
+ <glyph codepoint='F7E5' name='Aringsmall'/>
+ <glyph codepoint='F761' name='Asmall'/>
+ <glyph codepoint='00C3' name='Atilde'/>
+ <glyph codepoint='F7E3' name='Atildesmall'/>
+ <glyph codepoint='0042' name='B'/>
+ <glyph codepoint='0392' name='Beta'/>
+ <glyph codepoint='F6F4' name='Brevesmall'/>
+ <glyph codepoint='F762' name='Bsmall'/>
+ <glyph codepoint='0043' name='C'/>
+ <glyph codepoint='0106' name='Cacute'/>
+ <glyph codepoint='F6CA' name='Caron'/>
+ <glyph codepoint='F6F5' name='Caronsmall'/>
+ <glyph codepoint='010C' name='Ccaron'/>
+ <glyph codepoint='00C7' name='Ccedilla'/>
+ <glyph codepoint='F7E7' name='Ccedillasmall'/>
+ <glyph codepoint='0108' name='Ccircumflex'/>
+ <glyph codepoint='010A' name='Cdotaccent'/>
+ <glyph codepoint='F7B8' name='Cedillasmall'/>
+ <glyph codepoint='03A7' name='Chi'/>
+ <glyph codepoint='F6F6' name='Circumflexsmall'/>
+ <glyph codepoint='F763' name='Csmall'/>
+ <glyph codepoint='0044' name='D'/>
+ <glyph codepoint='010E' name='Dcaron'/>
+ <glyph codepoint='0110' name='Dcroat'/>
+ <glyph codepoint='2206' name='Delta'/>
+ <glyph codepoint='0394' name='Delta'/>
+ <glyph codepoint='F6CB' name='Dieresis'/>
+ <glyph codepoint='F6CC' name='DieresisAcute'/>
+ <glyph codepoint='F6CD' name='DieresisGrave'/>
+ <glyph codepoint='F7A8' name='Dieresissmall'/>
+ <glyph codepoint='F6F7' name='Dotaccentsmall'/>
+ <glyph codepoint='F764' name='Dsmall'/>
+ <glyph codepoint='0045' name='E'/>
+ <glyph codepoint='00C9' name='Eacute'/>
+ <glyph codepoint='F7E9' name='Eacutesmall'/>
+ <glyph codepoint='0114' name='Ebreve'/>
+ <glyph codepoint='011A' name='Ecaron'/>
+ <glyph codepoint='00CA' name='Ecircumflex'/>
+ <glyph codepoint='F7EA' name='Ecircumflexsmall'/>
+ <glyph codepoint='00CB' name='Edieresis'/>
+ <glyph codepoint='F7EB' name='Edieresissmall'/>
+ <glyph codepoint='0116' name='Edotaccent'/>
+ <glyph codepoint='00C8' name='Egrave'/>
+ <glyph codepoint='F7E8' name='Egravesmall'/>
+ <glyph codepoint='0112' name='Emacron'/>
+ <glyph codepoint='014A' name='Eng'/>
+ <glyph codepoint='0118' name='Eogonek'/>
+ <glyph codepoint='0395' name='Epsilon'/>
+ <glyph codepoint='0388' name='Epsilontonos'/>
+ <glyph codepoint='F765' name='Esmall'/>
+ <glyph codepoint='0397' name='Eta'/>
+ <glyph codepoint='0389' name='Etatonos'/>
+ <glyph codepoint='00D0' name='Eth'/>
+ <glyph codepoint='F7F0' name='Ethsmall'/>
+ <glyph codepoint='20AC' name='Euro'/>
+ <glyph codepoint='0046' name='F'/>
+ <glyph codepoint='F766' name='Fsmall'/>
+ <glyph codepoint='0047' name='G'/>
+ <glyph codepoint='0393' name='Gamma'/>
+ <glyph codepoint='011E' name='Gbreve'/>
+ <glyph codepoint='01E6' name='Gcaron'/>
+ <glyph codepoint='011C' name='Gcircumflex'/>
+ <glyph codepoint='0122' name='Gcommaaccent'/>
+ <glyph codepoint='0120' name='Gdotaccent'/>
+ <glyph codepoint='F6CE' name='Grave'/>
+ <glyph codepoint='F760' name='Gravesmall'/>
+ <glyph codepoint='F767' name='Gsmall'/>
+ <glyph codepoint='0048' name='H'/>
+ <glyph codepoint='25CF' name='H18533'/>
+ <glyph codepoint='25AA' name='H18543'/>
+ <glyph codepoint='25AB' name='H18551'/>
+ <glyph codepoint='25A1' name='H22073'/>
+ <glyph codepoint='0126' name='Hbar'/>
+ <glyph codepoint='0124' name='Hcircumflex'/>
+ <glyph codepoint='F768' name='Hsmall'/>
+ <glyph codepoint='F6CF' name='Hungarumlaut'/>
+ <glyph codepoint='F6F8' name='Hungarumlautsmall'/>
+ <glyph codepoint='0049' name='I'/>
+ <glyph codepoint='0132' name='IJ'/>
+ <glyph codepoint='00CD' name='Iacute'/>
+ <glyph codepoint='F7ED' name='Iacutesmall'/>
+ <glyph codepoint='012C' name='Ibreve'/>
+ <glyph codepoint='00CE' name='Icircumflex'/>
+ <glyph codepoint='F7EE' name='Icircumflexsmall'/>
+ <glyph codepoint='00CF' name='Idieresis'/>
+ <glyph codepoint='F7EF' name='Idieresissmall'/>
+ <glyph codepoint='0130' name='Idotaccent'/>
+ <glyph codepoint='2111' name='Ifraktur'/>
+ <glyph codepoint='00CC' name='Igrave'/>
+ <glyph codepoint='F7EC' name='Igravesmall'/>
+ <glyph codepoint='012A' name='Imacron'/>
+ <glyph codepoint='012E' name='Iogonek'/>
+ <glyph codepoint='0399' name='Iota'/>
+ <glyph codepoint='03AA' name='Iotadieresis'/>
+ <glyph codepoint='038A' name='Iotatonos'/>
+ <glyph codepoint='F769' name='Ismall'/>
+ <glyph codepoint='0128' name='Itilde'/>
+ <glyph codepoint='004A' name='J'/>
+ <glyph codepoint='0134' name='Jcircumflex'/>
+ <glyph codepoint='F76A' name='Jsmall'/>
+ <glyph codepoint='004B' name='K'/>
+ <glyph codepoint='039A' name='Kappa'/>
+ <glyph codepoint='0136' name='Kcommaaccent'/>
+ <glyph codepoint='F76B' name='Ksmall'/>
+ <glyph codepoint='004C' name='L'/>
+ <glyph codepoint='F6BF' name='LL'/>
+ <glyph codepoint='0139' name='Lacute'/>
+ <glyph codepoint='039B' name='Lambda'/>
+ <glyph codepoint='013D' name='Lcaron'/>
+ <glyph codepoint='013B' name='Lcommaaccent'/>
+ <glyph codepoint='013F' name='Ldot'/>
+ <glyph codepoint='0141' name='Lslash'/>
+ <glyph codepoint='F6F9' name='Lslashsmall'/>
+ <glyph codepoint='F76C' name='Lsmall'/>
+ <glyph codepoint='004D' name='M'/>
+ <glyph codepoint='F6D0' name='Macron'/>
+ <glyph codepoint='F7AF' name='Macronsmall'/>
+ <glyph codepoint='F76D' name='Msmall'/>
+ <glyph codepoint='039C' name='Mu'/>
+ <glyph codepoint='004E' name='N'/>
+ <glyph codepoint='0143' name='Nacute'/>
+ <glyph codepoint='0147' name='Ncaron'/>
+ <glyph codepoint='0145' name='Ncommaaccent'/>
+ <glyph codepoint='F76E' name='Nsmall'/>
+ <glyph codepoint='00D1' name='Ntilde'/>
+ <glyph codepoint='F7F1' name='Ntildesmall'/>
+ <glyph codepoint='039D' name='Nu'/>
+ <glyph codepoint='004F' name='O'/>
+ <glyph codepoint='0152' name='OE'/>
+ <glyph codepoint='F6FA' name='OEsmall'/>
+ <glyph codepoint='00D3' name='Oacute'/>
+ <glyph codepoint='F7F3' name='Oacutesmall'/>
+ <glyph codepoint='014E' name='Obreve'/>
+ <glyph codepoint='00D4' name='Ocircumflex'/>
+ <glyph codepoint='F7F4' name='Ocircumflexsmall'/>
+ <glyph codepoint='00D6' name='Odieresis'/>
+ <glyph codepoint='F7F6' name='Odieresissmall'/>
+ <glyph codepoint='F6FB' name='Ogoneksmall'/>
+ <glyph codepoint='00D2' name='Ograve'/>
+ <glyph codepoint='F7F2' name='Ogravesmall'/>
+ <glyph codepoint='01A0' name='Ohorn'/>
+ <glyph codepoint='0150' name='Ohungarumlaut'/>
+ <glyph codepoint='014C' name='Omacron'/>
+ <glyph codepoint='2126' name='Omega'/>
+ <glyph codepoint='03A9' name='Omega'/>
+ <glyph codepoint='038F' name='Omegatonos'/>
+ <glyph codepoint='039F' name='Omicron'/>
+ <glyph codepoint='038C' name='Omicrontonos'/>
+ <glyph codepoint='00D8' name='Oslash'/>
+ <glyph codepoint='01FE' name='Oslashacute'/>
+ <glyph codepoint='F7F8' name='Oslashsmall'/>
+ <glyph codepoint='F76F' name='Osmall'/>
+ <glyph codepoint='00D5' name='Otilde'/>
+ <glyph codepoint='F7F5' name='Otildesmall'/>
+ <glyph codepoint='0050' name='P'/>
+ <glyph codepoint='03A6' name='Phi'/>
+ <glyph codepoint='03A0' name='Pi'/>
+ <glyph codepoint='03A8' name='Psi'/>
+ <glyph codepoint='F770' name='Psmall'/>
+ <glyph codepoint='0051' name='Q'/>
+ <glyph codepoint='F771' name='Qsmall'/>
+ <glyph codepoint='0052' name='R'/>
+ <glyph codepoint='0154' name='Racute'/>
+ <glyph codepoint='0158' name='Rcaron'/>
+ <glyph codepoint='0156' name='Rcommaaccent'/>
+ <glyph codepoint='211C' name='Rfraktur'/>
+ <glyph codepoint='03A1' name='Rho'/>
+ <glyph codepoint='F6FC' name='Ringsmall'/>
+ <glyph codepoint='F772' name='Rsmall'/>
+ <glyph codepoint='0053' name='S'/>
+ <glyph codepoint='250C' name='SF010000'/>
+ <glyph codepoint='2514' name='SF020000'/>
+ <glyph codepoint='2510' name='SF030000'/>
+ <glyph codepoint='2518' name='SF040000'/>
+ <glyph codepoint='253C' name='SF050000'/>
+ <glyph codepoint='252C' name='SF060000'/>
+ <glyph codepoint='2534' name='SF070000'/>
+ <glyph codepoint='251C' name='SF080000'/>
+ <glyph codepoint='2524' name='SF090000'/>
+ <glyph codepoint='2500' name='SF100000'/>
+ <glyph codepoint='2502' name='SF110000'/>
+ <glyph codepoint='2561' name='SF190000'/>
+ <glyph codepoint='2562' name='SF200000'/>
+ <glyph codepoint='2556' name='SF210000'/>
+ <glyph codepoint='2555' name='SF220000'/>
+ <glyph codepoint='2563' name='SF230000'/>
+ <glyph codepoint='2551' name='SF240000'/>
+ <glyph codepoint='2557' name='SF250000'/>
+ <glyph codepoint='255D' name='SF260000'/>
+ <glyph codepoint='255C' name='SF270000'/>
+ <glyph codepoint='255B' name='SF280000'/>
+ <glyph codepoint='255E' name='SF360000'/>
+ <glyph codepoint='255F' name='SF370000'/>
+ <glyph codepoint='255A' name='SF380000'/>
+ <glyph codepoint='2554' name='SF390000'/>
+ <glyph codepoint='2569' name='SF400000'/>
+ <glyph codepoint='2566' name='SF410000'/>
+ <glyph codepoint='2560' name='SF420000'/>
+ <glyph codepoint='2550' name='SF430000'/>
+ <glyph codepoint='256C' name='SF440000'/>
+ <glyph codepoint='2567' name='SF450000'/>
+ <glyph codepoint='2568' name='SF460000'/>
+ <glyph codepoint='2564' name='SF470000'/>
+ <glyph codepoint='2565' name='SF480000'/>
+ <glyph codepoint='2559' name='SF490000'/>
+ <glyph codepoint='2558' name='SF500000'/>
+ <glyph codepoint='2552' name='SF510000'/>
+ <glyph codepoint='2553' name='SF520000'/>
+ <glyph codepoint='256B' name='SF530000'/>
+ <glyph codepoint='256A' name='SF540000'/>
+ <glyph codepoint='015A' name='Sacute'/>
+ <glyph codepoint='0160' name='Scaron'/>
+ <glyph codepoint='F6FD' name='Scaronsmall'/>
+ <glyph codepoint='015E' name='Scedilla'/>
+ <glyph codepoint='F6C1' name='Scedilla'/>
+ <glyph codepoint='015C' name='Scircumflex'/>
+ <glyph codepoint='0218' name='Scommaaccent'/>
+ <glyph codepoint='03A3' name='Sigma'/>
+ <glyph codepoint='F773' name='Ssmall'/>
+ <glyph codepoint='0054' name='T'/>
+ <glyph codepoint='03A4' name='Tau'/>
+ <glyph codepoint='0166' name='Tbar'/>
+ <glyph codepoint='0164' name='Tcaron'/>
+ <glyph codepoint='0162' name='Tcommaaccent'/>
+ <glyph codepoint='021A' name='Tcommaaccent'/>
+ <glyph codepoint='0398' name='Theta'/>
+ <glyph codepoint='00DE' name='Thorn'/>
+ <glyph codepoint='F7FE' name='Thornsmall'/>
+ <glyph codepoint='F6FE' name='Tildesmall'/>
+ <glyph codepoint='F774' name='Tsmall'/>
+ <glyph codepoint='0055' name='U'/>
+ <glyph codepoint='00DA' name='Uacute'/>
+ <glyph codepoint='F7FA' name='Uacutesmall'/>
+ <glyph codepoint='016C' name='Ubreve'/>
+ <glyph codepoint='00DB' name='Ucircumflex'/>
+ <glyph codepoint='F7FB' name='Ucircumflexsmall'/>
+ <glyph codepoint='00DC' name='Udieresis'/>
+ <glyph codepoint='F7FC' name='Udieresissmall'/>
+ <glyph codepoint='00D9' name='Ugrave'/>
+ <glyph codepoint='F7F9' name='Ugravesmall'/>
+ <glyph codepoint='01AF' name='Uhorn'/>
+ <glyph codepoint='0170' name='Uhungarumlaut'/>
+ <glyph codepoint='016A' name='Umacron'/>
+ <glyph codepoint='0172' name='Uogonek'/>
+ <glyph codepoint='03A5' name='Upsilon'/>
+ <glyph codepoint='03D2' name='Upsilon1'/>
+ <glyph codepoint='03AB' name='Upsilondieresis'/>
+ <glyph codepoint='038E' name='Upsilontonos'/>
+ <glyph codepoint='016E' name='Uring'/>
+ <glyph codepoint='F775' name='Usmall'/>
+ <glyph codepoint='0168' name='Utilde'/>
+ <glyph codepoint='0056' name='V'/>
+ <glyph codepoint='F776' name='Vsmall'/>
+ <glyph codepoint='0057' name='W'/>
+ <glyph codepoint='1E82' name='Wacute'/>
+ <glyph codepoint='0174' name='Wcircumflex'/>
+ <glyph codepoint='1E84' name='Wdieresis'/>
+ <glyph codepoint='1E80' name='Wgrave'/>
+ <glyph codepoint='F777' name='Wsmall'/>
+ <glyph codepoint='0058' name='X'/>
+ <glyph codepoint='039E' name='Xi'/>
+ <glyph codepoint='F778' name='Xsmall'/>
+ <glyph codepoint='0059' name='Y'/>
+ <glyph codepoint='00DD' name='Yacute'/>
+ <glyph codepoint='F7FD' name='Yacutesmall'/>
+ <glyph codepoint='0176' name='Ycircumflex'/>
+ <glyph codepoint='0178' name='Ydieresis'/>
+ <glyph codepoint='F7FF' name='Ydieresissmall'/>
+ <glyph codepoint='1EF2' name='Ygrave'/>
+ <glyph codepoint='F779' name='Ysmall'/>
+ <glyph codepoint='005A' name='Z'/>
+ <glyph codepoint='0179' name='Zacute'/>
+ <glyph codepoint='017D' name='Zcaron'/>
+ <glyph codepoint='F6FF' name='Zcaronsmall'/>
+ <glyph codepoint='017B' name='Zdotaccent'/>
+ <glyph codepoint='0396' name='Zeta'/>
+ <glyph codepoint='F77A' name='Zsmall'/>
+ <glyph codepoint='0061' name='a'/>
+ <glyph codepoint='00E1' name='aacute'/>
+ <glyph codepoint='0103' name='abreve'/>
+ <glyph codepoint='00E2' name='acircumflex'/>
+ <glyph codepoint='00B4' name='acute'/>
+ <glyph codepoint='0301' name='acutecomb'/>
+ <glyph codepoint='00E4' name='adieresis'/>
+ <glyph codepoint='00E6' name='ae'/>
+ <glyph codepoint='01FD' name='aeacute'/>
+ <glyph codepoint='2015' name='afii00208'/>
+ <glyph codepoint='0410' name='afii10017'/>
+ <glyph codepoint='0411' name='afii10018'/>
+ <glyph codepoint='0412' name='afii10019'/>
+ <glyph codepoint='0413' name='afii10020'/>
+ <glyph codepoint='0414' name='afii10021'/>
+ <glyph codepoint='0415' name='afii10022'/>
+ <glyph codepoint='0401' name='afii10023'/>
+ <glyph codepoint='0416' name='afii10024'/>
+ <glyph codepoint='0417' name='afii10025'/>
+ <glyph codepoint='0418' name='afii10026'/>
+ <glyph codepoint='0419' name='afii10027'/>
+ <glyph codepoint='041A' name='afii10028'/>
+ <glyph codepoint='041B' name='afii10029'/>
+ <glyph codepoint='041C' name='afii10030'/>
+ <glyph codepoint='041D' name='afii10031'/>
+ <glyph codepoint='041E' name='afii10032'/>
+ <glyph codepoint='041F' name='afii10033'/>
+ <glyph codepoint='0420' name='afii10034'/>
+ <glyph codepoint='0421' name='afii10035'/>
+ <glyph codepoint='0422' name='afii10036'/>
+ <glyph codepoint='0423' name='afii10037'/>
+ <glyph codepoint='0424' name='afii10038'/>
+ <glyph codepoint='0425' name='afii10039'/>
+ <glyph codepoint='0426' name='afii10040'/>
+ <glyph codepoint='0427' name='afii10041'/>
+ <glyph codepoint='0428' name='afii10042'/>
+ <glyph codepoint='0429' name='afii10043'/>
+ <glyph codepoint='042A' name='afii10044'/>
+ <glyph codepoint='042B' name='afii10045'/>
+ <glyph codepoint='042C' name='afii10046'/>
+ <glyph codepoint='042D' name='afii10047'/>
+ <glyph codepoint='042E' name='afii10048'/>
+ <glyph codepoint='042F' name='afii10049'/>
+ <glyph codepoint='0490' name='afii10050'/>
+ <glyph codepoint='0402' name='afii10051'/>
+ <glyph codepoint='0403' name='afii10052'/>
+ <glyph codepoint='0404' name='afii10053'/>
+ <glyph codepoint='0405' name='afii10054'/>
+ <glyph codepoint='0406' name='afii10055'/>
+ <glyph codepoint='0407' name='afii10056'/>
+ <glyph codepoint='0408' name='afii10057'/>
+ <glyph codepoint='0409' name='afii10058'/>
+ <glyph codepoint='040A' name='afii10059'/>
+ <glyph codepoint='040B' name='afii10060'/>
+ <glyph codepoint='040C' name='afii10061'/>
+ <glyph codepoint='040E' name='afii10062'/>
+ <glyph codepoint='F6C4' name='afii10063'/>
+ <glyph codepoint='F6C5' name='afii10064'/>
+ <glyph codepoint='0430' name='afii10065'/>
+ <glyph codepoint='0431' name='afii10066'/>
+ <glyph codepoint='0432' name='afii10067'/>
+ <glyph codepoint='0433' name='afii10068'/>
+ <glyph codepoint='0434' name='afii10069'/>
+ <glyph codepoint='0435' name='afii10070'/>
+ <glyph codepoint='0451' name='afii10071'/>
+ <glyph codepoint='0436' name='afii10072'/>
+ <glyph codepoint='0437' name='afii10073'/>
+ <glyph codepoint='0438' name='afii10074'/>
+ <glyph codepoint='0439' name='afii10075'/>
+ <glyph codepoint='043A' name='afii10076'/>
+ <glyph codepoint='043B' name='afii10077'/>
+ <glyph codepoint='043C' name='afii10078'/>
+ <glyph codepoint='043D' name='afii10079'/>
+ <glyph codepoint='043E' name='afii10080'/>
+ <glyph codepoint='043F' name='afii10081'/>
+ <glyph codepoint='0440' name='afii10082'/>
+ <glyph codepoint='0441' name='afii10083'/>
+ <glyph codepoint='0442' name='afii10084'/>
+ <glyph codepoint='0443' name='afii10085'/>
+ <glyph codepoint='0444' name='afii10086'/>
+ <glyph codepoint='0445' name='afii10087'/>
+ <glyph codepoint='0446' name='afii10088'/>
+ <glyph codepoint='0447' name='afii10089'/>
+ <glyph codepoint='0448' name='afii10090'/>
+ <glyph codepoint='0449' name='afii10091'/>
+ <glyph codepoint='044A' name='afii10092'/>
+ <glyph codepoint='044B' name='afii10093'/>
+ <glyph codepoint='044C' name='afii10094'/>
+ <glyph codepoint='044D' name='afii10095'/>
+ <glyph codepoint='044E' name='afii10096'/>
+ <glyph codepoint='044F' name='afii10097'/>
+ <glyph codepoint='0491' name='afii10098'/>
+ <glyph codepoint='0452' name='afii10099'/>
+ <glyph codepoint='0453' name='afii10100'/>
+ <glyph codepoint='0454' name='afii10101'/>
+ <glyph codepoint='0455' name='afii10102'/>
+ <glyph codepoint='0456' name='afii10103'/>
+ <glyph codepoint='0457' name='afii10104'/>
+ <glyph codepoint='0458' name='afii10105'/>
+ <glyph codepoint='0459' name='afii10106'/>
+ <glyph codepoint='045A' name='afii10107'/>
+ <glyph codepoint='045B' name='afii10108'/>
+ <glyph codepoint='045C' name='afii10109'/>
+ <glyph codepoint='045E' name='afii10110'/>
+ <glyph codepoint='040F' name='afii10145'/>
+ <glyph codepoint='0462' name='afii10146'/>
+ <glyph codepoint='0472' name='afii10147'/>
+ <glyph codepoint='0474' name='afii10148'/>
+ <glyph codepoint='F6C6' name='afii10192'/>
+ <glyph codepoint='045F' name='afii10193'/>
+ <glyph codepoint='0463' name='afii10194'/>
+ <glyph codepoint='0473' name='afii10195'/>
+ <glyph codepoint='0475' name='afii10196'/>
+ <glyph codepoint='F6C7' name='afii10831'/>
+ <glyph codepoint='F6C8' name='afii10832'/>
+ <glyph codepoint='04D9' name='afii10846'/>
+ <glyph codepoint='200E' name='afii299'/>
+ <glyph codepoint='200F' name='afii300'/>
+ <glyph codepoint='200D' name='afii301'/>
+ <glyph codepoint='066A' name='afii57381'/>
+ <glyph codepoint='060C' name='afii57388'/>
+ <glyph codepoint='0660' name='afii57392'/>
+ <glyph codepoint='0661' name='afii57393'/>
+ <glyph codepoint='0662' name='afii57394'/>
+ <glyph codepoint='0663' name='afii57395'/>
+ <glyph codepoint='0664' name='afii57396'/>
+ <glyph codepoint='0665' name='afii57397'/>
+ <glyph codepoint='0666' name='afii57398'/>
+ <glyph codepoint='0667' name='afii57399'/>
+ <glyph codepoint='0668' name='afii57400'/>
+ <glyph codepoint='0669' name='afii57401'/>
+ <glyph codepoint='061B' name='afii57403'/>
+ <glyph codepoint='061F' name='afii57407'/>
+ <glyph codepoint='0621' name='afii57409'/>
+ <glyph codepoint='0622' name='afii57410'/>
+ <glyph codepoint='0623' name='afii57411'/>
+ <glyph codepoint='0624' name='afii57412'/>
+ <glyph codepoint='0625' name='afii57413'/>
+ <glyph codepoint='0626' name='afii57414'/>
+ <glyph codepoint='0627' name='afii57415'/>
+ <glyph codepoint='0628' name='afii57416'/>
+ <glyph codepoint='0629' name='afii57417'/>
+ <glyph codepoint='062A' name='afii57418'/>
+ <glyph codepoint='062B' name='afii57419'/>
+ <glyph codepoint='062C' name='afii57420'/>
+ <glyph codepoint='062D' name='afii57421'/>
+ <glyph codepoint='062E' name='afii57422'/>
+ <glyph codepoint='062F' name='afii57423'/>
+ <glyph codepoint='0630' name='afii57424'/>
+ <glyph codepoint='0631' name='afii57425'/>
+ <glyph codepoint='0632' name='afii57426'/>
+ <glyph codepoint='0633' name='afii57427'/>
+ <glyph codepoint='0634' name='afii57428'/>
+ <glyph codepoint='0635' name='afii57429'/>
+ <glyph codepoint='0636' name='afii57430'/>
+ <glyph codepoint='0637' name='afii57431'/>
+ <glyph codepoint='0638' name='afii57432'/>
+ <glyph codepoint='0639' name='afii57433'/>
+ <glyph codepoint='063A' name='afii57434'/>
+ <glyph codepoint='0640' name='afii57440'/>
+ <glyph codepoint='0641' name='afii57441'/>
+ <glyph codepoint='0642' name='afii57442'/>
+ <glyph codepoint='0643' name='afii57443'/>
+ <glyph codepoint='0644' name='afii57444'/>
+ <glyph codepoint='0645' name='afii57445'/>
+ <glyph codepoint='0646' name='afii57446'/>
+ <glyph codepoint='0648' name='afii57448'/>
+ <glyph codepoint='0649' name='afii57449'/>
+ <glyph codepoint='064A' name='afii57450'/>
+ <glyph codepoint='064B' name='afii57451'/>
+ <glyph codepoint='064C' name='afii57452'/>
+ <glyph codepoint='064D' name='afii57453'/>
+ <glyph codepoint='064E' name='afii57454'/>
+ <glyph codepoint='064F' name='afii57455'/>
+ <glyph codepoint='0650' name='afii57456'/>
+ <glyph codepoint='0651' name='afii57457'/>
+ <glyph codepoint='0652' name='afii57458'/>
+ <glyph codepoint='0647' name='afii57470'/>
+ <glyph codepoint='06A4' name='afii57505'/>
+ <glyph codepoint='067E' name='afii57506'/>
+ <glyph codepoint='0686' name='afii57507'/>
+ <glyph codepoint='0698' name='afii57508'/>
+ <glyph codepoint='06AF' name='afii57509'/>
+ <glyph codepoint='0679' name='afii57511'/>
+ <glyph codepoint='0688' name='afii57512'/>
+ <glyph codepoint='0691' name='afii57513'/>
+ <glyph codepoint='06BA' name='afii57514'/>
+ <glyph codepoint='06D2' name='afii57519'/>
+ <glyph codepoint='06D5' name='afii57534'/>
+ <glyph codepoint='20AA' name='afii57636'/>
+ <glyph codepoint='05BE' name='afii57645'/>
+ <glyph codepoint='05C3' name='afii57658'/>
+ <glyph codepoint='05D0' name='afii57664'/>
+ <glyph codepoint='05D1' name='afii57665'/>
+ <glyph codepoint='05D2' name='afii57666'/>
+ <glyph codepoint='05D3' name='afii57667'/>
+ <glyph codepoint='05D4' name='afii57668'/>
+ <glyph codepoint='05D5' name='afii57669'/>
+ <glyph codepoint='05D6' name='afii57670'/>
+ <glyph codepoint='05D7' name='afii57671'/>
+ <glyph codepoint='05D8' name='afii57672'/>
+ <glyph codepoint='05D9' name='afii57673'/>
+ <glyph codepoint='05DA' name='afii57674'/>
+ <glyph codepoint='05DB' name='afii57675'/>
+ <glyph codepoint='05DC' name='afii57676'/>
+ <glyph codepoint='05DD' name='afii57677'/>
+ <glyph codepoint='05DE' name='afii57678'/>
+ <glyph codepoint='05DF' name='afii57679'/>
+ <glyph codepoint='05E0' name='afii57680'/>
+ <glyph codepoint='05E1' name='afii57681'/>
+ <glyph codepoint='05E2' name='afii57682'/>
+ <glyph codepoint='05E3' name='afii57683'/>
+ <glyph codepoint='05E4' name='afii57684'/>
+ <glyph codepoint='05E5' name='afii57685'/>
+ <glyph codepoint='05E6' name='afii57686'/>
+ <glyph codepoint='05E7' name='afii57687'/>
+ <glyph codepoint='05E8' name='afii57688'/>
+ <glyph codepoint='05E9' name='afii57689'/>
+ <glyph codepoint='05EA' name='afii57690'/>
+ <glyph codepoint='FB2A' name='afii57694'/>
+ <glyph codepoint='FB2B' name='afii57695'/>
+ <glyph codepoint='FB4B' name='afii57700'/>
+ <glyph codepoint='FB1F' name='afii57705'/>
+ <glyph codepoint='05F0' name='afii57716'/>
+ <glyph codepoint='05F1' name='afii57717'/>
+ <glyph codepoint='05F2' name='afii57718'/>
+ <glyph codepoint='FB35' name='afii57723'/>
+ <glyph codepoint='05B4' name='afii57793'/>
+ <glyph codepoint='05B5' name='afii57794'/>
+ <glyph codepoint='05B6' name='afii57795'/>
+ <glyph codepoint='05BB' name='afii57796'/>
+ <glyph codepoint='05B8' name='afii57797'/>
+ <glyph codepoint='05B7' name='afii57798'/>
+ <glyph codepoint='05B0' name='afii57799'/>
+ <glyph codepoint='05B2' name='afii57800'/>
+ <glyph codepoint='05B1' name='afii57801'/>
+ <glyph codepoint='05B3' name='afii57802'/>
+ <glyph codepoint='05C2' name='afii57803'/>
+ <glyph codepoint='05C1' name='afii57804'/>
+ <glyph codepoint='05B9' name='afii57806'/>
+ <glyph codepoint='05BC' name='afii57807'/>
+ <glyph codepoint='05BD' name='afii57839'/>
+ <glyph codepoint='05BF' name='afii57841'/>
+ <glyph codepoint='05C0' name='afii57842'/>
+ <glyph codepoint='02BC' name='afii57929'/>
+ <glyph codepoint='2105' name='afii61248'/>
+ <glyph codepoint='2113' name='afii61289'/>
+ <glyph codepoint='2116' name='afii61352'/>
+ <glyph codepoint='202C' name='afii61573'/>
+ <glyph codepoint='202D' name='afii61574'/>
+ <glyph codepoint='202E' name='afii61575'/>
+ <glyph codepoint='200C' name='afii61664'/>
+ <glyph codepoint='066D' name='afii63167'/>
+ <glyph codepoint='02BD' name='afii64937'/>
+ <glyph codepoint='00E0' name='agrave'/>
+ <glyph codepoint='2135' name='aleph'/>
+ <glyph codepoint='03B1' name='alpha'/>
+ <glyph codepoint='03AC' name='alphatonos'/>
+ <glyph codepoint='0101' name='amacron'/>
+ <glyph codepoint='0026' name='ampersand'/>
+ <glyph codepoint='F726' name='ampersandsmall'/>
+ <glyph codepoint='2220' name='angle'/>
+ <glyph codepoint='2329' name='angleleft'/>
+ <glyph codepoint='232A' name='angleright'/>
+ <glyph codepoint='0387' name='anoteleia'/>
+ <glyph codepoint='0105' name='aogonek'/>
+ <glyph codepoint='2248' name='approxequal'/>
+ <glyph codepoint='00E5' name='aring'/>
+ <glyph codepoint='01FB' name='aringacute'/>
+ <glyph codepoint='2194' name='arrowboth'/>
+ <glyph codepoint='21D4' name='arrowdblboth'/>
+ <glyph codepoint='21D3' name='arrowdbldown'/>
+ <glyph codepoint='21D0' name='arrowdblleft'/>
+ <glyph codepoint='21D2' name='arrowdblright'/>
+ <glyph codepoint='21D1' name='arrowdblup'/>
+ <glyph codepoint='2193' name='arrowdown'/>
+ <glyph codepoint='F8E7' name='arrowhorizex'/>
+ <glyph codepoint='2190' name='arrowleft'/>
+ <glyph codepoint='2192' name='arrowright'/>
+ <glyph codepoint='2191' name='arrowup'/>
+ <glyph codepoint='2195' name='arrowupdn'/>
+ <glyph codepoint='21A8' name='arrowupdnbse'/>
+ <glyph codepoint='F8E6' name='arrowvertex'/>
+ <glyph codepoint='005E' name='asciicircum'/>
+ <glyph codepoint='007E' name='asciitilde'/>
+ <glyph codepoint='002A' name='asterisk'/>
+ <glyph codepoint='2217' name='asteriskmath'/>
+ <glyph codepoint='F6E9' name='asuperior'/>
+ <glyph codepoint='0040' name='at'/>
+ <glyph codepoint='00E3' name='atilde'/>
+ <glyph codepoint='0062' name='b'/>
+ <glyph codepoint='005C' name='backslash'/>
+ <glyph codepoint='007C' name='bar'/>
+ <glyph codepoint='03B2' name='beta'/>
+ <glyph codepoint='2588' name='block'/>
+ <glyph codepoint='F8F4' name='braceex'/>
+ <glyph codepoint='007B' name='braceleft'/>
+ <glyph codepoint='F8F3' name='braceleftbt'/>
+ <glyph codepoint='F8F2' name='braceleftmid'/>
+ <glyph codepoint='F8F1' name='bracelefttp'/>
+ <glyph codepoint='007D' name='braceright'/>
+ <glyph codepoint='F8FE' name='bracerightbt'/>
+ <glyph codepoint='F8FD' name='bracerightmid'/>
+ <glyph codepoint='F8FC' name='bracerighttp'/>
+ <glyph codepoint='005B' name='bracketleft'/>
+ <glyph codepoint='F8F0' name='bracketleftbt'/>
+ <glyph codepoint='F8EF' name='bracketleftex'/>
+ <glyph codepoint='F8EE' name='bracketlefttp'/>
+ <glyph codepoint='005D' name='bracketright'/>
+ <glyph codepoint='F8FB' name='bracketrightbt'/>
+ <glyph codepoint='F8FA' name='bracketrightex'/>
+ <glyph codepoint='F8F9' name='bracketrighttp'/>
+ <glyph codepoint='02D8' name='breve'/>
+ <glyph codepoint='00A6' name='brokenbar'/>
+ <glyph codepoint='F6EA' name='bsuperior'/>
+ <glyph codepoint='2022' name='bullet'/>
+ <glyph codepoint='0063' name='c'/>
+ <glyph codepoint='0107' name='cacute'/>
+ <glyph codepoint='02C7' name='caron'/>
+ <glyph codepoint='21B5' name='carriagereturn'/>
+ <glyph codepoint='010D' name='ccaron'/>
+ <glyph codepoint='00E7' name='ccedilla'/>
+ <glyph codepoint='0109' name='ccircumflex'/>
+ <glyph codepoint='010B' name='cdotaccent'/>
+ <glyph codepoint='00B8' name='cedilla'/>
+ <glyph codepoint='00A2' name='cent'/>
+ <glyph codepoint='F6DF' name='centinferior'/>
+ <glyph codepoint='F7A2' name='centoldstyle'/>
+ <glyph codepoint='F6E0' name='centsuperior'/>
+ <glyph codepoint='03C7' name='chi'/>
+ <glyph codepoint='25CB' name='circle'/>
+ <glyph codepoint='2297' name='circlemultiply'/>
+ <glyph codepoint='2295' name='circleplus'/>
+ <glyph codepoint='02C6' name='circumflex'/>
+ <glyph codepoint='2663' name='club'/>
+ <glyph codepoint='003A' name='colon'/>
+ <glyph codepoint='20A1' name='colonmonetary'/>
+ <glyph codepoint='002C' name='comma'/>
+ <glyph codepoint='F6C3' name='commaaccent'/>
+ <glyph codepoint='F6E1' name='commainferior'/>
+ <glyph codepoint='F6E2' name='commasuperior'/>
+ <glyph codepoint='2245' name='congruent'/>
+ <glyph codepoint='00A9' name='copyright'/>
+ <glyph codepoint='F8E9' name='copyrightsans'/>
+ <glyph codepoint='F6D9' name='copyrightserif'/>
+ <glyph codepoint='00A4' name='currency'/>
+ <glyph codepoint='F6D1' name='cyrBreve'/>
+ <glyph codepoint='F6D2' name='cyrFlex'/>
+ <glyph codepoint='F6D4' name='cyrbreve'/>
+ <glyph codepoint='F6D5' name='cyrflex'/>
+ <glyph codepoint='0064' name='d'/>
+ <glyph codepoint='2020' name='dagger'/>
+ <glyph codepoint='2021' name='daggerdbl'/>
+ <glyph codepoint='F6D3' name='dblGrave'/>
+ <glyph codepoint='F6D6' name='dblgrave'/>
+ <glyph codepoint='010F' name='dcaron'/>
+ <glyph codepoint='0111' name='dcroat'/>
+ <glyph codepoint='00B0' name='degree'/>
+ <glyph codepoint='03B4' name='delta'/>
+ <glyph codepoint='2666' name='diamond'/>
+ <glyph codepoint='00A8' name='dieresis'/>
+ <glyph codepoint='F6D7' name='dieresisacute'/>
+ <glyph codepoint='F6D8' name='dieresisgrave'/>
+ <glyph codepoint='0385' name='dieresistonos'/>
+ <glyph codepoint='00F7' name='divide'/>
+ <glyph codepoint='2593' name='dkshade'/>
+ <glyph codepoint='2584' name='dnblock'/>
+ <glyph codepoint='0024' name='dollar'/>
+ <glyph codepoint='F6E3' name='dollarinferior'/>
+ <glyph codepoint='F724' name='dollaroldstyle'/>
+ <glyph codepoint='F6E4' name='dollarsuperior'/>
+ <glyph codepoint='20AB' name='dong'/>
+ <glyph codepoint='02D9' name='dotaccent'/>
+ <glyph codepoint='0323' name='dotbelowcomb'/>
+ <glyph codepoint='0131' name='dotlessi'/>
+ <glyph codepoint='F6BE' name='dotlessj'/>
+ <glyph codepoint='22C5' name='dotmath'/>
+ <glyph codepoint='F6EB' name='dsuperior'/>
+ <glyph codepoint='0065' name='e'/>
+ <glyph codepoint='00E9' name='eacute'/>
+ <glyph codepoint='0115' name='ebreve'/>
+ <glyph codepoint='011B' name='ecaron'/>
+ <glyph codepoint='00EA' name='ecircumflex'/>
+ <glyph codepoint='00EB' name='edieresis'/>
+ <glyph codepoint='0117' name='edotaccent'/>
+ <glyph codepoint='00E8' name='egrave'/>
+ <glyph codepoint='0038' name='eight'/>
+ <glyph codepoint='2088' name='eightinferior'/>
+ <glyph codepoint='F738' name='eightoldstyle'/>
+ <glyph codepoint='2078' name='eightsuperior'/>
+ <glyph codepoint='2208' name='element'/>
+ <glyph codepoint='2026' name='ellipsis'/>
+ <glyph codepoint='0113' name='emacron'/>
+ <glyph codepoint='2014' name='emdash'/>
+ <glyph codepoint='2205' name='emptyset'/>
+ <glyph codepoint='2013' name='endash'/>
+ <glyph codepoint='014B' name='eng'/>
+ <glyph codepoint='0119' name='eogonek'/>
+ <glyph codepoint='03B5' name='epsilon'/>
+ <glyph codepoint='03AD' name='epsilontonos'/>
+ <glyph codepoint='003D' name='equal'/>
+ <glyph codepoint='2261' name='equivalence'/>
+ <glyph codepoint='212E' name='estimated'/>
+ <glyph codepoint='F6EC' name='esuperior'/>
+ <glyph codepoint='03B7' name='eta'/>
+ <glyph codepoint='03AE' name='etatonos'/>
+ <glyph codepoint='00F0' name='eth'/>
+ <glyph codepoint='0021' name='exclam'/>
+ <glyph codepoint='203C' name='exclamdbl'/>
+ <glyph codepoint='00A1' name='exclamdown'/>
+ <glyph codepoint='F7A1' name='exclamdownsmall'/>
+ <glyph codepoint='F721' name='exclamsmall'/>
+ <glyph codepoint='2203' name='existential'/>
+ <glyph codepoint='0066' name='f'/>
+ <glyph codepoint='2640' name='female'/>
+ <glyph codepoint='FB00' name='ff'/>
+ <glyph codepoint='FB03' name='ffi'/>
+ <glyph codepoint='FB04' name='ffl'/>
+ <glyph codepoint='FB01' name='fi'/>
+ <glyph codepoint='2012' name='figuredash'/>
+ <glyph codepoint='25A0' name='filledbox'/>
+ <glyph codepoint='25AC' name='filledrect'/>
+ <glyph codepoint='0035' name='five'/>
+ <glyph codepoint='215D' name='fiveeighths'/>
+ <glyph codepoint='2085' name='fiveinferior'/>
+ <glyph codepoint='F735' name='fiveoldstyle'/>
+ <glyph codepoint='2075' name='fivesuperior'/>
+ <glyph codepoint='FB02' name='fl'/>
+ <glyph codepoint='0192' name='florin'/>
+ <glyph codepoint='0034' name='four'/>
+ <glyph codepoint='2084' name='fourinferior'/>
+ <glyph codepoint='F734' name='fouroldstyle'/>
+ <glyph codepoint='2074' name='foursuperior'/>
+ <glyph codepoint='2044' name='fraction'/>
+ <glyph codepoint='2215' name='fraction'/>
+ <glyph codepoint='20A3' name='franc'/>
+ <glyph codepoint='0067' name='g'/>
+ <glyph codepoint='03B3' name='gamma'/>
+ <glyph codepoint='011F' name='gbreve'/>
+ <glyph codepoint='01E7' name='gcaron'/>
+ <glyph codepoint='011D' name='gcircumflex'/>
+ <glyph codepoint='0123' name='gcommaaccent'/>
+ <glyph codepoint='0121' name='gdotaccent'/>
+ <glyph codepoint='00DF' name='germandbls'/>
+ <glyph codepoint='2207' name='gradient'/>
+ <glyph codepoint='0060' name='grave'/>
+ <glyph codepoint='0300' name='gravecomb'/>
+ <glyph codepoint='003E' name='greater'/>
+ <glyph codepoint='2265' name='greaterequal'/>
+ <glyph codepoint='00AB' name='guillemotleft'/>
+ <glyph codepoint='00BB' name='guillemotright'/>
+ <glyph codepoint='2039' name='guilsinglleft'/>
+ <glyph codepoint='203A' name='guilsinglright'/>
+ <glyph codepoint='0068' name='h'/>
+ <glyph codepoint='0127' name='hbar'/>
+ <glyph codepoint='0125' name='hcircumflex'/>
+ <glyph codepoint='2665' name='heart'/>
+ <glyph codepoint='0309' name='hookabovecomb'/>
+ <glyph codepoint='2302' name='house'/>
+ <glyph codepoint='02DD' name='hungarumlaut'/>
+ <glyph codepoint='002D' name='hyphen'/>
+ <glyph codepoint='00AD' name='hyphen'/>
+ <glyph codepoint='F6E5' name='hypheninferior'/>
+ <glyph codepoint='F6E6' name='hyphensuperior'/>
+ <glyph codepoint='0069' name='i'/>
+ <glyph codepoint='00ED' name='iacute'/>
+ <glyph codepoint='012D' name='ibreve'/>
+ <glyph codepoint='00EE' name='icircumflex'/>
+ <glyph codepoint='00EF' name='idieresis'/>
+ <glyph codepoint='00EC' name='igrave'/>
+ <glyph codepoint='0133' name='ij'/>
+ <glyph codepoint='012B' name='imacron'/>
+ <glyph codepoint='221E' name='infinity'/>
+ <glyph codepoint='222B' name='integral'/>
+ <glyph codepoint='2321' name='integralbt'/>
+ <glyph codepoint='F8F5' name='integralex'/>
+ <glyph codepoint='2320' name='integraltp'/>
+ <glyph codepoint='2229' name='intersection'/>
+ <glyph codepoint='25D8' name='invbullet'/>
+ <glyph codepoint='25D9' name='invcircle'/>
+ <glyph codepoint='263B' name='invsmileface'/>
+ <glyph codepoint='012F' name='iogonek'/>
+ <glyph codepoint='03B9' name='iota'/>
+ <glyph codepoint='03CA' name='iotadieresis'/>
+ <glyph codepoint='0390' name='iotadieresistonos'/>
+ <glyph codepoint='03AF' name='iotatonos'/>
+ <glyph codepoint='F6ED' name='isuperior'/>
+ <glyph codepoint='0129' name='itilde'/>
+ <glyph codepoint='006A' name='j'/>
+ <glyph codepoint='0135' name='jcircumflex'/>
+ <glyph codepoint='006B' name='k'/>
+ <glyph codepoint='03BA' name='kappa'/>
+ <glyph codepoint='0137' name='kcommaaccent'/>
+ <glyph codepoint='0138' name='kgreenlandic'/>
+ <glyph codepoint='006C' name='l'/>
+ <glyph codepoint='013A' name='lacute'/>
+ <glyph codepoint='03BB' name='lambda'/>
+ <glyph codepoint='013E' name='lcaron'/>
+ <glyph codepoint='013C' name='lcommaaccent'/>
+ <glyph codepoint='0140' name='ldot'/>
+ <glyph codepoint='003C' name='less'/>
+ <glyph codepoint='2264' name='lessequal'/>
+ <glyph codepoint='258C' name='lfblock'/>
+ <glyph codepoint='20A4' name='lira'/>
+ <glyph codepoint='F6C0' name='ll'/>
+ <glyph codepoint='2227' name='logicaland'/>
+ <glyph codepoint='00AC' name='logicalnot'/>
+ <glyph codepoint='2228' name='logicalor'/>
+ <glyph codepoint='017F' name='longs'/>
+ <glyph codepoint='25CA' name='lozenge'/>
+ <glyph codepoint='0142' name='lslash'/>
+ <glyph codepoint='F6EE' name='lsuperior'/>
+ <glyph codepoint='2591' name='ltshade'/>
+ <glyph codepoint='006D' name='m'/>
+ <glyph codepoint='00AF' name='macron'/>
+ <glyph codepoint='02C9' name='macron'/>
+ <glyph codepoint='2642' name='male'/>
+ <glyph codepoint='2212' name='minus'/>
+ <glyph codepoint='2032' name='minute'/>
+ <glyph codepoint='F6EF' name='msuperior'/>
+ <glyph codepoint='00B5' name='mu'/>
+ <glyph codepoint='03BC' name='mu'/>
+ <glyph codepoint='00D7' name='multiply'/>
+ <glyph codepoint='266A' name='musicalnote'/>
+ <glyph codepoint='266B' name='musicalnotedbl'/>
+ <glyph codepoint='006E' name='n'/>
+ <glyph codepoint='0144' name='nacute'/>
+ <glyph codepoint='0149' name='napostrophe'/>
+ <glyph codepoint='0148' name='ncaron'/>
+ <glyph codepoint='0146' name='ncommaaccent'/>
+ <glyph codepoint='0039' name='nine'/>
+ <glyph codepoint='2089' name='nineinferior'/>
+ <glyph codepoint='F739' name='nineoldstyle'/>
+ <glyph codepoint='2079' name='ninesuperior'/>
+ <glyph codepoint='2209' name='notelement'/>
+ <glyph codepoint='2260' name='notequal'/>
+ <glyph codepoint='2284' name='notsubset'/>
+ <glyph codepoint='207F' name='nsuperior'/>
+ <glyph codepoint='00F1' name='ntilde'/>
+ <glyph codepoint='03BD' name='nu'/>
+ <glyph codepoint='0023' name='numbersign'/>
+ <glyph codepoint='006F' name='o'/>
+ <glyph codepoint='00F3' name='oacute'/>
+ <glyph codepoint='014F' name='obreve'/>
+ <glyph codepoint='00F4' name='ocircumflex'/>
+ <glyph codepoint='00F6' name='odieresis'/>
+ <glyph codepoint='0153' name='oe'/>
+ <glyph codepoint='02DB' name='ogonek'/>
+ <glyph codepoint='00F2' name='ograve'/>
+ <glyph codepoint='01A1' name='ohorn'/>
+ <glyph codepoint='0151' name='ohungarumlaut'/>
+ <glyph codepoint='014D' name='omacron'/>
+ <glyph codepoint='03C9' name='omega'/>
+ <glyph codepoint='03D6' name='omega1'/>
+ <glyph codepoint='03CE' name='omegatonos'/>
+ <glyph codepoint='03BF' name='omicron'/>
+ <glyph codepoint='03CC' name='omicrontonos'/>
+ <glyph codepoint='0031' name='one'/>
+ <glyph codepoint='2024' name='onedotenleader'/>
+ <glyph codepoint='215B' name='oneeighth'/>
+ <glyph codepoint='F6DC' name='onefitted'/>
+ <glyph codepoint='00BD' name='onehalf'/>
+ <glyph codepoint='2081' name='oneinferior'/>
+ <glyph codepoint='F731' name='oneoldstyle'/>
+ <glyph codepoint='00BC' name='onequarter'/>
+ <glyph codepoint='00B9' name='onesuperior'/>
+ <glyph codepoint='2153' name='onethird'/>
+ <glyph codepoint='25E6' name='openbullet'/>
+ <glyph codepoint='00AA' name='ordfeminine'/>
+ <glyph codepoint='00BA' name='ordmasculine'/>
+ <glyph codepoint='221F' name='orthogonal'/>
+ <glyph codepoint='00F8' name='oslash'/>
+ <glyph codepoint='01FF' name='oslashacute'/>
+ <glyph codepoint='F6F0' name='osuperior'/>
+ <glyph codepoint='00F5' name='otilde'/>
+ <glyph codepoint='0070' name='p'/>
+ <glyph codepoint='00B6' name='paragraph'/>
+ <glyph codepoint='0028' name='parenleft'/>
+ <glyph codepoint='F8ED' name='parenleftbt'/>
+ <glyph codepoint='F8EC' name='parenleftex'/>
+ <glyph codepoint='208D' name='parenleftinferior'/>
+ <glyph codepoint='207D' name='parenleftsuperior'/>
+ <glyph codepoint='F8EB' name='parenlefttp'/>
+ <glyph codepoint='0029' name='parenright'/>
+ <glyph codepoint='F8F8' name='parenrightbt'/>
+ <glyph codepoint='F8F7' name='parenrightex'/>
+ <glyph codepoint='208E' name='parenrightinferior'/>
+ <glyph codepoint='207E' name='parenrightsuperior'/>
+ <glyph codepoint='F8F6' name='parenrighttp'/>
+ <glyph codepoint='2202' name='partialdiff'/>
+ <glyph codepoint='0025' name='percent'/>
+ <glyph codepoint='002E' name='period'/>
+ <glyph codepoint='00B7' name='periodcentered'/>
+ <glyph codepoint='2219' name='periodcentered'/>
+ <glyph codepoint='F6E7' name='periodinferior'/>
+ <glyph codepoint='F6E8' name='periodsuperior'/>
+ <glyph codepoint='22A5' name='perpendicular'/>
+ <glyph codepoint='2030' name='perthousand'/>
+ <glyph codepoint='20A7' name='peseta'/>
+ <glyph codepoint='03C6' name='phi'/>
+ <glyph codepoint='03D5' name='phi1'/>
+ <glyph codepoint='03C0' name='pi'/>
+ <glyph codepoint='002B' name='plus'/>
+ <glyph codepoint='00B1' name='plusminus'/>
+ <glyph codepoint='211E' name='prescription'/>
+ <glyph codepoint='220F' name='product'/>
+ <glyph codepoint='2282' name='propersubset'/>
+ <glyph codepoint='2283' name='propersuperset'/>
+ <glyph codepoint='221D' name='proportional'/>
+ <glyph codepoint='03C8' name='psi'/>
+ <glyph codepoint='0071' name='q'/>
+ <glyph codepoint='003F' name='question'/>
+ <glyph codepoint='00BF' name='questiondown'/>
+ <glyph codepoint='F7BF' name='questiondownsmall'/>
+ <glyph codepoint='F73F' name='questionsmall'/>
+ <glyph codepoint='0022' name='quotedbl'/>
+ <glyph codepoint='201E' name='quotedblbase'/>
+ <glyph codepoint='201C' name='quotedblleft'/>
+ <glyph codepoint='201D' name='quotedblright'/>
+ <glyph codepoint='2018' name='quoteleft'/>
+ <glyph codepoint='201B' name='quotereversed'/>
+ <glyph codepoint='2019' name='quoteright'/>
+ <glyph codepoint='201A' name='quotesinglbase'/>
+ <glyph codepoint='0027' name='quotesingle'/>
+ <glyph codepoint='0072' name='r'/>
+ <glyph codepoint='0155' name='racute'/>
+ <glyph codepoint='221A' name='radical'/>
+ <glyph codepoint='F8E5' name='radicalex'/>
+ <glyph codepoint='0159' name='rcaron'/>
+ <glyph codepoint='0157' name='rcommaaccent'/>
+ <glyph codepoint='2286' name='reflexsubset'/>
+ <glyph codepoint='2287' name='reflexsuperset'/>
+ <glyph codepoint='00AE' name='registered'/>
+ <glyph codepoint='F8E8' name='registersans'/>
+ <glyph codepoint='F6DA' name='registerserif'/>
+ <glyph codepoint='2310' name='revlogicalnot'/>
+ <glyph codepoint='03C1' name='rho'/>
+ <glyph codepoint='02DA' name='ring'/>
+ <glyph codepoint='F6F1' name='rsuperior'/>
+ <glyph codepoint='2590' name='rtblock'/>
+ <glyph codepoint='F6DD' name='rupiah'/>
+ <glyph codepoint='0073' name='s'/>
+ <glyph codepoint='015B' name='sacute'/>
+ <glyph codepoint='0161' name='scaron'/>
+ <glyph codepoint='015F' name='scedilla'/>
+ <glyph codepoint='F6C2' name='scedilla'/>
+ <glyph codepoint='015D' name='scircumflex'/>
+ <glyph codepoint='0219' name='scommaaccent'/>
+ <glyph codepoint='2033' name='second'/>
+ <glyph codepoint='00A7' name='section'/>
+ <glyph codepoint='003B' name='semicolon'/>
+ <glyph codepoint='0037' name='seven'/>
+ <glyph codepoint='215E' name='seveneighths'/>
+ <glyph codepoint='2087' name='seveninferior'/>
+ <glyph codepoint='F737' name='sevenoldstyle'/>
+ <glyph codepoint='2077' name='sevensuperior'/>
+ <glyph codepoint='2592' name='shade'/>
+ <glyph codepoint='03C3' name='sigma'/>
+ <glyph codepoint='03C2' name='sigma1'/>
+ <glyph codepoint='223C' name='similar'/>
+ <glyph codepoint='0036' name='six'/>
+ <glyph codepoint='2086' name='sixinferior'/>
+ <glyph codepoint='F736' name='sixoldstyle'/>
+ <glyph codepoint='2076' name='sixsuperior'/>
+ <glyph codepoint='002F' name='slash'/>
+ <glyph codepoint='263A' name='smileface'/>
+ <glyph codepoint='0020' name='space'/>
+ <glyph codepoint='00A0' name='space'/>
+ <glyph codepoint='2660' name='spade'/>
+ <glyph codepoint='F6F2' name='ssuperior'/>
+ <glyph codepoint='00A3' name='sterling'/>
+ <glyph codepoint='220B' name='suchthat'/>
+ <glyph codepoint='2211' name='summation'/>
+ <glyph codepoint='263C' name='sun'/>
+ <glyph codepoint='0074' name='t'/>
+ <glyph codepoint='03C4' name='tau'/>
+ <glyph codepoint='0167' name='tbar'/>
+ <glyph codepoint='0165' name='tcaron'/>
+ <glyph codepoint='0163' name='tcommaaccent'/>
+ <glyph codepoint='021B' name='tcommaaccent'/>
+ <glyph codepoint='2234' name='therefore'/>
+ <glyph codepoint='03B8' name='theta'/>
+ <glyph codepoint='03D1' name='theta1'/>
+ <glyph codepoint='00FE' name='thorn'/>
+ <glyph codepoint='0033' name='three'/>
+ <glyph codepoint='215C' name='threeeighths'/>
+ <glyph codepoint='2083' name='threeinferior'/>
+ <glyph codepoint='F733' name='threeoldstyle'/>
+ <glyph codepoint='00BE' name='threequarters'/>
+ <glyph codepoint='F6DE' name='threequartersemdash'/>
+ <glyph codepoint='00B3' name='threesuperior'/>
+ <glyph codepoint='02DC' name='tilde'/>
+ <glyph codepoint='0303' name='tildecomb'/>
+ <glyph codepoint='0384' name='tonos'/>
+ <glyph codepoint='2122' name='trademark'/>
+ <glyph codepoint='F8EA' name='trademarksans'/>
+ <glyph codepoint='F6DB' name='trademarkserif'/>
+ <glyph codepoint='25BC' name='triagdn'/>
+ <glyph codepoint='25C4' name='triaglf'/>
+ <glyph codepoint='25BA' name='triagrt'/>
+ <glyph codepoint='25B2' name='triagup'/>
+ <glyph codepoint='F6F3' name='tsuperior'/>
+ <glyph codepoint='0032' name='two'/>
+ <glyph codepoint='2025' name='twodotenleader'/>
+ <glyph codepoint='2082' name='twoinferior'/>
+ <glyph codepoint='F732' name='twooldstyle'/>
+ <glyph codepoint='00B2' name='twosuperior'/>
+ <glyph codepoint='2154' name='twothirds'/>
+ <glyph codepoint='0075' name='u'/>
+ <glyph codepoint='00FA' name='uacute'/>
+ <glyph codepoint='016D' name='ubreve'/>
+ <glyph codepoint='00FB' name='ucircumflex'/>
+ <glyph codepoint='00FC' name='udieresis'/>
+ <glyph codepoint='00F9' name='ugrave'/>
+ <glyph codepoint='01B0' name='uhorn'/>
+ <glyph codepoint='0171' name='uhungarumlaut'/>
+ <glyph codepoint='016B' name='umacron'/>
+ <glyph codepoint='005F' name='underscore'/>
+ <glyph codepoint='2017' name='underscoredbl'/>
+ <glyph codepoint='222A' name='union'/>
+ <glyph codepoint='2200' name='universal'/>
+ <glyph codepoint='0173' name='uogonek'/>
+ <glyph codepoint='2580' name='upblock'/>
+ <glyph codepoint='03C5' name='upsilon'/>
+ <glyph codepoint='03CB' name='upsilondieresis'/>
+ <glyph codepoint='03B0' name='upsilondieresistonos'/>
+ <glyph codepoint='03CD' name='upsilontonos'/>
+ <glyph codepoint='016F' name='uring'/>
+ <glyph codepoint='0169' name='utilde'/>
+ <glyph codepoint='0076' name='v'/>
+ <glyph codepoint='0077' name='w'/>
+ <glyph codepoint='1E83' name='wacute'/>
+ <glyph codepoint='0175' name='wcircumflex'/>
+ <glyph codepoint='1E85' name='wdieresis'/>
+ <glyph codepoint='2118' name='weierstrass'/>
+ <glyph codepoint='1E81' name='wgrave'/>
+ <glyph codepoint='0078' name='x'/>
+ <glyph codepoint='03BE' name='xi'/>
+ <glyph codepoint='0079' name='y'/>
+ <glyph codepoint='00FD' name='yacute'/>
+ <glyph codepoint='0177' name='ycircumflex'/>
+ <glyph codepoint='00FF' name='ydieresis'/>
+ <glyph codepoint='00A5' name='yen'/>
+ <glyph codepoint='1EF3' name='ygrave'/>
+ <glyph codepoint='007A' name='z'/>
+ <glyph codepoint='017A' name='zacute'/>
+ <glyph codepoint='017E' name='zcaron'/>
+ <glyph codepoint='017C' name='zdotaccent'/>
+ <glyph codepoint='0030' name='zero'/>
+ <glyph codepoint='2080' name='zeroinferior'/>
+ <glyph codepoint='F730' name='zerooldstyle'/>
+ <glyph codepoint='2070' name='zerosuperior'/>
+ <glyph codepoint='03B6' name='zeta'/>
+ </glyphlist>
+
+ <!-- This encodes the Zapf Dingbats Glyph List, version 1.0 (17 July 1997)
+ located at http://partners.adobe.com/asn/developer/type/zapfdingbats.txt
+ -->
+ <glyphlist id='ZGL'>
+ <glyph codepoint='0020' name='space'/>
+ <glyph codepoint='00A0' name='space'/>
+ <glyph codepoint='2701' name='a1'/>
+ <glyph codepoint='2702' name='a2'/>
+ <glyph codepoint='2703' name='a202'/>
+ <glyph codepoint='2704' name='a3'/>
+ <glyph codepoint='260E' name='a4'/>
+ <glyph codepoint='2706' name='a5'/>
+ <glyph codepoint='2707' name='a119'/>
+ <glyph codepoint='2708' name='a118'/>
+ <glyph codepoint='2709' name='a117'/>
+ <glyph codepoint='261B' name='a11'/>
+ <glyph codepoint='261E' name='a12'/>
+ <glyph codepoint='270C' name='a13'/>
+ <glyph codepoint='270D' name='a14'/>
+ <glyph codepoint='270E' name='a15'/>
+ <glyph codepoint='270F' name='a16'/>
+ <glyph codepoint='2710' name='a105'/>
+ <glyph codepoint='2711' name='a17'/>
+ <glyph codepoint='2712' name='a18'/>
+ <glyph codepoint='2713' name='a19'/>
+ <glyph codepoint='2714' name='a20'/>
+ <glyph codepoint='2715' name='a21'/>
+ <glyph codepoint='2716' name='a22'/>
+ <glyph codepoint='2717' name='a23'/>
+ <glyph codepoint='2718' name='a24'/>
+ <glyph codepoint='2719' name='a25'/>
+ <glyph codepoint='271A' name='a26'/>
+ <glyph codepoint='271B' name='a27'/>
+ <glyph codepoint='271C' name='a28'/>
+ <glyph codepoint='271D' name='a6'/>
+ <glyph codepoint='271E' name='a7'/>
+ <glyph codepoint='271F' name='a8'/>
+ <glyph codepoint='2720' name='a9'/>
+ <glyph codepoint='2721' name='a10'/>
+ <glyph codepoint='2722' name='a29'/>
+ <glyph codepoint='2723' name='a30'/>
+ <glyph codepoint='2724' name='a31'/>
+ <glyph codepoint='2725' name='a32'/>
+ <glyph codepoint='2726' name='a33'/>
+ <glyph codepoint='2727' name='a34'/>
+ <glyph codepoint='2605' name='a35'/>
+ <glyph codepoint='2729' name='a36'/>
+ <glyph codepoint='272A' name='a37'/>
+ <glyph codepoint='272B' name='a38'/>
+ <glyph codepoint='272C' name='a39'/>
+ <glyph codepoint='272D' name='a40'/>
+ <glyph codepoint='272E' name='a41'/>
+ <glyph codepoint='272F' name='a42'/>
+ <glyph codepoint='2730' name='a43'/>
+ <glyph codepoint='2731' name='a44'/>
+ <glyph codepoint='2732' name='a45'/>
+ <glyph codepoint='2733' name='a46'/>
+ <glyph codepoint='2734' name='a47'/>
+ <glyph codepoint='2735' name='a48'/>
+ <glyph codepoint='2736' name='a49'/>
+ <glyph codepoint='2737' name='a50'/>
+ <glyph codepoint='2738' name='a51'/>
+ <glyph codepoint='2739' name='a52'/>
+ <glyph codepoint='273A' name='a53'/>
+ <glyph codepoint='273B' name='a54'/>
+ <glyph codepoint='273C' name='a55'/>
+ <glyph codepoint='273D' name='a56'/>
+ <glyph codepoint='273E' name='a57'/>
+ <glyph codepoint='273F' name='a58'/>
+ <glyph codepoint='2740' name='a59'/>
+ <glyph codepoint='2741' name='a60'/>
+ <glyph codepoint='2742' name='a61'/>
+ <glyph codepoint='2743' name='a62'/>
+ <glyph codepoint='2744' name='a63'/>
+ <glyph codepoint='2745' name='a64'/>
+ <glyph codepoint='2746' name='a65'/>
+ <glyph codepoint='2747' name='a66'/>
+ <glyph codepoint='2748' name='a67'/>
+ <glyph codepoint='2749' name='a68'/>
+ <glyph codepoint='274A' name='a69'/>
+ <glyph codepoint='274B' name='a70'/>
+ <glyph codepoint='25CF' name='a71'/>
+ <glyph codepoint='274D' name='a72'/>
+ <glyph codepoint='25A0' name='a73'/>
+ <glyph codepoint='274F' name='a74'/>
+ <glyph codepoint='2750' name='a203'/>
+ <glyph codepoint='2751' name='a75'/>
+ <glyph codepoint='2752' name='a204'/>
+ <glyph codepoint='25B2' name='a76'/>
+ <glyph codepoint='25BC' name='a77'/>
+ <glyph codepoint='25C6' name='a78'/>
+ <glyph codepoint='2756' name='a79'/>
+ <glyph codepoint='25D7' name='a81'/>
+ <glyph codepoint='2758' name='a82'/>
+ <glyph codepoint='2759' name='a83'/>
+ <glyph codepoint='275A' name='a84'/>
+ <glyph codepoint='275B' name='a97'/>
+ <glyph codepoint='275C' name='a98'/>
+ <glyph codepoint='275D' name='a99'/>
+ <glyph codepoint='275E' name='a100'/>
+ <glyph codepoint='F8D7' name='a89'/>
+ <glyph codepoint='F8D8' name='a90'/>
+ <glyph codepoint='F8D9' name='a93'/>
+ <glyph codepoint='F8DA' name='a94'/>
+ <glyph codepoint='F8DB' name='a91'/>
+ <glyph codepoint='F8DC' name='a92'/>
+ <glyph codepoint='F8DD' name='a205'/>
+ <glyph codepoint='F8DE' name='a85'/>
+ <glyph codepoint='F8DF' name='a206'/>
+ <glyph codepoint='F8E0' name='a86'/>
+ <glyph codepoint='F8E1' name='a87'/>
+ <glyph codepoint='F8E2' name='a88'/>
+ <glyph codepoint='F8E3' name='a95'/>
+ <glyph codepoint='F8E4' name='a96'/>
+ <glyph codepoint='2761' name='a101'/>
+ <glyph codepoint='2762' name='a102'/>
+ <glyph codepoint='2763' name='a103'/>
+ <glyph codepoint='2764' name='a104'/>
+ <glyph codepoint='2765' name='a106'/>
+ <glyph codepoint='2766' name='a107'/>
+ <glyph codepoint='2767' name='a108'/>
+ <glyph codepoint='2663' name='a112'/>
+ <glyph codepoint='2666' name='a111'/>
+ <glyph codepoint='2665' name='a110'/>
+ <glyph codepoint='2660' name='a109'/>
+ <glyph codepoint='2460' name='a120'/>
+ <glyph codepoint='2461' name='a121'/>
+ <glyph codepoint='2462' name='a122'/>
+ <glyph codepoint='2463' name='a123'/>
+ <glyph codepoint='2464' name='a124'/>
+ <glyph codepoint='2465' name='a125'/>
+ <glyph codepoint='2466' name='a126'/>
+ <glyph codepoint='2467' name='a127'/>
+ <glyph codepoint='2468' name='a128'/>
+ <glyph codepoint='2469' name='a129'/>
+ <glyph codepoint='2776' name='a130'/>
+ <glyph codepoint='2777' name='a131'/>
+ <glyph codepoint='2778' name='a132'/>
+ <glyph codepoint='2779' name='a133'/>
+ <glyph codepoint='277A' name='a134'/>
+ <glyph codepoint='277B' name='a135'/>
+ <glyph codepoint='277C' name='a136'/>
+ <glyph codepoint='277D' name='a137'/>
+ <glyph codepoint='277E' name='a138'/>
+ <glyph codepoint='277F' name='a139'/>
+ <glyph codepoint='2780' name='a140'/>
+ <glyph codepoint='2781' name='a141'/>
+ <glyph codepoint='2782' name='a142'/>
+ <glyph codepoint='2783' name='a143'/>
+ <glyph codepoint='2784' name='a144'/>
+ <glyph codepoint='2785' name='a145'/>
+ <glyph codepoint='2786' name='a146'/>
+ <glyph codepoint='2787' name='a147'/>
+ <glyph codepoint='2788' name='a148'/>
+ <glyph codepoint='2789' name='a149'/>
+ <glyph codepoint='278A' name='a150'/>
+ <glyph codepoint='278B' name='a151'/>
+ <glyph codepoint='278C' name='a152'/>
+ <glyph codepoint='278D' name='a153'/>
+ <glyph codepoint='278E' name='a154'/>
+ <glyph codepoint='278F' name='a155'/>
+ <glyph codepoint='2790' name='a156'/>
+ <glyph codepoint='2791' name='a157'/>
+ <glyph codepoint='2792' name='a158'/>
+ <glyph codepoint='2793' name='a159'/>
+ <glyph codepoint='2794' name='a160'/>
+ <glyph codepoint='2192' name='a161'/>
+ <glyph codepoint='2194' name='a163'/>
+ <glyph codepoint='2195' name='a164'/>
+ <glyph codepoint='2798' name='a196'/>
+ <glyph codepoint='2799' name='a165'/>
+ <glyph codepoint='279A' name='a192'/>
+ <glyph codepoint='279B' name='a166'/>
+ <glyph codepoint='279C' name='a167'/>
+ <glyph codepoint='279D' name='a168'/>
+ <glyph codepoint='279E' name='a169'/>
+ <glyph codepoint='279F' name='a170'/>
+ <glyph codepoint='27A0' name='a171'/>
+ <glyph codepoint='27A1' name='a172'/>
+ <glyph codepoint='27A2' name='a173'/>
+ <glyph codepoint='27A3' name='a162'/>
+ <glyph codepoint='27A4' name='a174'/>
+ <glyph codepoint='27A5' name='a175'/>
+ <glyph codepoint='27A6' name='a176'/>
+ <glyph codepoint='27A7' name='a177'/>
+ <glyph codepoint='27A8' name='a178'/>
+ <glyph codepoint='27A9' name='a179'/>
+ <glyph codepoint='27AA' name='a193'/>
+ <glyph codepoint='27AB' name='a180'/>
+ <glyph codepoint='27AC' name='a199'/>
+ <glyph codepoint='27AD' name='a181'/>
+ <glyph codepoint='27AE' name='a200'/>
+ <glyph codepoint='27AF' name='a182'/>
+ <glyph codepoint='27B1' name='a201'/>
+ <glyph codepoint='27B2' name='a183'/>
+ <glyph codepoint='27B3' name='a184'/>
+ <glyph codepoint='27B4' name='a197'/>
+ <glyph codepoint='27B5' name='a185'/>
+ <glyph codepoint='27B6' name='a194'/>
+ <glyph codepoint='27B7' name='a198'/>
+ <glyph codepoint='27B8' name='a186'/>
+ <glyph codepoint='27B9' name='a195'/>
+ <glyph codepoint='27BA' name='a187'/>
+ <glyph codepoint='27BB' name='a188'/>
+ <glyph codepoint='27BC' name='a189'/>
+ <glyph codepoint='27BD' name='a190'/>
+ <glyph codepoint='27BE' name='a191'/>
+ </glyphlist>
+</glyphlist-set>
_treeBuilder.reset();
}
+ /**
+ * Returns the results of the last rendering process. Information includes
+ * the total number of pages generated and the number of pages per
+ * page-sequence.
+ */
+ public FormattingResults getResults() {
+ try {
+ return _treeBuilder.getStreamRenderer().getResults();
+ } catch (NullPointerException e) {
+ return null;
+ }
+ }
+
public boolean hasData() {
return (_treeBuilder.hasData());
}
*/
public synchronized void render(Document document)
throws FOPException {
-
- try {
- DocumentInputSource source = new DocumentInputSource(document);
- DocumentReader reader = new DocumentReader();
- reader.setContentHandler(getContentHandler());
- reader.parse(source);
- } catch (SAXException e) {
- throw new FOPException(e);
- }
- catch (IOException e) {
- throw new FOPException(e);
- }
-
+ DocumentInputSource source = new DocumentInputSource(document);
+ DocumentReader reader = new DocumentReader();
+ render(reader, source);
}
/**
--- /dev/null
+/*
+ * $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
+ */
+
+package org.apache.fop.apps;
+
+import java.util.List;
+
+import org.apache.fop.fo.pagination.PageSequence;
+
+/**
+ * Class for reporting back formatting results to the calling application.
+ *
+ * @author Jeremias Maerki
+ */
+public class FormattingResults {
+
+ private int pageCount = 0;
+ private List pageSequences = null;
+
+ /**
+ * Constructor for the FormattingResults object
+ */
+ public FormattingResults() {
+ }
+
+ /**
+ * Gets the number of pages rendered
+ *
+ * @return The number of pages overall
+ */
+ public int getPageCount() {
+ return this.pageCount;
+ }
+
+ /**
+ * Gets the results for the individual page-sequences.
+ *
+ * @return A List with PageSequenceResults objects
+ */
+ public List getPageSequences() {
+ return this.pageSequences;
+ }
+
+ /**
+ * Resets this object
+ */
+ public void reset() {
+ this.pageCount = 0;
+ if (this.pageSequences != null) {
+ this.pageSequences.clear();
+ }
+ }
+
+ /**
+ * Description of the Method
+ *
+ * @param pageSequence Description of Parameter
+ */
+ public void haveFormattedPageSequence(PageSequence pageSequence) {
+ this.pageCount += pageSequence.getPageCount();
+ if (this.pageSequences == null) {
+ this.pageSequences = new java.util.ArrayList();
+ }
+ this.pageSequences.add(
+ new PageSequenceResults(pageSequence.getProperty("id").getString(),
+ pageSequence.getPageCount()));
+ }
+}
+
--- /dev/null
+/*
+ * $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
+ */
+
+package org.apache.fop.apps;
+
+/**
+ * Class for reporting back formatting results to the calling application. This
+ * particular class is used to report the results of a single page-sequence.
+ *
+ * @author Jeremias Maerki
+ */
+public class PageSequenceResults {
+
+ private String id;
+ private int pageCount;
+
+ /**
+ * Constructor for the PageSequenceResults object
+ *
+ * @param id ID of the page-sequence, if available
+ * @param pageCount The number of resulting pages
+ */
+ public PageSequenceResults(String id, int pageCount) {
+ this.id = id;
+ this.pageCount = pageCount;
+ }
+
+ /**
+ * Gets the ID of the page-sequence if one was specified.
+ *
+ * @return The ID
+ */
+ public String getID() {
+ return this.id;
+ }
+
+ /**
+ * Gets the number of pages that resulted by processing the page-sequence.
+ *
+ * @return The number of pages generated
+ */
+ public int getPageCount() {
+ return this.pageCount;
+ }
+}
+
*/
private Renderer renderer;
+ /**
+ * The formatting results to be handed back to the caller.
+ */
+ private FormattingResults results = new FormattingResults();
+
/**
The FontInfo for this renderer.
*/
return idReferences;
}
+ public FormattingResults getResults() {
+ return this.results;
+ }
+
public void addExtension(ExtensionObj ext) {
extensions.addElement(ext);
}
} catch (FOPException e) {
throw new SAXException(e);
}
+ this.results.haveFormattedPageSequence(pageSequence);
+ log.debug("Last page-sequence produced "+pageSequence.getPageCount()+" pages.");
}
public synchronized void queuePage(Page page)
package org.apache.fop.datatypes;
public class ColorSpace {
+ private boolean hasICCProfile;
+ private byte[] iccProfile;
+ private int numComponents;
+
// Ok... so I had some grand purpose for this, but I can't recall.
// I'm just writing it
public static int DEVICE_RGB = 2;
public static int DEVICE_CMYK = 3;
+
// Are there any others?
protected int currentColorSpace = -1;
public ColorSpace(int theColorSpace) {
this.currentColorSpace = theColorSpace;
+ hasICCProfile = false;
+ numComponents = calculateNumComponents();
+ }
+
+ private int calculateNumComponents() {
+ if (currentColorSpace == DEVICE_GRAY)
+ return 1;
+ else if (currentColorSpace == DEVICE_RGB)
+ return 3;
+ else if (currentColorSpace == DEVICE_CMYK)
+ return 4;
+ else
+ return 0;
+ }
+ public void setColorSpace(int theColorSpace) {
+ this.currentColorSpace = theColorSpace;
+ numComponents = calculateNumComponents();
+ }
+
+ public boolean hasICCProfile() {
+ return hasICCProfile;
+ }
+
+ public byte[] getICCProfile() {
+ if (hasICCProfile)
+ return iccProfile;
+ else
+ return new byte[0];
+ }
+
+ public void setICCProfile(byte[] iccProfile) {
+ this.iccProfile = iccProfile;
+ hasICCProfile = true;
}
public int getColorSpace() {
return (this.currentColorSpace);
}
- public void setColorSpace(int theColorSpace) {
- this.currentColorSpace = theColorSpace;
+ public int getNumComponents() {
+ return numComponents;
}
public String getColorSpacePDFString() { // this is for PDF Output. Does anyone else need a string representation?
/**
* Return the computed value in millipoints.
*/
- protected void computeValue() {
+ public void computeValue() {
int result = 0;
int numFactors = factors.size();
for (int i = 0; i < numFactors; ++i) {
private static HashMap foObjs = null;
- public synchronized void addToBuilder(TreeBuilder builder) {
+ private static synchronized void setupExt() {
if(foObjs == null) {
foObjs = new HashMap();
foObjs.put("outline", Outline.maker());
foObjs.put("label", Label.maker());
}
+ }
+
+ public void addToBuilder(TreeBuilder builder) {
+ setupExt();
builder.addMapping(URI, foObjs);
int fontVariant =
this.parent.properties.get("font-variant").getEnum();
+ int letterSpacing =
+ this.parent.properties.get("letter-spacing").getLength().mvalue();
this.fs = new FontState(area.getFontInfo(), fontFamily,
fontStyle, fontWeight, fontSize,
- fontVariant);
+ fontVariant, letterSpacing);
ColorType c = this.parent.properties.get("color").getColorType();
this.red = c.red();
this.streamRenderer = streamRenderer;
}
+ public StreamRenderer getStreamRenderer() {
+ return this.streamRenderer;
+ }
+
/**
* add a mapping from element name to maker.
*
package org.apache.fop.fo;
import org.apache.fop.layout.Area;
+import org.apache.fop.layout.TextState;
import org.apache.fop.apps.FOPException;
/**
*/
public class FObjMixed extends FObj {
+ // Textdecoration
+ protected TextState ts;
+
public static class Maker extends FObj.Maker {
public FObj make(FObj parent,
PropertyList propertyList) throws FOPException {
super(parent, propertyList);
}
+ public TextState getTextState() {
+ return ts;
+ }
+
protected void addCharacters(char data[], int start, int length) {
- addChild(new FOText(data, start, length, this));
+ // addChild(new FOText(data, start, length, this));
+ FOText ft = new FOText(data, start, length, this);
+ ft.setLogger(log);
+ if (ts != null) {
+ ft.setUnderlined(ts.getUnderlined());
+ ft.setOverlined(ts.getOverlined());
+ ft.setLineThrough(ts.getLineThrough());
+ }
+ addChild(ft);
+
}
public Status layout(Area area) throws FOPException {
import java.text.FieldPosition;
import org.apache.fop.layout.Area;
import org.apache.fop.layout.ColumnArea;
+import org.apache.fop.layout.TextState;
+import org.apache.fop.fo.properties.TextDecoration;
public class PropertyManager {
AbsolutePositionProps props = new AbsolutePositionProps();
return props;
}
+
+ public TextState getTextDecoration(FObj parent) throws FOPException {
+
+ // TextState from parent Block/Inline
+ TextState tsp = null;
+ boolean found = false;
+
+ do {
+ String fname = parent.getName();
+ if (fname.equals("fo:flow") || fname.equals("fo:static-content")) {
+ found = true;
+ } else if (fname.equals("fo:block") || fname.equals("fo:inline")) {
+ FObjMixed fom = (FObjMixed) parent;
+ tsp = fom.getTextState();
+ found = true;
+ }
+ parent = parent.getParent();
+ } while (!found);
+
+ TextState ts = new TextState();
+
+ if (tsp != null) {
+ ts.setUnderlined(tsp.getUnderlined());
+ ts.setOverlined(tsp.getOverlined());
+ ts.setLineThrough(tsp.getLineThrough());
+ }
+
+ int textDecoration = this.properties.get("text-decoration").getEnum();
+
+ if (textDecoration == TextDecoration.UNDERLINE) {
+ ts.setUnderlined(true);
+ }
+ if (textDecoration == TextDecoration.OVERLINE) {
+ ts.setOverlined(true);
+ }
+ if (textDecoration == TextDecoration.LINE_THROUGH) {
+ ts.setLineThrough(true);
+ }
+ if (textDecoration == TextDecoration.NO_UNDERLINE) {
+ ts.setUnderlined(false);
+ }
+ if (textDecoration == TextDecoration.NO_OVERLINE) {
+ ts.setOverlined(false);
+ }
+ if (textDecoration == TextDecoration.NO_LINE_THROUGH) {
+ ts.setLineThrough(false);
+ }
+
+ return ts;
+ }
+
}
public class StandardElementMapping implements ElementMapping {
private static HashMap foObjs = null;
- public synchronized void addToBuilder(TreeBuilder builder) {
+ private static synchronized void setupFO() {
if(foObjs == null) {
foObjs = new HashMap();
foObjs.put("marker", Marker.maker());
foObjs.put("retrieve-marker", RetrieveMarker.maker());
}
+ }
+ public void addToBuilder(TreeBuilder builder) {
+ setupFO();
String uri = "http://www.w3.org/1999/XSL/Format";
builder.addMapping(uri, foObjs);
builder.addElementPropertyList(uri, elem,
FOPropertyMapping.getElementMapping(elem));
}
-
}
-
}
+
labelEnd.addTerm(-1.0, distance);
labelEnd.addTerm(-1.0, startIndent);
labelEnd.addTerm(1.0, separation);
+
+ // make sure value gets calculated
+ labelEnd.computeValue();
return new LengthProperty(labelEnd);
}
/**
* * NOT YET IMPLEMENTED!!!
- * functionTable.put("icc-color", new ICCcolorFunction());
+ * functionTable.put("rgb-icc", new RgbICCFunction());
* functionTable.put("system-color", new SystemColorFunction());
* functionTable.put("system-font", new SystemFontFunction());
*
// this may be helpful on other FOs too
boolean anythingLaidOut = false;
- public Block(FObj parent, PropertyList propertyList) {
+ public Block(FObj parent, PropertyList propertyList)
+ throws FOPException {
+
super(parent, propertyList);
this.name = "fo:block";
this.span = this.properties.get("span").getEnum();
+ ts = propMgr.getTextDecoration(parent);
}
public Status layout(Area area) throws FOPException {
// this.properties.get("line-height-shift-adjustment");
// this.properties.get("line-stacking-strategy");
// this.properties.get("orphans");
- // this.properties.get("space-treatment");
+ // this.properties.get("white-space-treatment");
// this.properties.get("span");
// this.properties.get("text-align");
// this.properties.get("text-align-last");
return new Inline.Maker();
}
- // Textdecoration
- protected boolean underlined = false;
- protected boolean overlined = false;
- protected boolean lineThrough = false;
-
-
public Inline(FObj parent,
PropertyList propertyList) throws FOPException {
super(parent, propertyList);
// this.properties.get("visibility");
// this.properties.get("z-index");
- int textDecoration = this.properties.get("text-decoration").getEnum();
-
- if (textDecoration == TextDecoration.UNDERLINE) {
- this.underlined = true;
- }
+ // Text Decoration Properties
+ ts = propMgr.getTextDecoration(parent);
- if (textDecoration == TextDecoration.OVERLINE) {
- this.overlined = true;
- }
-
- if (textDecoration == TextDecoration.LINE_THROUGH) {
- this.lineThrough = true;
- }
}
protected void addCharacters(char data[], int start, int length) {
FOText ft = new FOText(data, start, length, this);
ft.setLogger(log);
- ft.setUnderlined(underlined);
- ft.setOverlined(overlined);
- ft.setLineThrough(lineThrough);
+ ft.setUnderlined(ts.getUnderlined());
+ ft.setOverlined(ts.getOverlined());
+ ft.setLineThrough(ts.getLineThrough());
children.addElement(ft);
}
}
}
- Status status = new Status(Status.AREA_FULL_NONE);
+ Status status = new Status(Status.OK);
if (null != bestMarker) {
// System.out.println("Laying out marker '" + bestMarker + "' in area '" + area + "'");
// the 'markers' referred to in this method are internal; they have
private SpanInfo spanInfo[];
+ private boolean ignoreKeeps = false;
+
public RowSpanMgr(int numCols) {
this.spanInfo = new SpanInfo[numCols];
}
return false;
}
+ /**
+ * helper method to prevent infinite loops if
+ * keeps or spans are not fitting on a page
+ * @param <code>true</code> if keeps and spans should be ignored
+ */
+ public void setIgnoreKeeps(boolean ignoreKeeps) {
+ this.ignoreKeeps = ignoreKeeps;
+ }
+
+ /**
+ * helper method (i.e. hack ;-) to prevent infinite loops if
+ * keeps or spans are not fitting on a page
+ * @return true if keeps or spans should be ignored
+ */
+ public boolean ignoreKeeps() {
+ return ignoreKeeps;
+ }
+
}
}
return status;
}
- if (keepWith.size()
- > 0) { // && status.getCode() == Status.AREA_FULL_NONE
+ if ((keepWith.size() > 0)
+ && (!rowSpanMgr.ignoreKeeps())) {
+ // && status.getCode() == Status.AREA_FULL_NONE
// FIXME!!! Handle rows spans!!!
row.removeLayout(areaContainer);
for (Enumeration e = keepWith.elements();
}
if (i == 0) {
resetMarker();
+
+ // Fix for infinite loop bug if keeps are too big for page
+ rowSpanMgr.setIgnoreKeeps(true);
+
return new Status(Status.AREA_FULL_NONE);
}
}
area.increaseHeight(areaContainer.getHeight());
area.setAbsoluteHeight(areaContainer.getAbsoluteHeight());
}
+
+ // Fix for infinite loop bug if spanned rows are too big for page
+ rowSpanMgr.setIgnoreKeeps(true);
+
return status;
} else if (status.getCode() == Status.KEEP_WITH_NEXT
|| rowSpanMgr.hasUnfinishedSpans()) {
super(parent, propertyList);
this.name = getElementName();
- if (getProperty("master-name") != null) {
- setMasterName(getProperty("master-name").getString());
+ if (getProperty("master-reference") != null) {
+ setMasterName(getProperty("master-reference").getString());
}
validateParent(parent);
}
/**
- * Returns the "master-name" attribute of this page master reference
+ * Returns the "master-reference" attribute of this page master reference
*/
public String getMasterName() {
return masterName;
if (getMasterName() == null) {
log.warn("single-page-master-reference"
- + "does not have a master-name and so is being ignored");
+ + "does not have a master-reference and so is being ignored");
} else {
this.repeatablePageMasterAlternatives.addConditionalPageMasterReference(this);
}
/**
* Base PageMasterReference class. Provides implementation for handling the
- * master-name attribute and containment within a PageSequenceMaster
+ * master-reference attribute and containment within a PageSequenceMaster
*/
public abstract class PageMasterReference extends FObj
implements SubSequenceSpecifier {
throws FOPException {
super(parent, propertyList);
this.name = getElementName();
- if (getProperty("master-name") != null) {
- setMasterName(getProperty("master-name").getString());
+ if (getProperty("master-reference") != null) {
+ setMasterName(getProperty("master-reference").getString());
}
validateParent(parent);
}
/**
- * Returns the "master-name" attribute of this page master reference
+ * Returns the "master-reference" attribute of this page master reference
*/
public String getMasterName() {
return _masterName;
if (getMasterName() == null) {
log.warn("" + getElementName()
- + " does not have a master-name and so is being ignored");
+ + " does not have a master-reference and so is being ignored");
} else {
_pageSequenceMaster.addSubsequenceSpecifier(this);
}
private Hashtable _flowMap;
/**
- * the "master-name" attribute
+ * the "master-reference" attribute,
+ * which specifies the name of the page-sequence-master or
+ * page-master to be used to create pages in the sequence
*/
private String masterName;
}
}
- masterName = this.properties.get("master-name").getString();
+ masterName = this.properties.get("master-reference").getString();
// get the 'format' properties
this.pageNumberGenerator =
SimplePageMaster simpleMaster =
this.layoutMasterSet.getSimplePageMaster(pageSequenceName);
if (simpleMaster == null) {
- throw new FOPException("'master-name' for 'fo:page-sequence'"
+ throw new FOPException("'master-reference' for 'fo:page-sequence'"
+ "matches no 'simple-page-master' or 'page-sequence-master'");
}
currentPageMasterName = pageSequenceName;
}
public int getCurrentPageNumber() {
- return currentPageNumber;
+ return currentPageNumber;
+ }
+
+ public int getPageCount() {
+ return this.pageCount;
}
private void forcePage(AreaTree areaTree, int firstAvailPageNumber) {
// Also add winAnsiWidth
- if (false) {
- int d = j;
- if (j > 127)
- d = (int)org.apache.fop.render.pdf.CodePointMapping.map[j];
- if (d < ansiWidth.length)
- ansiWidth[d] = mtx_tab[glyphIdx].wx;
- } else {
- Vector v =
- (Vector)ansiIndex.get(new Integer(j));
- if (v != null) {
- for (Enumeration e = v.elements();
- e.hasMoreElements(); ) {
- Integer aIdx =
- (Integer)e.nextElement();
- ansiWidth[aIdx.intValue()] =
- mtx_tab[glyphIdx].wx;
- /*
- * System.out.println("Added width "+
- * mtx_tab[glyphIdx].wx +
- * " uni: " + j +
- * " ansi: " + aIdx.intValue());
- */
- }
- }
- }
+ Vector v =
+ (Vector)ansiIndex.get(new Integer(j));
+ if (v != null) {
+ for (Enumeration e = v.elements();
+ e.hasMoreElements(); ) {
+ Integer aIdx =
+ (Integer)e.nextElement();
+ ansiWidth[aIdx.intValue()] =
+ mtx_tab[glyphIdx].wx;
+ /*
+ * System.out.println("Added width "+
+ * mtx_tab[glyphIdx].wx +
+ * " uni: " + j +
+ * " ansi: " + aIdx.intValue());
+ */
+ }
+ }
/*
* System.out.println("Idx: "+
* glyphIdx +
// Also add winAnsiWidth
- if (false) {
- int d = j;
- if (j > 127)
- d = (int)org.apache.fop.render.pdf.CodePointMapping.map[j];
-
- if (d < ansiWidth.length)
- ansiWidth[d] = mtx_tab[glyphIdx].wx;
- } else {
- Vector v =
- (Vector)ansiIndex.get(new Integer(j));
- if (v != null) {
- for (Enumeration e = v.elements();
- e.hasMoreElements(); ) {
- Integer aIdx =
- (Integer)e.nextElement();
- ansiWidth[aIdx.intValue()] =
- mtx_tab[glyphIdx].wx;
- }
- }
- }
+ Vector v =
+ (Vector)ansiIndex.get(new Integer(j));
+ if (v != null) {
+ for (Enumeration e = v.elements();
+ e.hasMoreElements(); ) {
+ Integer aIdx =
+ (Integer)e.nextElement();
+ ansiWidth[aIdx.intValue()] =
+ mtx_tab[glyphIdx].wx;
+ }
+ }
/*
* System.out.println("IIdx: "+
mtx_tab[i] = new TTFMtxEntry();
for (int i = 0; i < nhmtx; i++) {
mtx_tab[i].wx = in.readTTFUShort();
- mtx_tab[i].lsb = in.readTTFUShort();
+ mtx_tab[i].lsb = in.readTTFShort();
/*
* System.out.println(" width["+i+"] = "+
* get_ttf_funit(mtx_tab[i].wx)+";");
int lastWidth = mtx_tab[nhmtx - 1].wx;
for (int i = nhmtx; i < mtx_size; i++) {
mtx_tab[i].wx = lastWidth;
- mtx_tab[i].lsb = in.readTTFUShort();
+ mtx_tab[i].lsb = in.readTTFShort();
}
}
}
*/
public abstract class AbstractFopImage implements FopImage {
+ /**
+ * Photoshop generated cmykl jpeg's are inverted.
+ */
+ protected boolean m_invertImage = false;
+
/**
* Image width (in pixel).
*/
*/
abstract protected void loadImage() throws FopImageException;
+ /**
+ * If true, image data are inverted
+ */
+ public boolean invertImage() {
+ return m_invertImage;
+ }
+
/**
* Return the image URL.
* @return the image URL (as String)
--- /dev/null
+/*
+ * $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
+ */
+
+package org.apache.fop.image;
+
+// Java
+import java.net.URL;
+import java.net.URLConnection;
+import java.io.InputStream;
+import java.io.IOException;
+
+// FOP
+import org.apache.fop.apps.Driver;
+import org.apache.fop.messaging.*;
+import org.apache.fop.datatypes.ColorSpace;
+import org.apache.fop.pdf.PDFColor;
+import org.apache.fop.image.analyser.ImageReader;
+import org.apache.fop.image.analyser.EPSReader;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLReader;
+
+
+/**
+ * @see AbstractFopImage
+ * @see FopImage
+ */
+public class EPSImage extends AbstractFopImage {
+ private String docName;
+ private int[] bbox;
+
+ private byte[] epsImage = null;
+ private EPSReader epsReader = null;
+
+ /**
+ * Initialize docName and bounding box
+ */
+ private void init(URL href) {
+ bbox = new int[4];
+ bbox[0] = 0;
+ bbox[1] = 0;
+ bbox[2] = 0;
+ bbox[3] = 0;
+
+ docName = href.toString();
+ }
+
+ /**
+ * Return the name of the eps
+ */
+ public String getDocName() {
+ return docName;
+ }
+
+ /**
+ * Return the bounding box
+ */
+ public int[] getBBox() {
+ return bbox;
+ }
+
+ public EPSImage(URL href) throws FopImageException {
+ super(href);
+ init(href);
+ }
+
+ public EPSImage(URL href,
+ ImageReader imgReader) throws FopImageException {
+ super(href, imgReader);
+ init(href);
+ if (imgReader instanceof EPSReader) {
+ EPSReader eimgReader = (EPSReader)imgReader;
+ epsReader = eimgReader;
+ epsImage = eimgReader.getEpsFile();
+ m_bitmaps = epsImage;
+ bbox = eimgReader.getBBox();
+ }
+ }
+
+ protected void loadImage() throws FopImageException {
+ // Image is loaded in reader
+ }
+
+ public byte[] getEPSImage() throws FopImageException {
+ if (epsImage == null)
+ MessageHandler.errorln("ERROR LOADING EXTERNAL EPS");
+ return epsImage;
+ }
+
+}
// Methods throw exception because they can retrieve data
// when needed.
- // Ressource location
+ public boolean invertImage();
+
+ // Resource location
public String getURL();
// image size
*/
synchronized (this.imageStatus) {
// Need to stop status if image done
- if (this.imageStatus.intValue() != ImageConsumer.STATICIMAGEDONE)
+ if (imageStatus.intValue() != ImageConsumer.STATICIMAGEDONE
+ && imageStatus.intValue() != ImageConsumer.SINGLEFRAMEDONE)
this.imageStatus = new Integer(status);
}
}
if (this.imageStatus.intValue() == ImageConsumer.IMAGEERROR)
throw new Exception("Image error");
- if (this.imageStatus.intValue() == ImageConsumer.STATICIMAGEDONE)
+ if (imageStatus.intValue() == ImageConsumer.STATICIMAGEDONE
+ || imageStatus.intValue() == ImageConsumer.SINGLEFRAMEDONE)
return true;
return false;
href = href.substring(1, href.length() - 1);
}
}
+
+ // check if already created
+ FopImage imageObject = (FopImage)m_urlMap.get(href);
+ if (imageObject != null)
+ return imageObject;
+
try {
// try url as complete first, this can cause
// a problem with relative uri's if there is an
// maybe relative
URL context_url = null;
String base = Configuration.getStringValue("baseDir");
+
if(base == null) {
throw new FopImageException("Error with image URL: "
+ e.getMessage()
+ " and no base directory is specified");
}
+
try {
absoluteURL = new URL(Configuration.getStringValue("baseDir")
+ absoluteURL.getFile());
}
}
- // check if already created
- FopImage imageObject = (FopImage)m_urlMap.get(absoluteURL.toString());
- if (imageObject != null)
- return imageObject;
-
// If not, check image type
ImageReader imgReader = null;
try {
} else if ("image/tga".equals(imgMimeType)) {
imgClassName = "org.apache.fop.image.JimiImage";
// imgClassName = "org.apache.fop.image.JAIImage";
+ } else if ("image/eps".equals(imgMimeType)) {
+ imgClassName = "org.apache.fop.image.EPSImage";
} else if ("image/tiff".equals(imgMimeType)) {
imgClassName = "org.apache.fop.image.JimiImage";
// imgClassName = "org.apache.fop.image.JAIImage";
+ "class " + imageClass.getName()
+ " doesn't implement org.apache.fop.image.FopImage interface");
}
- m_urlMap.put(absoluteURL.toString(), imageInstance);
+ m_urlMap.put(href, imageInstance);
return (FopImage)imageInstance;
}
* @see FopImage
*/
public class JpegImage extends AbstractFopImage {
+ boolean hasAPPEMarker = false;
+ boolean found_icc_profile = false;
+ boolean found_dimensions = false;
+
public JpegImage(URL href) throws FopImageException {
super(href);
}
protected void loadImage() throws FopImageException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ByteArrayOutputStream iccStream = new ByteArrayOutputStream();
InputStream inStream;
-
+ this.m_colorSpace = new ColorSpace(ColorSpace.DEVICE_UNKNOWN);
byte[] readBuf = new byte[4096];
int bytes_read;
int index = 0;
this.m_bitmaps[index + 8]);
if (this.m_bitmaps[index + 9] == 1) {
- this.m_colorSpace = new ColorSpace(
- ColorSpace.DEVICE_GRAY);
+ this.m_colorSpace.setColorSpace(ColorSpace.DEVICE_GRAY);
} else if (this.m_bitmaps[index + 9] == 3) {
- this.m_colorSpace =
- new ColorSpace(ColorSpace.DEVICE_RGB);
- } else {
+ this.m_colorSpace.setColorSpace(ColorSpace.DEVICE_RGB);
+ } else if (this.m_bitmaps[index + 9] == 4) {
+ this.m_colorSpace.setColorSpace(ColorSpace.DEVICE_CMYK);
+ }
+
+ found_dimensions = true;
+ if (found_icc_profile) {
cont = false;
- throw new FopImageException(
- "\n2 Error while loading image " +
- this.m_href.toString() +
- " : JpegImage - Invalid JPEG Header (bad color space " +
- this.m_bitmaps[index + 9] + ").");
+ break;
+ }
+ index += calcBytes(this.m_bitmaps[index + 2],
+ this.m_bitmaps[index + 3]) + 2;
+
+ } else if (uByte(this.m_bitmaps[index+1]) == 226 &&
+ this.m_bitmaps.length > (index+60)) {
+ // Check if ICC profile
+ byte[] icc_string = new byte[11];
+ System.arraycopy(this.m_bitmaps, index+4, icc_string, 0, 11);
+
+ /*
+ byte[] acsp = new byte[4];
+ System.arraycopy(this.m_bitmaps, index+18+36, acsp, 0, 4);
+ boolean first_chunk = false;
+ if ("acsp".equals(new String(acsp))) {
+ System.out.println("1st icc chunk");
+ first_chunk = true;
}
+ */
+ if ("ICC_PROFILE".equals(new String(icc_string))){
+ int chunkSize = calcBytes(this.m_bitmaps[index + 2],
+ this.m_bitmaps[index + 3]) + 2;
- cont = false;
- break;
+ if (iccStream.size() == 0)
+ iccStream.write(this.m_bitmaps, index+18, chunkSize - 20);
+ else
+ iccStream.write(this.m_bitmaps, index+16, chunkSize - 18); // eller 18..
+
+ }
- } else { // if (uByte(this.m_bitmaps[index + 1]) == headers[headerIndex]) {
+ index += calcBytes(this.m_bitmaps[index + 2],
+ this.m_bitmaps[index + 3]) + 2;
+ // Check for Adobe APPE Marker
+ } else if ((uByte(this.m_bitmaps[index]) == 0xff &&
+ uByte(this.m_bitmaps[index+1]) == 0xee &&
+ uByte(this.m_bitmaps[index+2]) == 0 &&
+ uByte(this.m_bitmaps[index+3]) == 14 &&
+ "Adobe".equals(new String(this.m_bitmaps, index+4, 5)))) {
+ // The reason for reading the APPE marker is that photoshop
+ // generates cmyk jpeg's with inverted values. The correct thing
+ // to do would be to interpret the values in the marker, but for now
+ // only assume that if APPE marker is present and colorspace is CMYK,
+ // the image is inverted.
+ hasAPPEMarker = true;
+
+ index += calcBytes(this.m_bitmaps[index + 2],
+ this.m_bitmaps[index + 3]) + 2;
+ } else {
index += calcBytes(this.m_bitmaps[index + 2],
this.m_bitmaps[index + 3]) + 2;
}
+
} else {
cont = false;
+ /*
throw new FopImageException(
"\n2 Error while loading image " +
this.m_href.toString() + " : JpegImage - Invalid JPEG Header (bad header byte).");
+ */
}
}
} else {
throw new FopImageException( "\n1 Error while loading image " +
this.m_href.toString() + " : JpegImage - Invalid JPEG Header.");
}
+ if (iccStream.size() > 0) {
+ byte[] align = new byte[((iccStream.size()) % 8) + 8];
+ try {iccStream.write(align);} catch (Exception e) {
+ throw new FopImageException( "\n1 Error while loading image " +
+ this.m_href.toString() + " : " + e.getMessage());
+ }
+ this.m_colorSpace.setICCProfile(iccStream.toByteArray());
+ }
+
+ if (hasAPPEMarker && this.m_colorSpace.getColorSpace() == ColorSpace.DEVICE_CMYK)
+ this.m_invertImage = true;
}
private int calcBytes(byte bOne, byte bTwo) {
--- /dev/null
+/*
+ * $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
+ */
+
+package org.apache.fop.image.analyser;
+
+// Java
+import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+
+// FOP
+import org.apache.fop.messaging.*;
+import org.apache.fop.image.SVGImage;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLReader;
+
+
+/**
+ * ImageReader object for SVG document image type.
+ */
+public class EPSReader extends AbstractImageReader {
+ private long[] bbox;
+ private boolean isAscii; // True if plain ascii eps file
+
+ // offsets if not ascii
+ long psStart = 0;
+ long psLength = 0;
+ long wmfStart = 0;
+ long wmfLength = 0;
+ long tiffStart = 0;
+ long tiffLength = 0;
+
+ /** raw eps file */
+ private byte[] rawEps;
+ /** eps part */
+ private byte[] epsFile;
+ private byte[] preview = null;
+
+ private long getLong(byte[] buf, int idx) {
+ int b1 = buf[idx] & 0xff;
+ int b2 = buf[idx+1] & 0xff;
+ int b3 = buf[idx+2] & 0xff;
+ int b4 = buf[idx+3] & 0xff;
+
+ //return (long)((b1 << 24) | (b2 << 16) | (b3 << 8) | b4);
+ return (long)((b4 << 24) | (b3 << 16) | (b2 << 8) | b1);
+ }
+
+ public boolean verifySignature(String uri, BufferedInputStream fis)
+ throws IOException {
+ boolean isEPS = false;
+ this.imageStream = fis;
+ fis.mark(32);
+ byte[] header = new byte[30];
+ fis.read(header, 0, 30);
+ fis.reset();
+
+ // Check if binary header
+ //if (getLong(header, 0) == 0xC5D0D3C6) {
+ if (getLong(header, 0) == 0xC6D3D0C5) {
+ isAscii = false;
+ isEPS = true;
+
+ psStart = getLong(header, 4);
+ psLength = getLong(header, 8);
+ wmfStart = getLong(header, 12);
+ wmfLength = getLong(header, 16);
+ tiffStart = getLong(header, 20);
+ tiffLength = getLong(header, 24);
+
+ } else {
+ // Check if plain ascii
+ byte[] epsh = "%!PS".getBytes();
+ if (epsh[0] == header[0] &&
+ epsh[1] == header[1] &&
+ epsh[2] == header[2] &&
+ epsh[3] == header[3]) {
+ isAscii = true;
+ isEPS = true;
+ }
+ }
+
+ if (isEPS) {
+ readEPSImage(fis);
+ bbox = readBBox();
+
+ if (bbox != null) {
+ width = (int)(bbox[2]-bbox[0]);
+ height = (int)(bbox[3]-bbox[1]);
+ } else {
+ // Ain't eps if no BoundingBox
+ isEPS = false;
+ }
+ }
+
+ return isEPS;
+ }
+
+ /** read the eps file and extract eps part */
+ private void readEPSImage(BufferedInputStream fis) throws IOException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ byte[] file;
+ byte[] readBuf = new byte[20480];
+ int bytes_read;
+ int index = 0;
+ boolean cont = true;
+
+
+ try {
+ while ((bytes_read = fis.read(readBuf)) != -1) {
+ baos.write(readBuf, 0, bytes_read);
+ }
+ } catch (java.io.IOException ex) {
+ throw new IOException("Error while loading EPS image " + ex.getMessage());
+ }
+
+ file = baos.toByteArray();
+
+ if (isAscii) {
+ rawEps = null;
+ epsFile = new byte[file.length];
+ System.arraycopy(file, 0, epsFile, 0, epsFile.length);
+ } else {
+ rawEps = new byte[file.length];
+ epsFile = new byte[(int)psLength];
+ System.arraycopy(file, 0, rawEps, 0, rawEps.length);
+ System.arraycopy(rawEps, (int)psStart, epsFile, 0, (int)psLength);
+ }
+ }
+
+ public byte[] getEpsFile() {
+ return epsFile;
+ }
+
+ /* Get embedded preview or null */
+ public byte[] getPreview() {
+ InputStream is = null;
+ if (preview == null) {
+ if (tiffLength > 0) {
+ preview = new byte[(int)tiffLength];
+ System.arraycopy(rawEps, (int)tiffStart, preview, 0, (int)tiffLength);
+ }
+ }
+ return preview;
+ }
+
+ /** Extract bounding box from eps part
+ */
+ private long[] readBBox() {
+ long[] mbbox = null;
+ int idx = 0;
+ byte[] bbxName = "%%BoundingBox: ".getBytes();
+ boolean found = false;
+
+ while (!found && (epsFile.length > (idx + bbxName.length))) {
+ boolean sfound = true;
+ int i = idx;
+ for (i = idx; sfound && (i-idx) < bbxName.length; i++) {
+ if (bbxName[i - idx] != epsFile[i])
+ sfound = false;
+ }
+ if (sfound) {
+ found = true;
+ idx = i;
+ } else {
+ idx++;
+ }
+ }
+
+ if (!found)
+ return mbbox;
+
+
+ mbbox = new long[4];
+ idx += readLongString(mbbox, 0, idx);
+ idx += readLongString(mbbox, 1, idx);
+ idx += readLongString(mbbox, 2, idx);
+ idx += readLongString(mbbox, 3, idx);
+
+ return mbbox;
+ }
+
+ private int readLongString(long[] mbbox, int i, int idx) {
+ while (idx < epsFile.length &&
+ (epsFile[idx] == 32))
+ idx++;
+
+ int nidx = idx;
+
+ while (nidx < epsFile.length &&
+ (epsFile[nidx] >= 48 && epsFile[nidx] <= 57))
+ nidx++;
+
+ byte[] num = new byte[nidx - idx];
+ System.arraycopy(epsFile, idx, num, 0, nidx-idx);
+ String ns = new String(num);
+ mbbox[i] = Long.parseLong(ns);
+
+ return (1+nidx - idx);
+ }
+
+ public String getMimeType() {
+ return "image/eps";
+ }
+
+ /**
+ * Return the BoundingBox
+ */
+ public int[] getBBox() {
+ int[] bbox = new int[4];
+ bbox[0] = (int)this.bbox[0];
+ bbox[1] = (int)this.bbox[1];
+ bbox[2] = (int)this.bbox[2];
+ bbox[3] = (int)this.bbox[3];
+ return bbox;
+ }
+}
+
formats.addElement(new GIFReader());
formats.addElement(new PNGReader());
formats.addElement(new TIFFReader());
+ formats.addElement(new EPSReader());
formats.addElement(new SVGReader());
//
return "";
}
+public boolean isXMLParserValidating() {
+return true;
+}
/**
* Returns the user stylesheet uri.
import org.apache.fop.apps.FOPException;
import org.apache.fop.fo.properties.FontVariant;
+import org.apache.fop.render.pdf.CodePointMapping;
public class FontState {
private int _fontVariant;
private FontMetric _metric;
+ private int _letterSpacing;
private static Hashtable EMPTY_HASHTABLE = new Hashtable();
_fontName = fontInfo.fontLookup(fontFamily, fontStyle, fontWeight);
_metric = fontInfo.getMetricsFor(_fontName);
_fontVariant = fontVariant;
+ _letterSpacing = 0;
}
+ public FontState(FontInfo fontInfo, String fontFamily, String fontStyle,
+ String fontWeight, int fontSize,
+ int fontVariant, int letterSpacing) throws FOPException {
+ this(fontInfo, fontFamily, fontStyle, fontWeight, fontSize,
+ fontVariant);
+ _letterSpacing = letterSpacing;
+ }
+
+
public int getAscender() {
return _metric.getAscender(_fontSize) / 1000;
}
+ public int getLetterSpacing() {
+ return _letterSpacing;
+ }
+
+
public int getCapHeight() {
return _metric.getCapHeight(_fontSize) / 1000;
}
public int width(int charnum) {
// returns width of given character number in millipoints
- return (_metric.width(charnum, _fontSize) / 1000);
+ return _letterSpacing + (_metric.width(charnum, _fontSize) / 1000);
}
/**
if (_metric instanceof org.apache.fop.render.pdf.Font) {
return ((org.apache.fop.render.pdf.Font)_metric).mapChar(c);
+ } else if (_metric instanceof org.apache.fop.render.awt.FontMetricsMapper) {
+ return c;
}
// Use default CodePointMapping
- if (c > 127) {
- char d = org.apache.fop.render.pdf.CodePointMapping.map[c];
- if (d != 0) {
- c = d;
- } else {
- c = '#';
- }
- }
+ char d = CodePointMapping.getMapping("WinAnsiEncoding").mapChar(c);
+ if (d != 0) {
+ c = d;
+ } else {
+ c = '#';
+ }
return c;
}
protected static final int NOTHING = 0;
protected static final int WHITESPACE = 1;
protected static final int TEXT = 2;
+ protected static final int MULTIBYTECHAR = 3;
/* the character type of the previous character */
protected int prev = NOTHING;
System.arraycopy(odata, 0, dataCopy, 0, odata.length);
boolean isText = false;
+ boolean isMultiByteChar = false;
/* iterate over each character */
for (int i = start; i < end; i++) {
|| (c == '\u2028'))) {
charWidth = getCharWidth(c);
isText = true;
+ isMultiByteChar = (c > 127);
// Add support for zero-width spaces
if (charWidth <= 0 && c != '\u200B' && c != '\uFEFF')
charWidth = whitespaceWidth;
charWidth = getCharWidth(c);
isText = false;
+ isMultiByteChar = false;
if (prev == WHITESPACE) {
return i + 1;
}
- } else if (prev == TEXT) {
+ } else if (prev == TEXT || prev == MULTIBYTECHAR ) {
// if current is WHITESPACE and previous TEXT
// the current word made it, so
spaceWidth = getCharWidth(c);
/*
- * here is the place for space-treatment value 'ignore':
+ * here is the place for white-space-treatment value 'ignore':
* if (this.spaceTreatment ==
* SpaceTreatment.IGNORE) {
* // do nothing
if (isText) { // current is TEXT
+ int curr = isMultiByteChar ? MULTIBYTECHAR : TEXT;
if (prev == WHITESPACE) {
// if current is TEXT and previous WHITESPACE
return i;
}
}
- prev = TEXT;
+ prev = curr;
wordStart = i;
wordLength = 1;
- } else if (prev == TEXT) {
- wordLength++;
- wordWidth += charWidth;
+ } else if (prev == TEXT || prev == MULTIBYTECHAR ) {
+ if ( prev == TEXT && curr == TEXT || ! canBreakMidWord()) {
+ wordLength++;
+ wordWidth += charWidth;
+ } else {
+
+// if (spaceWidth > 0) { // for text-align="justify"
+ InlineSpace is = new InlineSpace(spaceWidth);
+ if (prevUlState) {
+ is.setUnderlined(textState.getUnderlined());
+ }
+ if (prevOlState) {
+ is.setOverlined(textState.getOverlined());
+ }
+ if (prevLTState) {
+ is.setLineThrough(textState.getLineThrough());
+ }
+ addChild(is);
+ finalWidth += spaceWidth;
+ spaceWidth = 0;
+// }
+
+ // add any pending areas
+
+ Enumeration e = pendingAreas.elements();
+ while (e.hasMoreElements()) {
+ Box box = (Box)e.nextElement();
+ if (box instanceof InlineArea) {
+ if (ls != null) {
+ Rectangle lr =
+ new Rectangle(finalWidth, 0,
+ ((InlineArea)box).getContentWidth(),
+ fontState.getFontSize());
+ ls.addRect(lr, this, (InlineArea)box);
+ }
+ }
+ addChild(box);
+ }
+
+ finalWidth += pendingWidth;
+
+ // reset pending areas array
+ pendingWidth = 0;
+ pendingAreas = new Vector();
+
+ // add the current word
+
+ if (wordLength > 0) {
+ // The word might contain nonbreaking
+ // spaces. Split the word and add InlineSpace
+ // as necessary. All spaces inside the word
+ // Have a fixed width.
+ addSpacedWord(new String(data, wordStart, wordLength),
+ ls, finalWidth, 0, textState, false);
+ finalWidth += wordWidth;
+ }
+ spaceWidth = 0;
+ wordStart = i;
+ wordLength = 1;
+ wordWidth = charWidth;
+ }
+ prev = curr;
} else { // nothing previous
- prev = TEXT;
+ prev = curr;
wordStart = i;
wordLength = 1;
wordWidth = charWidth;
> this.getContentWidth()) {
// BREAK MID WORD
- if (canBreakMidWord()) {
+/* if (canBreakMidWord()) {
addSpacedWord(new String(data, wordStart, wordLength - 1),
ls,
finalWidth + spaceWidth
wordWidth = 0;
return i;
}
-
+*/
if (this.wrapOption == WrapOption.WRAP) {
if (hyphProps.hyphenate == Hyphenate.TRUE) {
}
} // end of iteration over text
- if (prev == TEXT) {
+ if (prev == TEXT || prev == MULTIBYTECHAR) {
if (spaceWidth > 0) {
InlineSpace pis = new InlineSpace(spaceWidth);
int whitespaceWidth =
currentFontState.width(currentFontState.mapChar(whitespaceIndex));
- int remainingWidth = this.getContentWidth()
- - this.getCurrentXPosition();
+ int remainingWidth = this.getRemainingWidth();
/**
* checks whether leaderLenghtOptimum fits into rest of line;
// we will only handle hard hyphens and slashes
if (getWordWidth(wordToHyphenate) < remainingWidth) {
inwordPunctuation =
- characters[wordStart + wordToHyphenate.length()];
+ characters[wordStart + remainingString.length()
+ + wordToHyphenate.length()];
if (inwordPunctuation == '-' || inwordPunctuation == '/') {
preString = new StringBuffer(wordToHyphenate);
preString = preString.append(inwordPunctuation);
wordToHyphenate =
getHyphenationWord(characters,
- wordStart + wordToHyphenate.length()
- + 1);
+ wordStart + remainingString.length()
+ + wordToHyphenate.length() + 1);
remainingWidth -=
(getWordWidth(wordToHyphenate)
+ this.currentFontState.width(currentFontState.mapChar(inwordPunctuation)));
}
public int getRemainingWidth() {
- return this.getContentWidth() - this.getCurrentXPosition();
+ return this.getContentWidth() + startIndent - this.getCurrentXPosition();
}
public void setLinkSet(LinkSet ls) {}
*/
public int addCharacter(char data, LinkSet ls, boolean ul) {
WordArea ia = null;
- int remainingWidth = this.getContentWidth()
- - this.getCurrentXPosition();
+ int remainingWidth = this.getRemainingWidth();
int width =
this.currentFontState.width(currentFontState.mapChar(data));
// if it doesn't fit, return
* versions of space that might not exists in the font.
*/
private int getCharWidth(char c) {
- int width = currentFontState.width(currentFontState.mapChar(c));
- if (width <= 0) {
- // Estimate the width of spaces not represented in
- // the font
- int em = currentFontState.width(currentFontState.mapChar('m'));
- int en = currentFontState.width(currentFontState.mapChar('n'));
- if (em <= 0)
- em = 500 * currentFontState.getFontSize();
- if (en <= 0)
- en = em - 10;
-
- if (c == ' ')
- width = em;
- if (c == '\u2000')
- width = en;
- if (c == '\u2001')
- width = em;
- if (c == '\u2002')
- width = em / 2;
- if (c == '\u2003')
- width = currentFontState.getFontSize();
- if (c == '\u2004')
- width = em / 3;
- if (c == '\u2005')
- width = em / 4;
- if (c == '\u2006')
- width = em / 6;
- if (c == '\u2007')
- width = getCharWidth(' ');
- if (c == '\u2008')
- width = getCharWidth('.');
- if (c == '\u2009')
- width = em / 5;
- if (c == '\u200A')
- width = 5;
- if (c == '\u200B')
- width = 100;
- if (c == '\u00A0')
- width = getCharWidth(' ');
- if (c == '\u202F')
- width = getCharWidth(' ') / 2;
- if (c == '\u3000')
- width = getCharWidth(' ') * 2;
- if ((c == '\n') || (c == '\r') || (c == '\t'))
- width = getCharWidth(' ');
+ int width;
+
+ if ((c == '\n') || (c == '\r') || (c == '\t') || (c == '\u00A0')) {
+ width = getCharWidth(' ');
+ } else {
+ width = currentFontState.width(currentFontState.mapChar(c));
+ if (width <= 0) {
+ // Estimate the width of spaces not represented in
+ // the font
+ int em = currentFontState.width(currentFontState.mapChar('m'));
+ int en = currentFontState.width(currentFontState.mapChar('n'));
+ if (em <= 0)
+ em = 500 * currentFontState.getFontSize();
+ if (en <= 0)
+ en = em - 10;
+
+ if (c == ' ')
+ width = em;
+ if (c == '\u2000')
+ width = en;
+ if (c == '\u2001')
+ width = em;
+ if (c == '\u2002')
+ width = em / 2;
+ if (c == '\u2003')
+ width = currentFontState.getFontSize();
+ if (c == '\u2004')
+ width = em / 3;
+ if (c == '\u2005')
+ width = em / 4;
+ if (c == '\u2006')
+ width = em / 6;
+ if (c == '\u2007')
+ width = getCharWidth(' ');
+ if (c == '\u2008')
+ width = getCharWidth('.');
+ if (c == '\u2009')
+ width = em / 5;
+ if (c == '\u200A')
+ width = 5;
+ if (c == '\u200B')
+ width = 100;
+ if (c == '\u202F')
+ width = getCharWidth(' ') / 2;
+ if (c == '\u3000')
+ width = getCharWidth(' ') * 2;
+ }
}
return width;
// a table
private ID curIDCounter = new ID();
+ public final static String MIFEncode(String val) {
+ int len = val.length();
+ StringBuffer buf = new StringBuffer(len * 2);
+ char c;
+
+ for(int i = 0; i < len; i++) {
+ c = val.charAt(i);
+ switch(c) {
+ case '\u00e0': buf.append("\\x88 "); break;
+ case '\u00e8': buf.append("\\x8f "); break;
+ case '\u00ec': buf.append("\\x93 "); break;
+ case '\u00f2': buf.append("\\x98 "); break;
+ case '\u00f9': buf.append("\\x9d "); break;
+ case '\u00c0': buf.append("\\xcb "); break;
+ case '\u00c8': buf.append("\\xe9 "); break;
+ case '\u00cc': buf.append("\\xed "); break;
+ case '\u00d2': buf.append("\\xf1 "); break;
+ case '\u00d9': buf.append("\\xf4 "); break;
+
+ case '\u00e1': buf.append("\\x87 "); break;
+ case '\u00e9': buf.append("\\x8e "); break;
+ case '\u00ed': buf.append("\\x92 "); break;
+ case '\u00f3': buf.append("\\x97 "); break;
+ case '\u00fa': buf.append("\\x9c "); break;
+ case '\u00c1': buf.append("\\xe7 "); break;
+ case '\u00c9': buf.append("\\x83 "); break;
+ case '\u00cd': buf.append("\\xea "); break;
+ case '\u00d3': buf.append("\\xee "); break;
+ case '\u00da': buf.append("\\xf2 "); break;
+
+ case '\u00f1': buf.append("\\x96 "); break;
+ case '\u00d1': buf.append("\\x84 "); break;
+
+ case '\u00e7': buf.append("\\x8d "); break;
+ case '\u00c7': buf.append("\\x82 "); break;
+
+ case '`': buf.append("\\xd4 "); break;
+ case '\'': buf.append("\\xd5 "); break;
+ case '\u00b4': buf.append("\\xab "); break;
+ case '\u00aa': buf.append("\\xbb "); break;
+ case '\u00ba': buf.append("\\xbc "); break;
+
+ case '>': buf.append("\\>"); break;
+ default: buf.append(c);
+ }
+ }
+ return buf.toString();
+ }
+
class ID {
private int idCounter = 1;
public TextRect curTextRect() {
+ //temporary fix for NoSuchElementException
+ if (textRects.isEmpty()) {
+ TextRect textRect = new TextRect(1);
+ this.textRects.addElement(textRect);
+ }
+
return (TextRect)textRects.lastElement();
}
mif = "\n<Char HardReturn>";
} else {
- mif = "\n\t<String `" + elem + "'>";
+ mif = "\n\t<String `" + MIFEncode((String)elem) + "'>";
}
stream.write(mif.getBytes());
/**
* creates an empty PDF document <p>
- *
+ *
* The constructor creates a /Root and /Pages object to
* track the document but does not write these objects until
* the trailer is written. Note that the object ID of the
}
+ public PDFICCStream makePDFICCStream() {
+ PDFICCStream iccStream = new PDFICCStream(++this.objectcount);
+ this.objects.add(iccStream);
+ return iccStream;
+ }
+
/**
* make a Type1 /Font object
*
if (xObject != null)
return xObject.getXNumber();
// else, create a new one
- xObject = new PDFXObject(++this.objectcount, ++this.xObjectCount,
- img);
+ xObject = new PDFXObject(++this.objectcount, ++this.xObjectCount, img, this);
this.objects.addElement(xObject);
this.xObjects.addElement(xObject);
this.xObjectsMap.put(url, xObject);
//next line by lmckenzi@ca.ibm.com
//solves when IDNode made before IDReferences.createID called
//idReferences.createNewId(destination);
-
- idReferences.createUnvalidatedID(destination);
+
+ idReferences.createUnvalidatedID(destination);
idReferences.addToIdValidationList(destination);
goToReference = idReferences.createInternalLinkGoTo(destination,
++this.objectcount);
--- /dev/null
+/*
+ * $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
+ */
+
+package org.apache.fop.pdf;
+import org.apache.fop.datatypes.ColorSpace;
+
+public class PDFICCStream extends PDFStream {
+ private int origLength;
+ private int len1, len3;
+ private byte[] originalData = null;
+
+ private ColorSpace cs;
+
+ public void setColorSpace(ColorSpace cs) throws java.io.IOException {
+ this.cs = cs;
+ setData(cs.getICCProfile());
+ }
+
+ public PDFICCStream(int num) {
+ super(num);
+ cs = null;
+ }
+
+ public PDFICCStream(int num, ColorSpace cs) throws java.io.IOException {
+ super(num);
+ setColorSpace(cs);
+ }
+
+ // overload the base object method so we don't have to copy
+ // byte arrays around so much
+ protected int output(java.io.OutputStream stream)
+ throws java.io.IOException {
+ int length = 0;
+ String filterEntry = applyFilters();
+ StringBuffer pb = new StringBuffer();
+ pb.append(this.number).append(" ").append(this.generation).append(" obj\n<< ");
+ pb.append("/N ").append(cs.getNumComponents()).append(" ");
+
+ if (cs.getColorSpace() > 0)
+ pb.append("/Alternate /").append(cs.getColorSpacePDFString()).append(" ");
+
+ pb.append("/Length ").append((_data.size() + 1)).append(" ").append(filterEntry);
+ pb.append(" >>\n");
+ byte[] p = pb.toString().getBytes();
+ stream.write(p);
+ length += p.length;
+ length += outputStreamData(stream);
+ p = "endobj\n".getBytes();
+ stream.write(p);
+ length += p.length;
+ return length;
+ }
+
+
+}
p = "endobj\n".getBytes();
stream.write(p);
length += p.length;
- System.out.println("Embedded Type1 font");
+ //System.out.println("Embedded Type1 font");
return length;
}
public void setData(byte[] data, int size) throws java.io.IOException {
_data.reset();
- System.out.println("Writing " + size + " bytes of font data");
+ //System.out.println("Writing " + size + " bytes of font data");
_data.write(data, 0, size);
}
// FOP
import org.apache.fop.datatypes.ColorSpace;
+import org.apache.fop.pdf.PDFDocument;
+import org.apache.fop.pdf.PDFICCStream;
import org.apache.fop.image.FopImage;
+import org.apache.fop.image.EPSImage;
+import org.apache.fop.image.JpegImage;
import org.apache.fop.image.FopImageException;
/**
* the dictionary just provides information like the stream length
*/
public class PDFXObject extends PDFObject {
+ private boolean isPS;
+ private PDFDocument pdfDoc;
+ private PDFICCStream pdfICCStream;
FopImage fopimage;
int Xnum;
-
/**
* create an Xobject with the given number and name and load the
* image in the object
*/
public PDFXObject(int number, int Xnumber, FopImage img) {
+ this(number, Xnumber, img, null);
+ }
+
+ public PDFXObject(int number, int Xnumber, FopImage img, PDFDocument pdfdoc) {
super(number);
+ isPS = false;
this.Xnum = Xnumber;
if (img == null)
MessageHandler.errorln("FISH");
fopimage = img;
+ this.pdfDoc = pdfdoc;
+ pdfICCStream = null;
+ try {
+ if (fopimage instanceof JpegImage) {
+ fopimage.getBitmaps();
+ JpegImage jpegimage = (JpegImage)fopimage;
+ if (jpegimage.getColorSpace().hasICCProfile()) {
+ pdfICCStream = pdfDoc.makePDFICCStream();
+ pdfICCStream.setColorSpace(jpegimage.getColorSpace());
+ pdfICCStream.addDefaultFilters();
+ }
+ }
+ } catch (Exception e) {
+ MessageHandler.errorln("Error while reading image " + fopimage.getURL() +
+ ": " + e.getMessage());
+ }
}
/**
protected int output(OutputStream stream) throws IOException {
int length = 0;
int i = 0;
- int x, y;
try {
- // delegate the stream work to PDFStream
- PDFStream imgStream = new PDFStream(0);
-
- imgStream.setData(fopimage.getBitmaps());
-
- /*
- * Added by Eric Dalquist
- * If the DCT filter hasn't been added to the object we add it here
- */
- if (fopimage.getPDFFilter() != null) {
- imgStream.addFilter(fopimage.getPDFFilter());
- }
-
- imgStream.addDefaultFilters();
-
- String dictEntries = imgStream.applyFilters();
-
- String p = this.number + " " + this.generation + " obj\n";
- p = p + "<</Type /XObject\n";
- p = p + "/Subtype /Image\n";
- p = p + "/Name /Im" + Xnum + "\n";
- p = p + "/Length " + imgStream.getDataLength() + "\n";
- p = p + "/Width " + fopimage.getWidth() + "\n";
- p = p + "/Height " + fopimage.getHeight() + "\n";
- p = p + "/BitsPerComponent " + fopimage.getBitsPerPixel() + "\n";
- ColorSpace cs = fopimage.getColorSpace();
- p = p + "/ColorSpace /" + cs.getColorSpacePDFString() + "\n";
- if (fopimage.isTransparent()) {
- PDFColor transp = fopimage.getTransparentColor();
- p = p + "/Mask [" + transp.red255() + " " + transp.red255()
- + " " + transp.green255() + " " + transp.green255() + " "
- + transp.blue255() + " " + transp.blue255() + "]\n";
+ if (fopimage instanceof EPSImage) {
+ isPS = true;
+ EPSImage epsImage = (EPSImage)fopimage;
+ int[] bbox = epsImage.getBBox();
+ int bboxw = bbox[2] - bbox[0];
+ int bboxh = bbox[3] - bbox[1];
+
+ // delegate the stream work to PDFStream
+ PDFStream imgStream = new PDFStream(0);
+
+ StringBuffer preamble = new StringBuffer();
+ preamble.append("%%BeginDocument: " + epsImage.getDocName() + "\n");
+
+ preamble.append("userdict begin % Push userdict on dict stack\n");
+ preamble.append("/PreEPS_state save def\n");
+ preamble.append("/dict_stack countdictstack def\n");
+ preamble.append("/ops_count count 1 sub def\n");
+ preamble.append("/showpage {} def\n");
+
+
+ preamble.append((double)(1f/(double)bboxw) + " " + (double)(1f/(double)bboxh) + " scale\n");
+ preamble.append(-bbox[0] + " " + (-bbox[1]) + " translate\n");
+ preamble.append(bbox[0] + " " + bbox[1] + " " + bboxw + " " + bboxh + " rectclip\n");
+ preamble.append("newpath\n");
+
+ StringBuffer post = new StringBuffer();
+ post.append("%%EndDocument\n");
+ post.append("count ops_count sub {pop} repeat\n");
+ post.append("countdictstack dict_stack sub {end} repeat\n");
+ post.append("PreEPS_state restore\n");
+ post.append("end % userdict\n");
+
+ byte[] preBytes = preamble.toString().getBytes();
+ byte[] postBytes = post.toString().getBytes();
+ byte[] imgData = new byte[preBytes.length + postBytes.length + fopimage.getBitmaps().length];
+
+ System.arraycopy (preBytes, 0, imgData, 0, preBytes.length);
+ System.arraycopy (fopimage.getBitmaps(), 0, imgData, preBytes.length, fopimage.getBitmaps().length);
+ System.arraycopy (postBytes, 0, imgData, preBytes.length + fopimage.getBitmaps().length, postBytes.length);
+
+
+ imgStream.setData(imgData);
+ //imgStream.addFilter(new FlateFilter());
+ imgStream.addDefaultFilters();
+
+ String dictEntries = imgStream.applyFilters();
+
+ String p = this.number + " " + this.generation + " obj\n";
+ p = p + "<</Type /XObject\n";
+ p = p + "/Subtype /PS\n";
+ p = p + "/Length " + imgStream.getDataLength();
+
+ // don't know if it's the good place (other objects can have references to it)
+ fopimage.close();
+ p = p + dictEntries;
+ p = p + ">>\n";
+
+ // push the pdf dictionary on the writer
+ byte[] pdfBytes = p.getBytes();
+ stream.write(pdfBytes);
+ length += pdfBytes.length;
+ // push all the image data on the writer and takes care of length for trailer
+ length += imgStream.outputStreamData(stream);
+
+ pdfBytes = ("endobj\n").getBytes();
+ stream.write(pdfBytes);
+ length += pdfBytes.length;
+
+ } else {
+
+ // delegate the stream work to PDFStream
+ PDFStream imgStream = new PDFStream(0);
+
+ imgStream.setData(fopimage.getBitmaps());
+
+ /*
+ * Added by Eric Dalquist
+ * If the DCT filter hasn't been added to the object we add it here
+ */
+ if (fopimage.getPDFFilter() != null) {
+ imgStream.addFilter(fopimage.getPDFFilter());
+ }
+
+ imgStream.addDefaultFilters();
+
+ String dictEntries = imgStream.applyFilters();
+
+ String p = this.number + " " + this.generation + " obj\n";
+ p = p + "<</Type /XObject\n";
+ p = p + "/Subtype /Image\n";
+ p = p + "/Name /Im" + Xnum + "\n";
+ p = p + "/Length " + imgStream.getDataLength() + "\n";
+ p = p + "/Width " + fopimage.getWidth() + "\n";
+ p = p + "/Height " + fopimage.getHeight() + "\n";
+ p = p + "/BitsPerComponent " + fopimage.getBitsPerPixel() + "\n";
+
+ if (pdfICCStream != null ) {
+ p = p + "/ColorSpace [/ICCBased " + pdfICCStream.referencePDF() + "]\n";
+ } else {
+ ColorSpace cs = fopimage.getColorSpace();
+ p = p + "/ColorSpace /" + cs.getColorSpacePDFString() + "\n";
+ }
+
+ /* PhotoShop generates CMYK values that's inverse,
+ */
+ if (fopimage.getColorSpace().getColorSpace() == ColorSpace.DEVICE_CMYK &&
+ fopimage.invertImage()) {
+ p = p + "/Decode [ 1.0 0.0 1.0 0.0 1.0 0.0 1.1 0.0 ]\n";
+ }
+
+ if (fopimage.isTransparent()) {
+ PDFColor transp = fopimage.getTransparentColor();
+ p = p + "/Mask [" + transp.red255() + " " + transp.red255()
+ + " " + transp.green255() + " " + transp.green255() + " "
+ + transp.blue255() + " " + transp.blue255() + "]\n";
+ }
+ p = p + dictEntries;
+ p = p + ">>\n";
+
+ // don't know if it's the good place (other objects can have references to it)
+ fopimage.close();
+
+ // push the pdf dictionary on the writer
+ byte[] pdfBytes = p.getBytes();
+ stream.write(pdfBytes);
+ length += pdfBytes.length;
+ // push all the image data on the writer and takes care of length for trailer
+ length += imgStream.outputStreamData(stream);
+
+ pdfBytes = ("endobj\n").getBytes();
+ stream.write(pdfBytes);
+ length += pdfBytes.length;
}
- p = p + dictEntries;
- p = p + ">>\n";
-
- // don't know if it's the good place (other objects can have references to it)
- fopimage.close();
-
- // push the pdf dictionary on the writer
- byte[] pdfBytes = p.getBytes();
- stream.write(pdfBytes);
- length += pdfBytes.length;
- // push all the image data on the writer and takes care of length for trailer
- length += imgStream.outputStreamData(stream);
-
- pdfBytes = ("endobj\n").getBytes();
- stream.write(pdfBytes);
- length += pdfBytes.length;
} catch (FopImageException imgex) {
MessageHandler.errorln("Error in XObject : "
+ imgex.getMessage());
prevUnderlineXEndPos + space.getSize(),
prevUnderlineYEndPos, prevUnderlineSize,
prevUnderlineColor);
+ // save position for a following InlineSpace
+ prevUnderlineXEndPos = prevUnderlineXEndPos + space.getSize();
}
}
if (space.getOverlined()) {
prevOverlineXEndPos + space.getSize(),
prevOverlineYEndPos, prevOverlineSize,
prevOverlineColor);
+ prevOverlineXEndPos = prevOverlineXEndPos + space.getSize();
}
}
if (space.getLineThrough()) {
prevLineThroughXEndPos + space.getSize(),
prevLineThroughYEndPos, prevLineThroughSize,
prevLineThroughColor);
+ prevLineThroughXEndPos = prevLineThroughXEndPos + space.getSize();
}
}
}
// Java
import java.util.Enumeration;
import java.util.Hashtable;
+import java.io.FileInputStream;
import java.awt.Component;
import java.awt.Font;
import java.awt.Graphics;
*/
Graphics2D graphics;
+ /**
+ * Embed Font List.
+ */
+ private Hashtable embedFontList = null;
+
+ /**
+ * Physical Font Cash.
+ */
+ private Hashtable fontCash = null;
+
/**
* Constructs a new Font-metrics.
* @param parent an temp graphics object - this is needed so
int s = (int)(size / 1000f);
if (f1 == null) {
- f1 = new Font(family, style, s);
+ f1 = createFont(family, style, s);
fmt = graphics.getFontMetrics(f1);
changed = true;
} else {
if (family.equals(this.family)) {
f1 = f1.deriveFont(style, (float)s);
} else
- f1 = new Font(family, style, s);
+ f1 = createFont(family, style, s);
fmt = graphics.getFontMetrics(f1);
changed = true;
}
return changed;
}
+ /**
+ * set embed font.
+ * @param family font-family name
+ * @param style font style
+ * @param fontPath path to phsical font
+ */
+ public void setEmbedFont(String family,int style,String fontPath) {
+ if (embedFontList == null)
+ embedFontList = new Hashtable();
+ embedFontList.put(family+style,fontPath);
+ }
+
+ /**
+ * create Font to draw.
+ * @param family font-family name
+ * @param style font style
+ * @param size font size
+ */
+ public java.awt.Font createFont(String family, int style, int size) {
+ String fontPath = null;
+ if (embedFontList != null)
+ fontPath = (String)embedFontList.get(family+style);
+ if (fontPath == null)
+ return new Font(family, style, size);
+ // lazy instanciation for fontCash.
+ if (fontCash == null)
+ fontCash = new Hashtable();
+ Font cashedFont = (Font)fontCash.get(fontPath);
+ if (cashedFont == null) {
+ // Create specified TrueType Font.
+ FileInputStream fontStream = null;
+ try {
+ MessageHandler.logln("create embedFont "+fontPath);
+ fontStream = new FileInputStream(fontPath);
+ // createFont methods supports higer than JDK1.3
+ // Currently supports only TrueType font.
+ cashedFont = Font.createFont(Font.TRUETYPE_FONT,fontStream);
+ } catch(Throwable th) {
+ MessageHandler.error("Failed to create embedFont "+
+ fontPath + " : " + th.toString());
+ // if failed create font, use system "Dialog" logical font
+ // name for each Locale.
+ cashedFont = new Font("Dialog", style, size);
+ } finally {
+ if (fontStream != null)
+ try { fontStream.close(); } catch(Exception ex) {}
+ }
+ fontCash.put(fontPath,cashedFont);
+ }
+ Font font = cashedFont.deriveFont(style, (float)size);
+ return font;
+ }
/**
* Returns a java.awt.Font instance for the desired
int starty = pageHeight - ((y + 500) / 1000);
int endx = (x + w + 500) / 1000;
int endy = pageHeight - ((y + h + 500) / 1000);
- if (drawAsOutline)
+ if (drawAsOutline) {
graphics.drawRect(startx, starty, endx - startx, endy - starty);
- else
+ } else {
+ //don't round down to zero
+ if (w != 0 && endx == startx) endx++;
+ if (h != 0 && endy == starty) endy++;
graphics.fillRect(startx, starty, endx - startx, endy - starty);
+ }
}
protected void addFilledRect(int x, int y, int w, int h,
metric = new AWTFontMetrics(graphics);
}
+ /**
+ * Create Original Font.
+ * @param fontPath path to truetype font
+ */
+ public void setEmbedFont(String fontPath) {
+ metric.setEmbedFont(family,style,fontPath);
+ }
+
/**
* Determines the font ascent of the Font described by this
* FontMetrics object
import org.apache.fop.messaging.MessageHandler;
import org.apache.fop.layout.FontInfo;
import org.apache.fop.layout.FontDescriptor;
+import org.apache.fop.configuration.Configuration;
+import org.apache.fop.configuration.FontTriplet;
// Java
import java.util.Enumeration;
import java.util.Hashtable;
import java.awt.Font;
import java.awt.Graphics2D;
+import java.util.Vector;
/**
* sets up the AWT fonts. It is similar to
*/
public class FontSetup {
+ /** Regular */
+ private static int normal = java.awt.Font.PLAIN;
+ /** Bold */
+ private static int bold = java.awt.Font.BOLD;
+ /** Italic */
+ private static int italic = java.awt.Font.ITALIC;
+ /** BoldItalic */
+ private static int bolditalic = java.awt.Font.BOLD + java.awt.Font.ITALIC;
/**
* sets up the font info object.
*/
public static void setup(FontInfo fontInfo, Graphics2D graphics) {
FontMetricsMapper metric;
- int normal, bold, bolditalic, italic;
MessageHandler.logln("setting up fonts");
* SansSerif - bold, normal, italic, bold-italic
* MonoSpaced - bold, normal, italic, bold-italic
*/
- normal = java.awt.Font.PLAIN;
- bold = java.awt.Font.BOLD;
- italic = java.awt.Font.ITALIC;
- bolditalic = java.awt.Font.BOLD + java.awt.Font.ITALIC;
metric = new FontMetricsMapper("SansSerif", normal, graphics);
// --> goes to F1
fontInfo.addFontProperties("F8", "Times Roman", "italic", "bold");
fontInfo.addFontProperties("F9", "Computer-Modern-Typewriter",
"normal", "normal");
+
+ /* Add configured fonts */
+ addConfiguredFonts(fontInfo, 15, graphics);
+ }
+
+ /**
+ * Add fonts from configuration file starting with
+ * internalnames F<num>
+ */
+ public static void addConfiguredFonts(
+ FontInfo fontInfo, int num, Graphics2D graphics) {
+ FontMetricsMapper metric;
+ String internalName = null;
+
+ Vector fontInfos = Configuration.getFonts();
+ if (fontInfos == null)
+ return;
+
+ for (Enumeration e = fontInfos.elements(); e.hasMoreElements(); ) {
+ org.apache.fop.configuration.FontInfo configFontInfo =
+ (org.apache.fop.configuration.FontInfo)e.nextElement();
+
+ try {
+ String metricsFile = configFontInfo.getMetricsFile();
+ if (metricsFile != null) {
+ internalName = "F" + num;
+ num++;
+
+ Vector triplets = configFontInfo.getFontTriplets();
+ for (Enumeration t = triplets.elements();
+ t.hasMoreElements(); ) {
+ FontTriplet triplet = (FontTriplet)t.nextElement();
+ boolean embed = configFontInfo.getEmbedFile() != null;
+ // if embed font is not specified, use system "Dialog"
+ // logical font name for each Locale.
+ String family = embed ? triplet.getName() : "Dialog";
+ metric = new FontMetricsMapper(family,
+ getFontMetrics(triplet),
+ graphics);
+ if (embed)
+ metric.setEmbedFont(configFontInfo.getEmbedFile());
+ fontInfo.addMetrics(internalName, metric);
+ fontInfo.addFontProperties(internalName,
+ triplet.getName(),
+ triplet.getStyle(),
+ triplet.getWeight());
+ }
+ }
+ } catch (Exception ex) {
+ MessageHandler.error("Failed to read font metrics file "
+ + configFontInfo.getMetricsFile()
+ + " : " + ex.getMessage());
+ }
+ }
}
+ /**
+ * Return configured font metrics value.
+ */
+ private static int getFontMetrics(FontTriplet triplet) {
+ boolean isBold = ("bold".equalsIgnoreCase(triplet.getWeight()));
+ boolean isItalic = ("italic".equalsIgnoreCase(triplet.getStyle()));
+ if (isBold && isItalic) {
+ return bolditalic;
+ } else if (isBold) {
+ return bold;
+ } else if (isItalic) {
+ return italic;
+ }
+ return normal;
+ }
}
}
/**
- * Provide a default mapping
+ * map a Unicode character to a code point in the font
*/
- public char mapChar(char c) {
- // Use default CodePointMapping
- if (c > 127) {
- char d = org.apache.fop.render.pdf.CodePointMapping.map[c];
- if (d != 0) {
- c = d;
- } else {
- c = '#';
- }
- }
- return c;
- }
-
+ public abstract char mapChar(char c);
}
addWordLines(area, rx, bl, size, areaColor);
+ // Set letterSpacing
+ float ls = area.getFontState().getLetterSpacing() / this.currentFontSize;
+ pdf.append(ls).append(" Tc\n");
+
if (!textOpen || bl != prevWordY) {
closeText();
prevWordWidth = area.getContentWidth();
prevWordX = rx;
-
String s;
if (area.getPageNumberID()
!= null) { // this text is a page number, so resolve it
}
}
+
public void render(Page page, OutputStream outputStream)
throws FOPException, IOException {
// log.debug("rendering single page to PDF");
package org.apache.fop.render.pdf.fonts;
import org.apache.fop.render.pdf.Font;
+import org.apache.fop.render.pdf.CodePointMapping;
import org.apache.fop.layout.FontDescriptor;
import org.apache.fop.fonts.Glyphs;
import org.apache.fop.pdf.PDFStream;
public class SingleByteFont extends Font implements FontDescriptor {
public String fontName = null;
public String encoding = "WinAnsiEncoding";
+ private final CodePointMapping mapping
+ = CodePointMapping.getMapping("WinAnsiEncoding");
public int capHeight = 0;
public int xHeight = 0;
return arr;
}
+ public char mapChar(char c) {
+ char d = mapping.mapChar(c);
+ if(d != 0)
+ return d;
+ else
+ return '#';
+ }
+
}
this.m_bitmaps = result;
this.m_mask = mask;
}
+ public boolean invertImage() {
+return false;
+}
public String getURL() {
return "" + m_bitmaps;
import org.apache.fop.render.Renderer;
import org.apache.fop.image.ImageArea;
import org.apache.fop.image.FopImage;
+import org.apache.fop.image.JpegImage;
import org.apache.fop.image.FopImageException;
import org.apache.fop.layout.*;
import org.apache.fop.layout.inline.*;
write("/M/moveto ld");
write("/RM/rmoveto ld");
write("/t/show ld");
+ write("/A/ashow ld");
write("/ux 0.0 def");
write("/uy 0.0 def");
BridgeContext ctx = new BridgeContext(userAgent);
GraphicsNode root;
- try {
+ try {
root = builder.build(ctx, doc);
- } catch (Exception e) {
+ } catch (Exception e) {
log.error("svg graphic could not be built: "
- + e.getMessage(), e);
+ + e.getMessage(), e);
return;
}
// get the 'width' and 'height' attributes of the SVG document
movetoCurrPosition();
}
+ public void renderEPS(FopImage img, int x, int y, int w, int h) {
+ try {
+ EPSImage eimg = (EPSImage)img;
+ int[] bbox = eimg.getBBox();
+ int bboxw = bbox[2] - bbox[0];
+ int bboxh = bbox[3] - bbox[1];
+
+
+ write("%%BeginDocument: " + eimg.getDocName());
+ write("BeginEPSF");
+
+ write(x + " " + (y - h) + " translate");
+ write("0.0 rotate");
+ write((long)(w/bboxw) + " " + (long)(h/bboxh) + " scale");
+ write(-bbox[0] + " " + (-bbox[1]) + " translate");
+ write(bbox[0] + " " + bbox[1] + " " + bboxw + " " + bboxh + " rectclip");
+ write("newpath");
+ out.writeByteArr(img.getBitmaps());
+ write("%%EndDocument");
+ write("EndEPSF");
+ write("");
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("PSRenderer.renderImageArea(): Error rendering bitmap ("
+ + e.getMessage() + ")", e);
+ }
+ }
+
public void renderBitmap(FopImage img, int x, int y, int w, int h) {
try {
boolean iscolor = img.getColorSpace().getColorSpace()
byte[] imgmap = img.getBitmaps();
write("gsave");
- write("/DeviceRGB setcolorspace");
+ if (img.getColorSpace().getColorSpace() == ColorSpace.DEVICE_CMYK)
+ write("/DeviceCMYK setcolorspace");
+ else
+ write("/DeviceRGB setcolorspace");
+
write(x + " " + (y - h) + " translate");
write(w + " " + h + " scale");
write("<<");
write(" /Width " + img.getWidth());
write(" /Height " + img.getHeight());
write(" /BitsPerComponent 8");
- if (iscolor) {
+ if (img.getColorSpace().getColorSpace() == ColorSpace.DEVICE_CMYK) {
+ if (img.invertImage())
+ write(" /Decode [1 0 1 0 1 0 1 0]");
+ else
+ write(" /Decode [0 1 0 1 0 1 0 1]");
+ } else if (iscolor) {
write(" /Decode [0 1 0 1 0 1]");
} else {
write(" /Decode [0 1]");
// Setup scanning for left-to-right and top-to-bottom
write(" /ImageMatrix [" + img.getWidth() + " 0 0 -"
+ img.getHeight() + " 0 " + img.getHeight() + "]");
- write(" /DataSource currentfile /ASCII85Decode filter /FlateDecode filter");
+
+ if (img instanceof JpegImage)
+ write(" /DataSource currentfile /ASCII85Decode filter /DCTDecode filter");
+ else
+ write(" /DataSource currentfile /ASCII85Decode filter /FlateDecode filter");
// write(" /DataSource currentfile /ASCIIHexDecode filter /FlateDecode filter");
// write(" /DataSource currentfile /ASCII85Decode filter /RunLengthDecode filter");
// write(" /DataSource currentfile /ASCIIHexDecode filter /RunLengthDecode filter");
InputStream bain = new ByteArrayInputStream(imgmap);
InputStream in;
in = bain;
- in = FlateEncodeFilter.filter(in);
+ if (!(img instanceof JpegImage))
+ in = FlateEncodeFilter.filter(in);
// in = RunLengthEncodeFilter.filter(in);
// in = ASCIIHexEncodeFilter.filter(in);
in = ASCII85EncodeFilter.filter(in);
imagecount++;
// if (imagecount!=4) return;
- comment("% --- ImageArea");
+ comment("% --- ImageArea");
if (area.getImage() instanceof SVGImage) {}
- else {
+ else if (area.getImage() instanceof EPSImage) {
+ renderEPS(area.getImage(), x, y, w, h);
+ } else {
renderBitmap(area.getImage(), x, y, w, h);
}
comment("% --- ImageArea end");
s = area.getText();
}
int l = s.length();
-
+
for (int i = 0; i < l; i++) {
char ch = s.charAt(i);
char mch = fs.mapChar(ch);
sb = sb.append(mch);
}
}
+
+ String psString = null;
+ if (area.getFontState().getLetterSpacing() > 0) {
+ float f = area.getFontState().getLetterSpacing() * 1000 / this.currentFontSize;
+ psString = (new StringBuffer().append(f).append(" 0.0 (").append(sb).
+ append(") A")).toString();
+ } else {
+ psString = (new StringBuffer("(").append(sb).append(") t")).toString();
+ }
+
+
// System.out.println("["+s+"] --> ["+sb.toString()+"]");
// comment("% --- InlineArea font-weight="+fontWeight+": " + sb.toString());
if (area.getUnderlined() || area.getLineThrough()
|| area.getOverlined())
write("ULS");
- write("(" + sb.toString() + ") t");
+ write(psString);
if (area.getUnderlined())
write("ULE");
if (area.getLineThrough())
write("%%EndProlog");
write("%%BeginSetup");
writeFontDict(fontInfo);
+
+ /* Write proc for including EPS */
+ write("%%BeginResource: procset EPSprocs");
+ write("%%Title: EPS encapsulation procs");
+
+ write("/BeginEPSF { %def");
+ write("/b4_Inc_state save def % Save state for cleanup");
+ write("/dict_count countdictstack def % Count objects on dict stack");
+ write("/op_count count 1 sub def % Count objects on operand stack");
+ write("userdict begin % Push userdict on dict stack");
+ write("/showpage { } def % Redefine showpage, { } = null proc");
+ write("0 setgray 0 setlinecap % Prepare graphics state");
+ write("1 setlinewidth 0 setlinejoin");
+ write("10 setmiterlimit [ ] 0 setdash newpath");
+ write("/languagelevel where % If level not equal to 1 then");
+ write("{pop languagelevel % set strokeadjust and");
+ write("1 ne % overprint to their defaults.");
+ write("{false setstrokeadjust false setoverprint");
+ write("} if");
+ write("} if");
+ write("} bind def");
+
+ write("/EndEPSF { %def");
+ write("count op_count sub {pop} repeat % Clean up stacks");
+ write("countdictstack dict_count sub {end} repeat");
+ write("b4_Inc_state restore");
+ write("} bind def");
+ write("%%EndResource");
+
write("%%EndSetup");
write("FOPFonts begin");
}
write('\n');
}
+ public void writeByteArr(byte[] cmd) throws IOException {
+ write(cmd);
+ write('\n');
+ }
}
/**
* the current stream to add Text commands to
*/
- PCLStream currentStream;
+ TXTStream currentStream;
private int pageHeight = 7920;
public void startRenderer(OutputStream outputStream)
throws IOException {
log.info("rendering areas to TEXT");
- currentStream = new PCLStream(outputStream);
+ currentStream = new TXTStream(outputStream);
firstPage=true;
}
--- /dev/null
+/*
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
+ */
+
+package org.apache.fop.render.txt;
+
+import java.io.*;
+
+public class TXTStream {
+ OutputStream out = null;
+ boolean doOutput = true;
+
+ public TXTStream(OutputStream os) {
+ out = os;
+ }
+
+ public void add(String str) {
+ if (!doOutput)
+ return;
+
+ try {
+ byte buff[] = str.getBytes("UTF-8");
+ out.write(buff);
+ } catch (IOException e) {
+ throw new RuntimeException(e.toString());
+ }
+ }
+
+ public void setDoOutput(boolean doout) {
+ doOutput = doout;
+ }
+
+}
this.m_mask = mask;
}
+ public boolean invertImage() {
+return false;
+}
+
public String getURL() {
return "" + m_bitmaps;
}
applyPaint(getPaint(), false);
applyStroke(getStroke());
- PathIterator iter = s.getPathIterator(getTransform());
+ AffineTransform trans = getTransform();
+ double[] tranvals = new double[6];
+ trans.getMatrix(tranvals);
+ currentStream.write(PDFNumber.doubleOut(tranvals[0]) + " "
+ + PDFNumber.doubleOut(tranvals[1]) + " "
+ + PDFNumber.doubleOut(tranvals[2]) + " "
+ + PDFNumber.doubleOut(tranvals[3]) + " "
+ + PDFNumber.doubleOut(tranvals[4]) + " "
+ + PDFNumber.doubleOut(tranvals[5]) + " cm\n");
+
+ PathIterator iter = s.getPathIterator(new AffineTransform());
while (!iter.isDone()) {
double vals[] = new double[6];
int type = iter.currentSegment(vals);
return new PDFGraphicsDevice(this);
}
+ // needed for compiling under jdk1.4
+ //public java.awt.image.VolatileImage createCompatibleVolatileImage(int width, int height) {
+ // return null;
+ //}
+
}
/**
*/
protected class ImageTranscoderUserAgent implements UserAgent {
+ public boolean isXMLParserValidating() {
+ return true;
+ }
+
/**
* Returns the default size of this user agent (400x400).
*/
private static HashMap foObjs = null;
- public synchronized void addToBuilder(TreeBuilder builder) {
+ private static synchronized void setupSVG() {
if(foObjs == null) {
// this sets the parser that will be used
foObjs.put("feMerge", SVGObj.maker("feMerge"));
foObjs.put("feMergeNode", SVGObj.maker("feMergeNode"));
}
+ }
+ public void addToBuilder(TreeBuilder builder) {
+ setupSVG();
String uri = "http://www.w3.org/2000/svg";
builder.addMapping(uri, foObjs);
builder.addPropertyListBuilder(uri, new DirectPropertyListBuilder());
}
-
}
+
return false;
}
+ public boolean isXMLParserValidating() {
+ return true;
+ }
+
public void registerExtension(BridgeExtension be) {}
public void handleElement(Element elt, Object data) {}
public void load(InputStream inStream) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(inStream,
- "8859_1"));
+ "UTF-8"));
String aKey;
String aValue;
#
# In dieser Datei werden im Abschnitt "Messages" Meldungen auf deutsch
# definiert.
-# Zu beachten: Beim Definieren einer neuen neuen Meldung, diese soweit möglich
+# Zu beachten: Beim Definieren einer neuen neuen Meldung, diese soweit möglich
# in allen Sprachen anlegen.
#
#
# Zu jeder Meldung wird angegeben:
# - iconType (Typen siehe unten)
# - buttonType (Typen siehe unten)
-# - Meldungstext mit evtl. Platzhaltern für Parameter.
+# - Meldungstext mit evtl. Platzhaltern für Parameter.
#
-# Ein Parameterplatzhalter ist ein dreifaches kaumänisches "und". Siehe Beispielmeldung
+# Ein Parameterplatzhalter ist ein dreifaches kaumänisches "und". Siehe Beispielmeldung
# "No_Records_found".
#
# Die Angaben erfolgen in einer Zeile, jeweils durch einen Doppelpunkt getrennt.
# Format:
# <MESSAGE_ID>=<iconType>:<buttonType>:<Meldungstext>
#
-# Zulässige Werte für:
+# Zulässige Werte für:
# iconType:
# INFO
# WARNING
# Beispiel mit einem String-Array:
# ================================
# Messagedefinition:
-# No_Records_found=WARNING:STYLE_Y:Die Tabelle &&& enthält keinen Eintrag. Erwartet mind. &&&. Weitermachen?
+# No_Records_found=WARNING:STYLE_Y:Die Tabelle &&& enthält keinen Eintrag. Erwartet mind. &&&. Weitermachen?
# Aufruf:
# answer = UserMessage.show("No_Records_found", new String[] {"Mitarbeiter", "" + minNumber}, aShowFrame);
# if (answer == UserMessage.NO)
Error=Fehler
# Messages
-TRANSLATION_SOURCE_NOT_FOUND=WARNING:STYLE_Y:Die Übersetzungsdatei &&& ist nicht gefunden.
+TRANSLATION_SOURCE_NOT_FOUND=WARNING:STYLE_Y:Die Übersetzungsdatei &&& ist nicht gefunden.
UNKNOWN_EXCEPTION=ERROR:STYLE_Y:Unbekannter Fehler
UNHANDLED_EXCEPTION=ERROR:STYLE_Y:Interner Fehler
--- /dev/null
+###############################################################################
+#
+# This file contains the Japanese messages.
+#
+# NOTICE: When defining a new message it has to be created in message files for each language.
+#
+#
+#
+#
+# DEFINING A MESSAGE
+# ==================
+#
+# A message has a uinique CHARACTER ID. It is placed on the left hand side of the equation.
+# For each message there are additional switches:
+# - iconType (see below)
+# - buttonType (see below)
+# - messageText may contain placeholders for parameters.
+
+# A placeholder pattern is a "&&&" . See Examplemessage "No_Records_found".
+#
+# A messsage definition is placed within a single row, its switches are seperated by a colon ":".
+#
+# Format:
+# =======
+# <MESSAGE_ID>=<iconType>:<buttonType>:<message text>
+#
+#
+# Allowed values for:
+# ===================
+# iconType:
+# INFO
+# WARNING
+# ERROR
+# QUESTION
+#
+# buttonType:
+# STYLE_Y ("yes" Button)
+# STYLE_Y_N ("yes" and "no" Buttons)
+# STYLE_Y_N_C ("yes", "no" and "cancel" Buttons)
+#
+#
+# Example with a parameter array:
+# ================================
+# Message definition:
+# No_Records_found=WARNING:STYLE_Y:The Table &&& has no records. Expected at least &&&. Continue?
+# Aufruf:
+# answer = UserMessage.show("No_Records_found", new String[] {"Employee", "" + minNumber}, aShowFrame);
+# if (answer == UserMessage.NO)
+# return;
+#
+# Example with an Exception:
+# =============================
+# Message definition:
+# UNEXPECTED_EXCEPTION=ERROR:STYLE_Y:Wow! An exception!
+#
+# Aufruf:
+# try {
+# String str = null;
+# int index = str.indexOf("abc");
+# } catch (Exception ex) {
+# UserMessage.show("UNEXPECTED_EXCEPTION", ex);
+# }
+#
+#
+#
+#
+#################################################################################################
+
+
+# Titles
+Info=情報
+Warning=警告
+Question=質問
+Error=エラー
+
+# Messages
+TRANSLATION_SOURCE_NOT_FOUND=WARNING:STYLE_Y:指定されたファイルが &&& 見つかりません。
+UNKNOWN_EXCEPTION=ERROR:STYLE_Y:不明なエラー
+UNHANDLED_EXCEPTION=ERROR:STYLE_Y:内部エラー
+
Previous page=Vorherige Seite
-Next page=Nächste Seite
+Next page=Nächste Seite
Last page=Letzte Seite
Introduction=Einleitung
-About=Über
+About=Über
Show=Anzeigen
Render=Gebe aus
-Close=Schließen
+Close=Schließen
Go to Page=Gehe zur Seite
-# Diese Datei ist nur dafür da, daß die Warnung
-# "Übersetzungsdatei nicht gefunden" nicht hochkommt.
-# Die Suchschlüssel für die zu übersetzenden Begriffe sind
-# englisch. Daher wäre eine Übersetzung redundant.
+# Diese Datei ist nur dafür da, daß die Warnung
+# "Übersetzungsdatei nicht gefunden" nicht hochkommt.
+# Die Suchschlüssel für die zu übersetzenden Begriffe sind
+# englisch. Daher wäre eine Übersetzung redundant.
File=Tiedosto
Print=Tulosta
Exit=Poistu
-View=Näytä
-First page=Ensimmäinen sivu
+View=Näytä
+First page=Ensimmäinen sivu
Previous page=Edellinen sivu
Next page=Seuraava sivu
Last page=Viimeinen sivu
Default zoom=Normaali zoom
Help=Ohje
-Index=Sisällys
+Index=Sisällys
Introduction=Esittely
About=Tietoja
Page=Sivu
Print=Imprimer
Exit=Quitter
View=Affichage
-First page=Première page
-Previous page=Page précédente
+First page=Première page
+Previous page=Page précédente
Next page=Page suivante
-Last page=Dernière page
+Last page=Dernière page
Help=Aide
-Default zoom=Zoom par défaut
+Default zoom=Zoom par défaut
Introduction=Introduction
About=A propos
--- /dev/null
+File=ファイル
+Print=印刷
+Exit=終了
+View=表示
+First page=開始ページ
+Previous page=前ページ
+Next page=次ページ
+Last page=最終ページ
+Go to Page=ページ指定
+Zoom=ズーム
+Default zoom=デフォルトのズーム
+Help=ヘルプ
+Index=索引
+Introduction=紹介
+About=バージョン情報
+
+Page=ページ
+of=/
+
+Init parser=XMLパーサ初期化中
+Init mappings=マッピング初期化中
+Build FO tree=FOツリー構築中
+Layout FO tree=FOツリーレイアウト中
+Render=レンダリング中
+Show=完了
+Close=閉じる
File=Plik
Print=Drukuj
-Exit=Zakoñcz
+Exit=Zakoñcz
View=Widok
First page=Pierwsza strona
Previous page=Poprzednia strona
-Next page=Nastêpna strona
+Next page=Nastêpna strona
Last page=Ostatnia strona
-Zoom=Powiêkszenie
-Default zoom=Domy¶lne powiekszenie
+Zoom=Powiêkszenie
+Default zoom=Domy¶lne powiekszenie
Help=Pomoc
Index=Indeks
-Introduction=Wstêp
+Introduction=Wstêp
About=O programie
Page=Strona
-File=Ôàéë
+File=Ôàéë
-Exit=Çàêîí÷èòü
+Exit=Çàêîí÷èòü
-View=Âèä
+View=Âèä
-First page=Ïåðâàÿ ñòðàíèöà
+First page=Ïåðâàÿ ñòðàíèöà
-Previous page=Ïðåäûäóùàÿ ñòðàíèöà
+Previous page=Ïðåäûäóùàÿ ñòðàíèöà
-Next page=Ñëåäóþùàÿ ñòðàíèöà
+Next page=Ñëåäóþùàÿ ñòðàíèöà
-Last page=Ïîñëåäíÿÿ ñòðàíèöà
+Last page=Ïîñëåäíÿÿ ñòðàíèöà
-Go to Page=Èäòè ê ñòðàíèöå
+Go to Page=Èäòè ê ñòðàíèöå
-Help=Ïîìîùü
+Help=Ïîìîùü
-Default zoom=Ñòàíäàðòíûé ìàñøòàá
+Default zoom=Ñòàíäàðòíûé ìàñøòàá
-Introduction=Ââåäåíèå
+Introduction=Ââåäåíèå
-About=Î ïðîãðàììå
+About=Î ïðîãðàììå
-Show=Ïîêàç
+Show=Ïîêàç
-Preview=Ïðîñìîòð
+Preview=Ïðîñìîòð
-Print=Ïå÷àòàòü
+Print=Ïå÷àòàòü
-Page=Ñòðàíèöà
+Page=Ñòðàíèöà
-of=èç
+of=èç
-Zoom=Ìàñøòàá
+Zoom=Ìàñøòàá
-Close=Çàêðûòü
+Close=Çàêðûòü
# this can be used to create pdf output of the testsuite files
-$JAVA_HOME/bin/java -cp ../build/fop.jar:../lib/batik.jar:../lib/xalan-2.0.0.jar:../lib/xerces-1.2.3.jar:../lib/avalon-framework-4.0.jar:../lib/logkit-1.0b4.jar:../lib/jimi-1.0.jar org.apache.fop.tools.TestConverter -pdf -b ./ basictests.xml
+$JAVA_HOME/bin/java -cp ../build/fop.jar:../lib/batik.jar:../lib/xalan-2.0.0.jar:../lib/xerces-1.2.3.jar:../lib/avalon-framework-4.0.jar:../lib/logkit-1.0.jar:../lib/jimi-1.0.jar org.apache.fop.tools.TestConverter -pdf -b ./ basictests.xml
-$JAVA_HOME/bin/java -cp ../build/fop.jar:../lib/batik.jar:../lib/xalan-2.0.0.jar:../lib/xerces-1.2.3.jar:../lib/avalon-framework-4.0.jar:../lib/logkit-1.0b4.jar:../lib/jimi-1.0.jar org.apache.fop.tools.TestConverter -pdf -b ./ bugtests.xml
+$JAVA_HOME/bin/java -cp ../build/fop.jar:../lib/batik.jar:../lib/xalan-2.0.0.jar:../lib/xerces-1.2.3.jar:../lib/avalon-framework-4.0.jar:../lib/logkit-1.0.jar:../lib/jimi-1.0.jar org.apache.fop.tools.TestConverter -pdf -b ./ bugtests.xml
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">Embedding SVG examples</fo:block>
<!-- end: defines page layout -->
<!-- actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<!-- text body -->
<fo:flow flow-name="xsl-region-body">
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<fo:flow source-document="a" flow-name="xsl-region-body">
<fo:block source-document="inherit" space-before.optimum="3pt" space-after.optimum="15pt">
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block background-color="#FF0000">
- <fo:block>
- This is a simple fo block with red background.
- </fo:block>
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block background-color="#FF0000">
+ <fo:block>
+ This is a simple fo block with red background.
+ </fo:block>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is a simple fo block with transparent background.
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is a simple fo block with transparent background.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:static-content flow-name="xsl-region-before">
+ <fo:page-sequence master-reference="simplePM">
+ <fo:static-content flow-name="xsl-region-before">
<fo:block-container border-color="black" border-style="solid" border-width="1pt" height="2.5cm" width="4cm" padding="8pt" position="absolute">
<fo:block text-align="start" line-height="2cm" font-family="sans-serif" font-size="12pt">
- SOLD TO
- </fo:block>
+ SOLD TO
+ </fo:block>
<fo:block text-align="start" line-height="1cm" font-family="sans-serif" font-size="12pt">
- Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
- Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
- Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
- Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
- Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
- Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
- Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
- </fo:block>
+ Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+ Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+ Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+ Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+ Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+ Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+ Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+ </fo:block>
</fo:block-container>
- </fo:static-content>
- <fo:flow flow-name="xsl-region-body">
+ </fo:static-content>
+ <fo:flow flow-name="xsl-region-body">
<fo:block text-align="start" line-height="1cm" font-family="sans-serif" font-size="12pt">
- BBBBBBBBBBBBBBB
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ BBBBBBBBBBBBBBB
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is a simple fo block.
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is a simple fo block.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is a simple fo block.
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is a simple fo block.
+ </fo:block>
- <fo:block space-before.optimum="1cm" border-color="blue" border-style="solid" border-width="2pt">
- This is a simple fo block with borders.
- </fo:block>
+ <fo:block space-before.optimum="1cm" border-color="blue" border-style="solid" border-width="2pt">
+ This is a simple fo block with borders.
+ </fo:block>
- <fo:block space-before.optimum="1cm"
- border-left-color="blue" border-left-style="solid" border-left-width="2pt"
- border-right-color="blue" border-right-style="solid" border-right-width="2pt"
- border-top-color="blue" border-top-style="solid" border-top-width="2pt"
- border-bottom-color="blue" border-bottom-style="solid" border-bottom-width="2pt">
- This is a simple fo block with borders.
- </fo:block>
+ <fo:block space-before.optimum="1cm"
+ border-left-color="blue" border-left-style="solid" border-left-width="2pt"
+ border-right-color="blue" border-right-style="solid" border-right-width="2pt"
+ border-top-color="blue" border-top-style="solid" border-top-width="2pt"
+ border-bottom-color="blue" border-bottom-style="solid" border-bottom-width="2pt">
+ This is a simple fo block with borders.
+ </fo:block>
- <fo:block space-before.optimum="1cm" border-left-color="black" border-left-style="solid" border-left-width="2pt"
- border-right-color="black" border-right-style="dotted" border-right-width="1cm"
- border-top-color="black" border-top-style="dashed" border-top-width="5pt"
- border-bottom-color="black" border-bottom-style="double" border-bottom-width="1in">
- This is a simple fo block with different borders viz;
- border-left-color="black"
- border-left-style="solid"
- border-left-width="2pt"
- border-right-color="black"
- border-right-style="dotted"
- border-right-width="1cm"
- border-top-color="black"
- border-top-style="dashed"
- border-top-width="5pt"
- border-bottom-color="black"
- border-bottom-style="double"
- border-bottom-width="1in"
- </fo:block>
+ <fo:block space-before.optimum="1cm" border-left-color="black" border-left-style="solid" border-left-width="2pt"
+ border-right-color="black" border-right-style="dotted" border-right-width="1cm"
+ border-top-color="black" border-top-style="dashed" border-top-width="5pt"
+ border-bottom-color="black" border-bottom-style="double" border-bottom-width="1in">
+ This is a simple fo block with different borders viz;
+ border-left-color="black"
+ border-left-style="solid"
+ border-left-width="2pt"
+ border-right-color="black"
+ border-right-style="dotted"
+ border-right-width="1cm"
+ border-top-color="black"
+ border-top-style="dashed"
+ border-top-width="5pt"
+ border-bottom-color="black"
+ border-bottom-style="double"
+ border-bottom-width="1in"
+ </fo:block>
- <fo:block space-before.optimum="1cm"
- border-top="2pt solid blue"
- border-bottom="2pt solid blue"
- border-left="2pt solid blue"
- border-right="2pt solid blue">
- This is a simple fo block with borders.
- </fo:block>
+ <fo:block space-before.optimum="1cm"
+ border-top="2pt solid blue"
+ border-bottom="2pt solid blue"
+ border-left="2pt solid blue"
+ border-right="2pt solid blue">
+ This is a simple fo block with borders.
+ </fo:block>
- <fo:block space-before.optimum="1cm"
- border-top="2pt || solid || blue"
- border-bottom="2pt || solid || blue"
- border-left="2pt || solid || blue"
- border-right="2pt || solid || blue">
- This is a simple fo block with borders.
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:block space-before.optimum="1cm"
+ border-top="2pt || solid || blue"
+ border-bottom="2pt || solid || blue"
+ border-left="2pt || solid || blue"
+ border-right="2pt || solid || blue">
+ This is a simple fo block with borders.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is a simple fo block.
- </fo:block>
- <fo:block break-before="page">
- This is a simple fo block on a new page due to page-break using break-before="page".
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is a simple fo block.
+ </fo:block>
+ <fo:block break-before="page">
+ This is a simple fo block on a new page due to page-break using break-before="page".
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
- <fo:simple-page-master margin-right="40pt" margin-left="40pt" master-name="one">
- <fo:region-body margin-bottom="30pt" margin-top="30pt"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
- <fo:page-sequence master-name="one">
- <fo:flow font-size="12pt" flow-name="xsl-region-body">
- <fo:block>
- This file contains a list of many characters in various fonts. The text is
- aligned with the end in order to check that all the characters have their
- correct width set in FOP.
- </fo:block>
- <fo:block>
- If the right hand edge is left of the other lines in the same font then
- this indicates it expects one (or more) of the characters to be wider
- than it really is. Also if the end is to the right of the other lines
- then FOP expects a character to be smaller than it really is or the
- character is missing from the lookup.
- </fo:block>
- <fo:block font-size="12pt" font-family="Helvetica" text-align="end">
- <fo:block>
- 1
- </fo:block>
- <fo:block>
- abcdefghijklmnopqrstuvwxyz1
- </fo:block>
- <fo:block>
- ABCDEFGHIJKLMNOPQRSTUVWXYZ1
- </fo:block>
- <fo:block>
- 12345678901
- </fo:block>
- <fo:block>
- `~!@#$%^&*()-_=+1
- </fo:block>
- <fo:block>
- [{]}\|;:'1
- </fo:block>
- <fo:block>
- ",<.>/?1
- </fo:block>
- <fo:block>
+ <fo:simple-page-master margin-right="40pt" margin-left="40pt" master-name="one">
+ <fo:region-body margin-bottom="30pt" margin-top="30pt"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="one">
+ <fo:flow font-size="12pt" flow-name="xsl-region-body">
+ <fo:block>
+ This file contains a list of many characters in various fonts. The text is
+ aligned with the end in order to check that all the characters have their
+ correct width set in FOP.
+ </fo:block>
+ <fo:block>
+ If the right hand edge is left of the other lines in the same font then
+ this indicates it expects one (or more) of the characters to be wider
+ than it really is. Also if the end is to the right of the other lines
+ then FOP expects a character to be smaller than it really is or the
+ character is missing from the lookup.
+ </fo:block>
+ <fo:block font-size="12pt" font-family="Helvetica" text-align="end">
+ <fo:block>
+ 1
+ </fo:block>
+ <fo:block>
+ abcdefghijklmnopqrstuvwxyz1
+ </fo:block>
+ <fo:block>
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+ </fo:block>
+ <fo:block>
+ 12345678901
+ </fo:block>
+ <fo:block>
+ `~!@#$%^&*()-_=+1
+ </fo:block>
+ <fo:block>
+ [{]}\|;:'1
+ </fo:block>
+ <fo:block>
+ ",<.>/?1
+ </fo:block>
+ <fo:block>
!"#$%&'()*+,-./0123456789:;<1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
=>?@ABCDEFGHIJKLMNOPQRSTUVWX1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
YZ[\]^_`abcdefghijklmnopq1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
rstuvwxyz{|}~ ¡¢£¤¥¦§¨1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
òóôõö÷øùúûüýþ1
- </fo:block>
- </fo:block>
- <fo:block font-size="12pt" font-family="Times Roman" text-align="end">
- <fo:block>
- 1
- </fo:block>
- <fo:block>
- abcdefghijklmnopqrstuvwxyz1
- </fo:block>
- <fo:block>
- ABCDEFGHIJKLMNOPQRSTUVWXYZ1
- </fo:block>
- <fo:block>
- 12345678901
- </fo:block>
- <fo:block>
- `~!@#$%^&*()-_=+1
- </fo:block>
- <fo:block>
- [{]}\|;:'1
- </fo:block>
- <fo:block>
- ",<.>/?1
- </fo:block>
- <fo:block>
+ </fo:block>
+ </fo:block>
+ <fo:block font-size="12pt" font-family="Times Roman" text-align="end">
+ <fo:block>
+ 1
+ </fo:block>
+ <fo:block>
+ abcdefghijklmnopqrstuvwxyz1
+ </fo:block>
+ <fo:block>
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+ </fo:block>
+ <fo:block>
+ 12345678901
+ </fo:block>
+ <fo:block>
+ `~!@#$%^&*()-_=+1
+ </fo:block>
+ <fo:block>
+ [{]}\|;:'1
+ </fo:block>
+ <fo:block>
+ ",<.>/?1
+ </fo:block>
+ <fo:block>
!"#$%&'()*+,-./0123456789:;<1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
=>?@ABCDEFGHIJKLMNOPQRSTUVWX1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
YZ[\]^_`abcdefghijklmnopq1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
rstuvwxyz{|}~ ¡¢£¤¥¦§¨1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
òóôõö÷øùúûüýþ1
- </fo:block>
- </fo:block>
- <fo:block font-family="Courier" text-align="end">
- <fo:block>
- 1
- </fo:block>
- <fo:block>
- abcdefghijklmnopqrstuvwxyz1
- </fo:block>
- <fo:block>
- ABCDEFGHIJKLMNOPQRSTUVWXYZ1
- </fo:block>
- <fo:block>
- 12345678901
- </fo:block>
- <fo:block>
- `~!@#$%^&*()-_=+1
- </fo:block>
- <fo:block>
- [{]}\|;:'1
- </fo:block>
- <fo:block>
- ",<.>/?1
- </fo:block>
- <fo:block>
+ </fo:block>
+ </fo:block>
+ <fo:block font-family="Courier" text-align="end">
+ <fo:block>
+ 1
+ </fo:block>
+ <fo:block>
+ abcdefghijklmnopqrstuvwxyz1
+ </fo:block>
+ <fo:block>
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+ </fo:block>
+ <fo:block>
+ 12345678901
+ </fo:block>
+ <fo:block>
+ `~!@#$%^&*()-_=+1
+ </fo:block>
+ <fo:block>
+ [{]}\|;:'1
+ </fo:block>
+ <fo:block>
+ ",<.>/?1
+ </fo:block>
+ <fo:block>
!"#$%&'()*+,-./0123456789:;<1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
=>?@ABCDEFGHIJKLMNOPQRSTUVWX1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
YZ[\]^_`abcdefghijklmnopq1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
rstuvwxyz{|}~ ¡¢£¤¥¦§¨1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
òóôõö÷øùúûüýþ1
- </fo:block>
- </fo:block>
- <fo:block font-family="ZapfDingbats" text-align="end">
- <fo:block>
- 1
- </fo:block>
- <fo:block>
- abcdefghijklmnopqrstuvwxyz1
- </fo:block>
- <fo:block>
- ABCDEFGHIJKLMNOPQRSTUVWXYZ1
- </fo:block>
- <fo:block>
- 12345678901
- </fo:block>
- <fo:block>
- `~!@#$%^&*()-_=+1
- </fo:block>
- <fo:block>
- [{]}\|;:'1
- </fo:block>
- <fo:block>
- ",<.>/?1
- </fo:block>
- <fo:block>
+ </fo:block>
+ </fo:block>
+ <fo:block font-family="ZapfDingbats" text-align="end">
+ <fo:block>
+ 1
+ </fo:block>
+ <fo:block>
+ abcdefghijklmnopqrstuvwxyz1
+ </fo:block>
+ <fo:block>
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+ </fo:block>
+ <fo:block>
+ 12345678901
+ </fo:block>
+ <fo:block>
+ `~!@#$%^&*()-_=+1
+ </fo:block>
+ <fo:block>
+ [{]}\|;:'1
+ </fo:block>
+ <fo:block>
+ ",<.>/?1
+ </fo:block>
+ <fo:block>
!"#$%&'()*+,-./0123456789:;<1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
=>?@ABCDEFGHIJKLMNOPQRSTUVWX1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
YZ[\]^_`abcdefghijklmnopq1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
rstuvwxyz{|}~ ¡¢£¤¥¦§¨1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
òóôõö÷øùúûüýþ1
- </fo:block>
- </fo:block>
- <fo:block font-family="Symbol" text-align="end">
- <fo:block>
- 1
- </fo:block>
- <fo:block>
- abcdefghijklmnopqrstuvwxyz1
- </fo:block>
- <fo:block>
- ABCDEFGHIJKLMNOPQRSTUVWXYZ1
- </fo:block>
- <fo:block>
- 12345678901
- </fo:block>
- <fo:block>
- `~!@#$%^&*()-_=+1
- </fo:block>
- <fo:block>
- [{]}\|;:'1
- </fo:block>
- <fo:block>
- ",<.>/?1
- </fo:block>
- <fo:block>
+ </fo:block>
+ </fo:block>
+ <fo:block font-family="Symbol" text-align="end">
+ <fo:block>
+ 1
+ </fo:block>
+ <fo:block>
+ abcdefghijklmnopqrstuvwxyz1
+ </fo:block>
+ <fo:block>
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+ </fo:block>
+ <fo:block>
+ 12345678901
+ </fo:block>
+ <fo:block>
+ `~!@#$%^&*()-_=+1
+ </fo:block>
+ <fo:block>
+ [{]}\|;:'1
+ </fo:block>
+ <fo:block>
+ ",<.>/?1
+ </fo:block>
+ <fo:block>
!"#$%&'()*+,-./0123456789:;<1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
=>?@ABCDEFGHIJKLMNOPQRSTUVWX1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
YZ[\]^_`abcdefghijklmnopq1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
rstuvwxyz{|}~ ¡¢£¤¥¦§¨1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
òóôõö÷øùúûüýþ1
- </fo:block>
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:block>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block color="#C00000">
- This is a simple fo text in red color.
- <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block color="#C00000">
+ This is a simple fo text in red color.
+ <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
+ </fo:block>
- <fo:block color="#00C000">
- This is a simple fo text in green color followed by black line.
- <fo:leader color="#000000" leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
- </fo:block>
+ <fo:block color="#00C000">
+ This is a simple fo text in green color followed by black line.
+ <fo:leader color="#000000" leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
+ </fo:block>
- <fo:block color="#0000C0">
- This is a simple fo text in blue color.
- <fo:inline color="#C055C0">This is in</fo:inline>
- <fo:inline color="#550055">the same sentence</fo:inline>
- This is text in blue again
- <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:block color="#0000C0">
+ This is a simple fo text in blue color.
+ <fo:inline color="#C055C0">This is in</fo:inline>
+ <fo:inline color="#550055">the same sentence</fo:inline>
+ This is text in blue again
+ <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-body/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- <fo:external-graphic src="file:../graphics/page.gif"/>
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ <fo:external-graphic src="file:../graphics/page.gif"/>
+ </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- default:
- </fo:block>
- <fo:block text-align="center">
- This is a simple fo text in FOP default font.
- </fo:block>
- <fo:block>
- sans-serif:
- </fo:block>
- <fo:block text-align="center" font-family="sans-serif">
- This is a simple fo text in sans-serif font.
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ default:
+ </fo:block>
+ <fo:block text-align="center">
+ This is a simple fo text in FOP default font.
+ </fo:block>
+ <fo:block>
+ sans-serif:
+ </fo:block>
+ <fo:block text-align="center" font-family="sans-serif">
+ This is a simple fo text in sans-serif font.
+ </fo:block>
- <fo:block>
- monospace:
- </fo:block>
- <fo:block text-align="center" font-family="monospace">
- This is a simple fo text in monospace font.
- </fo:block>
+ <fo:block>
+ monospace:
+ </fo:block>
+ <fo:block text-align="center" font-family="monospace">
+ This is a simple fo text in monospace font.
+ </fo:block>
- <fo:block>
- Courier:
- </fo:block>
- <fo:block text-align="center" font-family="Courier">
- This is a simple fo text in Courier font.
- </fo:block>
+ <fo:block>
+ Courier:
+ </fo:block>
+ <fo:block text-align="center" font-family="Courier">
+ This is a simple fo text in Courier font.
+ </fo:block>
- <fo:block>
- Helvetica:
- </fo:block>
- <fo:block text-align="center" font-family="Helvetica">
- This is a simple fo text in Helvetica font.
- </fo:block>
+ <fo:block>
+ Helvetica:
+ </fo:block>
+ <fo:block text-align="center" font-family="Helvetica">
+ This is a simple fo text in Helvetica font.
+ </fo:block>
- <fo:block>
- Symbol:
- </fo:block>
- <fo:block text-align="center" font-family="Symbol">
- This is a simple fo text in Symbol font.
- </fo:block>
+ <fo:block>
+ Symbol:
+ </fo:block>
+ <fo:block text-align="center" font-family="Symbol">
+ This is a simple fo text in Symbol font.
+ </fo:block>
- <fo:block>
- Times Roman:
- </fo:block>
- <fo:block text-align="center" font-family="Times Roman">
- This is a simple fo text in Times Roman font.
- </fo:block>
+ <fo:block>
+ Times Roman:
+ </fo:block>
+ <fo:block text-align="center" font-family="Times Roman">
+ This is a simple fo text in Times Roman font.
+ </fo:block>
- <fo:block>
- ZapfDingbats:
- </fo:block>
- <fo:block text-align="center" font-family="ZapfDingbats">
- This is a simple fo text in ZapfDingBats font.
- </fo:block>
-
- </fo:flow>
- </fo:page-sequence>
+ <fo:block>
+ ZapfDingbats:
+ </fo:block>
+ <fo:block text-align="center" font-family="ZapfDingbats">
+ This is a simple fo text in ZapfDingBats font.
+ </fo:block>
+
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is a simple fo text in FOP default font size and default font.
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is a simple fo text in FOP default font size and default font.
+ </fo:block>
- <fo:block font-family="Courier" font-size="8pt">
- This is a simple fo text in 8pt font Courier.
- </fo:block>
- <fo:block font-family="Courier" font-size="10pt">
- This is a simple fo text in 10pt font.
- </fo:block>
- <fo:block font-family="Courier" font-size="12pt">
- This is a simple fo text in 12pt font.
- </fo:block>
- <fo:block font-family="Courier" font-size="14pt">
- This is a simple fo text in 14pt font.
- </fo:block>
- <fo:block font-family="Courier" font-size="16pt">
- This is a simple fo text in 16pt font.
- </fo:block>
- <fo:block font-family="Courier" font-size="18pt">
- This is a simple fo text in 18pt font.
- </fo:block>
- <fo:block font-family="Courier" font-size="20pt">
- This is a simple fo text in 20pt font.
- </fo:block>
- <fo:block font-family="Courier" font-size="24pt">
- This is a simple fo text in 24pt font.
- </fo:block>
- <fo:block font-family="Courier" font-size="32pt">
- This is a simple fo text in 32pt font.
- </fo:block>
-
- </fo:flow>
- </fo:page-sequence>
+ <fo:block font-family="Courier" font-size="8pt">
+ This is a simple fo text in 8pt font Courier.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="10pt">
+ This is a simple fo text in 10pt font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="12pt">
+ This is a simple fo text in 12pt font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="14pt">
+ This is a simple fo text in 14pt font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="16pt">
+ This is a simple fo text in 16pt font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="18pt">
+ This is a simple fo text in 18pt font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="20pt">
+ This is a simple fo text in 20pt font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="24pt">
+ This is a simple fo text in 24pt font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="32pt">
+ This is a simple fo text in 32pt font.
+ </fo:block>
+
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block font-family="Courier" font-size="12pt">
- This is a simple fo text in Courier font.
- </fo:block>
- <fo:block font-family="Courier" font-size="12pt"
- font-weight="bold">
- This is a simple fo text in bold.
- </fo:block>
- <fo:block font-family="Courier" font-size="12pt"
- font-style="italic">
- This is a simple fo text in italic.
- </fo:block>
- <fo:block font-family="Courier" font-size="12pt"
- font-style="italic" font-weight="bold">
- This is a simple fo text in italic and bold.
- </fo:block>
- <fo:block font-family="Courier" font-size="12pt"
- font-variant="small-caps">
- This is a simple fo text in small caps.
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block font-family="Courier" font-size="12pt">
+ This is a simple fo text in Courier font.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="12pt"
+ font-weight="bold">
+ This is a simple fo text in bold.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="12pt"
+ font-style="italic">
+ This is a simple fo text in italic.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="12pt"
+ font-style="italic" font-weight="bold">
+ This is a simple fo text in italic and bold.
+ </fo:block>
+ <fo:block font-family="Courier" font-size="12pt"
+ font-variant="small-caps">
+ This is a simple fo text in small caps.
+ </fo:block>
- <fo:block space-before.optimum="1cm"></fo:block>
-
- <fo:block font-family="Times" font-size="12pt">
- This is a simple fo text in Times font.
- </fo:block>
- <fo:block font-family="Times" font-size="12pt"
- font-weight="bold">
- This is a simple fo text in bold.
- </fo:block>
- <fo:block font-family="Times" font-size="12pt"
- font-style="italic">
- This is a simple fo text in italic.
- </fo:block>
- <fo:block font-family="Times" font-size="12pt"
- font-style="italic" font-weight="bold">
- This is a simple fo text in italic and bold.
- </fo:block>
- <fo:block font-family="Times" font-size="12pt"
- font-variant="small-caps">
- This is a simple fo text in small caps.
- </fo:block>
+ <fo:block space-before.optimum="1cm"></fo:block>
+
+ <fo:block font-family="Times" font-size="12pt">
+ This is a simple fo text in Times font.
+ </fo:block>
+ <fo:block font-family="Times" font-size="12pt"
+ font-weight="bold">
+ This is a simple fo text in bold.
+ </fo:block>
+ <fo:block font-family="Times" font-size="12pt"
+ font-style="italic">
+ This is a simple fo text in italic.
+ </fo:block>
+ <fo:block font-family="Times" font-size="12pt"
+ font-style="italic" font-weight="bold">
+ This is a simple fo text in italic and bold.
+ </fo:block>
+ <fo:block font-family="Times" font-size="12pt"
+ font-variant="small-caps">
+ This is a simple fo text in small caps.
+ </fo:block>
- <fo:block space-before.optimum="1cm"></fo:block>
+ <fo:block space-before.optimum="1cm"></fo:block>
- <fo:block font-family="Helvetica" font-size="12pt">
- This is a simple fo text in Helvetica font.
- </fo:block>
- <fo:block font-family="Helvetica" font-size="12pt"
- font-weight="bold">
- This is a simple fo text in bold.
- </fo:block>
- <fo:block font-family="Helvetica" font-size="12pt"
- font-style="italic">
- This is a simple fo text in italic.
- </fo:block>
- <fo:block font-family="Helvetica" font-size="12pt"
- font-style="italic" font-weight="bold">
- This is a simple fo text in italic and bold.
- </fo:block>
- <fo:block font-family="Helvetica" font-size="12pt"
- font-variant="small-caps">
- This is a simple fo text in small caps.
- </fo:block>
-
- </fo:flow>
- </fo:page-sequence>
+ <fo:block font-family="Helvetica" font-size="12pt">
+ This is a simple fo text in Helvetica font.
+ </fo:block>
+ <fo:block font-family="Helvetica" font-size="12pt"
+ font-weight="bold">
+ This is a simple fo text in bold.
+ </fo:block>
+ <fo:block font-family="Helvetica" font-size="12pt"
+ font-style="italic">
+ This is a simple fo text in italic.
+ </fo:block>
+ <fo:block font-family="Helvetica" font-size="12pt"
+ font-style="italic" font-weight="bold">
+ This is a simple fo text in italic and bold.
+ </fo:block>
+ <fo:block font-family="Helvetica" font-size="12pt"
+ font-variant="small-caps">
+ This is a simple fo text in small caps.
+ </fo:block>
+
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="18cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="3cm"/>
- <fo:region-body margin-top="4cm" margin-bottom="3cm"/>
- <fo:region-after extent="3cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="18cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="3cm"/>
+ <fo:region-body margin-top="4cm" margin-bottom="3cm"/>
+ <fo:region-after extent="3cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <!-- header -->
- <fo:static-content flow-name="xsl-region-before">
- <fo:block-container width="5cm" height="3cm" position="absolute" background-color="#22CC55">
- <fo:block text-align="start">
- Left
- </fo:block>
- </fo:block-container>
- <fo:block-container width="5cm" height="3cm" left="5cm" position="absolute" background-color="#55AA55">
- <fo:block text-align="center">
- Center
- </fo:block>
- </fo:block-container>
- <fo:block-container width="5cm" height="3cm" left="10cm" position="absolute" background-color="#FFCCFF">
- <fo:block text-align="end">
- Right
- </fo:block>
- </fo:block-container>
-
- </fo:static-content>
-
- <!-- footer -->
- <fo:static-content flow-name="xsl-region-after">
- <fo:block-container width="5cm" height="3cm" position="absolute">
- <fo:block text-align="start">
- Left
- </fo:block>
- </fo:block-container>
- <fo:block-container width="5cm" height="3cm" left="5cm" position="absolute">
- <fo:block text-align="center">
- Center
- </fo:block>
- </fo:block-container>
- <fo:block-container width="5cm" height="3cm" left="10cm" position="absolute">
- <fo:block text-align="end">
- Right
- </fo:block>
- </fo:block-container>
-
- </fo:static-content>
+ <fo:page-sequence master-reference="simplePM">
+ <!-- header -->
+ <fo:static-content flow-name="xsl-region-before">
+ <fo:block-container width="5cm" height="3cm" position="absolute" background-color="#22CC55">
+ <fo:block text-align="start">
+ Left
+ </fo:block>
+ </fo:block-container>
+ <fo:block-container width="5cm" height="3cm" left="5cm" position="absolute" background-color="#55AA55">
+ <fo:block text-align="center">
+ Center
+ </fo:block>
+ </fo:block-container>
+ <fo:block-container width="5cm" height="3cm" left="10cm" position="absolute" background-color="#FFCCFF">
+ <fo:block text-align="end">
+ Right
+ </fo:block>
+ </fo:block-container>
+
+ </fo:static-content>
+
+ <!-- footer -->
+ <fo:static-content flow-name="xsl-region-after">
+ <fo:block-container width="5cm" height="3cm" position="absolute">
+ <fo:block text-align="start">
+ Left
+ </fo:block>
+ </fo:block-container>
+ <fo:block-container width="5cm" height="3cm" left="5cm" position="absolute">
+ <fo:block text-align="center">
+ Center
+ </fo:block>
+ </fo:block-container>
+ <fo:block-container width="5cm" height="3cm" left="10cm" position="absolute">
+ <fo:block text-align="end">
+ Right
+ </fo:block>
+ </fo:block-container>
+
+ </fo:static-content>
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- There is top-margin for body region.This is bcos margin-top for body is greater than extent of region-before.
- </fo:block>
- <fo:block>
- There is NO bottom-margin for body region. Bcos margin-bottom for body = extent for region-after.
- </fo:block>
- <fo:block>
- </fo:block>
- <fo:block>
- The fo:static-content formatting object holds a sequence or a tree of formatting objects that is to be presented in a single region or repeated in like-named regions on one or more pages in the page-sequence. Its common use is for repeating or running headers and footers.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
- This content is repeated, in its entirety, on every page to which it is assigned.
- </fo:block>
- <fo:block>
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ There is top-margin for body region.This is bcos margin-top for body is greater than extent of region-before.
+ </fo:block>
+ <fo:block>
+ There is NO bottom-margin for body region. Bcos margin-bottom for body = extent for region-after.
+ </fo:block>
+ <fo:block>
+ </fo:block>
+ <fo:block>
+ The fo:static-content formatting object holds a sequence or a tree of formatting objects that is to be presented in a single region or repeated in like-named regions on one or more pages in the page-sequence. Its common use is for repeating or running headers and footers.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
+ This content is repeated, in its entirety, on every page to which it is assigned.
+ </fo:block>
+ <fo:block>
The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content.
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content.
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content.
- </fo:block>
- <fo:block>
+ </fo:block>
+ <fo:block>
The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content.
- </fo:block>
+ </fo:block>
- </fo:flow>
+ </fo:flow>
- </fo:page-sequence>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="10cm"
- margin-top="3cm"
- margin-bottom="2cm"
- margin-left="3cm"
- margin-right="2cm">
- <fo:region-body/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="10cm"
+ margin-top="3cm"
+ margin-bottom="2cm"
+ margin-left="3cm"
+ margin-right="2cm">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- <fo:external-graphic src="file:../graphics/page.gif"/>
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ <fo:external-graphic src="file:../graphics/page.gif"/>
+ </fo:block>
- <fo:block>
- <fo:external-graphic height="3in" width="3in" src="file:../graphics/page.gif"/>
- height=3in width=3in
- </fo:block>
+ <fo:block>
+ <fo:external-graphic height="3in" width="3in" src="file:../graphics/page.gif"/>
+ height=3in width=3in
+ </fo:block>
- <fo:block>
- <fo:external-graphic height="3in" src="file:../graphics/page.gif"/>
- height="3in"
- </fo:block>
-
- <fo:block>
- <fo:external-graphic width="1.5in" src="file:../graphics/page.gif"/>
- width="1.5in"
- </fo:block>
+ <fo:block>
+ <fo:external-graphic height="3in" src="file:../graphics/page.gif"/>
+ height="3in"
+ </fo:block>
+
+ <fo:block>
+ <fo:external-graphic width="1.5in" src="file:../graphics/page.gif"/>
+ width="1.5in"
+ </fo:block>
- <fo:block>
- <fo:external-graphic height="6in" width="4in" src="file:../graphics/page.gif"/>
- height="6in" width="4in"
- </fo:block>
+ <fo:block>
+ <fo:external-graphic height="6in" width="4in" src="file:../graphics/page.gif"/>
+ height="6in" width="4in"
+ </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block text-align="justify" start-indent="1in">
- This is a simple fo block with justify indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- </fo:block>
- <fo:block text-align="justify" end-indent="1in">
- This is a simple fo block with justify indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- </fo:block>
- <fo:block start-indent="1in">
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- This is a simple fo block indented in the start.
- </fo:block>
- <fo:block end-indent="1in">
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- This is a simple fo block indented in the end.
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block text-align="justify" start-indent="1in">
+ This is a simple fo block with justify indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ </fo:block>
+ <fo:block text-align="justify" end-indent="1in">
+ This is a simple fo block with justify indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ </fo:block>
+ <fo:block start-indent="1in">
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ This is a simple fo block indented in the start.
+ </fo:block>
+ <fo:block end-indent="1in">
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ This is a simple fo block indented in the end.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- <fo:inline>The sentence is</fo:inline>
- <fo:inline>in the same line.</fo:inline>
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ <fo:inline>The sentence is</fo:inline>
+ <fo:inline>in the same line.</fo:inline>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="11in"
- page-width="8.5in"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1in"
- margin-right="0.75in">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="11in"
+ page-width="8.5in"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1in"
+ margin-right="0.75in">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block space-before.optimum="1cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block space-before.optimum="1cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
F I N A L C A L C U L A T I O N AUD $ AUD $
----------------------------------
L A B O U R TIME BASIS 10 WU = 1 HR
R E P A I R C O S T S....................................... 1 466.70
----------------------
C O M M E N T S :
-E-PART PRICES = MANUFACTURERS RRP. *-POSITION = USER SUPPLIED DATA
-E-PART NUMBER IS NOT ORDER NUMBER NN = NO MANUFACTURERS CODE EXISTS
+E-PART PRICES = MANUFACTURERS RRP. *-POSITION = USER SUPPLIED DATA
+E-PART NUMBER IS NOT ORDER NUMBER NN = NO MANUFACTURERS CODE EXISTS
SKEZAX=WORKING UNITS AS PER AUDATEX )=WU PARTIAL INCL IN OTHER POSITIONS
C O N T R O L - I N F O R M A T I O N NO 666 25.08.2000
OWNER MRS SARAH
- MODEL-OPTIONS : E3 F3 I4 I7 J6 K2 M8 P8 Q6 Q7 V3 V6 W4 Z8
PARTS / PAINTING
- REP-METHOD/CODE-NO : N 0741 LO
- </fo:block>
-
- <fo:block keep-with-next="true" font-family="Helvetica" font-size="10pt">
- The following is the control page for the Repair Assessment. It includes the
- <fo:inline font-weight="bold">Owner</fo:inline><fo:inline>, Reference No, Make, Reg No, and Options.</fo:inline>
- </fo:block>
+ </fo:block>
+
+ <fo:block keep-with-next="true" font-family="Helvetica" font-size="10pt">
+ The following is the control page for the Repair Assessment. It includes the
+ <fo:inline font-weight="bold">Owner</fo:inline><fo:inline>, Reference No, Make, Reg No, and Options.</fo:inline>
+ </fo:block>
- <fo:block space-before.optimum="2cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
+ <fo:block space-before.optimum="2cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
R E P A I R /-/ A S S E S S M E N T NO 666 25.08.2000
OWNER MRS SARAH
SCHAER GUNDELDINGERSTRASSE 131
ALTERNATOR 120 AMP 4-SPEED AUTOMATIC SPORTS SUSPENSION
ANTI-LOCK BRAKES ELECT STABILITY PROG SUNROOF (ACCESSORY)
2.7 LTR V6
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block letter-spacing="normal">
- This text is normally spaced.
- This text is normally spaced.
- This text is normally spaced.
- This text is normally spaced.
- This text is normally spaced.
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block letter-spacing="normal">
+ This text is normally spaced.
+ This text is normally spaced.
+ This text is normally spaced.
+ This text is normally spaced.
+ This text is normally spaced.
+ </fo:block>
- <fo:block letter-spacing="1pt">
- This text has inter-character intervals increased by 1pt.
- This text has inter-character intervals increased by 1pt.
- This text has inter-character intervals increased by 1pt.
- This text has inter-character intervals increased by 1pt.
- </fo:block>
+ <fo:block letter-spacing="1pt">
+ This text has inter-character intervals increased by 1pt.
+ This text has inter-character intervals increased by 1pt.
+ This text has inter-character intervals increased by 1pt.
+ This text has inter-character intervals increased by 1pt.
+ </fo:block>
- <fo:block letter-spacing="8pt">
- This text has inter-character intervals increased by 8pt.
- This text has inter-character intervals increased by 8pt.
- This text has inter-character intervals increased by 8pt.
- This text has inter-character intervals increased by 8pt.
- </fo:block>
+ <fo:block letter-spacing="8pt">
+ This text has inter-character intervals increased by 8pt.
+ This text has inter-character intervals increased by 8pt.
+ This text has inter-character intervals increased by 8pt.
+ This text has inter-character intervals increased by 8pt.
+ </fo:block>
- <fo:block letter-spacing="0pt">
- This text has inter-character intervals increased by 0pt (i.e. normally spaced).
- This text has inter-character intervals increased by 0pt (i.e. normally spaced).
- This text has inter-character intervals increased by 0pt (i.e. normally spaced).
- This text has inter-character intervals increased by 0pt (i.e. normally spaced).
- </fo:block>
+ <fo:block letter-spacing="0pt">
+ This text has inter-character intervals increased by 0pt (i.e. normally spaced).
+ This text has inter-character intervals increased by 0pt (i.e. normally spaced).
+ This text has inter-character intervals increased by 0pt (i.e. normally spaced).
+ This text has inter-character intervals increased by 0pt (i.e. normally spaced).
+ </fo:block>
- <fo:block letter-spacing="-1pt">
- This text has inter-character intervals increased by reduced by -1pt.
- This text has inter-character intervals increased by reduced by -1pt.
- This text has inter-character intervals increased by reduced by -1pt.
- This text has inter-character intervals increased by reduced by -1pt.
- </fo:block>
+ <fo:block letter-spacing="-1pt">
+ This text has inter-character intervals increased by reduced by -1pt.
+ This text has inter-character intervals increased by reduced by -1pt.
+ This text has inter-character intervals increased by reduced by -1pt.
+ This text has inter-character intervals increased by reduced by -1pt.
+ </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block font-weight="bold" text-align="center">
- <fo:inline text-decoration="underline">
- Absolute Values
- </fo:inline>
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block font-weight="bold" text-align="center">
+ <fo:inline text-decoration="underline">
+ Absolute Values
+ </fo:inline>
+ </fo:block>
- <fo:block line-height="12pt" font-size="8pt">
- This text has a fixed line height of 12pt and its font size is 8pt.
- This text has a fixed line height of 12pt and its font size is 8pt.
- This text has a fixed line height of 12pt and its font size is 8pt.
- This text has a fixed line height of 12pt and its font size is 8pt.
- This text has a fixed line height of 12pt and its font size is 8pt.
- </fo:block>
+ <fo:block line-height="12pt" font-size="8pt">
+ This text has a fixed line height of 12pt and its font size is 8pt.
+ This text has a fixed line height of 12pt and its font size is 8pt.
+ This text has a fixed line height of 12pt and its font size is 8pt.
+ This text has a fixed line height of 12pt and its font size is 8pt.
+ This text has a fixed line height of 12pt and its font size is 8pt.
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="12pt" font-size="12pt">
- This text has a fixed line height of 12pt and its font size is 12pt.
- This text has a fixed line height of 12pt and its font size is 12pt.
- This text has a fixed line height of 12pt and its font size is 12pt.
- This text has a fixed line height of 12pt and its font size is 12pt.
- This text has a fixed line height of 12pt and its font size is 12pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="12pt" font-size="12pt">
+ This text has a fixed line height of 12pt and its font size is 12pt.
+ This text has a fixed line height of 12pt and its font size is 12pt.
+ This text has a fixed line height of 12pt and its font size is 12pt.
+ This text has a fixed line height of 12pt and its font size is 12pt.
+ This text has a fixed line height of 12pt and its font size is 12pt.
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="12pt" font-size="16pt">
- This text has a fixed line height of 12pt and its font size is 16pt.
- This text has a fixed line height of 12pt and its font size is 16pt.
- This text has a fixed line height of 12pt and its font size is 16pt.
- This text has a fixed line height of 12pt and its font size is 16pt.
- This text has a fixed line height of 12pt and its font size is 16pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="12pt" font-size="16pt">
+ This text has a fixed line height of 12pt and its font size is 16pt.
+ This text has a fixed line height of 12pt and its font size is 16pt.
+ This text has a fixed line height of 12pt and its font size is 16pt.
+ This text has a fixed line height of 12pt and its font size is 16pt.
+ This text has a fixed line height of 12pt and its font size is 16pt.
+ </fo:block>
- <fo:block font-weight="bold" text-align="center">
- <fo:inline text-decoration="underline">
- Relative Values
- </fo:inline>
- </fo:block>
+ <fo:block font-weight="bold" text-align="center">
+ <fo:inline text-decoration="underline">
+ Relative Values
+ </fo:inline>
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="normal" font-size="10pt">
- This text has a normal line height at font size of 10pt.
- This text has a normal line height at font size of 10pt.
- This text has a normal line height at font size of 10pt.
- This text has a normal line height at font size of 10pt.
- This text has a normal line height at font size of 10pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="normal" font-size="10pt">
+ This text has a normal line height at font size of 10pt.
+ This text has a normal line height at font size of 10pt.
+ This text has a normal line height at font size of 10pt.
+ This text has a normal line height at font size of 10pt.
+ This text has a normal line height at font size of 10pt.
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="normal" font-size="14pt">
- This text has a normal line height at font size of 14pt.
- This text has a normal line height at font size of 14pt.
- This text has a normal line height at font size of 14pt.
- This text has a normal line height at font size of 14pt.
- This text has a normal line height at font size of 14pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="normal" font-size="14pt">
+ This text has a normal line height at font size of 14pt.
+ This text has a normal line height at font size of 14pt.
+ This text has a normal line height at font size of 14pt.
+ This text has a normal line height at font size of 14pt.
+ This text has a normal line height at font size of 14pt.
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="1.0" font-size="10pt">
- This text is single-spaced at font size of 10pt.
- This text is single-spaced at font size of 10pt.
- This text is single-spaced at font size of 10pt.
- This text is single-spaced at font size of 10pt.
- This text is single-spaced at font size of 10pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="1.0" font-size="10pt">
+ This text is single-spaced at font size of 10pt.
+ This text is single-spaced at font size of 10pt.
+ This text is single-spaced at font size of 10pt.
+ This text is single-spaced at font size of 10pt.
+ This text is single-spaced at font size of 10pt.
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="1.0" font-size="14pt">
- This text is single-spaced at font size of 14pt.
- This text is single-spaced at font size of 14pt.
- This text is single-spaced at font size of 14pt.
- This text is single-spaced at font size of 14pt.
- This text is single-spaced at font size of 14pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="1.0" font-size="14pt">
+ This text is single-spaced at font size of 14pt.
+ This text is single-spaced at font size of 14pt.
+ This text is single-spaced at font size of 14pt.
+ This text is single-spaced at font size of 14pt.
+ This text is single-spaced at font size of 14pt.
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="2.0" font-size="10pt">
- This text is double-spaced at font size of 10pt.
- This text is double-spaced at font size of 10pt.
- This text is double-spaced at font size of 10pt.
- This text is double-spaced at font size of 10pt.
- This text is double-spaced at font size of 10pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="2.0" font-size="10pt">
+ This text is double-spaced at font size of 10pt.
+ This text is double-spaced at font size of 10pt.
+ This text is double-spaced at font size of 10pt.
+ This text is double-spaced at font size of 10pt.
+ This text is double-spaced at font size of 10pt.
+ </fo:block>
- <fo:block text-align="start" space-before.optimum="6pt" line-height="2.0" font-size="14pt">
- This text is double-spaced at font size of 14pt.
- This text is double-spaced at font size of 14pt.
- This text is double-spaced at font size of 14pt.
- This text is double-spaced at font size of 14pt.
- This text is double-spaced at font size of 14pt.
- </fo:block>
+ <fo:block text-align="start" space-before.optimum="6pt" line-height="2.0" font-size="14pt">
+ This text is double-spaced at font size of 14pt.
+ This text is double-spaced at font size of 14pt.
+ This text is double-spaced at font size of 14pt.
+ This text is double-spaced at font size of 14pt.
+ This text is double-spaced at font size of 14pt.
+ </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
</fo:layout-master-set>
<!-- starts actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<!-- Inserts a header with the page number -->
<fo:static-content flow-name="xsl-region-before">
</fo:layout-master-set>
<!-- starts actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<!-- Inserts a header with the page number -->
<fo:static-content flow-name="xsl-region-before">
</fo:layout-master-set>
<!-- starts actual layout -->
- <fo:page-sequence master-name="first">
+ <fo:page-sequence master-reference="first">
<!-- Inserts a header with the page number -->
<fo:static-content flow-name="xsl-region-before">
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
- <fo:block font-size="18pt"
- font-family="sans-serif"
- line-height="24pt"
- space-after.optimum="15pt"
- background-color="blue"
- color="white"
- padding-top="6pt">
- Extensible Markup Language (XML) 1.0 with padding
- </fo:block>
+ <fo:block font-size="18pt"
+ font-family="sans-serif"
+ line-height="24pt"
+ space-after.optimum="15pt"
+ background-color="blue"
+ color="white"
+ padding-top="6pt">
+ Extensible Markup Language (XML) 1.0 with padding
+ </fo:block>
- <fo:block font-size="18pt"
- font-family="sans-serif"
- line-height="24pt"
- space-after.optimum="15pt"
- background-color="blue"
- color="white">
- Extensible Markup Language (XML) 1.0 without padding
- </fo:block>
-
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-top="1cm">
- <fo:block>
- This block-container has a top padding of 1 cm.
- </fo:block>
- </fo:block-container>
+ <fo:block font-size="18pt"
+ font-family="sans-serif"
+ line-height="24pt"
+ space-after.optimum="15pt"
+ background-color="blue"
+ color="white">
+ Extensible Markup Language (XML) 1.0 without padding
+ </fo:block>
+
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-top="1cm">
+ <fo:block>
+ This block-container has a top padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-bottom="1cm">
- <fo:block>
- bottom padding of 1 cm.
- </fo:block>
- </fo:block-container>
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-bottom="1cm">
+ <fo:block>
+ bottom padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-left="1cm">
- <fo:block>
- left padding of 1 cm.
- </fo:block>
- </fo:block-container>
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-left="1cm">
+ <fo:block>
+ left padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-right="1cm">
- <fo:block>
- right padding of 1 cm.
- </fo:block>
- </fo:block-container>
-
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-before="1cm">
- <fo:block>
- This block-container has a before padding of 1 cm.
- </fo:block>
- </fo:block-container>
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-right="1cm">
+ <fo:block>
+ right padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
+
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-before="1cm">
+ <fo:block>
+ This block-container has a before padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-after="1cm">
- <fo:block>
- after padding of 1 cm.
- </fo:block>
- </fo:block-container>
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-after="1cm">
+ <fo:block>
+ after padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-start="1cm">
- <fo:block>
- start padding of 1 cm.
- </fo:block>
- </fo:block-container>
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-start="1cm">
+ <fo:block>
+ start padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
- <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-end="1cm">
- <fo:block>
- end padding of 1 cm.
- </fo:block>
- </fo:block-container>
- </fo:flow>
- </fo:page-sequence>
+ <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-end="1cm">
+ <fo:block>
+ end padding of 1 cm.
+ </fo:block>
+ </fo:block-container>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is Page Number <fo:page-number/>.
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is Page Number <fo:page-number/>.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block space-before.optimum="1cm">
- leader-pattern="rule" rule-style="solid" rule-thickness="0.5pt"
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="0.5pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="1pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="3pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="3mm"></fo:leader>
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block space-before.optimum="1cm">
+ leader-pattern="rule" rule-style="solid" rule-thickness="0.5pt"
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="0.5pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="1pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="3pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="3mm"></fo:leader>
+ </fo:block>
- <fo:block space-before.optimum="1cm">
- leader-pattern="rule" rule-style="dotted" rule-thickness="0.5pt"
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="0.5pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="1pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="3pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="5mm"></fo:leader>
- </fo:block>
+ <fo:block space-before.optimum="1cm">
+ leader-pattern="rule" rule-style="dotted" rule-thickness="0.5pt"
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="0.5pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="1pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="3pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="5mm"></fo:leader>
+ </fo:block>
- <fo:block space-before.optimum="1cm">
- leader-pattern="rule" rule-dashed="dotted" rule-thickness="0.5pt"
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="0.5pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="1pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="3pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="1mm"></fo:leader>
- </fo:block>
+ <fo:block space-before.optimum="1cm">
+ leader-pattern="rule" rule-dashed="dotted" rule-thickness="0.5pt"
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="0.5pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="1pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="3pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="1mm"></fo:leader>
+ </fo:block>
- <fo:block space-before.optimum="1cm">
- leader-pattern="rule" rule-style="double" rule-thickness="0.5pt"
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="0.5pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="1pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="3pt"></fo:leader>
- </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="1mm"></fo:leader>
- </fo:block>
+ <fo:block space-before.optimum="1cm">
+ leader-pattern="rule" rule-style="double" rule-thickness="0.5pt"
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="0.5pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="1pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="3pt"></fo:leader>
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="1mm"></fo:leader>
+ </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block text-align="start">
- <fo:basic-link external-destination="font.pdf">Link to font.pdf</fo:basic-link>
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block text-align="start">
+ <fo:basic-link external-destination="font.pdf">Link to font.pdf</fo:basic-link>
+ </fo:block>
- <fo:block text-align="start">
- <fo:basic-link external-destination="http://www.wilco-int.com">Link to Wilco International</fo:basic-link>
- </fo:block>
+ <fo:block text-align="start">
+ <fo:basic-link external-destination="http://www.wilco-int.com">Link to Wilco International</fo:basic-link>
+ </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="11in"
- page-width="8.5in"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1in"
- margin-right="0.75in">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="11in"
+ page-width="8.5in"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1in"
+ margin-right="0.75in">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block space-after.optimum="1cm">
- The text below is in monospace font(useful for displayed formatted text, program code etc.)
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block space-after.optimum="1cm">
+ The text below is in monospace font(useful for displayed formatted text, program code etc.)
+ </fo:block>
- <fo:block space-before.optimum="1cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
+ <fo:block space-before.optimum="1cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
OWNER MR DHARAMVEER
SALECHA
ALTERNATOR 120 AMP 4-SPEED AUTOMATIC SPORTS SUSPENSION
ANTI-LOCK BRAKES ELECT STABILITY PROG SUNROOF (ACCESSORY)
2.7 LTR V6
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block space-after.optimum="1cm">
- space-after.optimum="1cm"
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- </fo:block>
- <fo:block>
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- </fo:block>
- <fo:block space-before.optimum="1cm" space-after.optimum="1cm">
- space-before.optimum="1cm" space-after.optimum="1cm"
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- </fo:block>
- <fo:block space-before.optimum="1cm" space-after.optimum="1cm">
- space-before.optimum="1cm" space-after.optimum="1cm"
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- </fo:block>
- <fo:block>
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- </fo:block>
- <fo:block space-before.optimum="1cm">
- space-before.optimum="1cm"
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- </fo:block>
- <fo:block>
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- This is a simple fo block.
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block space-after.optimum="1cm">
+ space-after.optimum="1cm"
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ </fo:block>
+ <fo:block>
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ </fo:block>
+ <fo:block space-before.optimum="1cm" space-after.optimum="1cm">
+ space-before.optimum="1cm" space-after.optimum="1cm"
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ </fo:block>
+ <fo:block space-before.optimum="1cm" space-after.optimum="1cm">
+ space-before.optimum="1cm" space-after.optimum="1cm"
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ </fo:block>
+ <fo:block>
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ </fo:block>
+ <fo:block space-before.optimum="1cm">
+ space-before.optimum="1cm"
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ </fo:block>
+ <fo:block>
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ This is a simple fo block.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is a simple fo block.
- </fo:block>
- <fo:block space-before.optimum="1cm" text-align="start">
- This is a simple fo block with text aligned to start.
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- </fo:block>
- <fo:block space-before.optimum="1cm" text-align="justify">
- This is a simple fo block with text justified.
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- </fo:block>
- <fo:block space-before.optimum="1cm" text-align="end">
- This is a simple fo block with text aligned to end.
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is a simple fo block.
+ </fo:block>
+ <fo:block space-before.optimum="1cm" text-align="start">
+ This is a simple fo block with text aligned to start.
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ </fo:block>
+ <fo:block space-before.optimum="1cm" text-align="justify">
+ This is a simple fo block with text justified.
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ </fo:block>
+ <fo:block space-before.optimum="1cm" text-align="end">
+ This is a simple fo block with text aligned to end.
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- This is a simple fo text.
- <fo:inline text-decoration="underline">
- This is a simple fo text and underlined.
- </fo:inline>
- <fo:inline text-decoration="line-through">
- This is a simple fo text and line-through.
- </fo:inline>
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ This is a simple fo text.
+ <fo:inline text-decoration="underline">
+ This is a simple fo text and underlined.
+ </fo:inline>
+ <fo:inline text-decoration="line-through">
+ This is a simple fo text and line-through.
+ </fo:inline>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block text-align="start" space-before.optimum="6pt" text-indent="1in">
- This text is formatted into a left-justified paragraph.
- The first line has an indent of 1 inch from the left.
-
- This text is formatted into a left-justified paragraph.
- The first line has an indent of 1 inch from the left.
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block text-align="start" space-before.optimum="6pt" text-indent="1in">
+ This text is formatted into a left-justified paragraph.
+ The first line has an indent of 1 inch from the left.
+
+ This text is formatted into a left-justified paragraph.
+ The first line has an indent of 1 inch from the left.
+ </fo:block>
- <fo:block space-before.optimum="6pt" text-indent="40%">
- This text is formatted into a left-justified paragraph.
- The first line has an indent of 30% from the left.
-
- This text is formatted into a left-justified paragraph.
- The first line has an indent of 30% inch from the left.
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:block space-before.optimum="6pt" text-indent="40%">
+ This text is formatted into a left-justified paragraph.
+ The first line has an indent of 30% from the left.
+
+ This text is formatted into a left-justified paragraph.
+ The first line has an indent of 30% inch from the left.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
- <fo:block>
- <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
- <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
- <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
- <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
- <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
- </fo:block>
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
+ <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
+ <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
+ <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
+ <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>
+ </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline> </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
- <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
- <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
- <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
- <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
- </fo:block>
-
- <fo:block space-before.optimum="1cm">
- <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
- <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
- <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
- <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
- <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
- </fo:block>
+ <fo:block space-before.optimum="1cm">
+ <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
+ <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
+ <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
+ <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
+ <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>
+ </fo:block>
+
+ <fo:block space-before.optimum="1cm">
+ <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
+ <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
+ <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
+ <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
+ <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>
+ </fo:block>
- <fo:block space-before.optimum="1cm">
- <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> </fo:block>
- </fo:flow>
- </fo:page-sequence>
+ <fo:block space-before.optimum="1cm">
+ <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline> </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
</fo:root>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="simplePM"
- page-height="25cm"
- page-width="20cm"
- margin-top="1cm"
- margin-bottom="1cm"
- margin-left="1.5cm"
- margin-right="1.5cm">
- <fo:region-before extent="2.5cm"/>
- <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
- <fo:region-after extent="2.5cm"/>
- </fo:simple-page-master>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simplePM"
+ page-height="25cm"
+ page-width="20cm"
+ margin-top="1cm"
+ margin-bottom="1cm"
+ margin-left="1.5cm"
+ margin-right="1.5cm">
+ <fo:region-before extent="2.5cm"/>
+ <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+ <fo:region-after extent="2.5cm"/>
+ </fo:simple-page-master>
<fo:simple-page-master master-name="no-overflow"
page-height="25cm"
page-width="20cm"
<fo:region-body overflow="hidden" margin-top="3cm" margin-bottom="3cm"/>
<fo:region-after extent="2.5cm"/>
</fo:simple-page-master>
- </fo:layout-master-set>
+ </fo:layout-master-set>
- <fo:page-sequence master-name="simplePM">
- <fo:flow flow-name="xsl-region-body">
+ <fo:page-sequence master-reference="simplePM">
+ <fo:flow flow-name="xsl-region-body">
<fo:block>
This test is to check a number of different possibilities when dealing with
text being wrapped at the end of an area.
</fo:block>
- <fo:block wrap-option="no-wrap">
- <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
- <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
- <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
- <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
-
- <fo:block space-before.optimum="1cm" wrap-option="wrap">
- <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
- <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
- <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
- </fo:block>
- This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block.
- This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block.
- </fo:block>
+ <fo:block wrap-option="no-wrap">
+ <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+ <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+ <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+ <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+
+ <fo:block space-before.optimum="1cm" wrap-option="wrap">
+ <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+ <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+ <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+ </fo:block>
+ This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block.
+ This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block.
+ </fo:block>
<fo:block space-before.optimum="10pt">
Some examples in a table.
</fo:block>
</fo:table-row>
</fo:table-body>
</fo:table>
- </fo:flow>
- </fo:page-sequence>
- <fo:page-sequence master-name="no-overflow">
+ </fo:flow>
+ </fo:page-sequence>
+ <fo:page-sequence master-reference="no-overflow">
<fo:flow flow-name="xsl-region-body">
<fo:block wrap-option="no-wrap">
<fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
- <xsl:output method="xml" indent="yes"/>
- <xsl:template match="test">
- <fo:root>
- <fo:layout-master-set>
- <fo:simple-page-master master-name="one" page-height="29.7cm" page-width="21cm" margin-top="0.5cm" margin-bottom="0.5cm" margin-left="1.5cm" margin-right="1.5cm">
- <fo:region-before extent="1.5cm"/>
- <fo:region-body margin-top="1.5cm" margin-bottom="2cm"/>
- <fo:region-after extent="1.5cm"/>
- </fo:simple-page-master>
- </fo:layout-master-set>
- <fo:page-sequence master-name="one">
- <fo:flow font-size="10pt" line-height="10pt" flow-name="xsl-region-body">
- <xsl:apply-templates select="data"/>
- </fo:flow>
- </fo:page-sequence>
- </fo:root>
- </xsl:template>
+ <xsl:output method="xml" indent="yes"/>
+ <xsl:template match="test">
+ <fo:root>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="one" page-height="29.7cm" page-width="21cm" margin-top="0.5cm" margin-bottom="0.5cm" margin-left="1.5cm" margin-right="1.5cm">
+ <fo:region-before extent="1.5cm"/>
+ <fo:region-body margin-top="1.5cm" margin-bottom="2cm"/>
+ <fo:region-after extent="1.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="one">
+ <fo:flow font-size="10pt" line-height="10pt" flow-name="xsl-region-body">
+ <xsl:apply-templates select="data"/>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </xsl:template>
- <xsl:template match="data">
- <xsl:apply-templates/>
- </xsl:template>
+ <xsl:template match="data">
+ <xsl:apply-templates/>
+ </xsl:template>
<!-- note: this causes any node not otherwise defined to be copied -->
- <xsl:template match="@*|node()">
- <xsl:copy>
- <xsl:apply-templates select="@*|node()"/>
- </xsl:copy>
- </xsl:template>
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
- <xsl:template match="title">
- <xsl:apply-templates/>
- </xsl:template>
+ <xsl:template match="title">
+ <xsl:apply-templates/>
+ </xsl:template>
</xsl:stylesheet>