git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_RoundedCorners@1355321 13f79535-47bb-0310-9956-ffa450edef68pull/29/head
@@ -246,3 +246,39 @@ tWcUInqOwhLX896WaH9Y5NJYe98MNpQxr3wizYOwdJa3t9+MVvH0+s6ih4aaJ49n | |||
Jysr6rop4tOTfXLTX7m5hXkfJ/k= | |||
=soRW | |||
-----END PGP PUBLIC KEY BLOCK----- | |||
pub 2048R/0ED3D317 2012-04-09 [expires: 2017-04-08] | |||
uid Glenn Adams <gadams@apache.org> | |||
sig 3 0ED3D317 2012-04-09 Glenn Adams <gadams@apache.org> | |||
sub 2048R/F23E86C1 2012-04-09 [expires: 2017-04-08] | |||
sig 0ED3D317 2012-04-09 Glenn Adams <gadams@apache.org> | |||
-----BEGIN PGP PUBLIC KEY BLOCK----- | |||
Version: GnuPG v1.4.11 (Darwin) | |||
mQENBE+DFvEBCACwHesM5hkZrlgPiq588FbZPe7QGtDRVdh0YbgI2A4Ky2odbFmA | |||
/n7lF9v+yf+FUn/0H2igwDYqLFx4JsB7z+Nvj+hwExdGQxuDaGSwMjjpJeEiuEmf | |||
b1Er5KYgpeFNm1MVP+r5kW5962O+HGIEx1xQ85AskNbr/jQkAg/wbbwWLFBQRMER | |||
PqFs1rXL2aWip8XtNPKnKBLPlFPn9a7glgB5Whgbls44KpR0dplAVoCWMnZEYnTA | |||
JYITcaDTCGFQI7aYgbj986RpS80o/Wcsnb8rjHKRZG8TaDr9MbgmmK39KwiJCflJ | |||
9LvXR9g1j3addxgqEUuQBEtoLkWs/eDT/KQ7ABEBAAG0H0dsZW5uIEFkYW1zIDxn | |||
YWRhbXNAYXBhY2hlLm9yZz6JAT4EEwECACgFAk+DFvECGwMFCQlmAYAGCwkIBwMC | |||
BhUIAgkKCwQWAgMBAh4BAheAAAoJEGZUur4O09MXl7MH/jfeyE012/ABTTjvwvRw | |||
2evD3cfghrZOQVT3PVEcVnXIcnVlmznO2DDs8aWXlhJ94ZnNdw8iKE8weK1FGXdd | |||
qWA7vHrOI1UAo7h+CDaBt0TM6OEM3Mp3+5baOJMRXyrjhbv74sj88HYRtoPhA2+z | |||
5ilVNmmX4PEAc6wqt87ZfNQ2ZqX2YzR+OaT5OggSB12qU/uE7d4d0NcDozEKQFUP | |||
CMAuPJRNd4/J5yFy0DStfgsDKuUTir0oldlUElAjbhF8WtAgRwufIYuG/r4Cbuid | |||
Qc32yVAoy069ZcggwBpkzVPOpL2by1fzeSohjIkntDIL474KuSSoBKCuw2nYxpyw | |||
b0O5AQ0ET4MW8QEIAMFUAScm2Dw1fmBhmKMVc0mzqpR8TvSQvwJLiXRSP86NI1zc | |||
DtuiXCFfNZykOifFk50otMH1hd91hqeQ6HfsxxYtXLg2UDHG2gTKzlWefwA+1eFc | |||
M8fz/oV0CanGjqaOd6VZoYeg+LSD6YgrJZVjuoxNN/S0A9fNd8B3CXsG+92udkkW | |||
YMyiUpD5qjMEwcjmj6ITX3M9VLxDCKKhYwN+u5wokuAk3yKtvBpWhJDQbaJcuDaC | |||
rLH788gFybZDzyJ8Ug/95peV9Z57OCjMJLtn67ES7fB544EQRYVmDGnX5tTo9sYj | |||
0bDjlbKX9lqS1sCGSezPxYxGgeXlnQrt+Sm+gd0AEQEAAYkBJQQYAQIADwUCT4MW | |||
8QIbDAUJCWYBgAAKCRBmVLq+DtPTF2YbB/0Vo8Xr9N1adqlY1UAofvo5AoXZFxFJ | |||
jkB0Eb3z1V3iSBh8P921LD0gUQz6JXptXZPVGnwgm/44RdqXC+kX+4MxiVBtNAHp | |||
0ODjIXiabBrixAHnT7EcAJkWue0RP2J5wiYKklwWFbEetjl0QSmitz8Jh33eA76j | |||
kFYW+vgKUMA8UrJ6j2Hk+vMFi0Odtntbc7AXvLifSPSmSztNe/Mws69EbuBph6bQ | |||
+zSmTQ6nt8PX+v3e0PnkXdGD8si9H6hj0K32pEMz86ttSnAtrhvsAdKPYOkY7/JD | |||
0Bl+bnb7FLxJjJGlGuO/Rn5SIR3fFNQGrE/zl2wsKtftUXse6kkZSue+ | |||
=XDBB | |||
-----END PGP PUBLIC KEY BLOCK----- |
@@ -17,13 +17,6 @@ | |||
## checkstyle binary distribution. | |||
# checkstyle.home.dir = /home/bart/stuff/checkstyle-4.0-beta6 | |||
## Path to the java 1.4 runtime libary (rt.jar on most systems) | |||
## On OS X this is /System/Library/Frameworks/JavaVM.framework/Versions/1.4/Classes/classes.jar | |||
#java14.rt.lib=/opt/j2re1.4.2_07/lib/rt.jar | |||
## Path to the java 1.4 jce libary (jce.jar on most systems) | |||
## On OS X this is /System/Library/Frameworks/JavaVM.framework/Versions/1.4/Classes/jce.jar | |||
#java14.jce.lib=/opt/j2re1.4.2_07/lib/jce.jar | |||
## =================================================================== | |||
## 2. Switches for common tasks | |||
@@ -54,9 +54,9 @@ list of possible build targets. | |||
<project default="all" basedir="." name="fop"> | |||
<!-- See build.properties and build-local.properties for overriding build settings. --> | |||
<!-- build-local.properties is not stored in SVN and overrides values from build.properties --> | |||
<property environment="env"/> | |||
<property file="${basedir}/build-local.properties"/> | |||
<property file="${basedir}/build.properties"/> | |||
<property environment="env"/> | |||
<fileset dir="${basedir}" id="dist.bin"> | |||
<include name="conf/**"/> | |||
<include name="examples/**"/> | |||
@@ -85,13 +85,12 @@ list of possible build targets. | |||
</patternset> | |||
</fileset> | |||
<patternset id="dist.src.lib.tools"> | |||
<include name="lib/build/asm*"/> | |||
<include name="lib/build/backport-util-concurrent*"/> | |||
<include name="lib/build/jaxen*"/> | |||
<include name="lib/build/pmd*"/> | |||
<include name="lib/build/qdox*"/> | |||
<include name="lib/build/retroweaver*"/> | |||
<include name="lib/build/xmlunit*"/> | |||
<include name="lib/build/asm*"/> | |||
<include name="lib/build/backport-util-concurrent*"/> | |||
<include name="lib/build/jaxen*"/> | |||
<include name="lib/build/pmd*"/> | |||
<include name="lib/build/qdox*"/> | |||
<include name="lib/build/xmlunit*"/> | |||
</patternset> | |||
<fileset dir="${basedir}" id="dist.src"> | |||
<include name="src/**"/> | |||
@@ -99,7 +98,7 @@ list of possible build targets. | |||
<include name="hyph/hyphenation.dtd"/> | |||
<include name="hyph/readme"/> | |||
<patternset refid="dist.lib"/> | |||
<patternset refid="dist.src.lib.tools"/> | |||
<patternset refid="dist.src.lib.tools"/> | |||
<include name="lib/servlet*"/> | |||
<include name="test/**"/> | |||
<include name="examples/**"/> | |||
@@ -149,11 +148,13 @@ list of possible build targets. | |||
<property name="javac.debug" value="on"/> | |||
<property name="javac.optimize" value="off"/> | |||
<property name="javac.deprecation" value="on"/> | |||
<property name="javac.source" value="1.4"/> | |||
<property name="javac.target" value="1.4"/> | |||
<property name="javac.source" value="1.5"/> | |||
<property name="javac.target" value="1.5"/> | |||
<property name="javac.fork" value="no"/> | |||
<property name="junit.fork" value="on"/> | |||
<property name="junit.fork" value="yes"/> | |||
<property name="junit.haltonfailure" value="off"/> | |||
<property name="junit.printsummary" value="off"/> | |||
<property name="junit.formatter.brief" value="on"/> | |||
<property name="javadoc.packages" value="org.apache.fop.*"/> | |||
<property name="src.dir" value="${basedir}/src"/> | |||
<property name="src.codegen.dir" value="${src.dir}/codegen"/> | |||
@@ -180,17 +181,15 @@ list of possible build targets. | |||
<property name="build.classes.dir" value="${build.dir}/classes"/> | |||
<property name="build.sandbox-classes.dir" value="${build.dir}/sandbox-classes"/> | |||
<property name="build.codegen-classes.dir" value="${build.dir}/codegen-classes"/> | |||
<property name="build.codegen.fonts.dir" value="${build.gensrc.dir}/org/apache/fop/fonts/"/> | |||
<property name="build.javadocs.dir" value="${build.dir}/javadocs"/> | |||
<property name="build.examples.dir" value="${build.dir}/examples"/> | |||
<property name="build.unit.tests.dir" value="${build.dir}/test-classes"/> | |||
<property name="build.tests.dir" value="${build.dir}/tests"/> | |||
<property name="build.viewer.resources.dir" value="${build.classes.dir}/org/apache/fop/render/awt/viewer/resources"/> | |||
<property name="build.viewer.images.dir" value="${build.classes.dir}/org/apache/fop/render/awt/viewer/images"/> | |||
<property name="build.property.examples.mime.type" value="application/pdf"/> | |||
<property name="build.property.tests.mime.type" value="application/pdf"/> | |||
<!--property name="layoutengine.disabled" value="test/layoutengine/disabled-testcases.txt"/--> | |||
<!--property name="fotree.disabled" value="test/fotree/disabled-testcases.txt"/--> | |||
<property name="layoutengine.disabled" value="test/layoutengine/disabled-testcases.xml"/> | |||
<property name="fotree.disabled" value="test/fotree/disabled-testcases.xml"/> | |||
<property name="dist.bin.dir" value="${basedir}/dist-bin"/> | |||
<property name="dist.src.dir" value="${basedir}/dist-src"/> | |||
<property name="nightly.dir" value="${basedir}/nightly"/> | |||
@@ -206,8 +205,24 @@ list of possible build targets. | |||
<property environment="env"/> | |||
<property name="forrest.home" value="${env.FORREST_HOME}"/> | |||
<import file="${env.FORREST_HOME}/main/forrest.build.xml" optional="true"/> | |||
--> | |||
<!-- =================================================================== --> | |||
--> | |||
<presetdef name="javac"> | |||
<javac fork="${javac.fork}" | |||
debug="${javac.debug}" | |||
deprecation="${javac.deprecation}" | |||
optimize="${javac.optimize}" | |||
source="${javac.source}" target="${javac.target}"/> | |||
</presetdef> | |||
<presetdef name="junit"> | |||
<junit haltonfailure="${junit.haltonfailure}" | |||
fork="${junit.fork}" | |||
printsummary="${junit.printsummary}" | |||
maxmemory="256m"/> | |||
</presetdef> | |||
<!-- =================================================================== --> | |||
<!-- Initialization target --> | |||
<!-- =================================================================== --> | |||
<target name="init" depends="init-avail"> | |||
@@ -240,7 +255,7 @@ list of possible build targets. | |||
<echo message="${jce.message}"/> | |||
<available property="jdk14.present" classname="java.lang.CharSequence"/> | |||
<fail message="${Name} requires at least Java 1.4!" unless="jdk14.present"/> | |||
<available property="junit.present" classname="junit.framework.TestCase" classpathref="libs-tools-build-classpath"/> | |||
<available property="junit.present" classname="org.junit.Test" classpathref="libs-tools-build-classpath"/> | |||
<condition property="junit.message" value="JUnit Support PRESENT"> | |||
<equals arg1="${junit.present}" arg2="true"/> | |||
</condition> | |||
@@ -275,57 +290,22 @@ list of possible build targets. | |||
<!-- =================================================================== --> | |||
<!-- Generate the source code --> | |||
<!-- =================================================================== --> | |||
<macrodef name="create-font"> | |||
<attribute name="name"/> | |||
<sequential> | |||
<xslt in="${src.codegen.fonts.dir}/@{name}.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.codegen.fonts.dir}/base14/@{name}.java"/> | |||
</sequential> | |||
</macrodef> | |||
<target name="codegen" depends="init" description="Generates the java files from the xml resources"> | |||
<echo message="Generating the java files from xml resources"/> | |||
<mkdir dir="${build.gensrc.dir}"/> | |||
<mkdir dir="${build.gensrc.dir}/org/apache/fop/fonts/base14"/> | |||
<xslt in="${src.codegen.fonts.dir}/encodings.xml" style="${src.codegen.fonts.dir}/code-point-mapping.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/CodePointMapping.java"/> | |||
<!-- Task unrolled because of a bug in Xalan included in some | |||
JDK 1.4 releases | |||
<xslt basedir="src/codegen" includes="Helvetica*.xml,Times*.xml,Courier*.xml" | |||
style="${src.codegen.fonts.dir}/font-file.xsl" | |||
destdir="${build.gensrc.dir}/org/apache/fop/fonts/base14" extension=".java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
--> | |||
<xslt in="${src.codegen.fonts.dir}/Courier.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Courier.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/CourierOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierOblique.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/CourierBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierBold.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/CourierBoldOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierBoldOblique.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/Helvetica.xml" style="${src.codegen.fonts.dir}/font-file.xsl" destdir="${build.gensrc.dir}/org/apache/fop/fonts/base14" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Helvetica.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/HelveticaBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaBold.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/HelveticaOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaOblique.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/HelveticaBoldOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaBoldOblique.java"> | |||
<xslt in="${src.codegen.fonts.dir}/encodings.xml" style="${src.codegen.fonts.dir}/code-point-mapping.xsl" out="${build.codegen.fonts.dir}/CodePointMapping.java"/> | |||
<xslt basedir="${src.codegen.fonts.dir}" includes="Helvetica*.xml,Times*.xml,Courier*.xml" style="${src.codegen.fonts.dir}/font-file.xsl" destdir="${build.codegen.fonts.dir}/base14/" extension=".java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/TimesRoman.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesRoman.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/TimesItalic.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesItalic.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/TimesBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesBold.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/TimesBoldItalic.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesBoldItalic.java"> | |||
<param name="encoding" expression="WinAnsiEncoding"/> | |||
</xslt> | |||
<xslt in="${src.codegen.fonts.dir}/Symbol.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Symbol.java"/> | |||
<xslt in="${src.codegen.fonts.dir}/ZapfDingbats.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/ZapfDingbats.java"/> | |||
<create-font name="Symbol"/> | |||
<create-font name="ZapfDingbats"/> | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- Compiles the source directory --> | |||
@@ -333,7 +313,7 @@ list of possible build targets. | |||
<target name="compile-java" depends="init, codegen"> | |||
<!-- create directories --> | |||
<mkdir dir="${build.classes.dir}"/> | |||
<javac destdir="${build.classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}" includeAntRuntime="true"> | |||
<javac destdir="${build.classes.dir}" includeAntRuntime="true"> | |||
<src path="${build.gensrc.dir}"/> | |||
<src path="${src.java.dir}"/> | |||
<patternset includes="**/*.java"/> | |||
@@ -342,7 +322,7 @@ list of possible build targets. | |||
<classpath refid="libs-build-classpath"/> | |||
</javac> | |||
<mkdir dir="${build.sandbox-classes.dir}"/> | |||
<javac destdir="${build.sandbox-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}" includeAntRuntime="true"> | |||
<javac destdir="${build.sandbox-classes.dir}" includeAntRuntime="true"> | |||
<src path="${src.sandbox.dir}"/> | |||
<patternset includes="**/*.java"/> | |||
<patternset refid="exclude-jai"/> | |||
@@ -354,7 +334,7 @@ list of possible build targets. | |||
</target> | |||
<target name="resourcegen" depends="compile-java"> | |||
<mkdir dir="${build.codegen-classes.dir}"/> | |||
<javac destdir="${build.codegen-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}" includeAntRuntime="true"> | |||
<javac destdir="${build.codegen-classes.dir}" includeAntRuntime="true"> | |||
<src path="${src.codegen.dir}/java"/> | |||
<patternset includes="**/*.java"/> | |||
<classpath> | |||
@@ -418,21 +398,21 @@ list of possible build targets. | |||
<!-- (src/java/org/apache/fop/hyphenation/classes.xml). --> | |||
<!-- =================================================================== --> | |||
<target name="codegen-hyphenation-classes"> | |||
<javac destdir="${build.codegen-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}"> | |||
<javac destdir="${build.codegen-classes.dir}"> | |||
<src path="${src.codegen.dir}/unicode/java"/> | |||
</javac> | |||
<java classname="org.apache.fop.hyphenation.UnicodeClasses" resultproperty="classes.result" classpath="${build.codegen-classes.dir}"> | |||
<java classname="org.apache.fop.hyphenation.UnicodeClasses" resultproperty="classes.result" classpath="${build.codegen-classes.dir}"> | |||
<arg value="${src.dir}/java/org/apache/fop/hyphenation/classes.xml"/> | |||
</java> | |||
<condition property="classes.result.message" value="Generation of classes successful"> | |||
<not> | |||
<isfailure code="${classes.result}"/> | |||
</not> | |||
</condition> | |||
<condition property="classes.result.message" value="Generation of classes failed"> | |||
<isfailure code="${classes.result}"/> | |||
</condition> | |||
<echo message="${classes.result.message}"/> | |||
</java> | |||
<condition property="classes.result.message" value="Generation of classes successful"> | |||
<not> | |||
<isfailure code="${classes.result}"/> | |||
</not> | |||
</condition> | |||
<condition property="classes.result.message" value="Generation of classes failed"> | |||
<isfailure code="${classes.result}"/> | |||
</condition> | |||
<echo message="${classes.result.message}"/> | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- compiles hyphenation patterns --> | |||
@@ -443,20 +423,20 @@ list of possible build targets. | |||
<pathelement location="${build.classes.dir}"/> | |||
</path> | |||
<mkdir dir="${build.classes.dir}/hyph"/> | |||
<java classname="org.apache.fop.hyphenation.SerializeHyphPattern" fork="true" resultproperty="hyph.result" classpathref="hyph-classpath"> | |||
<arg value="${user.hyph.dir}"/> | |||
<arg value="${build.classes.dir}/hyph"/> | |||
<jvmarg value="-Xss${hyph.stacksize}"/> | |||
</java> | |||
<condition property="hyph.result.message" value="Hyphenation successful"> | |||
<not> | |||
<isfailure code="${hyph.result}"/> | |||
</not> | |||
</condition> | |||
<condition property="hyph.result.message" value="Hyphenation failed"> | |||
<isfailure code="${hyph.result}"/> | |||
</condition> | |||
<echo message="${hyph.result.message}"/> | |||
<java classname="org.apache.fop.hyphenation.SerializeHyphPattern" fork="true" resultproperty="hyph.result" classpathref="hyph-classpath"> | |||
<arg value="${user.hyph.dir}"/> | |||
<arg value="${build.classes.dir}/hyph"/> | |||
<jvmarg value="-Xss${hyph.stacksize}"/> | |||
</java> | |||
<condition property="hyph.result.message" value="Hyphenation successful"> | |||
<not> | |||
<isfailure code="${hyph.result}"/> | |||
</not> | |||
</condition> | |||
<condition property="hyph.result.message" value="Hyphenation failed"> | |||
<isfailure code="${hyph.result}"/> | |||
</condition> | |||
<echo message="${hyph.result.message}"/> | |||
</target> | |||
<target name="uptodate-jar-hyphenation" depends="compile-hyphenation"> | |||
<uptodate property="jar.hyphenation.uptodate" targetfile="${build.dir}/fop-hyph.jar"> | |||
@@ -476,44 +456,15 @@ list of possible build targets. | |||
</manifest> | |||
</jar> | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- Retroweaver --> | |||
<!-- =================================================================== --> | |||
<target name="retro-unavail" unless="java14.rt.lib"> | |||
<echo message="Please set the path to a JDK 1.4 installation in your build-local.properties" /> | |||
<echo message="to allow for verification!" /> | |||
</target> | |||
<target name="retro-avail" depends="compile" if="java14.rt.lib"> | |||
<taskdef name="retroweaver" classname="net.sourceforge.retroweaver.ant.RetroWeaverTask"> | |||
<classpath> | |||
<path refid="libs-tools-build-classpath"/> | |||
</classpath> | |||
</taskdef> | |||
<path id="verify-classpath"> | |||
<pathelement location="${java14.rt.lib}"/> | |||
<pathelement location="${java14.jce.lib}"/> | |||
<pathelement location="${ant.home}/lib/ant.jar"/> | |||
<path refid="libs-build-classpath"/> | |||
</path> | |||
<!-- If we decide to use retroweaver for the actual weaving, the mkdir and | |||
destdir= will have to be removed. Also, the weaving task would additionally | |||
need to be defined even if no jdk 14 is available. --> | |||
<mkdir dir="${build.dir}/temp"/> | |||
<retroweaver srcdir="${build.classes.dir}" destdir="${build.dir}/temp" | |||
classpath="${toString:verify-classpath}" lazy="false" | |||
verify="true" target="1.4" /> | |||
</target> | |||
<target name="retro" depends="retro-avail,retro-unavail,compile"> | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- main FOP JARs --> | |||
<!-- =================================================================== --> | |||
<target name="uptodate-jar-main" depends="retro"> | |||
<target name="uptodate-jar-main" depends="compile"> | |||
<uptodate property="jar.main.uptodate" targetfile="${build.dir}/fop.jar"> | |||
<srcfiles dir="${build.classes.dir}"/> | |||
</uptodate> | |||
</target> | |||
<target name="jar-main" depends="retro,uptodate-jar-main" description="Generates the main jar file" unless="jar.main.uptodate"> | |||
<target name="jar-main" depends="compile,uptodate-jar-main" description="Generates the main jar file" unless="jar.main.uptodate"> | |||
<tstamp> | |||
<format property="ts" pattern="yyyyMMdd-HHmmss-z"/> | |||
</tstamp> | |||
@@ -537,12 +488,12 @@ list of possible build targets. | |||
<metainf dir="${basedir}" includes="LICENSE,NOTICE"/> | |||
</jar> | |||
</target> | |||
<target name="uptodate-jar-sandbox" depends="retro"> | |||
<target name="uptodate-jar-sandbox" depends="compile"> | |||
<uptodate property="jar.sandbox.uptodate" targetfile="${build.dir}/fop-sandbox.jar"> | |||
<srcfiles dir="${build.sandbox-classes.dir}"/> | |||
</uptodate> | |||
</target> | |||
<target name="jar-sandbox" depends="retro,uptodate-jar-sandbox" description="Generates the sandbox jar file" unless="jar.sandbox.uptodate"> | |||
<target name="jar-sandbox" depends="compile,uptodate-jar-sandbox" description="Generates the sandbox jar file" unless="jar.sandbox.uptodate"> | |||
<tstamp> | |||
<format property="ts" pattern="yyyyMMdd-HHmmss-z"/> | |||
</tstamp> | |||
@@ -602,8 +553,10 @@ list of possible build targets. | |||
<!-- General classes --> | |||
<patternset> | |||
<include name="org/apache/fop/Version.class"/> | |||
<include name="org/apache/fop/accessibility/StructureTreeElement.class"/> | |||
<include name="org/apache/fop/apps/Fop.class"/> | |||
<include name="org/apache/fop/apps/FOPException.class"/> | |||
<include name="org/apache/fop/complexscripts/fonts/*.class"/> | |||
<include name="org/apache/fop/fo/Constants.class"/> | |||
<include name="org/apache/fop/fo/FOTreeBuilder.class"/> | |||
<include name="org/apache/fop/area/AreaTreeControl*"/> | |||
@@ -645,13 +598,13 @@ list of possible build targets. | |||
<include name="commons-logging*.jar"/> | |||
<include name="xmlgraphics-commons*.jar"/> | |||
</fileset> | |||
<target name="uptodate-transcoder-pkg" depends="retro"> | |||
<target name="uptodate-transcoder-pkg" depends="compile"> | |||
<uptodate property="transcoder.pkg.uptodate" targetfile="${build.dir}/fop-transcoder.jar"> | |||
<srcfiles refid="transcoder-classes-files"/> | |||
<srcfiles refid="transcoder-lib-files"/> | |||
</uptodate> | |||
</target> | |||
<target name="transcoder-pkg" depends="uptodate-transcoder-pkg, retro" description="Generates the jar for the transcoder package for Batik" unless="transcoder.pkg.uptodate"> | |||
<target name="transcoder-pkg" depends="uptodate-transcoder-pkg, compile" description="Generates the jar for the transcoder package for Batik" unless="transcoder.pkg.uptodate"> | |||
<echo message="Creating the jar file ${build.dir}/fop-transcoder.jar"/> | |||
<property name="fop-transcoder.name" value="FOP Transcoder Package"/> | |||
<property name="fop-transcoder.version" value="1.0beta2"/> | |||
@@ -715,19 +668,24 @@ list of possible build targets. | |||
<!-- =================================================================== --> | |||
<!-- Testing --> | |||
<!-- =================================================================== --> | |||
<target name="junit-with-xmlunit" depends="init-avail" if="xmlunit.present"> | |||
<target name="junit-init" depends="init-avail" if="xmlunit.present"> | |||
<condition property="junit.formatter.brief.use"> | |||
<istrue value="${junit.formatter.brief}"/> | |||
</condition> | |||
</target> | |||
<target name="junit-with-xmlunit" depends="junit-init" if="xmlunit.present"> | |||
<patternset id="test-sources"/> | |||
</target> | |||
<target name="junit-without-xmlunit" depends="init-avail" unless="xmlunit.present"> | |||
<target name="junit-without-xmlunit" depends="junit-init" unless="xmlunit.present"> | |||
<patternset id="test-sources"> | |||
<exclude name="**/intermediate/*"/> | |||
</patternset> | |||
</target> | |||
<target name="junit-compile-java" depends="package, transcoder-pkg, junit-with-xmlunit, junit-without-xmlunit" if="junit.present"> | |||
<mkdir dir="${build.dir}/test-classes"/> | |||
<mkdir dir="${build.unit.tests.dir}"/> | |||
<mkdir dir="${build.dir}/test-gensrc"/> | |||
<mkdir dir="${junit.reports.dir}"/> | |||
<javac destdir="${build.dir}/test-classes" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}" includeAntRuntime="true"> | |||
<javac destdir="${build.unit.tests.dir}" includeAntRuntime="true"> | |||
<src path="${test.dir}/java"/> | |||
<patternset refid="test-sources"/> | |||
<classpath> | |||
@@ -737,9 +695,12 @@ list of possible build targets. | |||
</fileset> | |||
</classpath> | |||
</javac> | |||
<copy todir="${build.dir}/test-classes"> | |||
<copy todir="${build.unit.tests.dir}"> | |||
<fileset dir="${test.dir}/java"> | |||
<include name="**/*.xsl"/> | |||
<include name="**/*.txt"/> | |||
<include name="**/*.afm"/> | |||
<include name="**/*.fo"/> | |||
</fileset> | |||
</copy> | |||
</target> | |||
@@ -750,10 +711,14 @@ list of possible build targets. | |||
<include name="**/*.java"/> | |||
</fileset> | |||
</eventResourceGenerator> | |||
<copy todir="${build.dir}/test-classes"> | |||
<copy todir="${build.unit.tests.dir}"> | |||
<fileset dir="${test.dir}/java"> | |||
<include name="META-INF/**"/> | |||
<include name="**/*.xml"/> | |||
<include name="**/*.fo"/> | |||
<include name="**/BidiTestData*.ser"/> | |||
<include name="**/*.afp"/> | |||
<include name="**/*.xsl"/> | |||
</fileset> | |||
<fileset dir="${build.dir}/test-gensrc"> | |||
<include name="**/*.xml"/> | |||
@@ -762,85 +727,34 @@ list of possible build targets. | |||
</target> | |||
<target name="junit-compile" depends="junit-compile-java, junit-compile-copy-resources" description="Compiles FOP's JUnit tests" if="junit.present"/> | |||
<target name="junit-transcoder" depends="junit-compile" description="Runs FOP's JUnit transcoder tests" if="junit.present"> | |||
<echo message="Running basic functionality tests for fop-transcoder.jar"/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}"> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-build-classpath"/> | |||
<fileset dir="${build.dir}"> | |||
<include name="fop-transcoder.jar"/> | |||
</fileset> | |||
</classpath> | |||
<test name="org.apache.fop.BasicTranscoderTestSuite" todir="${junit.reports.dir}" outfile="TEST-transcoder"/> | |||
</junit> | |||
<path id="transcoder-classpath"> | |||
<pathelement location="${build.unit.tests.dir}"/> | |||
<path refid="libs-build-classpath"/> | |||
<fileset dir="${build.dir}"> | |||
<include name="fop-transcoder.jar"/> | |||
</fileset> | |||
</path> | |||
<junit-run classpath="transcoder-classpath" title="basic functionality for fop-transcoder.jar" testsuite="org.apache.fop.BasicTranscoderTestSuite" outfile="TEST-transcoder"/> | |||
<echo message="Running basic functionality tests for fop-transcoder-allinone.jar"/> | |||
<!-- These are the same tests as in the block above but testing the "allinone" JAR | |||
<!-- These are the same tests as in the block above but testing the "allinone" JAR | |||
instead. Please don't add any additional paths other than the test classes, the | |||
allinone JAR and the any Batik JARs to the classpath. If this fails, but the | |||
previous test block succeeded it indicates that the packaging of the allinone | |||
JAR needs to be updated. | |||
--> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-build-classpath"/> | |||
<fileset dir="build"> | |||
<include name="fop-transcoder-allinone.jar"/> | |||
</fileset> | |||
<fileset dir="${lib.dir}"> | |||
<include name="xml-apis*.jar"/> | |||
<include name="xerces*.jar"/> | |||
<include name="batik*.jar"/> | |||
</fileset> | |||
</classpath> | |||
<test name="org.apache.fop.BasicTranscoderTestSuite" todir="${junit.reports.dir}" outfile="TEST-transcoder-allinone"/> | |||
</junit> | |||
</target> | |||
<target name="junit-userconfig" depends="junit-compile" if="junit.present" description="Runs FOP's user config JUnit tests"> | |||
<echo message="Running user config tests"/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<jvmarg value="-Xmx1024m"/> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/> | |||
<sysproperty key="fop.layoutengine.testset" value="standard"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-run-classpath"/> | |||
</classpath> | |||
<test name="org.apache.fop.config.UserConfigTestSuite" todir="${junit.reports.dir}" outfile="TEST-userconfig"/> | |||
</junit> | |||
</target> | |||
<target name="junit-basic" depends="junit-compile" description="Runs FOP's JUnit basic tests" if="junit.present"> | |||
<echo message="Running basic functionality tests for fop.jar"/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-build-classpath"/> | |||
<fileset dir="build"> | |||
<include name="fop.jar"/> | |||
</fileset> | |||
</classpath> | |||
<test name="org.apache.fop.StandardTestSuite" todir="${junit.reports.dir}"/> | |||
</junit> | |||
<path id="transcoder-all-classpath"> | |||
<pathelement location="${build.unit.tests.dir}"/> | |||
<path refid="libs-build-classpath"/> | |||
<fileset dir="build"> | |||
<include name="fop-transcoder-allinone.jar"/> | |||
</fileset> | |||
<fileset dir="${lib.dir}"> | |||
<include name="xml-apis*.jar"/> | |||
<include name="xerces*.jar"/> | |||
<include name="batik*.jar"/> | |||
</fileset> | |||
</path> | |||
<junit-run classpath="transcoder-all-classpath" title="basic functionality for fop-transcoder-allinone.jar" testsuite="org.apache.fop.BasicTranscoderTestSuite" outfile="TEST-transcoder-allinone"/> | |||
</target> | |||
<target name="hyphenation-present" depends="junit-compile" if="junit.present"> | |||
<condition property="hyphenation.present"> | |||
@@ -860,124 +774,118 @@ list of possible build targets. | |||
</condition> | |||
<echo message="${hyphenation.message}"/> | |||
</target> | |||
<target name="junit-layout-standard" depends="junit-compile, junit-fotree" if="junit.present" description="Runs FOP's standard JUnit layout tests"> | |||
<echo message="Running standard layout engine tests"/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/> | |||
<sysproperty key="fop.layoutengine.testset" value="standard"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-run-classpath"/> | |||
</classpath> | |||
<test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" todir="${junit.reports.dir}" outfile="TEST-layoutengine-standard"/> | |||
</junit> | |||
</target> | |||
<target name="junit-layout-hyphenation" depends="hyphenation-present, junit-compile" if="hyphenation.present" description="Runs FOP's JUnit hyphenation layout tests"> | |||
<echo message="Running hyphenation layout engine tests"/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/> | |||
<sysproperty key="fop.layoutengine.testset" value="hyphenation"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-run-classpath"/> | |||
</classpath> | |||
<test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" todir="${junit.reports.dir}" outfile="TEST-layoutengine-hyphenation"/> | |||
</junit> | |||
</target> | |||
<target name="junit-layout" depends="junit-layout-standard, junit-layout-hyphenation" description="Runs all FOP's JUnit layout tests"/> | |||
<target name="junit-fotree" depends="junit-compile" description="Runs FOP's FO tree JUnit tests" if="junit.present"> | |||
<echo message="Running fo tree tests"/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<sysproperty key="fop.layoutengine.disabled" value="${fotree.disabled}"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-build-classpath"/> | |||
<fileset dir="build"> | |||
<include name="fop.jar"/> | |||
</fileset> | |||
</classpath> | |||
<test name="org.apache.fop.fotreetest.FOTreeTestSuite" todir="${junit.reports.dir}" outfile="TEST-FO-tree"/> | |||
</junit> | |||
</target> | |||
<path id="standard-junit-classpath"> | |||
<pathelement location="${build.unit.tests.dir}"/> | |||
<path refid="libs-tools-build-classpath"/> | |||
<fileset dir="${build.dir}"> | |||
<include name="fop.jar"/> | |||
<include name="fop-hyph.jar"/> | |||
</fileset> | |||
</path> | |||
<macrodef name="junit-run"> | |||
<attribute name="title"/> | |||
<attribute name="basedir" default=""/> | |||
<attribute name="testsuite"/> | |||
<attribute name="outfile"/> | |||
<attribute name="classpath" default="standard-junit-classpath"/> | |||
<sequential> | |||
<echo message="Running @{title} tests..."/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<junit dir="${basedir}" haltonfailure="yes" fork="${junit.fork}" forkmode="once" | |||
errorproperty="fop.junit.error" failureproperty="fop.junit.failure" printsummary="${junit.printsummary}"> | |||
<sysproperty key="basedir" value="${basedir}/@{basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/> | |||
<sysproperty key="fop.layoutengine.testset" value="standard"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="brief" usefile="false" if="junit.formatter.brief.use"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-tools-build-classpath"/> | |||
<pathelement location="${build.dir}/fop.jar"/> | |||
<path refid="@{classpath}"/> | |||
</classpath> | |||
<assertions> | |||
<enable/> | |||
</assertions> | |||
<test name="@{testsuite}" todir="${junit.reports.dir}" outfile="@{outfile}"/> | |||
</junit> | |||
</sequential> | |||
</macrodef> | |||
<target name="junit-area-tree-xml-format" depends="junit-compile" | |||
description="Runs FOP's area tree XML format JUnit tests" if="xmlunit.present"> | |||
<junit-run title="area tree XML format" | |||
testsuite="org.apache.fop.intermediate.AreaTreeXMLFormatTestSuite" | |||
outfile="TEST-area-tree-xml-format"/> | |||
<target name="junit-all" depends="junit-compile, junit-transcoder, junit-layout-hyphenation" | |||
description="Runs FOP's JUnit basic tests" if="junit.present"> | |||
<junit dir="${basedir}" haltonfailure="yes" fork="${junit.fork}" forkmode="once" | |||
errorproperty="fop.junit.error" failureproperty="fop.junit.failure" printsummary="${junit.printsummary}"> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<formatter type="brief" usefile="false" if="junit.formatter.brief.use"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<path refid="standard-junit-classpath"/> | |||
</classpath> | |||
<assertions> | |||
<enable/> | |||
</assertions> | |||
<batchtest todir="${junit.reports.dir}"> | |||
<fileset dir="${build.unit.tests.dir}" includes="**/*TestCase.class"/> | |||
</batchtest> | |||
</junit> | |||
</target> | |||
<target name="junit-basic" depends="junit-compile" description="Runs FOP's JUnit basic tests" if="junit.present"> | |||
<junit-run title="Standard test suite" testsuite="org.apache.fop.StandardTestSuite" outfile="TEST-standard-tests-suite"/> | |||
</target> | |||
<target name="junit-userconfig" depends="junit-compile" if="junit.present" description="Runs FOP's user config JUnit tests"> | |||
<junit-run title="user config" testsuite="org.apache.fop.config.UserConfigTestSuite" outfile="TEST-userconfig"/> | |||
</target> | |||
<target name="junit-intermediate-format" depends="junit-compile" | |||
<target name="junit-layout-standard" depends="junit-compile, junit-fotree" if="junit.present" description="Runs FOP's standard JUnit layout tests"> | |||
<junit-run title="standard layout engine" testsuite="org.apache.fop.layoutengine.LayoutEngineTestSuite" outfile="TEST-layoutengine-standard"/> | |||
</target> | |||
<target name="junit-layout-hyphenation" depends="hyphenation-present, junit-compile" if="hyphenation.present" description="Runs FOP's JUnit hyphenation layout tests"> | |||
<junit-run title="hyphenation layout engine" testsuite="org.apache.fop.layoutengine.HyphenationLayoutTestCase" | |||
outfile="TEST-layoutengine-hyphenation"/> | |||
</target> | |||
<target name="junit-layout" depends="junit-layout-standard, junit-layout-hyphenation" description="Runs all FOP's JUnit layout tests"/> | |||
<target name="junit-fotree" depends="junit-compile" description="Runs FOP's FO tree JUnit tests" if="junit.present"> | |||
<junit-run title="fo tree" testsuite="org.apache.fop.fotreetest.FOTreeTestSuite" outfile="TEST-FO-tree"/> | |||
</target> | |||
<target name="junit-area-tree-xml-format" depends="junit-compile" description="Runs FOP's area tree XML format JUnit tests" if="xmlunit.present"> | |||
<junit-run title="area tree XML format" testsuite="org.apache.fop.intermediate.AreaTreeXMLFormatTestSuite" outfile="TEST-area-tree-xml-format"/> | |||
</target> | |||
<target name="junit-intermediate-layout" depends="junit-compile" if="xmlunit.present"> | |||
<junit-run title="intermediate format from layout tests" | |||
testsuite="org.apache.fop.intermediate.LayoutIFTestSuite" | |||
outfile="TEST-intermediate-format-from-layout"/> | |||
</target> | |||
<target name="junit-intermediate-format" depends="junit-compile,junit-intermediate-layout" | |||
description="Runs FOP's intermediate format JUnit tests" if="xmlunit.present"> | |||
<junit-run title="intermediate format" | |||
testsuite="org.apache.fop.intermediate.IntermediateFormatTestSuite" | |||
outfile="TEST-intermediate-format"/> | |||
</target> | |||
<target name="junit-events" depends="junit-compile" | |||
description="Runs FOP's event JUnit tests" if="junit.present"> | |||
<junit-run title="event" basedir="test/events" | |||
testsuite="org.apache.fop.events.EventProcessingTestCase" | |||
outfile="TEST-events"/> | |||
<target name="junit-events" depends="junit-compile" description="Runs FOP's event JUnit tests" if="junit.present"> | |||
<junit-run title="event" testsuite="org.apache.fop.events.EventProcessingTestCase" outfile="TEST-events"/> | |||
</target> | |||
<target name="junit-text-linebreak" depends="junit-compile" description="Runs FOP's JUnit unicode linebreak tests" if="junit.present"> | |||
<echo message="Running tests for Unicode UAX#14 support"/> | |||
<junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure"> | |||
<sysproperty key="basedir" value="${basedir}"/> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<formatter type="brief" usefile="false"/> | |||
<formatter type="plain" usefile="true"/> | |||
<formatter type="xml" usefile="true"/> | |||
<classpath> | |||
<pathelement location="${build.dir}/test-classes"/> | |||
<path refid="libs-build-classpath"/> | |||
<fileset dir="build"> | |||
<include name="fop.jar"/> | |||
</fileset> | |||
</classpath> | |||
<test name="org.apache.fop.text.linebreak.LineBreakStatusTest" todir="${junit.reports.dir}"/> | |||
</junit> | |||
</target> | |||
<target name="junit-reduced" depends="junit-userconfig, junit-basic, junit-transcoder, junit-text-linebreak, junit-fotree"/> | |||
<target name="junit-full" depends="junit-reduced, junit-layout, junit-area-tree-xml-format, junit-intermediate-format"/> | |||
<target name="junit" depends="junit-full" description="Runs all of FOP's JUnit tests" if="junit.present"> | |||
<fail><condition><or><isset property="fop.junit.error"/><isset property="fop.junit.failure"/><not><isset property="hyphenation.present"/></not></or></condition> | |||
<junit-run title="Unicode UAX#14 support" testsuite="org.apache.fop.text.linebreak.LineBreakStatusTestCase" outfile="TEST-linebreak"/> | |||
</target> | |||
<target name="junit-fonts" depends="junit-compile"> | |||
<echo message="Running tests for the fonts package"/> | |||
<junit-run title="fonts" testsuite="org.apache.fop.fonts.FOPFontsTestSuite" outfile="TEST-fonts"/> | |||
</target> | |||
<target name="junit-render-ps" depends="junit-compile"> | |||
<echo message="Running tests for the render ps package"/> | |||
<junit-run title="render-ps" testsuite="org.apache.fop.render.ps.RenderPSTestSuite" outfile="TEST-render-ps"/> | |||
</target> | |||
<target name="junit-render-pdf" depends="junit-compile"> | |||
<junit-run title="render-pdf" testsuite="org.apache.fop.render.pdf.RenderPDFTestSuite" outfile="TEST-render-pdf"/> | |||
</target> | |||
<target name="junit-complexscripts" depends="junit-compile"> | |||
<junit-run title="complexscripts" testsuite="org.apache.fop.complexscripts.ComplexScriptsTestSuite" outfile="TEST-complexscripts"/> | |||
</target> | |||
<target name="junit-reduced" depends="junit-userconfig, junit-basic, junit-transcoder, | |||
junit-text-linebreak, junit-fotree, junit-fonts, junit-render-pdf, junit-render-ps, | |||
junit-complexscripts"/> | |||
<target name="junit" depends="junit-all" description="Runs all of FOP's JUnit tests" | |||
if="junit.present"> | |||
<fail><condition><or><isset property="fop.junit.error"/><isset | |||
property="fop.junit.failure"/><not><isset | |||
property="hyphenation.present"/></not></or></condition> | |||
NOTE: | |||
************************************************************************** | |||
* One or more of the Junit tests had Failures or Errors or were skipped! * | |||
@@ -1124,28 +1032,34 @@ NOTE: | |||
<!-- =================================================================== --> | |||
<!-- Checkstyle --> | |||
<!-- =================================================================== --> | |||
<property name="checkstyle.location" value="${lib-tools}/checkstyle-5.5-all.jar" /> | |||
<property name="checkstyle.noframes.xslt" value="${basedir}/checkstyle-noframes.xsl" /> | |||
<property name="checkstyle.config" value="${basedir}/checkstyle-5.5.xml" /> | |||
<path id="checkstyle-classpath"> | |||
<path refid="libs-build-classpath"/> | |||
<pathelement location="${checkstyle.location}"/> | |||
</path> | |||
<condition property="checkstyle.avail"> | |||
<and> | |||
<and> | |||
<available classname="com.puppycrawl.tools.checkstyle.CheckStyleTask"> | |||
<classpath> | |||
<path refid="libs-tools-build-classpath"/> | |||
</classpath> | |||
<classpath refid="checkstyle-classpath"/> | |||
</available> | |||
<available file="${checkstyle.noframes.xslt}"/> | |||
<available file="${checkstyle.config}"/> | |||
</and> | |||
</condition> | |||
<target name="checkstyle-avail" unless="checkstyle.avail"> | |||
<echo message="Checkstyle support NOT present. Please download it from http://checkstyle.sf.net/ and"/> | |||
<echo message="..copy or link checkstyle-all-5.1.jar to ${lib-tools}"/> | |||
<echo message="..copy or link checkstyle-noframes.xsl to ${checkstyle.noframes.xslt}"/> | |||
<echo message="... please provide ${checkstyle.location}"/> | |||
<echo message="... please provide ${checkstyle.noframes.xslt}"/> | |||
<echo message="... please provide ${checkstyle.config}"/> | |||
</target> | |||
<target name="checkstyle" depends="package, checkstyle-avail" if="checkstyle.avail" description="Runs Checkstyle for a code quality report"> | |||
<taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="libs-tools-build-classpath"/> | |||
<taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstyle-classpath"/> | |||
<mkdir dir="${build.dir}"/> | |||
<checkstyle config="checkstyle-5.1.xml" failonviolation="false"> | |||
<checkstyle config="${checkstyle.config}" failonviolation="false"> | |||
<classpath> | |||
<path refid="libs-build-classpath"/> | |||
<path refid="checkstyle-classpath"/> | |||
<pathelement location="${build.classes.dir}"/> | |||
<pathelement location="${build.sandbox-classes.dir}"/> | |||
<pathelement location="${build.codegen-classes.dir}"/> | |||
@@ -1361,11 +1275,11 @@ NOTE: | |||
<!-- Nightly builds --> | |||
<!-- =================================================================== --> | |||
<target name="junit-nightly-build" depends="junit-userconfig,junit-text-linebreak,junit-fotree"> | |||
<fail> | |||
<condition> | |||
<or> | |||
<isset property="fop.junit.error"/> | |||
<isset property="fop.junit.failure"/> | |||
<fail> | |||
<condition> | |||
<or> | |||
<isset property="fop.junit.error"/> | |||
<isset property="fop.junit.failure"/> | |||
</or> | |||
</condition> | |||
NOTE: | |||
@@ -1439,25 +1353,87 @@ NOTE: | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- Helper task to generate source files that have already been checked --> | |||
<!-- Helper tasks to generate source files that have already been checked --> | |||
<!-- into the repository. For these files, the version in the --> | |||
<!-- repository is the official one and may have updates that will *not* --> | |||
<!-- be generated by below. This target should never be part of the --> | |||
<!-- normal build process. --> | |||
<!-- =================================================================== --> | |||
<target name="codegen-unicode" > | |||
<target name="codegen-unicode" depends="compile-java"> | |||
<mkdir dir="${build.codegen-classes.dir}"/> | |||
<javac destdir="${build.codegen-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}"> | |||
<javac destdir="${build.codegen-classes.dir}"> | |||
<src path="${src.codegen.dir}/unicode/java"/> | |||
<classpath> | |||
<path refid="libs-build-classpath"/> | |||
<pathelement location="${build.classes.dir}"/> | |||
<pathelement location="${build.codegen-classes.dir}"/> | |||
</classpath> | |||
</javac> | |||
<java classname="org.apache.fop.text.linebreak.GenerateLineBreakUtils" classpath="${build.codegen-classes.dir}"> | |||
<arg line="-o ${src.dir}/java/org/apache/fop/text/linebreak/LineBreakUtils.java"/> | |||
</java> | |||
</target> | |||
<target name="codegen-unicode-bidi" depends="compile-java"> | |||
<mkdir dir="${build.codegen-classes.dir}"/> | |||
<javac destdir="${build.codegen-classes.dir}" includeAntRuntime="true"> | |||
<src path="${src.codegen.dir}/unicode/java"/> | |||
<classpath> | |||
<path refid="libs-build-classpath"/> | |||
<pathelement location="${build.classes.dir}"/> | |||
<pathelement location="${build.codegen-classes.dir}"/> | |||
</classpath> | |||
</javac> | |||
<java classname="org.apache.fop.complexscripts.bidi.GenerateBidiClass" classpath="${build.codegen-classes.dir}"> | |||
<arg line="-b http://www.unicode.org/Public/6.0.0/ucd/extracted/DerivedBidiClass.txt"/> | |||
<arg line="-o ${src.dir}/java/org/apache/fop/complexscripts/bidi/BidiClass.java"/> | |||
</java> | |||
<delete> | |||
<fileset dir="${test.dir}/java/org/apache/fop/complexscripts/bidi"> | |||
<include name="**/BidiTestData*.ser"/> | |||
</fileset> | |||
</delete> | |||
<java classname="org.apache.fop.text.bidi.GenerateBidiTestData" classpath="${build.codegen-classes.dir}" fork="yes"> | |||
<arg line="-v"/> | |||
<arg line="-i"/> | |||
<arg line="-b http://www.unicode.org/Public/6.0.0/ucd/BidiTest.txt"/> | |||
<arg line="-d http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt"/> | |||
<arg line="-o ${test.dir}/java/org/apache/fop/complexscripts/bidi/BidiTestData.java"/> | |||
</java> | |||
</target> | |||
<target name="resgen-complexscripts" depends="compile-java"> | |||
<mkdir dir="${build.unit.tests.dir}"/> | |||
<javac destdir="${build.unit.tests.dir}" includeAntRuntime="true" memoryMaximumSize="1024m"> | |||
<src path="${test.dir}/java/org/apache/fop/complexscripts/"/> | |||
<classpath> | |||
<path refid="libs-build-classpath"/> | |||
<pathelement location="${build.classes.dir}"/> | |||
</classpath> | |||
</javac> | |||
<java classname="org.apache.fop.complexscripts.scripts.arabic.GenerateArabicTestData"> | |||
<classpath> | |||
<path refid="libs-build-classpath"/> | |||
<pathelement location="${build.classes.dir}"/> | |||
<pathelement location="${build.unit.tests.dir}"/> | |||
</classpath> | |||
<arg line="-c"/> | |||
</java> | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- Special target for Gump --> | |||
<!-- =================================================================== --> | |||
<target name="gump" depends="junit-reduced"/> | |||
<target name="gump" depends="package,transcoder-pkg"/> | |||
<target name="gump-test" depends="junit-all"> | |||
<fail> | |||
<condition> | |||
<or> | |||
<isset property="fop.junit.error"/> | |||
<isset property="fop.junit.failure"/> | |||
</or> | |||
</condition> | |||
At least one unit test failed! | |||
</fail> | |||
<echo>All tests passed!</echo> | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- Clean targets --> | |||
<!-- =================================================================== --> | |||
@@ -1470,7 +1446,7 @@ NOTE: | |||
<delete> | |||
<fileset dir="${basedir}" includes="${name}-*.tar.gz"/> | |||
<fileset dir="${basedir}" includes="${name}-*.zip"/> | |||
<fileset dir="${basedir}" includes="${name}-bundle.jar"/> | |||
<fileset dir="${basedir}" includes="${name}-bundle.jar"/> | |||
</delete> | |||
</target> | |||
<target name="validate-xdocs" description="Validate the xdocs. Point schemas.dir to Forrest's 'schemas' directory."> | |||
@@ -1506,4 +1482,10 @@ NOTE: | |||
</xmlcatalog> | |||
</xmlvalidate> | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- Local targets --> | |||
<!-- =================================================================== --> | |||
<import file="build-local.targets.xml" optional="true"/> | |||
</project> |
@@ -1,190 +0,0 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.1//EN" "http://www.puppycrawl.com/dtds/configuration_1_1.dtd"> | |||
<module name="Checker"> | |||
<module name="TreeWalker"> | |||
<module name="RegexpHeader"> | |||
<property name="headerFile" value="${samedir}/checkstyle.header"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="ArrayTypeStyleCheck"> | |||
<property name="javaStyle" value="true"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="ModifierOrderCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="RedundantModifierCheck"> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/> | |||
</module> | |||
<module name="UpperEllCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="AvoidNestedBlocksCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="EmptyBlockCheck"> | |||
<property name="option" value="text"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT"/> | |||
</module> | |||
<module name="LeftCurlyCheck"> | |||
<property name="maxLineLength" value="100"/> | |||
<property name="option" value="eol"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/> | |||
</module> | |||
<module name="NeedBracesCheck"> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_IF, LITERAL_FOR, LITERAL_WHILE"/> | |||
</module> | |||
<module name="RightCurlyCheck"> | |||
<property name="option" value="same"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY"/> | |||
</module> | |||
<module name="DoubleCheckedLockingCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="EmptyStatementCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="EqualsHashCodeCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="InnerAssignmentCheck"> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="ASSIGN, BAND_ASSIGN, BOR_ASSIGN, BSR_ASSIGN, BXOR_ASSIGN, DIV_ASSIGN, MINUS_ASSIGN, MOD_ASSIGN, PLUS_ASSIGN, SL_ASSIGN, SR_ASSIGN, STAR_ASSIGN"/> | |||
</module> | |||
<module name="MissingSwitchDefaultCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="SimplifyBooleanExpressionCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="SimplifyBooleanReturnCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="FinalClassCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="HideUtilityClassConstructorCheck"> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="VisibilityModifierCheck"> | |||
<property name="packageAllowed" value="false"/> | |||
<property name="protectedAllowed" value="true"/> | |||
<property name="publicMemberPattern" value="^serialVersionUID"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="AvoidStarImportCheck"> | |||
<property name="severity" value="error"/> | |||
</module> | |||
<module name="JavadocMethodCheck"> | |||
<property name="allowMissingParamTags" value="false"/> | |||
<property name="allowMissingReturnTag" value="false"/> | |||
<property name="allowMissingThrowsTags" value="false"/> | |||
<property name="allowThrowsTagsForSubclasses" value="false"/> | |||
<property name="allowUndeclaredRTE" value="false"/> | |||
<property name="scope" value="protected"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="METHOD_DEF, CTOR_DEF"/> | |||
</module> | |||
<module name="JavadocTypeCheck"> | |||
<property name="scope" value="protected"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF"/> | |||
</module> | |||
<module name="JavadocVariableCheck"> | |||
<property name="scope" value="protected"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="ConstantNameCheck"> | |||
<property name="format" value="^[A-Z](_?[A-Z0-9]+)*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="LocalFinalVariableNameCheck"> | |||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="LocalVariableNameCheck"> | |||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="MemberNameCheck"> | |||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="MethodNameCheck"> | |||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="PackageNameCheck"> | |||
<property name="format" value="^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="ParameterNameCheck"> | |||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="StaticVariableNameCheck"> | |||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="TypeNameCheck"> | |||
<property name="format" value="^[A-Z][a-zA-Z0-9]*$"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF"/> | |||
</module> | |||
<module name="FileLengthCheck"> | |||
<property name="max" value="2000"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="LineLengthCheck"> | |||
<property name="ignorePattern" value="^$"/> | |||
<property name="max" value="100"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tabWidth" value="4"/> | |||
</module> | |||
<module name="MethodLengthCheck"> | |||
<property name="max" value="150"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="METHOD_DEF, CTOR_DEF"/> | |||
</module> | |||
<module name="ParameterNumberCheck"> | |||
<property name="max" value="7"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="METHOD_DEF, CTOR_DEF"/> | |||
</module> | |||
<module name="EmptyForIteratorPadCheck"> | |||
<property name="option" value="nospace"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="NoWhitespaceAfterCheck"> | |||
<property name="allowLineBreaks" value="true"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="ARRAY_INIT, BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/> | |||
</module> | |||
<module name="NoWhitespaceBeforeCheck"> | |||
<property name="allowLineBreaks" value="true"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="SEMI, POST_DEC, POST_INC"/> | |||
</module> | |||
<module name="OperatorWrapCheck"> | |||
<property name="option" value="nl"/> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, SL, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/> | |||
</module> | |||
<module name="TabCharacterCheck"> | |||
<property name="severity" value="error"/> | |||
</module> | |||
<module name="WhitespaceAfterCheck"> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="COMMA, SEMI"/> | |||
</module> | |||
<module name="WhitespaceAroundCheck"> | |||
<property name="severity" value="warning"/> | |||
<property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/> | |||
</module> | |||
</module> | |||
</module> |
@@ -96,7 +96,7 @@ | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="ConstantNameCheck"> | |||
<property name="format" value="^[A-Z](_?[A-Z0-9]+)*$"/> | |||
<property name="format" value="^([A-Z](_?[A-Z0-9]+)*)|(log)$"/> | |||
<property name="severity" value="warning"/> | |||
</module> | |||
<module name="LocalFinalVariableNameCheck"> |
@@ -0,0 +1,274 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.1//EN" "http://www.puppycrawl.com/dtds/configuration_1_1.dtd"> | |||
<module name="Checker"> | |||
<property name="severity" value="warning"/> | |||
<!-- ===================================================================================================== --> | |||
<module name="FileTabCharacter"> | |||
<property name="severity" value="error"/> | |||
<property name="eachLine" value="true"/> | |||
</module> | |||
<!-- ===================================================================================================== --> | |||
<!-- ===================================================================================================== --> | |||
<module name="NewlineAtEndOfFile"/> | |||
<!-- ===================================================================================================== --> | |||
<!-- ===================================================================================================== --> | |||
<module name="RegexpHeader"> | |||
<property name="severity" value="error"/> | |||
<property name="header" value="\/\*\n \* Licensed to the Apache Software Foundation \(ASF\) under one or more\n \* contributor license agreements. See the NOTICE file distributed with\n \* this work for additional information regarding copyright ownership.\n \* The ASF licenses this file to You under the Apache License, Version 2.0\n \* \(the "License"\); you may not use this file except in compliance with\n \* the License. You may obtain a copy of the License at\n \*\n \* http://www.apache.org/licenses/LICENSE-2.0\n \*\n \* Unless required by applicable law or agreed to in writing, software\n \* distributed under the License is distributed on an "AS IS" BASIS,\n \* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n \* See the License for the specific language governing permissions and\n \* limitations under the License.\n \*\/\n\n"/> | |||
</module> | |||
<!-- ===================================================================================================== --> | |||
<!-- ===================================================================================================== --> | |||
<module name="RegexpSingleline"> | |||
<property name="format" value="\s+$"/> | |||
<property name="message" value="Line has trailing spaces."/> | |||
</module> | |||
<!-- ===================================================================================================== --> | |||
<!-- ===================================================================================================== --> | |||
<module name="RegexpSingleline"> | |||
<property name="format" value="@author"/> | |||
<property name="message" value="Use of @author javadoc keyword is prohibited."/> | |||
</module> | |||
<!-- ===================================================================================================== --> | |||
<!-- ===================================================================================================== --> | |||
<module name="SuppressionCommentFilter"> | |||
<property name="offCommentFormat" value="CSOFF\: ([\w\|]+)"/> | |||
<property name="onCommentFormat" value="CSON\: ([\w\|]+)"/> | |||
<property name="checkFormat" value="$1"/> | |||
</module> | |||
<!-- ===================================================================================================== --> | |||
<!-- ===================================================================================================== --> | |||
<module name="SuppressWithNearbyCommentFilter"> | |||
<property name="commentFormat" value="CSOK\: ([\w\|]+)"/> | |||
<property name="checkFormat" value="$1"/> | |||
<property name="influenceFormat" value="0"/> | |||
</module> | |||
<!-- ===================================================================================================== --> | |||
<!-- ===================================================================================================== --> | |||
<module name="TreeWalker"> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="AnnotationUseStyle"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="ArrayTypeStyle"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="AvoidNestedBlocks"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="AvoidStarImport"> | |||
<property name="severity" value="error"/> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="ConstantName"> | |||
<property name="format" value="^([A-Z](_?[A-Z0-9]+)*)|(log)$"/> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="DefaultComesLast"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="DoubleCheckedLocking"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="EmptyBlock"> | |||
<property name="tokens" value="LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_TRY,LITERAL_WHILE,STATIC_INIT"/> | |||
<property name="option" value="text"/> <!-- changing block policy to stmt produces 110 new errors --> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="EmptyStatement"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="EqualsHashCode"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- <module name="ExplicitInitialization"/> produces 795 new errors --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="FileContentsHolder"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="FinalClass"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="GenericWhitespace"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="HideUtilityClassConstructor"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="IllegalImport"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="ImportOrder"> | |||
<property name="groups" value="java,javax,org,org.apache,org.apache.batik,org.apache.xmlgraphics,org.apache.fop,com"/> | |||
<property name="separated" value="true"/> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="InnerAssignment"> | |||
<property name="tokens" value="ASSIGN,BAND_ASSIGN,BOR_ASSIGN,BSR_ASSIGN,BXOR_ASSIGN,DIV_ASSIGN,MINUS_ASSIGN,MOD_ASSIGN,PLUS_ASSIGN,SL_ASSIGN,SR_ASSIGN,STAR_ASSIGN"/> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="LeftCurly"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="LocalFinalVariableName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="LocalVariableName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="MemberName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="MethodName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- <module name="MethodParamPad"/> produces 4316 new errors --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="MissingSwitchDefault"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="ModifierOrder"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="MultipleVariableDeclarations"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="NeedBraces"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="NoWhitespaceAfter"> | |||
<property name="allowLineBreaks" value="false"/> | |||
<property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/> | |||
</module> | |||
<module name="NoWhitespaceAfter"> | |||
<property name="allowLineBreaks" value="true"/> | |||
<property name="tokens" value="ARRAY_INIT"/> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="NoWhitespaceBefore"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="OneStatementPerLine"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="OperatorWrap"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="PackageName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="ParameterName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- <module name="ParenPad"/> produces 16666 new errors --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="RedundantImport"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="RedundantModifier"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="RightCurly"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="SimplifyBooleanExpression"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="SimplifyBooleanReturn"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="StaticVariableName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="TypeName"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="TypecastParenPad"> | |||
<property name="tokens" value="RPAREN,TYPECAST"/> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="UnusedImports"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="UpperEll"/> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="WhitespaceAfter"> | |||
<property name="tokens" value="COMMA,SEMI"/> <!-- adding TYPECAST produces 2203 new errors --> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
<module name="WhitespaceAround"> | |||
<property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,EQUAL,GE,GT,LAND,LCURLY,LE,LITERAL_ASSERT,LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_RETURN,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,LOR,LT,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,TYPE_EXTENSION_AND,WILDCARD_TYPE"/> | |||
<property name="ignoreEnhancedForColon" value="false"/> | |||
</module> | |||
<!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... --> | |||
</module> | |||
<!-- ===================================================================================================== --> | |||
</module> |
@@ -2,6 +2,7 @@ | |||
<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> | |||
<suppressions> | |||
<suppress files="org/apache/fop/fo/FOPropertyMapping.java" checks="FileLengthCheck"/> | |||
<suppress files="org/apache/fop/fonts/truetype/TTFFile.java" checks="FileLengthCheck"/> | |||
<suppress files="org/apache/fop/complexscripts/fonts/GlyphPositioningTable.java" checks="FileLengthCheck"/> | |||
<suppress files="org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java" checks="FileLengthCheck"/> | |||
<suppress files="org/apache/fop/Version.java" lines="40-50" checks="LineLengthCheck"/> | |||
</suppressions> |
@@ -94,6 +94,7 @@ the location of this file. | |||
--> | |||
<images mode="b+w" bits-per-pixel="8"/> | |||
<renderer-resolution>240</renderer-resolution> | |||
<line-width-correction>2.5</line-width-correction> | |||
<resource-group-file>resources.afp</resource-group-file> | |||
<fonts> |
@@ -69,7 +69,7 @@ | |||
<!-- =================================================================== --> | |||
<target name="compile" depends="prepare" description="Compiles the examples"> | |||
<echo message="Compiling the sources"/> | |||
<javac srcdir="${src.dir}" destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> | |||
<javac srcdir="${src.dir}" destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}" includeAntRuntime="true"> | |||
<classpath refid="project.class.path"/> | |||
</javac> | |||
</target> | |||
@@ -146,8 +146,10 @@ | |||
<path refid="project.class.path"/> | |||
<pathelement location="${build.dest}"/> | |||
</classpath> | |||
<jvmarg value="-Xmx1024m"/> | |||
</java> | |||
</target> | |||
<target name="run" depends="example1,example2,example3,example4,example5,example5,example7,example8" description="Runs examples"/> | |||
<!-- =================================================================== --> | |||
<!-- Clean targets --> | |||
<!-- =================================================================== --> |
@@ -0,0 +1,64 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with | |||
* this work for additional information regarding copyright ownership. | |||
* The ASF licenses this file to You under the Apache License, Version 2.0 | |||
* (the "License"); you may not use this file except in compliance with | |||
* the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
/* $Id$ */ | |||
package embedding; | |||
import java.awt.Font; | |||
import java.io.FileOutputStream; | |||
import java.io.OutputStream; | |||
import org.apache.avalon.framework.configuration.Configuration; | |||
import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder; | |||
import org.apache.xmlgraphics.java2d.GraphicContext; | |||
import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D; | |||
import org.apache.fop.fonts.FontInfo; | |||
import org.apache.fop.render.ps.NativeTextHandler; | |||
import org.apache.fop.svg.PDFDocumentGraphics2DConfigurator; | |||
public class ExampleEPS { | |||
/** | |||
* @param args | |||
*/ | |||
public static void main(String[] args) { | |||
try { | |||
String configFile = "examples/fop-eps.xconf"; | |||
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder(); | |||
Configuration c = cfgBuilder.buildFromFile(configFile); | |||
FontInfo fontInfo = PDFDocumentGraphics2DConfigurator.createFontInfo(c, false); | |||
OutputStream out = new FileOutputStream("example_eps.eps"); | |||
EPSDocumentGraphics2D g2d = new EPSDocumentGraphics2D(false); | |||
g2d.setGraphicContext(new GraphicContext()); | |||
g2d.setCustomTextHandler(new NativeTextHandler(g2d, fontInfo)); | |||
g2d.setupDocument(out, 200, 100); | |||
g2d.setFont(new Font("Arial", Font.PLAIN, 12)); | |||
g2d.drawString("Hi there Arial", 50, 50); | |||
g2d.finish(); | |||
out.close(); | |||
} catch (Exception e) { | |||
e.printStackTrace(); | |||
} | |||
} | |||
} |
@@ -0,0 +1,52 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with | |||
* this work for additional information regarding copyright ownership. | |||
* The ASF licenses this file to You under the Apache License, Version 2.0 | |||
* (the "License"); you may not use this file except in compliance with | |||
* the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
/* $Id$ */ | |||
package embedding; | |||
import java.awt.Font; | |||
import java.io.FileOutputStream; | |||
import java.io.OutputStream; | |||
import org.apache.xmlgraphics.java2d.GraphicContext; | |||
import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D; | |||
import org.apache.fop.render.ps.NativeTextHandler; | |||
public class ExampleEPSSimple { | |||
/** | |||
* @param args | |||
*/ | |||
public static void main(String[] args) { | |||
try { | |||
OutputStream out = new FileOutputStream("example_eps_simple.eps"); | |||
EPSDocumentGraphics2D g2d = new EPSDocumentGraphics2D(false); | |||
g2d.setGraphicContext(new GraphicContext()); | |||
g2d.setCustomTextHandler(new NativeTextHandler(g2d, null)); | |||
g2d.setupDocument(out, 200, 100); | |||
g2d.setFont(new Font("Helvetica", Font.PLAIN, 12)); | |||
g2d.drawString("Hi there Helvetica", 50, 50); | |||
g2d.finish(); | |||
out.close(); | |||
} catch (Exception e) { | |||
e.printStackTrace(); | |||
} | |||
} | |||
} |
@@ -85,8 +85,7 @@ public class ExampleFO2JPSPrint { | |||
//Set up a custom user agent so we can supply our own renderer instance | |||
FOUserAgent userAgent = fopFactory.newFOUserAgent(); | |||
PageableRenderer renderer = new PageableRenderer(); | |||
renderer.setUserAgent(userAgent); | |||
PageableRenderer renderer = new PageableRenderer(userAgent); | |||
userAgent.setRendererOverride(renderer); | |||
// Construct FOP with desired output format |
@@ -0,0 +1,182 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with | |||
* this work for additional information regarding copyright ownership. | |||
* The ASF licenses this file to You under the Apache License, Version 2.0 | |||
* (the "License"); you may not use this file except in compliance with | |||
* the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
/* $Id$ */ | |||
package embedding; | |||
import java.awt.Color; | |||
import java.awt.Dimension; | |||
import java.awt.Font; | |||
import java.awt.Graphics2D; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.io.OutputStream; | |||
import java.io.StringReader; | |||
import javax.swing.JEditorPane; | |||
import org.apache.avalon.framework.configuration.Configuration; | |||
import org.apache.avalon.framework.configuration.ConfigurationException; | |||
import org.apache.avalon.framework.configuration.DefaultConfiguration; | |||
import org.apache.commons.io.IOUtils; | |||
import org.apache.xmlgraphics.util.UnitConv; | |||
import org.apache.fop.svg.PDFDocumentGraphics2D; | |||
import org.apache.fop.svg.PDFDocumentGraphics2DConfigurator; | |||
/** | |||
* This example class demonstrates the use of {@link PDFDocumentGraphics2D} that can be | |||
* used to create a PDF file from Java2D graphics (using the {@link Graphics2D} API). | |||
*/ | |||
public class ExampleJava2D2PDF { | |||
private Configuration createAutoFontsConfiguration() { | |||
//Create a default configuration using auto-detection of fonts. | |||
//This can be a bit slow but covers most use cases. | |||
DefaultConfiguration c = new DefaultConfiguration("cfg"); | |||
DefaultConfiguration fonts = new DefaultConfiguration("fonts"); | |||
c.addChild(fonts); | |||
DefaultConfiguration autodetect = new DefaultConfiguration("auto-detect"); | |||
fonts.addChild(autodetect); | |||
return c; | |||
/* You can also load the configuration from a file: | |||
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder(); | |||
return cfgBuilder.buildFromFile(configFile); | |||
*/ | |||
} | |||
private void configure(PDFDocumentGraphics2D g2d, Configuration cfg) | |||
throws ConfigurationException { | |||
PDFDocumentGraphics2DConfigurator configurator = new PDFDocumentGraphics2DConfigurator(); | |||
boolean useComplexScriptFeatures = false; | |||
configurator.configure(g2d, cfg, useComplexScriptFeatures); | |||
} | |||
/** | |||
* Creates a PDF file. The contents are painted using a Graphics2D implementation that | |||
* generates an PDF file. | |||
* @param outputFile the target file | |||
* @throws IOException In case of an I/O error | |||
* @throws ConfigurationException if an error occurs configuring the PDF output | |||
*/ | |||
public void generatePDF(File outputFile) throws IOException, ConfigurationException { | |||
OutputStream out = new java.io.FileOutputStream(outputFile); | |||
out = new java.io.BufferedOutputStream(out); | |||
try { | |||
//Instantiate the PDFDocumentGraphics2D instance | |||
PDFDocumentGraphics2D g2d = new PDFDocumentGraphics2D(false); | |||
g2d.setGraphicContext(new org.apache.xmlgraphics.java2d.GraphicContext()); | |||
//Configure the G2D with the necessary fonts | |||
configure(g2d, createAutoFontsConfiguration()); | |||
//Set up the document size | |||
Dimension pageSize = new Dimension( | |||
(int)Math.ceil(UnitConv.mm2pt(210)), | |||
(int)Math.ceil(UnitConv.mm2pt(297))); //page size A4 (in pt) | |||
g2d.setupDocument(out, pageSize.width, pageSize.height); | |||
g2d.translate(144, 72); //Establish some page borders | |||
//A few rectangles rotated and with different color | |||
Graphics2D copy = (Graphics2D)g2d.create(); | |||
int c = 12; | |||
for (int i = 0; i < c; i++) { | |||
float f = ((i + 1) / (float)c); | |||
Color col = new Color(0.0f, 1 - f, 0.0f); | |||
copy.setColor(col); | |||
copy.fillRect(70, 90, 50, 50); | |||
copy.rotate(-2 * Math.PI / c, 70, 90); | |||
} | |||
copy.dispose(); | |||
//Some text | |||
g2d.rotate(-0.25); | |||
g2d.setColor(Color.RED); | |||
g2d.setFont(new Font("sans-serif", Font.PLAIN, 36)); | |||
g2d.drawString("Hello world!", 140, 140); | |||
g2d.setColor(Color.RED.darker()); | |||
g2d.setFont(new Font("serif", Font.PLAIN, 36)); | |||
g2d.drawString("Hello world!", 140, 180); | |||
pageSize = new Dimension(pageSize.height, pageSize.width); | |||
g2d.nextPage(pageSize.width, pageSize.height); | |||
//Demonstrate painting rich text | |||
String someHTML = "<html><body style=\"font-family:Verdana\">" | |||
+ "<p>Welcome to <b>page 2!</b></p>" | |||
+ "<h2>PDFDocumentGraphics2D Demonstration</h2>" | |||
+ "<p>We can <i>easily</i> paint some HTML here!</p>" | |||
+ "<p style=\"color:green;\">" | |||
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin accumsan" | |||
+ " condimentum ullamcorper. Sed varius quam id arcu fermentum luctus. Praesent" | |||
+ " nisi ligula, cursus sed vestibulum vel, sodales sed lectus.</p>" | |||
+ "</body></html>"; | |||
JEditorPane htmlComp = new JEditorPane(); | |||
htmlComp.setContentType("text/html"); | |||
htmlComp.read(new StringReader(someHTML), null); | |||
htmlComp.setSize(new Dimension(pageSize.width - 72, pageSize.height - 72)); | |||
//htmlComp.setBackground(Color.ORANGE); | |||
htmlComp.validate(); | |||
htmlComp.printAll(g2d); | |||
//Cleanup | |||
g2d.finish(); | |||
} finally { | |||
IOUtils.closeQuietly(out); | |||
} | |||
} | |||
/** | |||
* Main method. | |||
* @param args command-line arguments | |||
*/ | |||
public static void main(String[] args) { | |||
try { | |||
System.out.println("FOP " + ExampleJava2D2PDF.class.getSimpleName() + "\n"); | |||
System.out.println("Preparing..."); | |||
//Setup directories | |||
File baseDir = new File("."); | |||
File outDir = new File(baseDir, "out"); | |||
if (!outDir.isDirectory()) { | |||
if (!outDir.mkdirs()) { | |||
throw new IOException("Could not create output directory: " + outDir); | |||
} | |||
} | |||
//Setup output file | |||
File pdffile = new File(outDir, "ResultJava2D2PDF.pdf"); | |||
System.out.println("Output: PDF (" + pdffile + ")"); | |||
System.out.println(); | |||
System.out.println("Generating..."); | |||
ExampleJava2D2PDF app = new ExampleJava2D2PDF(); | |||
app.generatePDF(pdffile); | |||
System.out.println("Success!"); | |||
} catch (Throwable t) { | |||
t.printStackTrace(System.err); | |||
System.exit(-1); | |||
} | |||
} | |||
} |
@@ -93,8 +93,7 @@ public class ExampleConcat { | |||
userAgent, MimeConstants.MIME_PDF); | |||
//Create the XMLRenderer to create the area tree XML | |||
XMLRenderer xmlRenderer = new XMLRenderer(); | |||
xmlRenderer.setUserAgent(userAgent); | |||
XMLRenderer xmlRenderer = new XMLRenderer(userAgent); | |||
//Tell the XMLRenderer to mimic the target renderer | |||
xmlRenderer.mimicRenderer(targetRenderer); |
@@ -211,4 +211,4 @@ public class EasyGenerationContentHandlerProxy implements ContentHandler { | |||
target.skippedEntity(name); | |||
} | |||
} | |||
} |
@@ -369,7 +369,7 @@ This font contains no embedding license restrictions | |||
</fo:block> | |||
</fo:wrapper> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="50mm"/> | |||
<fo:table-column column-width="50mm"/> | |||
<fo:table-column column-width="50mm"/> |
@@ -32,7 +32,7 @@ | |||
<fo:block-container absolute-position="absolute" width="100%" height="100%" border-top-color="silver" border-top-style="dotted" border-top-width="0.13mm"> | |||
<fo:block/> | |||
</fo:block-container> | |||
<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 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" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="8in div 10 - 2in div 12"/> | |||
<fo:table-column border-right-style="solid" border-right-width="0.5mm" column-width="36in div 10"/> | |||
<fo:table-column column-width="5in div 10"/> | |||
@@ -107,7 +107,7 @@ | |||
<fo:block>Från konto nr</fo:block> | |||
</fo:table-cell> | |||
<fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-top="6mm" display-align="after"> | |||
<fo:table height="3mm"> | |||
<fo:table height="3mm" table-layout="fixed" width="100%"> | |||
<fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/> | |||
<fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/> | |||
<fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/> | |||
@@ -182,7 +182,7 @@ | |||
<fo:block color="black">16.6.2006</fo:block> | |||
</fo:table-cell> | |||
<fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="2mm" padding-top="4mm" font-size="10pt"> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="0.5cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-body> | |||
@@ -201,7 +201,7 @@ | |||
<fo:table-row height="13in div 12 - 5mm"> | |||
<fo:table-cell number-columns-spanned="4" padding-left="40mm" display-align="after"> | |||
<fo:block> | |||
<fo:table height="5in div 12" margin-left="2.5mm" margin-right="2.5mm"><!--105--> | |||
<fo:table height="5in div 12" margin-left="2.5mm" margin-right="2.5mm" table-layout="fixed" width="100%"><!--105--> | |||
<fo:table-column column-width="0.5mm"/> | |||
<fo:table-column column-width="0.25mm"/> | |||
<fo:table-column column-width="0.25mm"/> | |||
@@ -950,7 +950,7 @@ | |||
</fo:page-sequence> | |||
<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 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" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="8in div 10 - 2in div 12"/> | |||
<fo:table-column border-right-style="solid" border-right-width="0.5mm" column-width="36in div 10"/> | |||
<fo:table-column column-width="5in div 10"/> | |||
@@ -1025,7 +1025,7 @@ | |||
<fo:block>Från konto nr</fo:block> | |||
</fo:table-cell> | |||
<fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-top="6mm" display-align="after"> | |||
<fo:table height="3mm"> | |||
<fo:table height="3mm" table-layout="fixed" width="100%"> | |||
<fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/> | |||
<fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/> | |||
<fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/> | |||
@@ -1100,7 +1100,7 @@ | |||
<fo:block color="black">16.6.2006</fo:block> | |||
</fo:table-cell> | |||
<fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="2mm" padding-top="4mm" font-size="10pt"> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="0.5cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-body> |
@@ -31,8 +31,6 @@ | |||
odd-or-even="even" /> | |||
<fo:conditional-page-master-reference master-reference="right" | |||
odd-or-even="odd" /> | |||
<!-- recommended fallback procedure --> | |||
<fo:conditional-page-master-reference master-reference="rest" /> | |||
</fo:repeatable-page-master-alternatives> | |||
</fo:page-sequence-master> | |||
</fo:layout-master-set> |
@@ -67,9 +67,9 @@ | |||
<fo:block space-before="12pt" space-after="6pt">The next table has width=100% on the table no column widths specified on the table-column element.</fo:block> | |||
<!-- table start --> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column background-color="yellow"/> | |||
<fo:table-column background-color="blue"/> | |||
<fo:table-column background-color="green"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="yellow"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="blue"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="green"/> | |||
<fo:table-body> | |||
<fo:table-row> | |||
<fo:table-cell display-align="before"><fo:block>Some text to make this cell | |||
@@ -83,7 +83,7 @@ | |||
<fo:block space-before="12pt" space-after="6pt">The next table has fixed column widths=13cm, ipd.optimum=12cm and ipd.max = 100%.</fo:block> | |||
<!-- table start --> | |||
<fo:table border-collapse="separate" | |||
table-layout="fixed" | |||
table-layout="fixed" width="100%" | |||
inline-progression-dimension="12cm" | |||
inline-progression-dimension.maximum="100%" | |||
> | |||
@@ -122,8 +122,8 @@ | |||
<!-- table start --> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="70% + 1cm"> | |||
<fo:table-column column-width="from-parent('width') div 3" background-color="yellow"/> | |||
<fo:table-column background-color="blue"/> | |||
<fo:table-column background-color="green"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="blue"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="green"/> | |||
<fo:table-body> | |||
<fo:table-row> | |||
<fo:table-cell display-align="before"><fo:block>Some text to make this cell | |||
@@ -140,11 +140,11 @@ | |||
</fo:block> | |||
<!-- table start --> | |||
<fo:table border-collapse="separate" | |||
table-layout="fixed" | |||
table-layout="fixed" width="100%" | |||
inline-progression-dimension="15cm"> | |||
<fo:table-column background-color="yellow"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="yellow"/> | |||
<fo:table-column column-width="3cm" background-color="blue"/> | |||
<fo:table-column background-color="green"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="green"/> | |||
<fo:table-body> | |||
<fo:table-row> | |||
<fo:table-cell display-align="before"><fo:block>Some text to make this cell | |||
@@ -159,10 +159,10 @@ | |||
The next table specifies neither width nor inline-progression-dimension. | |||
</fo:block> | |||
<!-- table start --> | |||
<fo:table table-layout="fixed" border-collapse="separate"> | |||
<fo:table-column background-color="yellow"/> | |||
<fo:table table-layout="fixed" width="100%" border-collapse="separate"> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="yellow"/> | |||
<fo:table-column column-width="3cm" background-color="blue"/> | |||
<fo:table-column background-color="green"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="green"/> | |||
<fo:table-body> | |||
<fo:table-row> | |||
<fo:table-cell display-align="before"><fo:block>Some text to make this cell | |||
@@ -178,11 +178,11 @@ | |||
specifies a column width of 5cm on the middle column only. | |||
</fo:block> | |||
<!-- table start --> | |||
<fo:table table-layout="fixed" border-collapse="separate" | |||
<fo:table table-layout="fixed" width="100%" border-collapse="separate" | |||
inline-progression-dimension.minimum="10cm"> | |||
<fo:table-column background-color="yellow"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="yellow"/> | |||
<fo:table-column column-width="5cm" background-color="blue"/> | |||
<fo:table-column background-color="green"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="green"/> | |||
<fo:table-body> | |||
<fo:table-row> | |||
<fo:table-cell display-align="before"><fo:block>Some text to make this cell | |||
@@ -194,17 +194,17 @@ | |||
</fo:table> | |||
<fo:block space-before="12pt" space-after="6pt"> | |||
The next table specifies inline-progression-dimension.minimum="10cm", | |||
inline-progression-dimension.maximum="17cm and | |||
The next table specifies inline-progression-dimension.minimum="10cm", | |||
inline-progression-dimension.maximum="17cm and | |||
specifies a column width of 5cm on the middle column only. | |||
</fo:block> | |||
<!-- table start --> | |||
<fo:table table-layout="fixed" border-collapse="separate" | |||
<fo:table table-layout="fixed" width="100%" border-collapse="separate" | |||
inline-progression-dimension.minimum="10cm" | |||
inline-progression-dimension.maximum="17cm"> | |||
<fo:table-column background-color="yellow"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="yellow"/> | |||
<fo:table-column column-width="5cm" background-color="blue"/> | |||
<fo:table-column background-color="green"/> | |||
<fo:table-column column-width="proportional-column-width(1)" background-color="green"/> | |||
<fo:table-body> | |||
<fo:table-row> | |||
<fo:table-cell display-align="before"><fo:block>Some text to make this cell |
@@ -127,6 +127,7 @@ | |||
</target> | |||
<!-- =================================================================== --> | |||
<!-- Compares new test pdf files to reference pdf files --> | |||
<!-- N.B. All comparisons fail due to differences in /CreationDate --> | |||
<!-- =================================================================== --> | |||
<target name="comparePDF" depends="newPDF"> | |||
<compare referenceDirectory="${referenceDir}" testDirectory="${testDir}" filenames="normal.pdf,table.pdf,list.pdf,link.pdf,border.pdf,images.pdf,extensive.pdf,readme.pdf,fonts.pdf,bordershorthand.pdf,character.pdf,corresprop.pdf,hyphen.pdf,inhprop.pdf,instream.pdf,leader.pdf,newlinktest.pdf,normalex.pdf,pdfoutline.pdf,simple.pdf,textdeko.pdf,tableunits.pdf"/> | |||
@@ -144,6 +145,7 @@ | |||
<!-- =================================================================== --> | |||
<!-- Starts the test --> | |||
<!-- N.B. All tests fail due to differences in /CreationDate --> | |||
<!-- =================================================================== --> | |||
<target name="runtest" depends="comparePDF"> | |||
<echo message="Running Fop tests"/> | |||
@@ -154,6 +156,9 @@ | |||
<target name="clean" depends="init"> | |||
<delete dir="${testDir}"/> | |||
</target> | |||
<target name="cleantest" depends="init"> | |||
<delete dir="${referenceDir}"/> | |||
</target> | |||
</project> | |||
<!-- End of file --> |
@@ -794,7 +794,7 @@ XML Syntax | |||
<fo:block> | |||
Here we have some examples of how the XML can be specified in the fo document. | |||
<fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="350pt"/> | |||
<fo:table-column column-width="150pt"/> | |||
<fo:table-body> | |||
@@ -932,7 +932,7 @@ Sizing | |||
The size of the instream-foreign-object is obtained in a number of ways. | |||
<fo:block> | |||
<fo:table xmlns:svg="http://www.w3.org/2000/svg"> | |||
<fo:table xmlns:svg="http://www.w3.org/2000/svg" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="350pt"/> | |||
<fo:table-column column-width="150pt"/> | |||
<fo:table-body> |
@@ -30,7 +30,7 @@ | |||
Table 1: cell background | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -72,7 +72,7 @@ | |||
Table 1: row background | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -152,7 +152,7 @@ | |||
Table 1: column background | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm" background-color="green"/> | |||
<fo:table-column column-width="3cm" background-color="red"/> | |||
<fo:table-column column-width="3cm" background-color="blue"/> | |||
@@ -219,7 +219,7 @@ | |||
Table 1: column backgrounds over page | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm" background-color="green"/> | |||
<fo:table-column column-width="3cm" background-color="red"/> | |||
<fo:table-column column-width="3cm" background-color="blue"/> | |||
@@ -286,7 +286,7 @@ | |||
Table 1: body background | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -323,7 +323,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -360,7 +360,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -397,7 +397,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -438,7 +438,7 @@ | |||
Table 1: table background | |||
</fo:block> | |||
<fo:table background-color="green"> | |||
<fo:table background-color="green" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -475,7 +475,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table background-color="red"> | |||
<fo:table background-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -516,7 +516,7 @@ | |||
Table 1: combinations | |||
</fo:block> | |||
<fo:table background-color="green"> | |||
<fo:table background-color="green" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2.5cm"/> | |||
<fo:table-column column-width="2.5cm" background-color="green"/> | |||
<fo:table-column column-width="2.5cm" background-color="red"/> |
@@ -30,7 +30,7 @@ | |||
Table 1: cell borders | |||
</fo:block> | |||
<fo:table border-collapse="separate"> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -186,7 +186,7 @@ | |||
Table 2: row borders | |||
</fo:block> | |||
<fo:table border-collapse="collapse"> | |||
<fo:table border-collapse="collapse" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -310,7 +310,7 @@ | |||
Table 3: column borders | |||
</fo:block> | |||
<fo:table border-collapse="collapse"> | |||
<fo:table border-collapse="collapse" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm" border-left-color="green" border-left-width="0.5pt" border-left-style="solid"/> | |||
<fo:table-column column-width="3cm" border-top-color="red" border-top-width="0.5pt" border-top-style="solid"/> | |||
<fo:table-column column-width="3cm" border-right-color="blue" border-right-width="0.5pt" border-right-style="solid"/> | |||
@@ -377,7 +377,7 @@ | |||
Table 4: column borders over page | |||
</fo:block> | |||
<fo:table border-collapse="collapse"> | |||
<fo:table border-collapse="collapse" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm" border-left-color="green" border-left-width="0.5pt" border-left-style="solid"/> | |||
<fo:table-column column-width="3cm" border-top-color="red" border-top-width="0.5pt" border-top-style="solid"/> | |||
<fo:table-column column-width="3cm" border-right-color="blue" border-right-width="0.5pt" border-right-style="solid"/> | |||
@@ -444,7 +444,7 @@ | |||
Table 5: body borders | |||
</fo:block> | |||
<fo:table border-collapse="separate"> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -480,7 +480,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-collapse="separate"> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -516,7 +516,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-collapse="separate"> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -552,7 +552,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-collapse="separate"> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -588,7 +588,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-collapse="separate"> | |||
<fo:table border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -628,8 +628,7 @@ | |||
Table 6: table borders | |||
</fo:block> | |||
<fo:table border-left-color="green" border-left-width="0.5pt" border-left-style="solid" | |||
border-collapse="separate"> | |||
<fo:table border-left-color="green" border-left-width="0.5pt" border-left-style="solid" border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -665,7 +664,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-top-color="red" border-top-width="0.5pt" border-top-style="solid" border-collapse="separate"> | |||
<fo:table border-top-color="red" border-top-width="0.5pt" border-top-style="solid" border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -701,7 +700,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-right-color="blue" border-right-width="0.5pt" border-right-style="solid" border-collapse="separate"> | |||
<fo:table border-right-color="blue" border-right-width="0.5pt" border-right-style="solid" border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -737,7 +736,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid" border-collapse="separate"> | |||
<fo:table border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid" border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -773,7 +772,7 @@ | |||
</fo:table-body> | |||
</fo:table> | |||
<fo:table border-color="orange" border-width="0.5pt" border-style="solid" border-collapse="separate"> | |||
<fo:table border-color="orange" border-width="0.5pt" border-style="solid" border-collapse="separate" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -813,7 +812,7 @@ | |||
Table 7: combinations | |||
</fo:block> | |||
<fo:table border-left-color="green" border-left-width="0.5pt" border-left-style="solid" border-collapse="collapse"> | |||
<fo:table border-left-color="green" border-left-width="0.5pt" border-left-style="solid" border-collapse="collapse" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2.5cm"/> | |||
<fo:table-column column-width="2.5cm" border-left-color="green" border-left-width="0.5pt" border-left-style="solid"/> | |||
<fo:table-column column-width="2.5cm" border-top-color="red" border-top-width="0.5pt" border-top-style="solid"/> | |||
@@ -1025,7 +1024,7 @@ | |||
implementation status. | |||
</fo:block> | |||
<fo:table border-collapse="collapse" table-layout="fixed"> | |||
<fo:table border-collapse="collapse" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm" border-color="blue" border-width="0.5pt" border-style="solid"/> | |||
<fo:table-column column-width="3cm" border-color="blue" border-width="0.5pt" border-style="solid"/> | |||
<fo:table-column column-width="3cm" border-color="blue" border-width="0.5pt" border-style="solid"/> | |||
@@ -1090,7 +1089,7 @@ | |||
fo:table-cell level. | |||
</fo:block> | |||
<fo:table border-collapse="collapse" table-layout="fixed"> | |||
<fo:table border-collapse="collapse" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -1159,7 +1158,7 @@ | |||
Check the FOP compliance page for current implementation status. | |||
</fo:block> | |||
<fo:table border-collapse="collapse" table-layout="fixed" | |||
<fo:table border-collapse="collapse" table-layout="fixed" width="100%" | |||
border-style="solid" border-width="5pt" border-color="yellow"> | |||
<fo:table-column column-width="3cm" | |||
border-style="solid" border-width="3pt" border-color="black"/> | |||
@@ -1264,7 +1263,7 @@ | |||
the border properties differ only on color. | |||
</fo:block> | |||
<fo:table border-collapse="collapse" table-layout="fixed"> | |||
<fo:table border-collapse="collapse" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm" | |||
border-style="solid" border-width="3pt" border-color="black"/> |
@@ -34,7 +34,7 @@ | |||
Table 1: basic break after with next | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -81,7 +81,7 @@ | |||
Table 2: basic break before with next | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -128,7 +128,7 @@ | |||
Table 3: basic break before a keep with next | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -175,7 +175,7 @@ | |||
Table 4: basic break after a keep with previous | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -222,7 +222,7 @@ | |||
Table 5: basic break after a keep with previous | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> |
@@ -30,7 +30,7 @@ | |||
Table 1: with header | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -311,7 +311,7 @@ | |||
Table 2: with footer | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -592,7 +592,7 @@ | |||
Table 3: with header and footer and keeps | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -888,7 +888,7 @@ | |||
Table 4: cells spanning columns | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -940,7 +940,7 @@ | |||
Table 5: cells spanning rows | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="48pt"/> | |||
<fo:table-column column-width="48pt"/> | |||
<fo:table-column column-width="48pt"/> | |||
@@ -1054,7 +1054,7 @@ | |||
Table 6: table with header and multiple body's | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -1242,7 +1242,7 @@ | |||
Table 6: table with footer and multiple body's | |||
</fo:block> | |||
<fo:table> | |||
<fo:table table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> |
@@ -34,7 +34,7 @@ | |||
Table 1: basic keep with next | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -81,7 +81,7 @@ | |||
Table 1: basic keep with previous | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -128,7 +128,7 @@ | |||
Table 1: basic keep with next and keep with previous | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -192,7 +192,7 @@ | |||
Table 1: basic multiple keep with next after normal row | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -324,7 +324,7 @@ | |||
Table 1: basic multiple keep (next and previous) after normal row | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="6cm"/> | |||
@@ -456,7 +456,7 @@ | |||
Table 1: basic multiple keep with next after normal row with normal row in middle | |||
</fo:block> | |||
<fo:table border-width="0.5pt" border-color="red"> | |||
<fo:table border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="6cm"/> |
@@ -30,7 +30,7 @@ | |||
Table 1: with header | |||
</fo:block> | |||
<fo:table table-omit-header-at-break="true"> | |||
<fo:table table-omit-header-at-break="true" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -311,7 +311,7 @@ | |||
Table 2: with footer | |||
</fo:block> | |||
<fo:table table-omit-footer-at-break="true"> | |||
<fo:table table-omit-footer-at-break="true" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -592,7 +592,7 @@ | |||
Table 3: with header and footer and keeps | |||
</fo:block> | |||
<fo:table table-omit-header-at-break="true" table-omit-footer-at-break="true"> | |||
<fo:table table-omit-header-at-break="true" table-omit-footer-at-break="true" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -888,7 +888,7 @@ | |||
Table 6: table with multiple body's | |||
</fo:block> | |||
<fo:table table-omit-header-at-break="true"> | |||
<fo:table table-omit-header-at-break="true" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
@@ -1076,7 +1076,7 @@ | |||
Table 6: table with multiple body's | |||
</fo:block> | |||
<fo:table table-omit-footer-at-break="true"> | |||
<fo:table table-omit-footer-at-break="true" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> | |||
<fo:table-column column-width="2cm"/> |
@@ -30,7 +30,7 @@ | |||
Table 1: spaces around cells | |||
</fo:block> | |||
<fo:table border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -109,7 +109,7 @@ | |||
Table 2: spaces around rows | |||
</fo:block> | |||
<fo:table border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -190,7 +190,7 @@ | |||
Table 3: spaces around body | |||
</fo:block> | |||
<fo:table border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -281,7 +281,7 @@ | |||
</fo:block> | |||
<fo:block border-style="solid" border-width="0.5pt"> | |||
<fo:table space-before.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table space-before.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -309,7 +309,7 @@ | |||
</fo:block> | |||
<fo:block border-style="solid" border-width="0.5pt"> | |||
<fo:table padding-left="5pt" border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table padding-left="5pt" border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -337,7 +337,7 @@ | |||
</fo:block> | |||
<fo:block border-style="solid" border-width="0.5pt"> | |||
<fo:table padding-right="5pt" border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table padding-right="5pt" border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -365,7 +365,7 @@ | |||
</fo:block> | |||
<fo:block border-style="solid" border-width="0.5pt"> | |||
<fo:table space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -397,7 +397,7 @@ | |||
</fo:block> | |||
<fo:block border-style="solid" border-width="0.5pt"> | |||
<fo:table space-after.optimum="20pt" border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table space-after.optimum="20pt" border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
@@ -462,7 +462,7 @@ | |||
</fo:block> | |||
<fo:block border-style="solid" border-width="0.5pt"> | |||
<fo:table space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red"> | |||
<fo:table space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red" table-layout="fixed" width="100%"> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> | |||
<fo:table-column column-width="3cm"/> |
@@ -45,7 +45,7 @@ public class PlanElementMapping extends ElementMapping { | |||
/** {@inheritDoc} */ | |||
protected void initialize() { | |||
if (foObjs == null) { | |||
foObjs = new java.util.HashMap(); | |||
foObjs = new java.util.HashMap<String, Maker>(); | |||
foObjs.put("plan", new PE()); | |||
foObjs.put(DEFAULT, new PlanMaker()); | |||
} |
@@ -18,6 +18,7 @@ | |||
# Shell script to run FOP, adapted from the Jakarta-Ant project. | |||
rpm_mode=true | |||
java_exec_args="-Djava.awt.headless=true" | |||
fop_exec_args= | |||
no_config=false | |||
fop_exec_debug=false | |||
@@ -247,7 +248,7 @@ fi | |||
# Execute FOP using eval/exec to preserve spaces in paths, | |||
# java options, and FOP args | |||
fop_exec_command="exec \"$JAVACMD\" $LOGCHOICE $LOGLEVEL -classpath \"$LOCALCLASSPATH\" $FOP_OPTS org.apache.fop.cli.Main $fop_exec_args" | |||
fop_exec_command="exec \"$JAVACMD\" $java_exec_args $LOGCHOICE $LOGLEVEL -classpath \"$LOCALCLASSPATH\" $FOP_OPTS org.apache.fop.cli.Main $fop_exec_args" | |||
if $fop_exec_debug ; then | |||
echo $fop_exec_command | |||
fi |
@@ -15,9 +15,11 @@ REM See the License for the specific language governing permissions and | |||
REM limitations under the License. | |||
REM $Id$ | |||
SETLOCAL ENABLEDELAYEDEXPANSION | |||
rem %~dp0 is the expanded pathname of the current script under NT | |||
set LOCAL_FOP_HOME= | |||
if "%OS%"=="Windows_NT" set LOCAL_FOP_HOME=%~dp0 | |||
if "%OS%"=="Windows_NT" set LOCAL_FOP_HOME="%~dp0" | |||
rem Code from Apache Ant project | |||
rem Slurp the command line arguments. This loop allows for an unlimited number | |||
@@ -53,24 +55,10 @@ rem set LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=INFO | |||
set LIBDIR=%LOCAL_FOP_HOME%lib | |||
set LOCALCLASSPATH=%LOCAL_FOP_HOME%build\fop.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LOCAL_FOP_HOME%build\fop-sandbox.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LOCAL_FOP_HOME%build\fop-hyph.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xml-apis-1.3.04.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xml-apis-ext-1.3.04.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xercesImpl-2.7.1.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.7.0.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\serializer-2.7.0.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\batik-all-1.7.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xmlgraphics-commons-1.4.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\avalon-framework-4.2.0.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\commons-io-1.3.1.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\commons-logging-1.0.4.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_imageio.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\fop-hyph.jar | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%FOP_HYPHENATION_PATH% | |||
set LOCALCLASSPATH=%FOP_HYPHENATION_PATH% | |||
for %%l in (%LOCAL_FOP_HOME%build\*.jar %LIBDIR%\*.jar) do set LOCALCLASSPATH=!LOCALCLASSPATH!;%%l | |||
set JAVAOPTS=-Denv.windir=%WINDIR% | |||
set JAVAOPTS=-Denv.windir=%WINDIR% -Djava.awt.headless=true | |||
if "%JAVA_HOME%" == "" goto noJavaHome | |||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome | |||
@@ -81,5 +69,7 @@ goto runFop | |||
if "%JAVACMD%" == "" set JAVACMD=java | |||
:runFop | |||
rem ECHO "%JAVACMD%" %JAVAOPTS% %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" %FOP_OPTS% org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS% | |||
rem echo "%JAVACMD%" %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS% | |||
"%JAVACMD%" %JAVAOPTS% %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" %FOP_OPTS% org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS% | |||
ENDLOCAL |
@@ -15,17 +15,7 @@ REM See the License for the specific language governing permissions and | |||
REM limitations under the License. | |||
REM $Id$ | |||
SETLOCAL ENABLEDELAYEDEXPANSION | |||
rem %~dp0 is the expanded pathname of the current script under NT | |||
set LOCAL_FOP_HOME= | |||
if "%OS%"=="Windows_NT" set LOCAL_FOP_HOME=%~dp0 | |||
rem Code from Apache Ant project | |||
rem Slurp the command line arguments. This loop allows for an unlimited number | |||
rem of arguments (up to the command line limit, anyway). | |||
rem Could also do a "shift" and "%*" for all params, but apparently doesn't work | |||
rem with Win9x. | |||
set LOCAL_FOP_HOME=%~dp0 | |||
set FOP_CMD_LINE_ARGS=%1 | |||
if ""%1""=="""" goto doneStart | |||
shift | |||
@@ -35,41 +25,7 @@ set FOP_CMD_LINE_ARGS=%FOP_CMD_LINE_ARGS% %1 | |||
shift | |||
goto setupArgs | |||
rem This label provides a place for the argument list loop to break out | |||
rem and for NT handling to skip to. | |||
:doneStart | |||
set LOGCHOICE= | |||
rem The default commons logger for JDK1.4 is JDK1.4Logger. | |||
rem To use a different logger, uncomment the one desired below | |||
rem set LOGCHOICE=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog | |||
rem set LOGCHOICE=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog | |||
rem set LOGCHOICE=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger | |||
set LOGLEVEL= | |||
rem Logging levels | |||
rem Below option is only if you are using SimpleLog instead of the default JDK1.4 Logger. | |||
rem To set logging levels for JDK 1.4 Logger, edit the %JAVA_HOME%\JRE\LIB\logging.properties | |||
rem file instead. | |||
rem Possible SimpleLog values: "trace", "debug", "info" (default), "warn", "error", or "fatal". | |||
rem set LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=INFO | |||
set LIBDIR=%LOCAL_FOP_HOME%lib | |||
set LOCALCLASSPATH=%FOP_HYPHENATION_PATH% | |||
for %%l in (%LOCAL_FOP_HOME%build\*.jar %LIBDIR%\*.jar) do set LOCALCLASSPATH=!LOCALCLASSPATH!;%%l | |||
set JAVAOPTS=-Denv.windir=%WINDIR% | |||
if "%JAVA_HOME%" == "" goto noJavaHome | |||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome | |||
if "%JAVACMD%" == "" set JAVACMD=%JAVA_HOME%\bin\java | |||
goto runFop | |||
:noJavaHome | |||
if "%JAVACMD%" == "" set JAVACMD=java | |||
:runFop | |||
rem echo "%JAVACMD%" %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS% | |||
"%JAVACMD%" %JAVAOPTS% %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" %FOP_OPTS% org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS% | |||
call "%LOCAL_FOP_HOME%\fop.bat" %FOP_CMD_LINE_ARGS% | |||
ENDLOCAL |
@@ -18,6 +18,7 @@ | |||
// rpm_mode is irrelevant on Windows | |||
// var rpm_mode=true; | |||
var java_exec_args = "-Djava.awt.headless=true"; | |||
var fop_exec_args = ""; | |||
var no_config=false; | |||
var fop_exec_debug=false; | |||
@@ -62,6 +63,7 @@ function read_args() { | |||
WScript.Echo("keepopen: " + keep_open); | |||
WScript.Echo("noconfig: " + no_config); | |||
WScript.Echo("help: " + show_help); | |||
WScript.Echo("java arguments: " + java_exec_args); | |||
WScript.Echo("fop arguments: " + fop_exec_args); | |||
} | |||
} | |||
@@ -220,10 +222,11 @@ function get_local_classpath() { | |||
// Execute fop via shell.Exec | |||
function fop_exec() { | |||
var fop_exec_command = "\"" + javacmd + "\" " | |||
+ java_exec_args + " " | |||
+ (config.Exists("JAVA_OPTS")?config.Item("JAVA_OPTS") + " ":"") | |||
+ (config.Exists("LOGCHOICE")?config.Item("LOGCHOICE") + " ":"") | |||
+ (config.Exists("LOGLEVEL")?config.Item("LOGLEVEL") + " ":"") | |||
"-classpath \"" + local_classpath + "\" " | |||
+ "-classpath \"" + local_classpath + "\" " | |||
+ (config.Exists("FOP_OPTS")?config.Item("FOP_OPTS"):"") | |||
+ "org.apache.fop.cli.Main " + fop_exec_args; | |||
if (debug || fop_exec_debug) { | |||
@@ -252,6 +255,7 @@ function fop_exec() { | |||
function fop_run() { | |||
var fop_exec_command = "cmd /" + (keep_open?"K":"C") + " \"" | |||
+ "\"" + javacmd + "\" " | |||
+ java_exec_args + " " | |||
+ (config.Exists("JAVA_OPTS")?config.Item("JAVA_OPTS") + " ":"") | |||
+ (config.Exists("LOGCHOICE")?config.Item("LOGCHOICE") + " ":"") | |||
+ (config.Exists("LOGLEVEL")?config.Item("LOGLEVEL") + " ":"") |
@@ -0,0 +1,38 @@ | |||
<?xml version="1.0"?> | |||
<project xmlns:jacoco="antlib:org.jacoco.ant" name="JaCoCo" default="coverage-report"> | |||
<import file="build.xml"/> | |||
<property name="jacoco.report.dir" value="${build.dir}/report_jacoco"/> | |||
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"> | |||
<classpath location="${jacocoant.jar}"/> | |||
</taskdef> | |||
<target name="test-coverage" depends="junit-compile"> | |||
<jacoco:coverage destfile="${jacoco.report.dir}/jacoco.exec"> | |||
<junit dir="${basedir}" haltonfailure="yes" fork="on" forkmode="once"> | |||
<sysproperty key="jawa.awt.headless" value="true"/> | |||
<classpath> | |||
<path refid="standard-junit-classpath"/> | |||
</classpath> | |||
<batchtest> | |||
<fileset dir="${build.unit.tests.dir}" includes="**/*TestCase.class"/> | |||
</batchtest> | |||
</junit> | |||
</jacoco:coverage> | |||
</target> | |||
<target name="coverage-report" depends="test-coverage" | |||
description="Runs JaCoCo for a code coverage report"> | |||
<jacoco:report> | |||
<executiondata> | |||
<file file="${jacoco.report.dir}/jacoco.exec"/> | |||
</executiondata> | |||
<structure name="Apache FOP"> | |||
<classfiles> | |||
<fileset dir="${build.classes.dir}"/> | |||
</classfiles> | |||
<sourcefiles> | |||
<fileset dir="${src.java.dir}"/> | |||
</sourcefiles> | |||
</structure> | |||
<html destdir="${jacoco.report.dir}"/> | |||
</jacoco:report> | |||
</target> | |||
</project> |
@@ -1,2 +0,0 @@ | |||
Public Domain | |||
http://creativecommons.org/licenses/publicdomain |
@@ -0,0 +1,27 @@ | |||
BSD License | |||
Copyright (c) 2000-2006, www.hamcrest.org | |||
All rights reserved. | |||
Redistribution and use in source and binary forms, with or without | |||
modification, are permitted provided that the following conditions are met: | |||
Redistributions of source code must retain the above copyright notice, this list of | |||
conditions and the following disclaimer. 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. | |||
Neither the name of Hamcrest nor the names of its contributors may be used to endorse | |||
or promote products derived from this software without specific prior written | |||
permission. | |||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | |||
EXPRESS 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 COPYRIGHT OWNER OR 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. |
@@ -0,0 +1,21 @@ | |||
The MIT License | |||
Copyright (c) 2007 Mockito contributors | |||
Permission is hereby granted, free of charge, to any person obtaining a copy | |||
of this software and associated documentation files (the "Software"), to deal | |||
in the Software without restriction, including without limitation the rights | |||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||
copies of the Software, and to permit persons to whom the Software is | |||
furnished to do so, subject to the following conditions: | |||
The above copyright notice and this permission notice shall be included in | |||
all copies or substantial portions of the Software. | |||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |||
THE SOFTWARE. |
@@ -0,0 +1,11 @@ | |||
Mockito license - MIT. | |||
Libraries used: | |||
Cglib - Apache License 2.0 | |||
ASM - BSD license | |||
Mockito all distribution: | |||
Objenesis - MIT license | |||
Hamcrest - BSD license |
@@ -0,0 +1,18 @@ | |||
Copyright (c) 2003-2008, Objenesis Team and all contributors | |||
Permission is hereby granted, free of charge, to any person obtaining a copy of | |||
this software and associated documentation files (the "Software"), to deal in | |||
the Software without restriction, including without limitation the rights to | |||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | |||
the Software, and to permit persons to whom the Software is furnished to do so, | |||
subject to the following conditions: | |||
The above copyright notice and this permission notice shall be included in all | |||
copies or substantial portions of the Software. | |||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | |||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | |||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | |||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@@ -1,25 +0,0 @@ | |||
Copyright (c) February 2004, Toby Reyelts | |||
All rights reserved. | |||
Redistribution and use in source and binary forms, with or without modification, | |||
are permitted provided that the following conditions are met: | |||
Redistributions of source code must retain the above copyright notice, | |||
this list of conditions and the following disclaimer. | |||
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. | |||
Neither the name of Toby Reyelts nor the names of his contributors | |||
may be used to endorse or promote products derived from this software | |||
without specific prior written permission. | |||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||
AND ANY EXPRESS 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 COPYRIGHT OWNER OR 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. |
@@ -21,7 +21,6 @@ package org.apache.fop.tools; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.util.ArrayList; | |||
import java.util.Collections; | |||
import java.util.List; | |||
import java.util.Map; | |||
@@ -47,10 +46,10 @@ import com.thoughtworks.qdox.model.Type; | |||
class EventProducerCollector { | |||
private static final String CLASSNAME_EVENT_PRODUCER = EventProducer.class.getName(); | |||
private static final Map PRIMITIVE_MAP; | |||
private static final Map<String, Class<?>> PRIMITIVE_MAP; | |||
static { | |||
Map m = new java.util.HashMap(); | |||
Map<String, Class<?>> m = new java.util.HashMap<String, Class<?>>(); | |||
m.put("boolean", Boolean.class); | |||
m.put("byte", Byte.class); | |||
m.put("char", Character.class); | |||
@@ -63,7 +62,7 @@ class EventProducerCollector { | |||
} | |||
private DocletTagFactory tagFactory; | |||
private List models = new ArrayList(); | |||
private List<EventModel> models = new java.util.ArrayList<EventModel>(); | |||
/** | |||
* Creates a new EventProducerCollector. | |||
@@ -139,7 +138,7 @@ class EventProducerCollector { | |||
throws EventConventionException, ClassNotFoundException { | |||
JavaClass clazz = method.getParentClass(); | |||
//Check EventProducer conventions | |||
if (!method.getReturns().isVoid()) { | |||
if (!method.getReturnType().isVoid()) { | |||
throw new EventConventionException("All methods of interface " | |||
+ clazz.getFullyQualifiedName() + " must have return type 'void'!"); | |||
} | |||
@@ -168,10 +167,10 @@ class EventProducerCollector { | |||
if (params.length > 1) { | |||
for (int j = 1, cj = params.length; j < cj; j++) { | |||
JavaParameter p = params[j]; | |||
Class type; | |||
Class<?> type; | |||
JavaClass pClass = p.getType().getJavaClass(); | |||
if (p.getType().isPrimitive()) { | |||
type = (Class)PRIMITIVE_MAP.get(pClass.getName()); | |||
type = PRIMITIVE_MAP.get(pClass.getName()); | |||
if (type == null) { | |||
throw new UnsupportedOperationException( | |||
"Primitive datatype not supported: " + pClass.getName()); | |||
@@ -197,7 +196,7 @@ class EventProducerCollector { | |||
* Returns the event model that has been accumulated. | |||
* @return the event model. | |||
*/ | |||
public List getModels() { | |||
public List<EventModel> getModels() { | |||
return this.models; | |||
} | |||
@@ -58,7 +58,7 @@ import org.apache.fop.events.model.EventProducerModel; | |||
*/ | |||
public class EventProducerCollectorTask extends Task { | |||
private List filesets = new java.util.ArrayList(); | |||
private List<FileSet> filesets = new java.util.ArrayList<FileSet>(); | |||
private File destDir; | |||
private File translationFile; | |||
@@ -202,7 +202,7 @@ public class EventProducerCollectorTask extends Task { | |||
protected long processFileSets(EventProducerCollector collector) | |||
throws IOException, EventConventionException, ClassNotFoundException { | |||
long lastModified = 0; | |||
Iterator iter = filesets.iterator(); | |||
Iterator<FileSet> iter = filesets.iterator(); | |||
while (iter.hasNext()) { | |||
FileSet fs = (FileSet)iter.next(); | |||
DirectoryScanner ds = fs.getDirectoryScanner(getProject()); |
@@ -0,0 +1,571 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with | |||
* this work for additional information regarding copyright ownership. | |||
* The ASF licenses this file to You under the Apache License, Version 2.0 | |||
* (the "License"); you may not use this file except in compliance with | |||
* the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
/* $Id$ */ | |||
package org.apache.fop.complexscripts.bidi; | |||
import java.io.BufferedReader; | |||
import java.io.FileWriter; | |||
import java.io.InputStreamReader; | |||
import java.io.PrintWriter; | |||
import java.net.URL; | |||
import java.util.Arrays; | |||
import java.util.Iterator; | |||
import java.util.SortedSet; | |||
import java.util.TreeSet; | |||
import org.apache.fop.util.License; | |||
// CSOFF: LineLength | |||
// CSOFF: NoWhitespaceAfter | |||
/** | |||
* <p>Utility for generating a Java class representing bidirectional | |||
* class properties from the Unicode property files.</p> | |||
* | |||
* <p>This code is derived in part from GenerateLineBreakUtils.java.</p> | |||
* | |||
* <p>This work was originally authored by Glenn Adams (gadams@apache.org).</p> | |||
*/ | |||
public final class GenerateBidiClass { | |||
private GenerateBidiClass() { | |||
} | |||
private static byte[] bcL1 = new byte[256]; // ascii and basic latin blocks ( 0x0000 - 0x00FF ) | |||
private static byte[] bcR1 = new byte[368]; // hebrew and arabic blocks ( 0x0590 - 0x06FF ) | |||
private static int[] bcS1; // interval start indices | |||
private static int[] bcE1; // interval end indices | |||
private static byte[] bcC1; // interval bid classes | |||
/** | |||
* Generate a class managing bidi class properties for Unicode characters. | |||
* | |||
* @param bidiFileName name (as URL) of file containing bidi type data | |||
* @param outFileName name of the output file | |||
* @throws Exception | |||
*/ | |||
private static void convertBidiClassProperties(String bidiFileName, String outFileName) throws Exception { | |||
readBidiClassProperties(bidiFileName); | |||
// generate class | |||
PrintWriter out = new PrintWriter(new FileWriter(outFileName)); | |||
License.writeJavaLicenseId(out); | |||
out.println(); | |||
out.println("package org.apache.fop.complexscripts.bidi;"); | |||
out.println(); | |||
out.println("import java.util.Arrays;"); | |||
out.println("import org.apache.fop.complexscripts.bidi.BidiConstants;"); | |||
out.println(); | |||
out.println("// CSOFF: WhitespaceAfterCheck"); | |||
out.println("// CSOFF: LineLengthCheck"); | |||
out.println(); | |||
out.println("/*"); | |||
out.println(" * !!! THIS IS A GENERATED FILE !!!"); | |||
out.println(" * If updates to the source are needed, then:"); | |||
out.println(" * - apply the necessary modifications to"); | |||
out.println(" * 'src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java'"); | |||
out.println(" * - run 'ant codegen-unicode', which will generate a new BidiClass.java"); | |||
out.println(" * in 'src/java/org/apache/fop/complexscripts/bidi'"); | |||
out.println(" * - commit BOTH changed files"); | |||
out.println(" */"); | |||
out.println(); | |||
out.println("/** Bidirectional class utilities. */"); | |||
out.println("public final class BidiClass {"); | |||
out.println(); | |||
out.println("private BidiClass() {"); | |||
out.println("}"); | |||
out.println(); | |||
dumpData(out); | |||
out.println ("/**"); | |||
out.println (" * Lookup bidi class for character expressed as unicode scalar value."); | |||
out.println (" * @param ch a unicode scalar value"); | |||
out.println (" * @return bidi class"); | |||
out.println (" */"); | |||
out.println("public static int getBidiClass ( int ch ) {"); | |||
out.println(" if ( ch <= 0x00FF ) {"); | |||
out.println(" return bcL1 [ ch - 0x0000 ];"); | |||
out.println(" } else if ( ( ch >= 0x0590 ) && ( ch <= 0x06FF ) ) {"); | |||
out.println(" return bcR1 [ ch - 0x0590 ];"); | |||
out.println(" } else {"); | |||
out.println(" return getBidiClass ( ch, bcS1, bcE1, bcC1 );"); | |||
out.println(" }"); | |||
out.println("}"); | |||
out.println(); | |||
out.println("private static int getBidiClass ( int ch, int[] sa, int[] ea, byte[] ca ) {"); | |||
out.println(" int k = Arrays.binarySearch ( sa, ch );"); | |||
out.println(" if ( k >= 0 ) {"); | |||
out.println(" return ca [ k ];"); | |||
out.println(" } else {"); | |||
out.println(" k = - ( k + 1 );"); | |||
out.println(" if ( k == 0 ) {"); | |||
out.println(" return BidiConstants.L;"); | |||
out.println(" } else if ( ch <= ea [ k - 1 ] ) {"); | |||
out.println(" return ca [ k - 1 ];"); | |||
out.println(" } else {"); | |||
out.println(" return BidiConstants.L;"); | |||
out.println(" }"); | |||
out.println(" }"); | |||
out.println("}"); | |||
out.println(); | |||
out.println("}"); | |||
out.flush(); | |||
out.close(); | |||
} | |||
/** | |||
* Read bidi class property data. | |||
* | |||
* @param bidiFileName name (as URL) of bidi type data | |||
*/ | |||
private static void readBidiClassProperties(String bidiFileName) throws Exception { | |||
// read property names | |||
BufferedReader b = new BufferedReader(new InputStreamReader(new URL(bidiFileName).openStream())); | |||
String line; | |||
int lineNumber = 0; | |||
TreeSet intervals = new TreeSet(); | |||
while ( ( line = b.readLine() ) != null ) { | |||
lineNumber++; | |||
if ( line.startsWith("#") ) { | |||
continue; | |||
} else if ( line.length() == 0 ) { | |||
continue; | |||
} else { | |||
if ( line.indexOf ( "#" ) != -1 ) { | |||
line = ( line.split ( "#" ) ) [ 0 ]; | |||
} | |||
String[] fa = line.split ( ";" ); | |||
if ( fa.length == 2 ) { | |||
int[] interval = parseInterval ( fa[0].trim() ); | |||
byte bidiClass = (byte) parseBidiClass ( fa[1].trim() ); | |||
if ( interval[1] == interval[0] ) { // singleton | |||
int c = interval[0]; | |||
if ( c <= 0x00FF ) { | |||
if ( bcL1 [ c - 0x0000 ] == 0 ) { | |||
bcL1 [ c - 0x0000 ] = bidiClass; | |||
} else { | |||
throw new Exception ( "duplicate singleton entry: " + c ); | |||
} | |||
} else if ( ( c >= 0x0590 ) && ( c <= 0x06FF ) ) { | |||
if ( bcR1 [ c - 0x0590 ] == 0 ) { | |||
bcR1 [ c - 0x0590 ] = bidiClass; | |||
} else { | |||
throw new Exception ( "duplicate singleton entry: " + c ); | |||
} | |||
} else { | |||
addInterval ( intervals, c, c, bidiClass ); | |||
} | |||
} else { // non-singleton | |||
int s = interval[0]; | |||
int e = interval[1]; // inclusive | |||
if ( s <= 0x00FF ) { | |||
for ( int i = s; i <= e; i++ ) { | |||
if ( i <= 0x00FF ) { | |||
if ( bcL1 [ i - 0x0000 ] == 0 ) { | |||
bcL1 [ i - 0x0000 ] = bidiClass; | |||
} else { | |||
throw new Exception ( "duplicate singleton entry: " + i ); | |||
} | |||
} else { | |||
addInterval ( intervals, i, e, bidiClass ); | |||
break; | |||
} | |||
} | |||
} else if ( ( s >= 0x0590 ) && ( s <= 0x06FF ) ) { | |||
for ( int i = s; i <= e; i++ ) { | |||
if ( i <= 0x06FF ) { | |||
if ( bcR1 [ i - 0x0590 ] == 0 ) { | |||
bcR1 [ i - 0x0590 ] = bidiClass; | |||
} else { | |||
throw new Exception ( "duplicate singleton entry: " + i ); | |||
} | |||
} else { | |||
addInterval ( intervals, i, e, bidiClass ); | |||
break; | |||
} | |||
} | |||
} else { | |||
addInterval ( intervals, s, e, bidiClass ); | |||
} | |||
} | |||
} else { | |||
throw new Exception ( "bad syntax, line(" + lineNumber + "): " + line ); | |||
} | |||
} | |||
} | |||
// compile interval search data | |||
int ivIndex = 0; | |||
int niv = intervals.size(); | |||
bcS1 = new int [ niv ]; | |||
bcE1 = new int [ niv ]; | |||
bcC1 = new byte [ niv ]; | |||
for ( Iterator it = intervals.iterator(); it.hasNext(); ivIndex++ ) { | |||
Interval iv = (Interval) it.next(); | |||
bcS1[ivIndex] = iv.start; | |||
bcE1[ivIndex] = iv.end; | |||
bcC1[ivIndex] = (byte) iv.bidiClass; | |||
} | |||
// test data | |||
test(); | |||
} | |||
private static int[] parseInterval ( String interval ) throws Exception { | |||
int s; | |||
int e; | |||
String[] fa = interval.split("\\.\\."); | |||
if ( fa.length == 1 ) { | |||
s = Integer.parseInt ( fa[0], 16 ); | |||
e = s; | |||
} else if ( fa.length == 2 ) { | |||
s = Integer.parseInt ( fa[0], 16 ); | |||
e = Integer.parseInt ( fa[1], 16 ); | |||
} else { | |||
throw new Exception ( "bad interval syntax: " + interval ); | |||
} | |||
if ( e < s ) { | |||
throw new Exception ( "bad interval, start must be less than or equal to end: " + interval ); | |||
} | |||
return new int[] {s, e}; | |||
} | |||
private static int parseBidiClass ( String bidiClass ) { | |||
int bc = 0; | |||
if ( "L".equals ( bidiClass ) ) { | |||
bc = BidiConstants.L; | |||
} else if ( "LRE".equals ( bidiClass ) ) { | |||
bc = BidiConstants.LRE; | |||
} else if ( "LRO".equals ( bidiClass ) ) { | |||
bc = BidiConstants.LRO; | |||
} else if ( "R".equals ( bidiClass ) ) { | |||
bc = BidiConstants.R; | |||
} else if ( "AL".equals ( bidiClass ) ) { | |||
bc = BidiConstants.AL; | |||
} else if ( "RLE".equals ( bidiClass ) ) { | |||
bc = BidiConstants.RLE; | |||
} else if ( "RLO".equals ( bidiClass ) ) { | |||
bc = BidiConstants.RLO; | |||
} else if ( "PDF".equals ( bidiClass ) ) { | |||
bc = BidiConstants.PDF; | |||
} else if ( "EN".equals ( bidiClass ) ) { | |||
bc = BidiConstants.EN; | |||
} else if ( "ES".equals ( bidiClass ) ) { | |||
bc = BidiConstants.ES; | |||
} else if ( "ET".equals ( bidiClass ) ) { | |||
bc = BidiConstants.ET; | |||
} else if ( "AN".equals ( bidiClass ) ) { | |||
bc = BidiConstants.AN; | |||
} else if ( "CS".equals ( bidiClass ) ) { | |||
bc = BidiConstants.CS; | |||
} else if ( "NSM".equals ( bidiClass ) ) { | |||
bc = BidiConstants.NSM; | |||
} else if ( "BN".equals ( bidiClass ) ) { | |||
bc = BidiConstants.BN; | |||
} else if ( "B".equals ( bidiClass ) ) { | |||
bc = BidiConstants.B; | |||
} else if ( "S".equals ( bidiClass ) ) { | |||
bc = BidiConstants.S; | |||
} else if ( "WS".equals ( bidiClass ) ) { | |||
bc = BidiConstants.WS; | |||
} else if ( "ON".equals ( bidiClass ) ) { | |||
bc = BidiConstants.ON; | |||
} else { | |||
throw new IllegalArgumentException ( "unknown bidi class: " + bidiClass ); | |||
} | |||
return bc; | |||
} | |||
private static void addInterval ( SortedSet intervals, int start, int end, int bidiClass ) { | |||
intervals.add ( new Interval ( start, end, bidiClass ) ); | |||
} | |||
private static void dumpData ( PrintWriter out ) { | |||
boolean first; | |||
StringBuffer sb = new StringBuffer(); | |||
// bcL1 | |||
first = true; | |||
sb.setLength(0); | |||
out.println ( "private static byte[] bcL1 = {" ); | |||
for ( int i = 0; i < bcL1.length; i++ ) { | |||
if ( ! first ) { | |||
sb.append ( "," ); | |||
} else { | |||
first = false; | |||
} | |||
sb.append ( bcL1[i] ); | |||
if ( sb.length() > 120 ) { | |||
sb.append(','); | |||
out.println(sb); | |||
first = true; | |||
sb.setLength(0); | |||
} | |||
} | |||
if ( sb.length() > 0 ) { | |||
out.println(sb); | |||
} | |||
out.println ( "};" ); | |||
out.println(); | |||
// bcR1 | |||
first = true; | |||
sb.setLength(0); | |||
out.println ( "private static byte[] bcR1 = {" ); | |||
for ( int i = 0; i < bcR1.length; i++ ) { | |||
if ( ! first ) { | |||
sb.append ( "," ); | |||
} else { | |||
first = false; | |||
} | |||
sb.append ( bcR1[i] ); | |||
if ( sb.length() > 120 ) { | |||
sb.append(','); | |||
out.println(sb); | |||
first = true; | |||
sb.setLength(0); | |||
} | |||
} | |||
if ( sb.length() > 0 ) { | |||
out.println(sb); | |||
} | |||
out.println ( "};" ); | |||
out.println(); | |||
// bcS1 | |||
first = true; | |||
sb.setLength(0); | |||
out.println ( "private static int[] bcS1 = {" ); | |||
for ( int i = 0; i < bcS1.length; i++ ) { | |||
if ( ! first ) { | |||
sb.append ( "," ); | |||
} else { | |||
first = false; | |||
} | |||
sb.append ( bcS1[i] ); | |||
if ( sb.length() > 120 ) { | |||
sb.append(','); | |||
out.println(sb); | |||
first = true; | |||
sb.setLength(0); | |||
} | |||
} | |||
if ( sb.length() > 0 ) { | |||
out.println(sb); | |||
} | |||
out.println ( "};" ); | |||
out.println(); | |||
// bcE1 | |||
first = true; | |||
sb.setLength(0); | |||
out.println ( "private static int[] bcE1 = {" ); | |||
for ( int i = 0; i < bcE1.length; i++ ) { | |||
if ( ! first ) { | |||
sb.append ( "," ); | |||
} else { | |||
first = false; | |||
} | |||
sb.append ( bcE1[i] ); | |||
if ( sb.length() > 120 ) { | |||
sb.append(','); | |||
out.println(sb); | |||
first = true; | |||
sb.setLength(0); | |||
} | |||
} | |||
if ( sb.length() > 0 ) { | |||
out.println(sb); | |||
} | |||
out.println ( "};" ); | |||
out.println(); | |||
// bcC1 | |||
first = true; | |||
sb.setLength(0); | |||
out.println ( "private static byte[] bcC1 = {" ); | |||
for ( int i = 0; i < bcC1.length; i++ ) { | |||
if ( ! first ) { | |||
sb.append ( "," ); | |||
} else { | |||
first = false; | |||
} | |||
sb.append ( bcC1[i] ); | |||
if ( sb.length() > 120 ) { | |||
sb.append(','); | |||
out.println(sb); | |||
first = true; | |||
sb.setLength(0); | |||
} | |||
} | |||
if ( sb.length() > 0 ) { | |||
out.println(sb); | |||
} | |||
out.println ( "};" ); | |||
out.println(); | |||
} | |||
private static int getBidiClass ( int ch ) { | |||
if ( ch <= 0x00FF ) { | |||
return bcL1 [ ch - 0x0000 ]; | |||
} else if ( ( ch >= 0x0590 ) && ( ch <= 0x06FF ) ) { | |||
return bcR1 [ ch - 0x0590 ]; | |||
} else { | |||
return getBidiClass ( ch, bcS1, bcE1, bcC1 ); | |||
} | |||
} | |||
private static int getBidiClass ( int ch, int[] sa, int[] ea, byte[] ca ) { | |||
int k = Arrays.binarySearch ( sa, ch ); | |||
if ( k >= 0 ) { | |||
return ca [ k ]; | |||
} else { | |||
k = - ( k + 1 ); | |||
if ( k == 0 ) { | |||
return BidiConstants.L; | |||
} else if ( ch <= ea [ k - 1 ] ) { | |||
return ca [ k - 1 ]; | |||
} else { | |||
return BidiConstants.L; | |||
} | |||
} | |||
} | |||
private static final int[] testData = // CSOK: ConstantName | |||
{ | |||
0x000000, BidiConstants.BN, | |||
0x000009, BidiConstants.S, | |||
0x00000A, BidiConstants.B, | |||
0x00000C, BidiConstants.WS, | |||
0x000020, BidiConstants.WS, | |||
0x000023, BidiConstants.ET, | |||
0x000028, BidiConstants.ON, | |||
0x00002B, BidiConstants.ES, | |||
0x00002C, BidiConstants.CS, | |||
0x000031, BidiConstants.EN, | |||
0x00003A, BidiConstants.CS, | |||
0x000041, BidiConstants.L, | |||
0x000300, BidiConstants.NSM, | |||
0x000374, BidiConstants.ON, | |||
0x0005BE, BidiConstants.R, | |||
0x000601, BidiConstants.AN, | |||
0x000608, BidiConstants.AL, | |||
0x000670, BidiConstants.NSM, | |||
0x000710, BidiConstants.AL, | |||
0x0007FA, BidiConstants.R, | |||
0x000970, BidiConstants.L, | |||
0x001392, BidiConstants.ON, | |||
0x002000, BidiConstants.WS, | |||
0x00200E, BidiConstants.L, | |||
0x00200F, BidiConstants.R, | |||
0x00202A, BidiConstants.LRE, | |||
0x00202B, BidiConstants.RLE, | |||
0x00202C, BidiConstants.PDF, | |||
0x00202D, BidiConstants.LRO, | |||
0x00202E, BidiConstants.RLO, | |||
0x0020E1, BidiConstants.NSM, | |||
0x002212, BidiConstants.ES, | |||
0x002070, BidiConstants.EN, | |||
0x003000, BidiConstants.WS, | |||
0x003009, BidiConstants.ON, | |||
0x00FBD4, BidiConstants.AL, | |||
0x00FE69, BidiConstants.ET, | |||
0x00FF0C, BidiConstants.CS, | |||
0x00FEFF, BidiConstants.BN, | |||
0x01034A, BidiConstants.L, | |||
0x010E60, BidiConstants.AN, | |||
0x01F100, BidiConstants.EN, | |||
0x0E0001, BidiConstants.BN, | |||
0x0E0100, BidiConstants.NSM, | |||
0x10FFFF, BidiConstants.BN | |||
}; | |||
private static void test() throws Exception { | |||
for ( int i = 0, n = testData.length / 2; i < n; i++ ) { | |||
int ch = testData [ i * 2 + 0 ]; | |||
int tc = testData [ i * 2 + 1 ]; | |||
int bc = getBidiClass ( ch ); | |||
if ( bc != tc ) { | |||
throw new Exception ( "test mapping failed for character (0x" + Integer.toHexString(ch) + "): expected " + tc + ", got " + bc ); | |||
} | |||
} | |||
} | |||
/** | |||
* Main entry point for generator. | |||
* @param args array of command line arguments | |||
*/ | |||
public static void main(String[] args) { | |||
String bidiFileName = "http://www.unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt"; | |||
String outFileName = "BidiClass.java"; | |||
boolean ok = true; | |||
for (int i = 0; i < args.length; i = i + 2) { | |||
if (i + 1 == args.length) { | |||
ok = false; | |||
} else { | |||
String opt = args[i]; | |||
if ("-b".equals(opt)) { | |||
bidiFileName = args [i + 1]; | |||
} else if ("-o".equals(opt)) { | |||
outFileName = args [i + 1]; | |||
} else { | |||
ok = false; | |||
} | |||
} | |||
} | |||
if (!ok) { | |||
System.out.println("Usage: GenerateBidiClass [-b <bidiFile>] [-o <outputFile>]"); | |||
System.out.println(" defaults:"); | |||
System.out.println(" <bidiFile>: " + bidiFileName); | |||
System.out.println(" <outputFile>: " + outFileName); | |||
} else { | |||
try { | |||
convertBidiClassProperties(bidiFileName, outFileName); | |||
System.out.println("Generated " + outFileName + " from"); | |||
System.out.println(" <bidiFile>: " + bidiFileName); | |||
} catch (Exception e) { | |||
System.out.println("An unexpected error occured"); | |||
e.printStackTrace(); | |||
} | |||
} | |||
} | |||
private static class Interval implements Comparable { | |||
int start; // CSOK: VisibilityModifier | |||
int end; // CSOK: VisibilityModifier | |||
int bidiClass; // CSOK: VisibilityModifier | |||
Interval ( int start, int end, int bidiClass ) { | |||
this.start = start; | |||
this.end = end; | |||
this.bidiClass = bidiClass; | |||
} | |||
public int compareTo ( Object o ) { | |||
Interval iv = (Interval) o; | |||
if ( start < iv.start ) { | |||
return -1; | |||
} else if ( start > iv.start ) { | |||
return 1; | |||
} else if ( end < iv.end ) { | |||
return -1; | |||
} else if ( end > iv.end ) { | |||
return 1; | |||
} else { | |||
return 0; | |||
} | |||
} | |||
} | |||
} |
@@ -50,7 +50,7 @@ import org.apache.fop.util.License; | |||
* The methods fromJava and fromTeX are commented out because they are not Java 1.4 compliant. | |||
*/ | |||
public final class UnicodeClasses { | |||
/** directory containing unicode properties files */ | |||
public static final String UNICODE_DIR = "http://www.unicode.org/Public/UNIDATA/"; | |||
@@ -73,7 +73,7 @@ public final class UnicodeClasses { | |||
w.write("<!-- in 'src/java/org/apache/fop/hyphenation' -->\n"); | |||
w.write("<!-- * commit the changed file -->\n"); | |||
} | |||
/** | |||
* Generate classes.xml from Java's compiled-in Unicode Character Database | |||
* @param hexcode whether to prefix each class with the hexcode (only for debugging purposes) | |||
@@ -99,7 +99,7 @@ public final class UnicodeClasses { | |||
ow.write("<classes>\n"); | |||
// loop over the first Unicode plane | |||
for (int code = Character.MIN_VALUE; code <= maxChar; ++code) { | |||
// skip surrogate area | |||
if (code == Character.MIN_SURROGATE) { | |||
code = Character.MAX_SURROGATE; | |||
@@ -114,7 +114,7 @@ public final class UnicodeClasses { | |||
|| Character.getType(code) == Character.OTHER_LETTER)) { | |||
continue; | |||
} | |||
// skip a number of blocks | |||
Character.UnicodeBlock ubi = Character.UnicodeBlock.of(code); | |||
if (ubi.equals(Character.UnicodeBlock.SUPERSCRIPTS_AND_SUBSCRIPTS) | |||
@@ -146,18 +146,25 @@ public final class UnicodeClasses { | |||
ow.flush(); | |||
ow.close(); | |||
} | |||
/** | |||
* The column numbers in the UCD file | |||
*/ | |||
public static final int UNICODE = 0, GENERAL_CATEGORY = 2, SIMPLE_UPPERCASE_MAPPING = 12, | |||
SIMPLE_LOWERCASE_MAPPING = 13, SIMPLE_TITLECASE_MAPPING = 14, NUM_FIELDS = 15; | |||
/** The 1st column in the UCD file. */ | |||
public static final int UNICODE = 0; | |||
/** The 3rd column in the UCD file. */ | |||
public static final int GENERAL_CATEGORY = 2; | |||
/** The 13th column in the UCD file. */ | |||
public static final int SIMPLE_UPPERCASE_MAPPING = 12; | |||
/** The 14th column in the UCD file. */ | |||
public static final int SIMPLE_LOWERCASE_MAPPING = 13; | |||
/** The 15th column in the UCD file. */ | |||
public static final int SIMPLE_TITLECASE_MAPPING = 14; | |||
/** The number of columns in the UCD file. */ | |||
public static final int NUM_FIELDS = 15; | |||
/** | |||
* Generate classes.xml from Unicode Character Database files | |||
* @param hexcode whether to prefix each class with the hexcode (only for debugging purposes) | |||
* @param unidataPath path to the directory with UCD files | |||
* @param unidataPath path to the directory with UCD files | |||
* @param outfilePath output file | |||
* @throws IOException if the input files are not found | |||
* @throws URISyntaxException if {@code unidataPath} cannot be converted to a URI | |||
@@ -175,7 +182,7 @@ public final class UnicodeClasses { | |||
throw new FileNotFoundException | |||
("URI with file or http scheme required for UNIDATA input directory"); | |||
} | |||
File f = new File(outfilePath); | |||
if (f.exists()) { | |||
f.delete(); | |||
@@ -183,7 +190,7 @@ public final class UnicodeClasses { | |||
f.createNewFile(); | |||
FileOutputStream fw = new FileOutputStream(f); | |||
OutputStreamWriter ow = new OutputStreamWriter(fw, "utf-8"); | |||
URI inuri = unidata.resolve("Blocks.txt"); | |||
InputStream inis = null; | |||
if (scheme.equals("file")) { | |||
@@ -253,8 +260,9 @@ public final class UnicodeClasses { | |||
if (j < blockNames.length) { | |||
continue; | |||
} | |||
int uppercode = -1, titlecode = -1; | |||
int uppercode = -1; | |||
int titlecode = -1; | |||
if (!"".equals(fields[SIMPLE_UPPERCASE_MAPPING])) { | |||
uppercode = Integer.parseInt(fields[SIMPLE_UPPERCASE_MAPPING], 16); | |||
} | |||
@@ -284,7 +292,7 @@ public final class UnicodeClasses { | |||
/** | |||
* Generate classes.xml from XeTeX's Unicode letters file | |||
* @param hexcode whether to prefix each class with the hexcode (only for debugging purposes) | |||
* @param lettersPath path to XeTeX's Unicode letters file unicode-letters-XeTeX.tex | |||
* @param lettersPath path to XeTeX's Unicode letters file unicode-letters-XeTeX.tex | |||
* @param outfilePath output file | |||
* @throws IOException in case of an I/O exception | |||
*/ | |||
@@ -322,8 +330,7 @@ public final class UnicodeClasses { | |||
if (codes[0].equals("\\l") && codes.length != 2) { | |||
ow.write("\"" + line + "\" should have one code"); | |||
continue; | |||
} | |||
else if (codes[0].equals("\\L") && codes.length != 4) { | |||
} else if (codes[0].equals("\\L") && codes.length != 4) { | |||
ow.write("\"" + line + "\" should have three codes"); | |||
continue; | |||
} | |||
@@ -345,14 +352,17 @@ public final class UnicodeClasses { | |||
inbr.close(); | |||
} | |||
/** | |||
* @param args [--hexcode] [--java|--ucd|--tex] outfile [infile] | |||
* @throws IOException if the input file cannot be found | |||
* @throws URISyntaxException if the input URI is incorrect | |||
*/ | |||
public static void main(String[] args) throws IOException, URISyntaxException { | |||
String type = "ucd", prefix = "--", infile = null, outfile = null; | |||
String type = "ucd"; | |||
String prefix = "--"; | |||
String infile = null; | |||
String outfile = null; | |||
boolean hexcode = false; | |||
int i; | |||
for (i = 0; i < args.length && args[i].startsWith(prefix); ++i) { | |||
@@ -375,7 +385,7 @@ public final class UnicodeClasses { | |||
if (++i < args.length) { | |||
infile = args[i]; | |||
} | |||
if (type.equals("java") && infile != null) { | |||
System.err.println("Type java does not allow an infile"); | |||
System.exit(1); |
@@ -558,7 +558,8 @@ public final class GenerateLineBreakUtils { | |||
throw new Exception(lineBreakFileName + ':' + lineNumber + ": Unknown property value in " + line); | |||
} | |||
String codepoint = line.substring(0, idx); | |||
int low, high; | |||
int low; | |||
int high; | |||
idx = codepoint.indexOf(".."); | |||
try { | |||
if (idx >= 0) { |
@@ -28,7 +28,7 @@ import java.io.Writer; | |||
* Write the Apache license text in various forms | |||
*/ | |||
public final class License { | |||
private License() { | |||
} | |||
@@ -56,10 +56,10 @@ public final class License { | |||
* The subversion Id keyword line | |||
*/ | |||
public static final String ID = "$Id$"; | |||
/** | |||
* Calculate the maximum line length in the Apache license text | |||
* for use in formatting | |||
* for use in formatting | |||
*/ | |||
private static int maxLength; | |||
static { | |||
@@ -103,7 +103,7 @@ public final class License { | |||
w.write("\n"); | |||
w.write("<!-- " + ID + " -->\n"); | |||
} | |||
/** | |||
* For testing purposes | |||
* @param args optional, --java or --xml |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,12 +19,12 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Ant task</title> | |||
<title>Apache™ FOP: Ant task</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<p> | |||
Apache FOP provides an Ant task for automating the document build process. | |||
Apache™ FOP provides an Ant task for automating the document build process. | |||
</p> | |||
<section id="basics"> | |||
<title>Description</title> | |||
@@ -195,3 +195,6 @@ | |||
</body> | |||
</document> | |||
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Building from Source Code</title> | |||
<title>Apache™ FOP: Building from Source Code</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="build-needed"> | |||
<title>Do You Need To Build?</title> | |||
<p> | |||
FOP distributions are either pre-compiled binary or source. | |||
Apache™ FOP distributions are either pre-compiled binary or source. | |||
If you are using a binary distribution, it is already built and there is no need to build it again. | |||
See the <a href="../download.html">Download Instructions</a> for information about whether a | |||
binary or source distribution is best for your needs. | |||
@@ -137,5 +137,4 @@ | |||
</ul> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Configuration</title> | |||
<title>Apache™ FOP: Configuration</title> | |||
<version>$Revision$</version> | |||
</header> | |||
@@ -390,5 +390,4 @@ information it finds. Check if FOP finds what you expect.</li> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -20,8 +20,8 @@ | |||
<!-- Embedding FOP --> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Embedding</title> | |||
<subtitle>How to Embed FOP in a Java application</subtitle> | |||
<title>Apache™ FOP: Embedding</title> | |||
<subtitle>How to Embed Apache™ FOP in a Java application</subtitle> | |||
<version>$Revision$</version> | |||
</header> | |||
@@ -29,11 +29,11 @@ | |||
<section id="overview"> | |||
<title>Overview</title> | |||
<p> | |||
Review <a href="running.html">Running FOP</a> for important information that applies | |||
Review <a href="running.html">Running Apache™ FOP</a> for important information that applies | |||
to embedded applications as well as command-line use, such as options and performance. | |||
</p> | |||
<p> | |||
To embed Apache FOP in your application, first create a new | |||
To embed Apache™ FOP in your application, first create a new | |||
org.apache.fop.apps.FopFactory instance. This object can be used to launch multiple | |||
rendering runs. For each run, create a new org.apache.fop.apps.Fop instance through | |||
one of the factory methods of FopFactory. In the method call you specify which output | |||
@@ -685,5 +685,4 @@ mailing list. | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Standard FOP Extensions</title> | |||
<title>Standard Apache™ FOP Extensions</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
@@ -230,5 +230,4 @@ to following pages. Here is an example of FO code creating such a table-header:< | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Fonts</title> | |||
<title>Apache™ FOP: Fonts</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Jeremias Märki" email=""/> | |||
@@ -407,4 +407,4 @@ | |||
</section--> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Graphics Formats</title> | |||
<title>Apache™ FOP: Graphics Formats</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="introduction"> | |||
<title>Introduction</title> | |||
<p> | |||
After the Apache FOP 0.94 release, the image handling subsystem has been rewritten in | |||
After the Apache™ FOP 0.94 release, the image handling subsystem has been rewritten in | |||
order to improve the range of supported images and image subtypes, to lower the | |||
overall memory consumption when handling images, to produce smaller output files and to | |||
increase the performance in certain areas. Of course, this causes a few changes most of | |||
@@ -77,65 +77,65 @@ | |||
<tr> | |||
<td><a href="#bmp">BMP</a> (Microsoft Windows Bitmap)</td> | |||
<td>bitmap</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td>X [1]</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#emf">EMF</a> (Windows Enhanced Metafile)</td> | |||
<td>vector (with embedded bitmaps)</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td><a href="#eps">EPS</a> (Encapsulated PostScript)</td> | |||
<td>metafile (both bitmap and vector), most frequently used for vector drawings</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td>GIF (Graphics Interchange Format)</td> | |||
<td>bitmap</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td>X</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#jpeg">JPEG</a> (Joint Photographic Experts Group)</td> | |||
<td>bitmap</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td/> | |||
<td>X</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#png">PNG</a> (Portable Network Graphic)</td> | |||
<td>bitmap</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td>X</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#svg">SVG</a> (Scalable Vector Graphics)</td> | |||
<td>vector (with embedded bitmaps)</td> | |||
<td></td> | |||
<td/> | |||
<td>X</td> | |||
<td></td> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td><a href="#tiff">TIFF</a> (Tag Image Format File)</td> | |||
<td>bitmap</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td/> | |||
<td>X [1]</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#wmf">WMF</a> (Windows Metafile)</td> | |||
<td>vector (with embedded bitmaps)</td> | |||
<td></td> | |||
<td/> | |||
<td>(X)</td> | |||
<td></td> | |||
<td/> | |||
</tr> | |||
</table> | |||
<p> | |||
@@ -153,7 +153,7 @@ | |||
<note> | |||
<a href="http://jai-imageio.dev.java.net/">JAI Image I/O Tools</a> is not the same as the | |||
<a href="http://java.sun.com/javase/technologies/desktop/media/jai/">JAI library</a>! The | |||
former simply exposes JAI's codecs using the Image I/O API but does not include all | |||
former simply exposes JAI's codecs using the Image&nbsp;I/O API but does not include all | |||
the image manipulation functionality. | |||
</note> | |||
<section id="format-map"> | |||
@@ -185,21 +185,21 @@ | |||
</tr> | |||
<tr> | |||
<td><a href="#emf">EMF</a> (Windows Enhanced Metafile)</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td>X [1]</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#eps">EPS</a> (Encapsulated PostScript)</td> | |||
<td></td> | |||
<td/> | |||
<td>X [1]</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td>GIF (Graphics Interchange Format)</td> | |||
@@ -365,7 +365,7 @@ | |||
<section id="gif"> | |||
<title>GIF</title> | |||
<p> | |||
GIF images are supported through an Image I/O codec. Transparency is supported but | |||
GIF images are supported through an Image&nbsp;I/O codec. Transparency is supported but | |||
not guaranteed to work with every output format. | |||
</p> | |||
</section> | |||
@@ -380,14 +380,14 @@ | |||
through without decompression. User reports indicate that grayscale, RGB, and | |||
CMYK color spaces are all rendered properly. However, for other output formats, the | |||
JPEG images have to be decompressed. Tests have shown that there are some limitation | |||
in some Image I/O codecs concerning images in the CMYK color space. Work-arounds are | |||
in some Image&nbsp;I/O codecs concerning images in the CMYK color space. Work-arounds are | |||
in place but may not always work as expected. | |||
</p> | |||
</section> | |||
<section id="png"> | |||
<title>PNG</title> | |||
<p> | |||
PNG images are supported through an Image I/O codec. Transparency is supported but | |||
PNG images are supported through an Image&nbsp;I/O codec. Transparency is supported but | |||
not guaranteed to work with every output format. | |||
</p> | |||
</section> | |||
@@ -497,7 +497,7 @@ | |||
<p> | |||
FOP can embed TIFF images without decompression into PDF, PostScript and AFP if they | |||
have either CCITT T.4, CCITT T.6, or JPEG compression. Otherwise, a TIFF-capable | |||
Image I/O codec is necessary for decoding the image. | |||
Image&nbsp;I/O codec is necessary for decoding the image. | |||
</p> | |||
<p> | |||
There may be some limitation concerning images in the CMYK color space. | |||
@@ -564,4 +564,4 @@ | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Hyphenation</title> | |||
<title>Apache™ FOP: Hyphenation</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
@@ -27,7 +27,7 @@ | |||
<title>Hyphenation Support</title> | |||
<section id="intro"> | |||
<title>Introduction</title> | |||
<p>FOP uses Liang's hyphenation algorithm, well known from TeX. It needs | |||
<p>Apache™ FOP uses Liang's hyphenation algorithm, well known from TeX. It needs | |||
language specific pattern and other data for operation.</p> | |||
<p>Because of <a href="#license-issues">licensing issues</a> (and for | |||
convenience), all hyphenation patterns for FOP are made available through | |||
@@ -145,16 +145,16 @@ | |||
confirming their accuracy, or raising specific problems that we can | |||
address.</warning> | |||
<ul> | |||
<li>The root of the pattern file is the <hyphenation-info> element.</li> | |||
<li><hyphen-char>: its attribute "value" contains the character signalling | |||
a hyphen in the <exceptions> section. It has nothing to do with the | |||
<li>The root of the pattern file is the <hyphenation-info> element.</li> | |||
<li><hyphen-char>: its attribute "value" contains the character signalling | |||
a hyphen in the <exceptions> section. It has nothing to do with the | |||
hyphenation character used in FOP, use the XSLFO hyphenation-character | |||
property for defining the hyphenation character there. At some points | |||
a dash U+002D is hardwired in the code, so you'd better use this too | |||
(patches to rectify the situation are welcome). There is no default, | |||
if you declare exceptions with hyphenations, you must declare the | |||
hyphen-char too.</li> | |||
<li><hyphen-min> contains two attributes: | |||
<li><hyphen-min> contains two attributes: | |||
<ul> | |||
<li>before: the minimum number of characters in a word allowed to exist | |||
on a line immediately preceding a hyphenated word-break.</li> | |||
@@ -164,23 +164,23 @@ | |||
This element is unused and not even read. It should be considered a | |||
documentation for parameters used during pattern generation. | |||
</li> | |||
<li><classes> contains whitespace-separated character sets. The members | |||
<li><classes> contains whitespace-separated character sets. The members | |||
of each set should be treated as equivalent for purposes of hyphenation, | |||
usually upper and lower case of the same character. The first character | |||
of the set is the canonical character, the patterns and exceptions | |||
should only contain these canonical representation characters (except | |||
digits for weight, the period (.) as word delimiter in the patterns and | |||
the hyphen char in exceptions, of course).</li> | |||
<li><exceptions> contains whitespace-separated words, each of which | |||
<li><exceptions> contains whitespace-separated words, each of which | |||
has either explicit hyphen characters to denote acceptable breakage | |||
points, or no hyphen characters, to indicate that this word should | |||
never be hyphenated, or contain explicit <hyp> elements for specifying | |||
changes of spelling due to hyphenation (like backen -> bak-ken or | |||
Stoffarbe -> Stoff-farbe in the old german spelling). Exceptions override | |||
the patterns described below. Explicit <hyp> declarations don't work | |||
never be hyphenated, or contain explicit <hyp> elements for specifying | |||
changes of spelling due to hyphenation (like backen -> bak-ken or | |||
Stoffarbe -> Stoff-farbe in the old german spelling). Exceptions override | |||
the patterns described below. Explicit <hyp> declarations don't work | |||
yet (patches welcome). Exceptions are generally a bit brittle, test | |||
carefully.</li> | |||
<li><patterns> includes whitespace-separated patterns, which are what | |||
<li><patterns> includes whitespace-separated patterns, which are what | |||
drive most hyphenation decisions. The characters in these patterns are | |||
explained as follows: | |||
<ul> | |||
@@ -234,4 +234,4 @@ | |||
hyphenation.</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP Version 0.95</title> | |||
<title>Apache™ FOP Version 0.95</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="intro"> | |||
<title>Introduction</title> | |||
<p> | |||
The Apache FOP team is proud to present to you this production quality release. | |||
The Apache™ FOP team is proud to present to you this production quality release. | |||
We're still in the process of adding new features. We welcome any feedback you | |||
might have and even more, any other form of help to get the project forward. | |||
</p> | |||
@@ -51,4 +51,4 @@ | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -19,13 +19,13 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Intermediate Format</title> | |||
<title>Apache™ FOP: Intermediate Format</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<note> | |||
Please note that the intermediate format is an <strong>advanced feature</strong> and can be ignored by most | |||
users of Apache FOP. | |||
users of Apache™ FOP. | |||
</note> | |||
<section id="introduction"> | |||
<title>Introduction</title> | |||
@@ -143,4 +143,4 @@ try { | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document xmlns:xi="http://www.w3.org/2001/XInclude"> | |||
<header> | |||
<title>Apache FOP: Known Issues</title> | |||
<title>Apache™ FOP: Known Issues</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
@@ -30,7 +30,7 @@ | |||
</p> | |||
<note> | |||
<p> | |||
For additional information on known issues in Apache FOP, please have a look at the following pages, too: | |||
For additional information on known issues in Apache™ FOP, please have a look at the following pages, too: | |||
</p> | |||
<ul> | |||
<li><a href="../bugs.html">the bug list in Bugzilla</a></li> | |||
@@ -66,5 +66,4 @@ | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Metadata</title> | |||
<title>Apache™ FOP: Metadata</title> | |||
</header> | |||
<body> | |||
<section id="overview"> | |||
@@ -42,7 +42,7 @@ | |||
<title>Embedding XMP in an XSL-FO document</title> | |||
<p> | |||
As noted above, there's no officially recommended way to embed metadata in XSL-FO. | |||
Apache FOP supports embedding XMP in XSL-FO. Currently, only support for document-level | |||
Apache™ FOP supports embedding XMP in XSL-FO. Currently, only support for document-level | |||
metadata is implemented. Object-level metadata will be implemented when there's | |||
interest. | |||
</p> | |||
@@ -240,4 +240,4 @@ | |||
</ul> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -20,7 +20,7 @@ | |||
<!-- Output Formats: Renderers --> | |||
<document> | |||
<header> | |||
<title>Apache FOP Output Formats</title> | |||
<title>Apache™ FOP Output Formats</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Keiron Liddle" email="keiron@aftexsw.com"/> | |||
@@ -30,7 +30,7 @@ | |||
<body> | |||
<p> | |||
FOP supports multiple output formats by using a different renderer for each format. | |||
Apache™ FOP supports multiple output formats by using a different renderer for each format. | |||
The renderers do not all have the same set of capabilities, sometimes because of | |||
the output format itself, sometimes because some renderers get more development | |||
attention than others. | |||
@@ -911,6 +911,4 @@ out = proc.getOutputStream();]]></source> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>PDF/A (ISO 19005)</title> | |||
<title>Apache™ FOP: PDF/A (ISO 19005)</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Jeremias Märki" email="jeremias@apache.org"/> | |||
@@ -153,4 +153,4 @@ Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent); | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>PDF encryption.</title> | |||
<title>Apache™ FOP: PDF encryption.</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="J.Pietschmann" email="pietsch@apache.org"/> | |||
@@ -30,7 +30,7 @@ | |||
<section> | |||
<title>Overview</title> | |||
<p> | |||
FOP supports encryption of PDF output, thanks to Patrick | |||
Apache™ FOP supports encryption of PDF output, thanks to Patrick | |||
C. Lankswert. This feature is commonly used to prevent | |||
unauthorized viewing, printing, editing, copying text from the | |||
document and doing annotations. It is also possible to ask the | |||
@@ -222,4 +222,4 @@ Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent); | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Copyright 2006 The Apache Software Foundation | |||
@@ -18,7 +18,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>PDF/X (ISO 15930)</title> | |||
<title>Apache™ FOP: PDF/X (ISO 15930)</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Jeremias Märki" email="jeremias@apache.org"/> | |||
@@ -133,4 +133,4 @@ Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent); | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Running Apache FOP</title> | |||
<title>Running Apache™ FOP</title> | |||
<version>$Revision$</version> | |||
</header> | |||
@@ -32,13 +32,13 @@ | |||
Java 1.4.x or later Runtime Environment. | |||
<ul> | |||
<li> | |||
Many JREs >=1.4 contain older JAXP implementations (which often contain bugs). It's | |||
Many JREs >=1.4 contain older JAXP implementations (which often contain bugs). It's | |||
usually a good idea to replace them with a current implementation. | |||
</li> | |||
</ul> | |||
</li> | |||
<li> | |||
Apache FOP. The <a href="../download.html">FOP distribution</a> includes all libraries that you will | |||
Apache™ FOP. The <a href="../download.html">FOP distribution</a> includes all libraries that you will | |||
need to run a basic FOP installation. These can be found in the [fop-root]/lib directory. These | |||
libraries include the following: | |||
<ul> | |||
@@ -190,8 +190,8 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
<title>Writing your own script</title> | |||
<p>FOP's entry point for your own scripts is the class | |||
<code>org.apache.fop.cli.Main</code>. The general pattern for the | |||
command line is: <code>java -classpath <CLASSPATH> | |||
org.apache.fop.cli.Main <arguments></code>. The arguments | |||
command line is: <code>java -classpath <CLASSPATH> | |||
org.apache.fop.cli.Main <arguments></code>. The arguments | |||
consist of the options and infile and outfile specifications | |||
as shown above for the standard scripts. You may wish to review | |||
the standard scripts to make sure that | |||
@@ -202,7 +202,7 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
<title>Running with java's <code>-jar</code> option</title> | |||
<p> | |||
As an alternative to the start scripts you can run <code>java | |||
-jar path/to/build/fop.jar <arguments></code>, relying on | |||
-jar path/to/build/fop.jar <arguments></code>, relying on | |||
FOP to build the classpath for running FOP dynamically, see <a | |||
href="#dynamical-classpath">below</a>. If you use hyphenation, | |||
you must put <code>fop-hyph.jar</code> in the <code>lib</code> | |||
@@ -210,7 +210,7 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
</p> | |||
<p>You can also run <code>java -jar path/to/fop.jar | |||
<arguments></code>, relying on the <code>Class-Path</code> | |||
<arguments></code>, relying on the <code>Class-Path</code> | |||
entry in the manifest file. This works if you put | |||
<code>fop.jar</code> and all jar files from the <code>lib</code> | |||
directory in a single directory. If you use hyphenation, you | |||
@@ -347,4 +347,4 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
<p>If you have problems running FOP, please see the <a href="../gethelp.html">"How to get Help" page</a>.</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,15 +19,15 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Servlets</title> | |||
<subtitle>How to use Apache FOP in a Servlet</subtitle> | |||
<title>Apache™ FOP: Servlets</title> | |||
<subtitle>How to use Apache� FOP in a Servlet</subtitle> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="overview"> | |||
<title>Overview</title> | |||
<p> | |||
This page discusses topic all around using Apache FOP in a servlet environment. | |||
This page discusses topic all around using Apache™ FOP in a servlet environment. | |||
</p> | |||
</section> | |||
<section id="example-servlets"> |
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Upgrading from an Earlier Version of Apache FOP</title> | |||
<title>Upgrading from an Earlier Version of Apache™ FOP</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="important"> | |||
<title>Important!</title> | |||
<p> | |||
If you're planning to upgrade to the latest FOP version there are a few very important things | |||
If you're planning to upgrade to the latest Apache™ FOP version there are a few very important things | |||
to consider: | |||
</p> | |||
<ul> | |||
@@ -123,4 +123,4 @@ | |||
</ul> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Accessibility</title> | |||
<title>Apache™ FOP: Accessibility</title> | |||
</header> | |||
<body> | |||
<section id="overview"> | |||
@@ -27,7 +27,7 @@ | |||
<p> | |||
This page describes the | |||
<a href="http://en.wikipedia.org/wiki/Accessibility">accessibility</a> | |||
features of Apache FOP. | |||
features of Apache™ FOP. | |||
<a href="http://www.section508.gov/">Section 508</a> defines accessibility in the context | |||
of electronic documents for the USA but other countries have similar requirements. | |||
</p> | |||
@@ -164,4 +164,4 @@ | |||
</ul> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,12 +19,12 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Ant task</title> | |||
<title>Apache™ FOP: Ant task</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<p> | |||
Apache FOP provides an Ant task for automating the document build process. | |||
Apache™ FOP provides an Ant task for automating the document build process. | |||
</p> | |||
<section id="basics"> | |||
<title>Description</title> | |||
@@ -233,5 +233,4 @@ | |||
]]></source> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Building from Source Code</title> | |||
<title>Apache™ FOP: Building from Source Code</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="build-needed"> | |||
<title>Do You Need To Build?</title> | |||
<p> | |||
FOP distributions are either pre-compiled binary or source. | |||
Apache™ FOP distributions are either pre-compiled binary or source. | |||
If you are using a binary distribution, it is already built and there is no need to build it again. | |||
See the <a href="../download.html">Download Instructions</a> for information about whether a | |||
binary or source distribution is best for your needs. | |||
@@ -137,5 +137,4 @@ | |||
</ul> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Configuration</title> | |||
<title>Apache™ FOP: Configuration</title> | |||
<version>$Revision$</version> | |||
</header> | |||
@@ -489,5 +489,4 @@ information it finds. Check if FOP finds what you expect.</li> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -20,8 +20,8 @@ | |||
<!-- Embedding FOP --> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Embedding</title> | |||
<subtitle>How to Embed FOP in a Java application</subtitle> | |||
<title>Apache™ FOP: Embedding</title> | |||
<subtitle>How to Embed Apache� FOP in a Java application</subtitle> | |||
<version>$Revision$</version> | |||
</header> | |||
@@ -33,7 +33,7 @@ | |||
to embedded applications as well as command-line use, such as options and performance. | |||
</p> | |||
<p> | |||
To embed Apache FOP in your application, first create a new | |||
To embed Apache™ FOP in your application, first create a new | |||
org.apache.fop.apps.FopFactory instance. This object can be used to launch multiple | |||
rendering runs. For each run, create a new org.apache.fop.apps.Fop instance through | |||
one of the factory methods of FopFactory. In the method call you specify which output | |||
@@ -698,5 +698,4 @@ mailing list. | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Events/Processing Feedback</title> | |||
<title>Apache™ FOP: Events/Processing Feedback</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="introduction"> | |||
<title>Introduction</title> | |||
<p> | |||
In versions until 0.20.5, FOP used | |||
In versions until 0.20.5, Apache™ FOP used | |||
<a href="http://excalibur.apache.org/framework/index.html">Avalon-style Logging</a> where | |||
it was possible to supply a logger per processing run. During the redesign | |||
the logging infrastructure was switched over to | |||
@@ -446,4 +446,4 @@ producer.complain(this, "I'm tired", 23);]]></source> | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Standard FOP Extensions</title> | |||
<title>Standard Apache™ FOP Extensions</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<p> | |||
By "extension", we mean any data that can be placed in the input XML document that | |||
is not addressed by the XSL-FO standard. | |||
By having a mechanism for supporting extensions, FOP is able to add features that | |||
By having a mechanism for supporting extensions, Apache™ FOP is able to add features that | |||
are not covered in the specification. | |||
</p> | |||
<p> | |||
@@ -336,5 +336,4 @@ to following pages. Here is an example of FO code creating such a table-header:< | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Fonts</title> | |||
<title>Apache™ FOP: Fonts</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Jeremias Märki" email=""/> | |||
@@ -31,7 +31,7 @@ | |||
<body> | |||
<section id="intro"> | |||
<title>Summary</title> | |||
<p>The following table summarizes the font capabilities of the various FOP renderers:</p> | |||
<p>The following table summarizes the font capabilities of the various Apache� FOP renderers:</p> | |||
<table> | |||
<tr> | |||
<th>Renderer</th> | |||
@@ -561,4 +561,4 @@ | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Graphics Formats</title> | |||
<title>Apache™ FOP: Graphics Formats</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
@@ -30,7 +30,7 @@ | |||
</p> | |||
<ul> | |||
<li> | |||
The image libraries Jimi and JAI are not supported. Instead, Apache FOP uses the | |||
The image libraries Jimi and JAI are not supported. Instead, Apache™ FOP uses the | |||
Image I/O API that was introduced with Java 1.4 for all bitmap codecs. | |||
</li> | |||
<li> | |||
@@ -73,65 +73,65 @@ | |||
<tr> | |||
<td><a href="#bmp">BMP</a> (Microsoft Windows Bitmap)</td> | |||
<td>bitmap</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td>X [1]</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#emf">EMF</a> (Windows Enhanced Metafile)</td> | |||
<td>vector (with embedded bitmaps)</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td><a href="#eps">EPS</a> (Encapsulated PostScript)</td> | |||
<td>metafile (both bitmap and vector), most frequently used for vector drawings</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td>GIF (Graphics Interchange Format)</td> | |||
<td>bitmap</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td>X</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#jpeg">JPEG</a> (Joint Photographic Experts Group)</td> | |||
<td>bitmap</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td/> | |||
<td>X</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#png">PNG</a> (Portable Network Graphic)</td> | |||
<td>bitmap</td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td>X</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#svg">SVG</a> (Scalable Vector Graphics)</td> | |||
<td>vector (with embedded bitmaps)</td> | |||
<td></td> | |||
<td/> | |||
<td>X</td> | |||
<td></td> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td><a href="#tiff">TIFF</a> (Tag Image Format File)</td> | |||
<td>bitmap</td> | |||
<td>(X)</td> | |||
<td></td> | |||
<td/> | |||
<td>X [1]</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#wmf">WMF</a> (Windows Metafile)</td> | |||
<td>vector (with embedded bitmaps)</td> | |||
<td></td> | |||
<td/> | |||
<td>(X)</td> | |||
<td></td> | |||
<td/> | |||
</tr> | |||
</table> | |||
<p> | |||
@@ -149,7 +149,7 @@ | |||
<note> | |||
<a href="http://jai-imageio.dev.java.net/">JAI Image I/O Tools</a> is not the same as the | |||
<a href="http://java.sun.com/javase/technologies/desktop/media/jai/">JAI library</a>! The | |||
former simply exposes JAI's codecs using the Image I/O API but does not include all | |||
former simply exposes JAI's codecs using the Image&nbsp;I/O API but does not include all | |||
the image manipulation functionality. | |||
</note> | |||
<section id="format-map"> | |||
@@ -181,21 +181,21 @@ | |||
</tr> | |||
<tr> | |||
<td><a href="#emf">EMF</a> (Windows Enhanced Metafile)</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td>X [1]</td> | |||
</tr> | |||
<tr> | |||
<td><a href="#eps">EPS</a> (Encapsulated PostScript)</td> | |||
<td></td> | |||
<td/> | |||
<td>X [1]</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td/> | |||
<td/> | |||
<td/> | |||
<td/> | |||
</tr> | |||
<tr> | |||
<td>GIF (Graphics Interchange Format)</td> | |||
@@ -361,7 +361,7 @@ | |||
<section id="gif"> | |||
<title>GIF</title> | |||
<p> | |||
GIF images are supported through an Image I/O codec. Transparency is supported but | |||
GIF images are supported through an Image&nbsp;I/O codec. Transparency is supported but | |||
not guaranteed to work with every output format. | |||
</p> | |||
</section> | |||
@@ -376,14 +376,14 @@ | |||
through without decompression. User reports indicate that grayscale, RGB, and | |||
CMYK color spaces are all rendered properly. However, for other output formats, the | |||
JPEG images have to be decompressed. Tests have shown that there are some limitation | |||
in some Image I/O codecs concerning images in the CMYK color space. Work-arounds are | |||
in some Image&nbsp;I/O codecs concerning images in the CMYK color space. Work-arounds are | |||
in place but may not always work as expected. | |||
</p> | |||
</section> | |||
<section id="png"> | |||
<title>PNG</title> | |||
<p> | |||
PNG images are supported through an Image I/O codec. Transparency is supported but | |||
PNG images are supported through an Image&nbsp;I/O codec. Transparency is supported but | |||
not guaranteed to work with every output format. | |||
</p> | |||
</section> | |||
@@ -520,7 +520,7 @@ | |||
<p> | |||
FOP can embed TIFF images without decompression into PDF, PostScript and AFP if they | |||
have either CCITT T.4, CCITT T.6, or JPEG compression. Otherwise, a TIFF-capable | |||
Image I/O codec is necessary for decoding the image. | |||
Image&nbsp;I/O codec is necessary for decoding the image. | |||
</p> | |||
<p> | |||
There may be some limitation concerning images in the CMYK color space. | |||
@@ -587,4 +587,4 @@ | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP: Hyphenation</title> | |||
<title>Apache™ FOP: Hyphenation</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
@@ -27,7 +27,7 @@ | |||
<title>Hyphenation Support</title> | |||
<section id="intro"> | |||
<title>Introduction</title> | |||
<p>FOP uses Liang's hyphenation algorithm, well known from TeX. It needs | |||
<p>Apache™ FOP uses Liang's hyphenation algorithm, well known from TeX. It needs | |||
language specific pattern and other data for operation.</p> | |||
<p>Because of <a href="#license-issues">licensing issues</a> (and for | |||
convenience), all hyphenation patterns for FOP are made available through | |||
@@ -145,16 +145,16 @@ | |||
confirming their accuracy, or raising specific problems that we can | |||
address.</warning> | |||
<ul> | |||
<li>The root of the pattern file is the <hyphenation-info> element.</li> | |||
<li><hyphen-char>: its attribute "value" contains the character signalling | |||
a hyphen in the <exceptions> section. It has nothing to do with the | |||
<li>The root of the pattern file is the <hyphenation-info> element.</li> | |||
<li><hyphen-char>: its attribute "value" contains the character signalling | |||
a hyphen in the <exceptions> section. It has nothing to do with the | |||
hyphenation character used in FOP, use the XSLFO hyphenation-character | |||
property for defining the hyphenation character there. At some points | |||
a dash U+002D is hardwired in the code, so you'd better use this too | |||
(patches to rectify the situation are welcome). There is no default, | |||
if you declare exceptions with hyphenations, you must declare the | |||
hyphen-char too.</li> | |||
<li><hyphen-min> contains two attributes: | |||
<li><hyphen-min> contains two attributes: | |||
<ul> | |||
<li>before: the minimum number of characters in a word allowed to exist | |||
on a line immediately preceding a hyphenated word-break.</li> | |||
@@ -164,23 +164,23 @@ | |||
This element is unused and not even read. It should be considered a | |||
documentation for parameters used during pattern generation. | |||
</li> | |||
<li><classes> contains whitespace-separated character sets. The members | |||
<li><classes> contains whitespace-separated character sets. The members | |||
of each set should be treated as equivalent for purposes of hyphenation, | |||
usually upper and lower case of the same character. The first character | |||
of the set is the canonical character, the patterns and exceptions | |||
should only contain these canonical representation characters (except | |||
digits for weight, the period (.) as word delimiter in the patterns and | |||
the hyphen char in exceptions, of course).</li> | |||
<li><exceptions> contains whitespace-separated words, each of which | |||
<li><exceptions> contains whitespace-separated words, each of which | |||
has either explicit hyphen characters to denote acceptable breakage | |||
points, or no hyphen characters, to indicate that this word should | |||
never be hyphenated, or contain explicit <hyp> elements for specifying | |||
changes of spelling due to hyphenation (like backen -> bak-ken or | |||
Stoffarbe -> Stoff-farbe in the old german spelling). Exceptions override | |||
the patterns described below. Explicit <hyp> declarations don't work | |||
never be hyphenated, or contain explicit <hyp> elements for specifying | |||
changes of spelling due to hyphenation (like backen -> bak-ken or | |||
Stoffarbe -> Stoff-farbe in the old german spelling). Exceptions override | |||
the patterns described below. Explicit <hyp> declarations don't work | |||
yet (patches welcome). Exceptions are generally a bit brittle, test | |||
carefully.</li> | |||
<li><patterns> includes whitespace-separated patterns, which are what | |||
<li><patterns> includes whitespace-separated patterns, which are what | |||
drive most hyphenation decisions. The characters in these patterns are | |||
explained as follows: | |||
<ul> | |||
@@ -234,4 +234,4 @@ | |||
hyphenation.</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -19,14 +19,14 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Apache FOP Version 1.0</title> | |||
<title>Apache™ FOP Version 1.0</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="intro"> | |||
<title>Introduction</title> | |||
<p> | |||
The Apache FOP team is proud to present to you this production | |||
The Apache™ FOP team is proud to present to you this production | |||
quality codebase. FOP 1.0 provides a good subset of the W3C | |||
XSL-FO 1.0 and 1.1 Standards. Its stable, 1.0 designation | |||
provides added recognition as the productive tool it has been | |||
@@ -64,4 +64,4 @@ | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -19,13 +19,13 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Intermediate Format</title> | |||
<title>Apache™ FOP: Intermediate Format</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<note> | |||
Please note that the intermediate formats described here are | |||
<strong>advanced features</strong> and can be ignored by most users of Apache FOP. | |||
<strong>advanced features</strong> and can be ignored by most users of Apache™ FOP. | |||
</note> | |||
<section id="introduction"> | |||
<title>Introduction</title> | |||
@@ -328,4 +328,4 @@ try { | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document xmlns:xi="http://www.w3.org/2001/XInclude"> | |||
<header> | |||
<title>Apache FOP: Known Issues</title> | |||
<title>Apache™ FOP: Known Issues</title> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
@@ -30,7 +30,7 @@ | |||
</p> | |||
<note> | |||
<p> | |||
For additional information on known issues in Apache FOP, please have a look at the following pages, too: | |||
For additional information on known issues in Apache™ FOP, please have a look at the following pages, too: | |||
</p> | |||
<ul> | |||
<li><a href="../bugs.html">the bug list in Bugzilla</a></li> | |||
@@ -38,7 +38,7 @@ | |||
</ul> | |||
</note> | |||
<p> | |||
Apache FOP has an extensive automated testing infrastructure. Parts of this infrastructure are several | |||
Apache™ FOP has an extensive automated testing infrastructure. Parts of this infrastructure are several | |||
sets of test cases. When a test case is listed in disabled-testcases.xml it is disabled in the JUnit | |||
tests during the normal build process. This indicates a problem in the current codebase. When a bug is | |||
fixed or a missing feature is added the entry for the relevant test case(s) are removed. | |||
@@ -66,5 +66,4 @@ | |||
</section> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Metadata</title> | |||
<title>Apache™ FOP: Metadata</title> | |||
</header> | |||
<body> | |||
<section id="overview"> | |||
@@ -240,4 +240,4 @@ | |||
</ul> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -20,7 +20,7 @@ | |||
<!-- Output Formats: Renderers --> | |||
<document> | |||
<header> | |||
<title>Apache FOP Output Formats</title> | |||
<title>Apache™ FOP Output Formats</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Keiron Liddle" email="keiron@aftexsw.com"/> | |||
@@ -30,7 +30,7 @@ | |||
<body> | |||
<p> | |||
FOP supports multiple output formats by using a different renderer for each format. | |||
Apache™ FOP supports multiple output formats by using a different renderer for each format. | |||
The renderers do not all have the same set of capabilities, sometimes because of | |||
the output format itself, sometimes because some renderers get more development | |||
attention than others. | |||
@@ -974,7 +974,7 @@ Note that the value of the encoding attribute in the example is the double-byte | |||
Please refer to the <link href="#afp-resource-level-defaults">Resource Level Defaults</link> | |||
above to see what is used if the resource-level attribute is not specified. | |||
</p> | |||
<p></p> | |||
<p/> | |||
</section> | |||
</section> | |||
</section> | |||
@@ -1262,7 +1262,4 @@ Note that the value of the encoding attribute in the example is the double-byte | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>PDF/A (ISO 19005)</title> | |||
<title>Apache™ FOP: PDF/A (ISO 19005)</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Jeremias Märki" email="jeremias@apache.org"/> | |||
@@ -165,4 +165,4 @@ Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent); | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>PDF encryption.</title> | |||
<title>Apache™ FOP: PDF encryption.</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="J.Pietschmann" email="pietsch@apache.org"/> | |||
@@ -30,7 +30,7 @@ | |||
<section> | |||
<title>Overview</title> | |||
<p> | |||
FOP supports encryption of PDF output, thanks to Patrick | |||
Apache™ FOP supports encryption of PDF output, thanks to Patrick | |||
C. Lankswert. This feature is commonly used to prevent | |||
unauthorized viewing, printing, editing, copying text from the | |||
document and doing annotations. It is also possible to ask the | |||
@@ -225,4 +225,4 @@ Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent); | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Copyright 2006 The Apache Software Foundation | |||
@@ -18,7 +18,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>PDF/X (ISO 15930)</title> | |||
<title>Apache™ FOP: PDF/X (ISO 15930)</title> | |||
<version>$Revision$</version> | |||
<authors> | |||
<person name="Jeremias Märki" email="jeremias@apache.org"/> | |||
@@ -28,8 +28,8 @@ | |||
<section id="overview"> | |||
<title>Overview</title> | |||
<warning> | |||
Support for PDF/X is available beginning with version 0.93. This feature is new and | |||
may not be 100% complete, yet. Feedback is welcome. | |||
Support for PDF/X is available beginning with Apache™ FOP version 0.93. | |||
This feature is new and may not be 100% complete, yet. Feedback is welcome. | |||
</warning> | |||
<p> | |||
PDF/X is a standard which faciliates prepress digital data exchange using PDF. | |||
@@ -133,4 +133,4 @@ Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent); | |||
</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,7 +19,7 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Running Apache FOP</title> | |||
<title>Running Apache™ FOP</title> | |||
<version>$Revision$</version> | |||
</header> | |||
@@ -32,13 +32,13 @@ | |||
Java 1.4.x or later Runtime Environment. | |||
<ul> | |||
<li> | |||
Many JREs >=1.4 contain older JAXP implementations (which often contain bugs). It's | |||
Many JREs >=1.4 contain older JAXP implementations (which often contain bugs). It's | |||
usually a good idea to replace them with a current implementation. | |||
</li> | |||
</ul> | |||
</li> | |||
<li> | |||
Apache FOP. The <a href="../download.html">FOP distribution</a> includes all libraries that you will | |||
Apache™ FOP. The <a href="../download.html">FOP distribution</a> includes all libraries that you will | |||
need to run a basic FOP installation. These can be found in the [fop-root]/lib directory. These | |||
libraries include the following: | |||
<ul> | |||
@@ -202,8 +202,8 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
<title>Writing your own script</title> | |||
<p>FOP's entry point for your own scripts is the class | |||
<code>org.apache.fop.cli.Main</code>. The general pattern for the | |||
command line is: <code>java -classpath <CLASSPATH> | |||
org.apache.fop.cli.Main <arguments></code>. The arguments | |||
command line is: <code>java -classpath <CLASSPATH> | |||
org.apache.fop.cli.Main <arguments></code>. The arguments | |||
consist of the options and infile and outfile specifications | |||
as shown above for the standard scripts. You may wish to review | |||
the standard scripts to make sure that | |||
@@ -214,7 +214,7 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
<title>Running with java's <code>-jar</code> option</title> | |||
<p> | |||
As an alternative to the start scripts you can run <code>java | |||
-jar path/to/build/fop.jar <arguments></code>, relying on | |||
-jar path/to/build/fop.jar <arguments></code>, relying on | |||
FOP to build the classpath for running FOP dynamically, see <a | |||
href="#dynamical-classpath">below</a>. If you use hyphenation, | |||
you must put <code>fop-hyph.jar</code> in the <code>lib</code> | |||
@@ -222,7 +222,7 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
</p> | |||
<p>You can also run <code>java -jar path/to/fop.jar | |||
<arguments></code>, relying on the <code>Class-Path</code> | |||
<arguments></code>, relying on the <code>Class-Path</code> | |||
entry in the manifest file. This works if you put | |||
<code>fop.jar</code> and all jar files from the <code>lib</code> | |||
directory in a single directory. If you use hyphenation, you | |||
@@ -359,4 +359,4 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl | |||
<p>If you have problems running FOP, please see the <a href="../gethelp.html">"How to get Help" page</a>.</p> | |||
</section> | |||
</body> | |||
</document> | |||
</document> |
@@ -1,4 +1,4 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
@@ -19,15 +19,15 @@ | |||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> | |||
<document> | |||
<header> | |||
<title>Servlets</title> | |||
<subtitle>How to use Apache FOP in a Servlet</subtitle> | |||
<title>Apache™ FOP: Servlets</title> | |||
<subtitle>How to use Apache™ FOP in a Servlet</subtitle> | |||
<version>$Revision$</version> | |||
</header> | |||
<body> | |||
<section id="overview"> | |||
<title>Overview</title> | |||
<p> | |||
This page discusses topic all around using Apache FOP in a servlet environment. | |||
This page discusses topic all around using Apache™ FOP in a servlet environment. | |||
</p> | |||
</section> | |||
<section id="example-servlets"> |