Parcourir la source

Merged trunk@1354651


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_RoundedCorners@1355321 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-2_0
Peter Hancock il y a 12 ans
Parent
révision
3e31e071ea
100 fichiers modifiés avec 8486 ajouts et 1010 suppressions
  1. 36
    0
      KEYS
  2. 0
    7
      build.properties
  3. 301
    319
      build.xml
  4. 0
    190
      checkstyle-4.0.xml
  5. 1
    1
      checkstyle-5.1.xml
  6. 274
    0
      checkstyle-5.5.xml
  7. 2
    1
      checkstyle-suppressions.xml
  8. 1
    0
      conf/fop.xconf
  9. 3
    1
      examples/embedding/build.xml
  10. 64
    0
      examples/embedding/java/embedding/ExampleEPS.java
  11. 52
    0
      examples/embedding/java/embedding/ExampleEPSSimple.java
  12. 1
    2
      examples/embedding/java/embedding/ExampleFO2JPSPrint.java
  13. 182
    0
      examples/embedding/java/embedding/ExampleJava2D2PDF.java
  14. 1
    2
      examples/embedding/java/embedding/atxml/ExampleConcat.java
  15. 1
    1
      examples/embedding/java/embedding/tools/EasyGenerationContentHandlerProxy.java
  16. 1
    1
      examples/fo/advanced/cid-fonts.fo
  17. 7
    7
      examples/fo/advanced/giro.fo
  18. 0
    2
      examples/fo/basic/images.fo
  19. 20
    20
      examples/fo/basic/tableunits.fo
  20. 5
    0
      examples/fo/build.xml
  21. 2
    2
      examples/fo/svg/embedding.fo
  22. 11
    11
      examples/fo/tables/background.fo
  23. 19
    20
      examples/fo/tables/borders.fo
  24. 5
    5
      examples/fo/tables/break.fo
  25. 7
    7
      examples/fo/tables/headfoot.fo
  26. 6
    6
      examples/fo/tables/keep.fo
  27. 5
    5
      examples/fo/tables/omit.fo
  28. 9
    9
      examples/fo/tables/space.fo
  29. 1
    1
      examples/plan/src/org/apache/fop/plan/PlanElementMapping.java
  30. 5204
    1
      findbugs-exclude.xml
  31. 2
    1
      fop
  32. 9
    19
      fop.bat
  33. 2
    46
      fop.cmd
  34. 5
    1
      fop.js
  35. 38
    0
      jacoco.xml
  36. BIN
      lib/build/asm-commons-3.1.jar
  37. BIN
      lib/build/asm-util-3.1.jar
  38. BIN
      lib/build/backport-util-concurrent-3.1.jar
  39. 0
    2
      lib/build/backport-util-concurrent.LICENSE.txt
  40. 27
    0
      lib/build/hamcrest.core-1.1.0.LICENSE.txt
  41. BIN
      lib/build/hamcrest.core-1.1.0.jar
  42. 21
    0
      lib/build/mockito-core-1.8.5.LICENCE.txt
  43. 11
    0
      lib/build/mockito-core-1.8.5.NOTICE.txt
  44. BIN
      lib/build/mockito-core-1.8.5.jar
  45. 18
    0
      lib/build/objenesis-1.0.0.LICENSE.txt
  46. BIN
      lib/build/objenesis-1.0.0.jar
  47. BIN
      lib/build/qdox-1.12.jar
  48. BIN
      lib/build/qdox-1.6.3.jar
  49. BIN
      lib/build/retroweaver-2.0.6-patched.jar
  50. BIN
      lib/build/retroweaver-rt-2.0.6-patched.jar
  51. 0
    25
      lib/build/retroweaver.LICENSE.txt
  52. BIN
      lib/xmlgraphics-commons-1.4.jar
  53. BIN
      lib/xmlgraphics-commons-1.5svn.jar
  54. 7
    8
      src/codegen/java/org/apache/fop/tools/EventProducerCollector.java
  55. 2
    2
      src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java
  56. 571
    0
      src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java
  57. 1269
    0
      src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java
  58. 33
    23
      src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
  59. 2
    1
      src/codegen/unicode/java/org/apache/fop/text/linebreak/GenerateLineBreakUtils.java
  60. 4
    4
      src/codegen/unicode/java/org/apache/fop/util/License.java
  61. 6
    3
      src/documentation/content/xdocs/0.95/anttask.xml
  62. 4
    5
      src/documentation/content/xdocs/0.95/compiling.xml
  63. 3
    4
      src/documentation/content/xdocs/0.95/configuration.xml
  64. 6
    7
      src/documentation/content/xdocs/0.95/embedding.xml
  65. 3
    4
      src/documentation/content/xdocs/0.95/extensions.xml
  66. 3
    3
      src/documentation/content/xdocs/0.95/fonts.xml
  67. 35
    35
      src/documentation/content/xdocs/0.95/graphics.xml
  68. 15
    15
      src/documentation/content/xdocs/0.95/hyphenation.xml
  69. 3
    3
      src/documentation/content/xdocs/0.95/index.xml
  70. 3
    3
      src/documentation/content/xdocs/0.95/intermediate.xml
  71. 4
    5
      src/documentation/content/xdocs/0.95/knownissues_overview.xml
  72. 4
    4
      src/documentation/content/xdocs/0.95/metadata.xml
  73. 4
    6
      src/documentation/content/xdocs/0.95/output.xml
  74. 3
    3
      src/documentation/content/xdocs/0.95/pdfa.xml
  75. 4
    4
      src/documentation/content/xdocs/0.95/pdfencryption.xml
  76. 3
    3
      src/documentation/content/xdocs/0.95/pdfx.xml
  77. 9
    9
      src/documentation/content/xdocs/0.95/running.xml
  78. 4
    4
      src/documentation/content/xdocs/0.95/servlets.xml
  79. 3
    3
      src/documentation/content/xdocs/0.95/upgrading.xml
  80. 4
    4
      src/documentation/content/xdocs/1.0/accessibility.xml
  81. 4
    5
      src/documentation/content/xdocs/1.0/anttask.xml
  82. 4
    5
      src/documentation/content/xdocs/1.0/compiling.xml
  83. 3
    4
      src/documentation/content/xdocs/1.0/configuration.xml
  84. 5
    6
      src/documentation/content/xdocs/1.0/embedding.xml
  85. 3
    3
      src/documentation/content/xdocs/1.0/events.xml
  86. 4
    5
      src/documentation/content/xdocs/1.0/extensions.xml
  87. 4
    4
      src/documentation/content/xdocs/1.0/fonts.xml
  88. 35
    35
      src/documentation/content/xdocs/1.0/graphics.xml
  89. 15
    15
      src/documentation/content/xdocs/1.0/hyphenation.xml
  90. 3
    3
      src/documentation/content/xdocs/1.0/index.xml
  91. 3
    3
      src/documentation/content/xdocs/1.0/intermediate.xml
  92. 5
    6
      src/documentation/content/xdocs/1.0/knownissues_overview.xml
  93. 3
    3
      src/documentation/content/xdocs/1.0/metadata.xml
  94. 5
    8
      src/documentation/content/xdocs/1.0/output.xml
  95. 3
    3
      src/documentation/content/xdocs/1.0/pdfa.xml
  96. 4
    4
      src/documentation/content/xdocs/1.0/pdfencryption.xml
  97. 5
    5
      src/documentation/content/xdocs/1.0/pdfx.xml
  98. 9
    9
      src/documentation/content/xdocs/1.0/running.xml
  99. 4
    4
      src/documentation/content/xdocs/1.0/servlets.xml
  100. 0
    0
      src/documentation/content/xdocs/1.0/upgrading.xml

+ 36
- 0
KEYS Voir le fichier

@@ -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-----

+ 0
- 7
build.properties Voir le fichier

@@ -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


+ 301
- 319
build.xml Voir le fichier

@@ -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>

+ 0
- 190
checkstyle-4.0.xml Voir le fichier

@@ -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>

+ 1
- 1
checkstyle-5.1.xml Voir le fichier

@@ -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">

+ 274
- 0
checkstyle-5.5.xml Voir le fichier

@@ -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 &quot;License&quot;\); 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 &quot;AS IS&quot; 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
- 1
checkstyle-suppressions.xml Voir le fichier

@@ -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>

+ 1
- 0
conf/fop.xconf Voir le fichier

@@ -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>

+ 3
- 1
examples/embedding/build.xml Voir le fichier

@@ -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 -->
<!-- =================================================================== -->

+ 64
- 0
examples/embedding/java/embedding/ExampleEPS.java Voir le fichier

@@ -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();
}
}

}

+ 52
- 0
examples/embedding/java/embedding/ExampleEPSSimple.java Voir le fichier

@@ -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();
}
}

}

+ 1
- 2
examples/embedding/java/embedding/ExampleFO2JPSPrint.java Voir le fichier

@@ -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

+ 182
- 0
examples/embedding/java/embedding/ExampleJava2D2PDF.java Voir le fichier

@@ -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);
}
}
}

+ 1
- 2
examples/embedding/java/embedding/atxml/ExampleConcat.java Voir le fichier

@@ -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);

+ 1
- 1
examples/embedding/java/embedding/tools/EasyGenerationContentHandlerProxy.java Voir le fichier

@@ -211,4 +211,4 @@ public class EasyGenerationContentHandlerProxy implements ContentHandler {
target.skippedEntity(name);
}

}
}

+ 1
- 1
examples/fo/advanced/cid-fonts.fo Voir le fichier

@@ -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"/>

+ 7
- 7
examples/fo/advanced/giro.fo Voir le fichier

@@ -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>

+ 0
- 2
examples/fo/basic/images.fo Voir le fichier

@@ -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>

+ 20
- 20
examples/fo/basic/tableunits.fo Voir le fichier

@@ -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=&quot;10cm&quot;,
inline-progression-dimension.maximum=&quot;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

+ 5
- 0
examples/fo/build.xml Voir le fichier

@@ -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 -->

+ 2
- 2
examples/fo/svg/embedding.fo Voir le fichier

@@ -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>

+ 11
- 11
examples/fo/tables/background.fo Voir le fichier

@@ -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"/>

+ 19
- 20
examples/fo/tables/borders.fo Voir le fichier

@@ -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"/>

+ 5
- 5
examples/fo/tables/break.fo Voir le fichier

@@ -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"/>

+ 7
- 7
examples/fo/tables/headfoot.fo Voir le fichier

@@ -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"/>

+ 6
- 6
examples/fo/tables/keep.fo Voir le fichier

@@ -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"/>

+ 5
- 5
examples/fo/tables/omit.fo Voir le fichier

@@ -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"/>

+ 9
- 9
examples/fo/tables/space.fo Voir le fichier

@@ -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"/>

+ 1
- 1
examples/plan/src/org/apache/fop/plan/PlanElementMapping.java Voir le fichier

@@ -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());
}

+ 5204
- 1
findbugs-exclude.xml
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


+ 2
- 1
fop Voir le fichier

@@ -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

+ 9
- 19
fop.bat Voir le fichier

@@ -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

+ 2
- 46
fop.cmd Voir le fichier

@@ -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

+ 5
- 1
fop.js Voir le fichier

@@ -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") + " ":"")

+ 38
- 0
jacoco.xml Voir le fichier

@@ -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>

BIN
lib/build/asm-commons-3.1.jar Voir le fichier


BIN
lib/build/asm-util-3.1.jar Voir le fichier


BIN
lib/build/backport-util-concurrent-3.1.jar Voir le fichier


+ 0
- 2
lib/build/backport-util-concurrent.LICENSE.txt Voir le fichier

@@ -1,2 +0,0 @@
Public Domain
http://creativecommons.org/licenses/publicdomain

+ 27
- 0
lib/build/hamcrest.core-1.1.0.LICENSE.txt Voir le fichier

@@ -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.

BIN
lib/build/hamcrest.core-1.1.0.jar Voir le fichier


+ 21
- 0
lib/build/mockito-core-1.8.5.LICENCE.txt Voir le fichier

@@ -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.

+ 11
- 0
lib/build/mockito-core-1.8.5.NOTICE.txt Voir le fichier

@@ -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

BIN
lib/build/mockito-core-1.8.5.jar Voir le fichier


+ 18
- 0
lib/build/objenesis-1.0.0.LICENSE.txt Voir le fichier

@@ -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.

BIN
lib/build/objenesis-1.0.0.jar Voir le fichier


BIN
lib/build/qdox-1.12.jar Voir le fichier


BIN
lib/build/qdox-1.6.3.jar Voir le fichier


BIN
lib/build/retroweaver-2.0.6-patched.jar Voir le fichier


BIN
lib/build/retroweaver-rt-2.0.6-patched.jar Voir le fichier


+ 0
- 25
lib/build/retroweaver.LICENSE.txt Voir le fichier

@@ -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.

BIN
lib/xmlgraphics-commons-1.4.jar Voir le fichier


BIN
lib/xmlgraphics-commons-1.5svn.jar Voir le fichier


+ 7
- 8
src/codegen/java/org/apache/fop/tools/EventProducerCollector.java Voir le fichier

@@ -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;
}


+ 2
- 2
src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java Voir le fichier

@@ -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());

+ 571
- 0
src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java Voir le fichier

@@ -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;
}
}
}
}

+ 1269
- 0
src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


+ 33
- 23
src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java Voir le fichier

@@ -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);

+ 2
- 1
src/codegen/unicode/java/org/apache/fop/text/linebreak/GenerateLineBreakUtils.java Voir le fichier

@@ -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) {

+ 4
- 4
src/codegen/unicode/java/org/apache/fop/util/License.java Voir le fichier

@@ -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

+ 6
- 3
src/documentation/content/xdocs/0.95/anttask.xml Voir le fichier

@@ -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>





+ 4
- 5
src/documentation/content/xdocs/0.95/compiling.xml Voir le fichier

@@ -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>

+ 3
- 4
src/documentation/content/xdocs/0.95/configuration.xml Voir le fichier

@@ -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>

+ 6
- 7
src/documentation/content/xdocs/0.95/embedding.xml Voir le fichier

@@ -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>

+ 3
- 4
src/documentation/content/xdocs/0.95/extensions.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/0.95/fonts.xml Voir le fichier

@@ -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>

+ 35
- 35
src/documentation/content/xdocs/0.95/graphics.xml Voir le fichier

@@ -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&nbsp;I/O API but does not include all
former simply exposes JAI's codecs using the Image&amp;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&nbsp;I/O codec. Transparency is supported but
GIF images are supported through an Image&amp;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&nbsp;I/O codecs concerning images in the CMYK color space. Work-arounds are
in some Image&amp;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&nbsp;I/O codec. Transparency is supported but
PNG images are supported through an Image&amp;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&nbsp;I/O codec is necessary for decoding the image.
Image&amp;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>

+ 15
- 15
src/documentation/content/xdocs/0.95/hyphenation.xml Voir le fichier

@@ -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 &lt;hyphenation-info> element.</li>
<li>&lt;hyphen-char>: its attribute "value" contains the character signalling
a hyphen in the &lt;exceptions> section. It has nothing to do with the
<li>The root of the pattern file is the &lt;hyphenation-info&gt; element.</li>
<li>&lt;hyphen-char&gt;: its attribute "value" contains the character signalling
a hyphen in the &lt;exceptions&gt; 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>&lt;hyphen-min> contains two attributes:
<li>&lt;hyphen-min&gt; 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>&lt;classes> contains whitespace-separated character sets. The members
<li>&lt;classes&gt; 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>&lt;exceptions> contains whitespace-separated words, each of which
<li>&lt;exceptions&gt; 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 &lt;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 &lt;hyp> declarations don't work
never be hyphenated, or contain explicit &lt;hyp&gt; elements for specifying
changes of spelling due to hyphenation (like backen -&gt; bak-ken or
Stoffarbe -&gt; Stoff-farbe in the old german spelling). Exceptions override
the patterns described below. Explicit &lt;hyp&gt; declarations don't work
yet (patches welcome). Exceptions are generally a bit brittle, test
carefully.</li>
<li>&lt;patterns> includes whitespace-separated patterns, which are what
<li>&lt;patterns&gt; 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>

+ 3
- 3
src/documentation/content/xdocs/0.95/index.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/0.95/intermediate.xml Voir le fichier

@@ -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>

+ 4
- 5
src/documentation/content/xdocs/0.95/knownissues_overview.xml Voir le fichier

@@ -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>

+ 4
- 4
src/documentation/content/xdocs/0.95/metadata.xml Voir le fichier

@@ -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>

+ 4
- 6
src/documentation/content/xdocs/0.95/output.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/0.95/pdfa.xml Voir le fichier

@@ -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>

+ 4
- 4
src/documentation/content/xdocs/0.95/pdfencryption.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/0.95/pdfx.xml Voir le fichier

@@ -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>

+ 9
- 9
src/documentation/content/xdocs/0.95/running.xml Voir le fichier

@@ -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 &gt;=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 &lt;CLASSPATH>
org.apache.fop.cli.Main &lt;arguments></code>. The arguments
command line is: <code>java -classpath &lt;CLASSPATH&gt;
org.apache.fop.cli.Main &lt;arguments&gt;</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 &lt;arguments></code>, relying on
-jar path/to/build/fop.jar &lt;arguments&gt;</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
&lt;arguments></code>, relying on the <code>Class-Path</code>
&lt;arguments&gt;</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>

+ 4
- 4
src/documentation/content/xdocs/0.95/servlets.xml Voir le fichier

@@ -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">

+ 3
- 3
src/documentation/content/xdocs/0.95/upgrading.xml Voir le fichier

@@ -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>

+ 4
- 4
src/documentation/content/xdocs/1.0/accessibility.xml Voir le fichier

@@ -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>

+ 4
- 5
src/documentation/content/xdocs/1.0/anttask.xml Voir le fichier

@@ -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>

+ 4
- 5
src/documentation/content/xdocs/1.0/compiling.xml Voir le fichier

@@ -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>

+ 3
- 4
src/documentation/content/xdocs/1.0/configuration.xml Voir le fichier

@@ -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>

+ 5
- 6
src/documentation/content/xdocs/1.0/embedding.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/1.0/events.xml Voir le fichier

@@ -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>

+ 4
- 5
src/documentation/content/xdocs/1.0/extensions.xml Voir le fichier

@@ -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>

+ 4
- 4
src/documentation/content/xdocs/1.0/fonts.xml Voir le fichier

@@ -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&#xE4;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>

+ 35
- 35
src/documentation/content/xdocs/1.0/graphics.xml Voir le fichier

@@ -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&nbsp;I/O API but does not include all
former simply exposes JAI's codecs using the Image&amp;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&nbsp;I/O codec. Transparency is supported but
GIF images are supported through an Image&amp;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&nbsp;I/O codecs concerning images in the CMYK color space. Work-arounds are
in some Image&amp;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&nbsp;I/O codec. Transparency is supported but
PNG images are supported through an Image&amp;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&nbsp;I/O codec is necessary for decoding the image.
Image&amp;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>

+ 15
- 15
src/documentation/content/xdocs/1.0/hyphenation.xml Voir le fichier

@@ -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 &lt;hyphenation-info> element.</li>
<li>&lt;hyphen-char>: its attribute "value" contains the character signalling
a hyphen in the &lt;exceptions> section. It has nothing to do with the
<li>The root of the pattern file is the &lt;hyphenation-info&gt; element.</li>
<li>&lt;hyphen-char&gt;: its attribute "value" contains the character signalling
a hyphen in the &lt;exceptions&gt; 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>&lt;hyphen-min> contains two attributes:
<li>&lt;hyphen-min&gt; 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>&lt;classes> contains whitespace-separated character sets. The members
<li>&lt;classes&gt; 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>&lt;exceptions> contains whitespace-separated words, each of which
<li>&lt;exceptions&gt; 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 &lt;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 &lt;hyp> declarations don't work
never be hyphenated, or contain explicit &lt;hyp&gt; elements for specifying
changes of spelling due to hyphenation (like backen -&gt; bak-ken or
Stoffarbe -&gt; Stoff-farbe in the old german spelling). Exceptions override
the patterns described below. Explicit &lt;hyp&gt; declarations don't work
yet (patches welcome). Exceptions are generally a bit brittle, test
carefully.</li>
<li>&lt;patterns> includes whitespace-separated patterns, which are what
<li>&lt;patterns&gt; 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>

+ 3
- 3
src/documentation/content/xdocs/1.0/index.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/1.0/intermediate.xml Voir le fichier

@@ -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>

+ 5
- 6
src/documentation/content/xdocs/1.0/knownissues_overview.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/1.0/metadata.xml Voir le fichier

@@ -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>

+ 5
- 8
src/documentation/content/xdocs/1.0/output.xml Voir le fichier

@@ -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>

+ 3
- 3
src/documentation/content/xdocs/1.0/pdfa.xml Voir le fichier

@@ -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>

+ 4
- 4
src/documentation/content/xdocs/1.0/pdfencryption.xml Voir le fichier

@@ -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>

+ 5
- 5
src/documentation/content/xdocs/1.0/pdfx.xml Voir le fichier

@@ -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>

+ 9
- 9
src/documentation/content/xdocs/1.0/running.xml Voir le fichier

@@ -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 &gt;=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 &lt;CLASSPATH>
org.apache.fop.cli.Main &lt;arguments></code>. The arguments
command line is: <code>java -classpath &lt;CLASSPATH&gt;
org.apache.fop.cli.Main &lt;arguments&gt;</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 &lt;arguments></code>, relying on
-jar path/to/build/fop.jar &lt;arguments&gt;</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
&lt;arguments></code>, relying on the <code>Class-Path</code>
&lt;arguments&gt;</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>

+ 4
- 4
src/documentation/content/xdocs/1.0/servlets.xml Voir le fichier

@@ -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">

+ 0
- 0
src/documentation/content/xdocs/1.0/upgrading.xml Voir le fichier


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff

Chargement…
Annuler
Enregistrer