Browse Source

Merged trunk@1343133



git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_URI_Unification@1343285 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-2_0
Peter Hancock 12 years ago
parent
commit
05b2c8d4ea
100 changed files with 3410 additions and 923 deletions
  1. 36
    0
      KEYS
  2. 147
    74
      build.xml
  3. 0
    190
      checkstyle-4.0.xml
  4. 274
    0
      checkstyle-5.5.xml
  5. 2
    1
      checkstyle-suppressions.xml
  6. 1
    0
      conf/fop.xconf
  7. 3
    1
      examples/embedding/build.xml
  8. 64
    0
      examples/embedding/java/embedding/ExampleEPS.java
  9. 52
    0
      examples/embedding/java/embedding/ExampleEPSSimple.java
  10. 2
    1
      examples/embedding/java/embedding/ExampleJava2D2PDF.java
  11. 1
    1
      examples/embedding/java/embedding/tools/EasyGenerationContentHandlerProxy.java
  12. 401
    60
      findbugs-exclude.xml
  13. 2
    1
      fop
  14. 1
    1
      fop.bat
  15. 1
    1
      fop.cmd
  16. 4
    0
      fop.js
  17. 1
    1
      jacoco.xml
  18. BIN
      lib/xmlgraphics-commons-1.5svn.jar
  19. 1
    1
      src/codegen/java/org/apache/fop/tools/EventProducerCollector.java
  20. 2
    2
      src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java
  21. 571
    0
      src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java
  22. 1269
    0
      src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java
  23. 19
    9
      src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
  24. 2
    1
      src/codegen/unicode/java/org/apache/fop/text/linebreak/GenerateLineBreakUtils.java
  25. 6
    3
      src/documentation/content/xdocs/0.95/anttask.xml
  26. 4
    5
      src/documentation/content/xdocs/0.95/compiling.xml
  27. 3
    4
      src/documentation/content/xdocs/0.95/configuration.xml
  28. 6
    7
      src/documentation/content/xdocs/0.95/embedding.xml
  29. 3
    4
      src/documentation/content/xdocs/0.95/extensions.xml
  30. 3
    3
      src/documentation/content/xdocs/0.95/fonts.xml
  31. 35
    35
      src/documentation/content/xdocs/0.95/graphics.xml
  32. 15
    15
      src/documentation/content/xdocs/0.95/hyphenation.xml
  33. 3
    3
      src/documentation/content/xdocs/0.95/index.xml
  34. 3
    3
      src/documentation/content/xdocs/0.95/intermediate.xml
  35. 4
    5
      src/documentation/content/xdocs/0.95/knownissues_overview.xml
  36. 4
    4
      src/documentation/content/xdocs/0.95/metadata.xml
  37. 4
    6
      src/documentation/content/xdocs/0.95/output.xml
  38. 3
    3
      src/documentation/content/xdocs/0.95/pdfa.xml
  39. 4
    4
      src/documentation/content/xdocs/0.95/pdfencryption.xml
  40. 3
    3
      src/documentation/content/xdocs/0.95/pdfx.xml
  41. 9
    9
      src/documentation/content/xdocs/0.95/running.xml
  42. 4
    4
      src/documentation/content/xdocs/0.95/servlets.xml
  43. 3
    3
      src/documentation/content/xdocs/0.95/upgrading.xml
  44. 4
    4
      src/documentation/content/xdocs/1.0/accessibility.xml
  45. 4
    5
      src/documentation/content/xdocs/1.0/anttask.xml
  46. 4
    5
      src/documentation/content/xdocs/1.0/compiling.xml
  47. 3
    4
      src/documentation/content/xdocs/1.0/configuration.xml
  48. 5
    6
      src/documentation/content/xdocs/1.0/embedding.xml
  49. 3
    3
      src/documentation/content/xdocs/1.0/events.xml
  50. 4
    5
      src/documentation/content/xdocs/1.0/extensions.xml
  51. 4
    4
      src/documentation/content/xdocs/1.0/fonts.xml
  52. 35
    35
      src/documentation/content/xdocs/1.0/graphics.xml
  53. 15
    15
      src/documentation/content/xdocs/1.0/hyphenation.xml
  54. 3
    3
      src/documentation/content/xdocs/1.0/index.xml
  55. 3
    3
      src/documentation/content/xdocs/1.0/intermediate.xml
  56. 5
    6
      src/documentation/content/xdocs/1.0/knownissues_overview.xml
  57. 3
    3
      src/documentation/content/xdocs/1.0/metadata.xml
  58. 5
    8
      src/documentation/content/xdocs/1.0/output.xml
  59. 3
    3
      src/documentation/content/xdocs/1.0/pdfa.xml
  60. 4
    4
      src/documentation/content/xdocs/1.0/pdfencryption.xml
  61. 5
    5
      src/documentation/content/xdocs/1.0/pdfx.xml
  62. 9
    9
      src/documentation/content/xdocs/1.0/running.xml
  63. 4
    4
      src/documentation/content/xdocs/1.0/servlets.xml
  64. 4
    4
      src/documentation/content/xdocs/1.0/upgrading.xml
  65. 64
    16
      src/documentation/content/xdocs/bugs.xml
  66. 14
    14
      src/documentation/content/xdocs/compliance.ihtml
  67. 7
    9
      src/documentation/content/xdocs/dev/conventions.xml
  68. 3
    3
      src/documentation/content/xdocs/dev/design/areas.xml
  69. 4
    5
      src/documentation/content/xdocs/dev/design/breakpos.xml
  70. 14
    16
      src/documentation/content/xdocs/dev/design/configuration.xml
  71. 4
    5
      src/documentation/content/xdocs/dev/design/embedding.xml
  72. 5
    6
      src/documentation/content/xdocs/dev/design/extending.xml
  73. 3
    3
      src/documentation/content/xdocs/dev/design/fotree.xml
  74. 4
    5
      src/documentation/content/xdocs/dev/design/images.xml
  75. 5
    5
      src/documentation/content/xdocs/dev/design/index.xml
  76. 3
    3
      src/documentation/content/xdocs/dev/design/layout.xml
  77. 4
    5
      src/documentation/content/xdocs/dev/design/optimise.xml
  78. 4
    4
      src/documentation/content/xdocs/dev/design/parsing.xml
  79. 4
    5
      src/documentation/content/xdocs/dev/design/pdf-library.xml
  80. 8
    8
      src/documentation/content/xdocs/dev/design/properties.xml
  81. 3
    3
      src/documentation/content/xdocs/dev/design/renderers.xml
  82. 4
    4
      src/documentation/content/xdocs/dev/design/startup.xml
  83. 6
    6
      src/documentation/content/xdocs/dev/design/svg.xml
  84. 4
    5
      src/documentation/content/xdocs/dev/design/useragent.xml
  85. 4
    4
      src/documentation/content/xdocs/dev/doc.xml
  86. 3
    4
      src/documentation/content/xdocs/dev/extensions.xml
  87. 2
    3
      src/documentation/content/xdocs/dev/faq.xml
  88. 4
    4
      src/documentation/content/xdocs/dev/fonts.xml
  89. 5
    5
      src/documentation/content/xdocs/dev/implement.xml
  90. 4
    4
      src/documentation/content/xdocs/dev/index.xml
  91. 47
    75
      src/documentation/content/xdocs/dev/release.xml
  92. 4
    4
      src/documentation/content/xdocs/dev/rtflib.xml
  93. 4
    5
      src/documentation/content/xdocs/dev/svg.xml
  94. 7
    8
      src/documentation/content/xdocs/dev/testing.xml
  95. 3
    3
      src/documentation/content/xdocs/dev/tools.xml
  96. 4
    4
      src/documentation/content/xdocs/download.xml
  97. 4
    4
      src/documentation/content/xdocs/examples.xml
  98. 39
    55
      src/documentation/content/xdocs/faq.xml
  99. 5
    5
      src/documentation/content/xdocs/fo.xml
  100. 0
    0
      src/documentation/content/xdocs/gethelp.xml

+ 36
- 0
KEYS View File

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

+ 147
- 74
build.xml View File

@@ -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,12 +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/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/**"/>
@@ -98,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/**"/>
@@ -153,6 +153,8 @@ list of possible build targets.
<property name="javac.fork" value="no"/>
<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"/>
@@ -214,7 +216,10 @@ list of possible build targets.
</presetdef>
<presetdef name="junit">
<junit haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" maxmemory="256m"/>
<junit haltonfailure="${junit.haltonfailure}"
fork="${junit.fork}"
printsummary="${junit.printsummary}"
maxmemory="256m"/>
</presetdef>
<!-- =================================================================== -->
@@ -396,18 +401,18 @@ list of possible build targets.
<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 -->
@@ -418,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">
@@ -551,6 +556,7 @@ list of possible build targets.
<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*"/>
@@ -662,10 +668,15 @@ 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>
@@ -705,6 +716,7 @@ list of possible build targets.
<include name="META-INF/**"/>
<include name="**/*.xml"/>
<include name="**/*.fo"/>
<include name="**/BidiTestData*.ser"/>
<include name="**/*.afp"/>
<include name="**/*.xsl"/>
</fileset>
@@ -778,29 +790,37 @@ list of possible build targets.
<attribute name="classpath" default="standard-junit-classpath"/>
<sequential>
<echo message="Running @{title} tests..."/>
<junit dir="${basedir}" 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"/>
<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>
<path refid="@{classpath}"/>
</classpath>
<assertions>
<enable/>
</assertions>
<test name="@{testsuite}" todir="${junit.reports.dir}" outfile="@{outfile}"/>
</junit>
</sequential>
</macrodef>
<target name="junit-all" depends="junit-compile, junit-transcoder, junit-layout-hyphenation, setup-xml-schema" description="Runs FOP's JUnit basic tests" if="junit.present">
<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">
errorproperty="fop.junit.error" failureproperty="fop.junit.failure" printsummary="${junit.printsummary}">
<sysproperty key="jawa.awt.headless" value="true"/>
<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>
<path refid="standard-junit-classpath"/>
</classpath>
<assertions>
<enable/>
</assertions>
<batchtest todir="${junit.reports.dir}">
<fileset dir="${build.unit.tests.dir}" includes="**/*TestCase.class"/>
</batchtest>
@@ -826,25 +846,13 @@ list of possible build targets.
<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,setup-xml-schema"
if="xmlunit.present">
<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="setup-xml-schema">
<local name="cache-dir"/>
<property name="cache-dir" value="${basedir}/.cache/junit/intermediate"/>
<mkdir dir="${cache-dir}"/>
<get src="http://www.w3.org/2001/xml.xsd"
dest="${cache-dir}/xml.xsd"
usetimestamp="true"/>
<copy file="${cache-dir}/xml.xsd"
todir="${build.dir}/test-classes/org/apache/fop/intermediate"/>
</target>

<target name="junit-intermediate-format"
depends="junit-compile,setup-xml-schema,junit-intermediate-layout"
<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"
@@ -859,7 +867,10 @@ list of possible build targets.
<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-reduced" depends="junit-userconfig, junit-basic, junit-transcoder, junit-text-linebreak, junit-fotree, junit-render-pdf"/>
<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-render-pdf, 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>
@@ -1009,28 +1020,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}"/>
@@ -1246,11 +1263,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:
@@ -1324,21 +1341,71 @@ 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}">
<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 -->
<!-- =================================================================== -->
@@ -1355,7 +1422,7 @@ NOTE:
</fail>
<echo>All tests passed!</echo>
</target>
<!-- =================================================================== -->
<!-- =================================================================== -->
<!-- Clean targets -->
<!-- =================================================================== -->
<target name="clean" description="Cleans the build directory">
@@ -1367,7 +1434,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.">
@@ -1403,4 +1470,10 @@ NOTE:
</xmlcatalog>
</xmlvalidate>
</target>

<!-- =================================================================== -->
<!-- Local targets -->
<!-- =================================================================== -->
<import file="build-local.targets.xml" optional="true"/>

</project>

+ 0
- 190
checkstyle-4.0.xml View File

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

+ 274
- 0
checkstyle-5.5.xml View File

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

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

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

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

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

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

}

+ 2
- 1
examples/embedding/java/embedding/ExampleJava2D2PDF.java View File

@@ -66,7 +66,8 @@ public class ExampleJava2D2PDF {
throws ConfigurationException {

PDFDocumentGraphics2DConfigurator configurator = new PDFDocumentGraphics2DConfigurator();
configurator.configure(g2d, cfg);
boolean useComplexScriptFeatures = false;
configurator.configure(g2d, cfg, useComplexScriptFeatures);
}

/**

+ 1
- 1
examples/embedding/java/embedding/tools/EasyGenerationContentHandlerProxy.java View File

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

}
}

+ 401
- 60
findbugs-exclude.xml View File

@@ -1,5 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<FindBugsFilter>
<Match>
<Class name="org.apache.fop.fo.properties.FontFamilyProperty"/>
<Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.properties.CondLengthProperty"/>
<Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.pdf.xref.TrailerDictionary$1FileID"/>
<Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.properties.ToBeImplementedProperty"/>
<Bug pattern="EQ_ALWAYS_TRUE"/>
</Match>
<Match>
<Class name="org.apache.fop.render.intermediate.IFStructureTreeBuilder"/>
<Field name="delegate"/>
@@ -188,66 +204,11 @@
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<!-- Automatically generated list of exclusions -->
<Match>
<Class name="org.apache.fop.area.BodyRegion"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.area.Page"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.area.PageViewport"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.area.RegionReference"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.area.BodyRegion"/>
<!--Neither method nor field-->
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.area.RegionViewport"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.hyphenation.CharVector"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.hyphenation.TernaryTree"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.hyphenation.HyphenationTree"/>
<!--Neither method nor field-->
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.render.intermediate.IFGraphicContext"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAttributes"/>
<Method name="clone"/>
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.render.rtf.FOPRtfAttributes"/>
<!--Neither method nor field-->
<Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
</Match>
<Match>
<Class name="org.apache.fop.hyphenation.Hyphenator"/>
<Method name="getResourceStream"/>
@@ -4393,11 +4354,6 @@
<!--Neither method nor field-->
<Bug pattern="RI_REDUNDANT_INTERFACES"/>
</Match>
<Match>
<Class name="java.lang.Cloneable"/>
<!--Neither method nor field-->
<Bug pattern="RI_REDUNDANT_INTERFACES"/>
</Match>
<Match>
<Class name="org.apache.fop.afp.modca.AbstractResourceGroupContainer"/>
<!--Neither method nor field-->
@@ -4821,4 +4777,389 @@
<Bug pattern="REC_CATCH_EXCEPTION"/>
</Match>
<!-- /Automatically generated list of exclusions on 18 February 2011 -->
<!-- complex script exclusions -->
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphDefinitionTable"/>
<Method name="getLookupTypeFromName"/>
<Bug pattern="DM_CONVERT_CASE"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable"/>
<Method name="getLookupTypeFromName"/>
<Bug pattern="DM_CONVERT_CASE"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable"/>
<Method name="getLookupTypeFromName"/>
<Bug pattern="DM_CONVERT_CASE"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable"/>
<Method name="getTableTypeFromName"/>
<Bug pattern="DM_CONVERT_CASE"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="DM_CONVERT_CASE"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter"/>
<Method name="convertWordCase"/>
<Bug pattern="DM_CONVERT_CASE"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.autodetect.FontInfoFinder"/>
<Method name="find"/>
<Bug pattern="DM_CONVERT_CASE"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.bidi.InlineRun"/>
<Method name="&lt;init&gt;" params="org.apache.fop.area.inline.InlineArea, int[]" returns="void"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningState"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable"/>
<Method name="getDeltas"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.scripts.ArabicScriptProcessor"/>
<Or>
<Method name="getPositioningFeatures"/>
<Method name="getSubstitutionFeatures"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.scripts.DefaultScriptProcessor"/>
<Or>
<Method name="getPositioningFeatures"/>
<Method name="getSubstitutionFeatures"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.GlyphSequence"/>
<Method name="getAssociations"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.GlyphSequence$CharAssociation"/>
<Method name="getSubIntervals"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionState"/>
<Method name="setAlternates"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$Ligature"/>
<Or>
<Method name="getComponents"/>
<Method name="getLigatures"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$Ligature"/>
<Method name="&lt;init&gt;" params="int, int[]" returns="void"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$LigatureSet"/>
<Method name="getLigatures"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$LigatureSet"/>
<Method name="&lt;init&gt;" params="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$Ligature[]" returns="void"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ChainedClassSequenceRule"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ChainedClassSequenceRule"/>
<Or>
<Method name="getBacktrackClasses"/>
<Method name="getLookaheadClasses"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ChainedCoverageSequenceRule"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ChainedCoverageSequenceRule"/>
<Or>
<Method name="getBacktrackCoverages"/>
<Method name="getLookaheadCoverages"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ChainedGlyphSequenceRule"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ChainedGlyphSequenceRule"/>
<Or>
<Method name="getBacktrackGlyphs"/>
<Method name="getLookaheadGlyphs"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ClassSequenceRule"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$ClassSequenceRule"/>
<Method name="getClasses"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$CoverageSequenceRule"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$CoverageSequenceRule"/>
<Method name="getCoverages"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$GlyphSequenceRule"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$GlyphSequenceRule"/>
<Method name="getGlyphs"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$Rule"/>
<Method name="getLookups"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$RuleSet"/>
<Method name="&lt;init&gt;"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$RuleSet"/>
<Method name="getRules"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.scripts.IndicScriptProcessor"/>
<Or>
<Method name="getPositioningFeatures"/>
<Method name="getSubstitutionFeatures"/>
<Method name="getOptionalSubstitutionFeatures"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.area.inline.WordArea"/>
<Or>
<Method name="getBidiLevels"/>
<Method name="getGlyphPositionAdjustments"/>
</Or>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.FOText"/>
<Method name="getBidiLevels"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.truetype.TTFDirTabEntry"/>
<Method name="getTag"/>
<Bug pattern="EI_EXPOSE_REP"/>
</Match>
<Match>
<Class name="org.apache.fop.area.inline.TextArea"/>
<Method name="makeLevels"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.area.inline.WordArea"/>
<Or>
<Method name="getBidiLevels"/>
<Method name="glyphPositionAdjustmentsAt"/>
</Or>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.bidi.UnicodeBidiAlgorithm"/>
<Method name="resolveLevels"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$ChainedContextualSubtableFormat1"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$ChainedContextualSubtableFormat2"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$ChainedContextualSubtableFormat3"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$ContextualSubtableFormat1"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$ContextualSubtableFormat2"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$ContextualSubtableFormat3"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphPositioningTable$CursiveSubtableFormat1"/>
<Method name="getExitEntryAnchors"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$AlternateSubtableFormat1"/>
<Method name="getAlternatesForCoverageIndex"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$ChainedContextualSubtableFormat1"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$ChainedContextualSubtableFormat2"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$ChainedContextualSubtableFormat3"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$ContextualSubtableFormat1"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$ContextualSubtableFormat2"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$ContextualSubtableFormat3"/>
<Method name="getLookups"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable$MultipleSubtableFormat1"/>
<Method name="getGlyphsForCoverageIndex"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.fonts.GlyphTable$LookupTable"/>
<Method name="getSubtables"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter"/>
<Or>
<Method name="formatNumberAsSequence"/>
<Method name="formatNumberAsSpecial"/>
</Or>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$ArabicNumeralsFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$EnglishNumberAsWordFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$FrenchNumberAsWordFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$GematriaNumeralsFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$IsopsephryNumeralsFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$KanaNumeralsFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$RomanNumeralsFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$SpanishNumberAsWordFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.complexscripts.util.NumberConverter$ThaiNumeralsFormatter"/>
<Method name="format"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.FOText"/>
<Or>
<Method name="getBidiLevels"/>
<Method name="getMappingBidiLevels"/>
</Or>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
<Match>
<Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager$TextAreaBuilder"/>
<Method name="getNonEmptyLevels"/>
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
</Match>
</FindBugsFilter>

+ 2
- 1
fop View File

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

+ 1
- 1
fop.bat View File

@@ -58,7 +58,7 @@ 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%
set JAVAOPTS=-Denv.windir=%WINDIR% -Djava.awt.headless=true
if "%JAVA_HOME%" == "" goto noJavaHome
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome

+ 1
- 1
fop.cmd View File

@@ -27,5 +27,5 @@ goto setupArgs
rem This label provides a place for the argument list loop to break out
:doneStart
call %LOCAL_FOP_HOME%\fop.bat %FOP_CMD_LINE_ARGS%
call "%LOCAL_FOP_HOME%\fop.bat" %FOP_CMD_LINE_ARGS%

+ 4
- 0
fop.js View File

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

+ 1
- 1
jacoco.xml View File

@@ -5,7 +5,7 @@
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath location="${jacocoant.jar}"/>
</taskdef>
<target name="test-coverage" depends="junit-compile, setup-xml-schema">
<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"/>

BIN
lib/xmlgraphics-commons-1.5svn.jar View File


+ 1
- 1
src/codegen/java/org/apache/fop/tools/EventProducerCollector.java View File

@@ -49,7 +49,7 @@ class EventProducerCollector {
private static final Map<String, Class<?>> PRIMITIVE_MAP;

static {
Map <String, Class<?>> m = new java.util.HashMap<String, Class<?>>();
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);

+ 2
- 2
src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java View File

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

@@ -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
File diff suppressed because it is too large
View File


+ 19
- 9
src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java View File

@@ -148,11 +148,18 @@ public final class UnicodeClasses {
}


/**
* 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
@@ -254,7 +261,8 @@ public final class UnicodeClasses {
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);
}
@@ -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;
}
@@ -352,7 +359,10 @@ public final class UnicodeClasses {
* @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) {

+ 2
- 1
src/codegen/unicode/java/org/apache/fop/text/linebreak/GenerateLineBreakUtils.java View File

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

+ 6
- 3
src/documentation/content/xdocs/0.95/anttask.xml View File

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ 4
- 4
src/documentation/content/xdocs/1.0/upgrading.xml View File

@@ -19,15 +19,15 @@
<!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
to consider:
If you're planning to upgrade to the latest Apache™ FOP version there are a few very important
things to consider:
</p>
<ul>
<li>
@@ -125,4 +125,4 @@
</ul>
</section>
</body>
</document>
</document>

+ 64
- 16
src/documentation/content/xdocs/bugs.xml View File

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

<document>
<header>
<title>FOP: Bugs and Other Trackable Issues</title>
<title>Apache™ FOP: Bugs and Other Trackable Issues</title>
<version>$Revision$</version>
</header>
<body>
@@ -45,22 +45,70 @@ an email as changes are made to the issue.</li>
</section>
<section id="issues_new">
<title>Unreported Issues (Reporting New Issues)</title>
<p>User reports of bugs and requests for enhancements are extremely
important parts of FOP development, and we appreciate the time you take to help
us track these issues down.</p>
<p>
User reports of bugs and requests for enhancements are extremely
important parts of FOP development, and we appreciate the time you take to help
us track these issues down.
</p>
<ul>
<li>To help us ensure that the bug database is as useful as it should be, please
use the <link href="gethelp.html">Getting Help</link> checklist to determine whether a bug report should be entered.</li>
<li>Review the <link href="http://issues.apache.org/bugzilla/page.cgi?id=bug-writing.html">Apache Bug Writing Guidelines</link> before submitting your report.</li>
<li>Enter a new issue report at <link href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Fop">The FOP issue database (Bugzilla)</link>.
You will be asked to login to an existing Bugzilla account or to create a new
one.
When entering the bug report, please make your description complete and concise.
If appropriate, attach a minimal fo file to your report which demonstrates the
problem.</li>
<li>After submission, a copy of your bug report will be automatically
sent to the FOP developer discussion list.</li>
<li>
To help us ensure that the bug database is as useful as it should be, please
use the <link href="gethelp.html">Getting Help</link> checklist to determine whether a bug report should be entered.
</li>
<li>
Review the <link href="http://issues.apache.org/bugzilla/page.cgi?id=bug-writing.html">Apache Bug
Writing Guidelines</link> before submitting your report.
</li>
<li>
Enter a new issue report at <link href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Fop">The
FOP issue database (Bugzilla)</link>. You will be asked to login to an existing Bugzilla account or to
create a new one. When entering the bug report, please make your description complete and concise.
If the issue involves a specific input or output file, then you <strong>MUST</strong> include the
following information in the bug report (preferably as one or more attachments):
<ul>
<li>
an input XSL-FO file (an input XML plus XSLT file is not acceptable, unless and only if the
issue being reported is related to the built-in XSLT transform processing convenience function provided
by FOP); this input <strong>SHOULD</strong> be <em>maximally minimal</em>, which means that it should
contain nothing more than the minimum needed to demonstrate the problem; if you do not take the effort
to provide a maximally minimal input FO file, then you will be subsequently asked to do so before the
bug is processed;
</li>
<li>
a resulting output file, preferably in PDF format; if the issue being reported involves a different output
format, then provide both a PDF output file and the output file for the output format for which the report
applies;
</li>
<li>
a copy of the FOP configuration file you used (e.g., fop.xconf);
</li>
<li>
if FOP was invoked using the command line (or an equivalent), then a dump of both the input
command line and any console output (stderr or stdout) produced; if the report involves an
exception, then this <strong>MUST</strong> include the full stack back trace;
</li>
<li>
information describing the version of FOP you are using and the platform (and OS) on which
you are invoking FOP;
</li>
<li>
if the report applies to the use of a specific font other than one of the built-in, base 14
fonts, then information that describes where to obtain the font.
</li>
</ul>
</li>
<li>
After submission, a copy of your bug report will be automatically
sent to the FOP developer discussion list. If additional information is needed to
process the bug, then the bug will be set to the <code>NEEDSINFO</code> state, and
you will be asked to provide the additional information. You can avoid this extra
step by being diligent about providing <strong>all</strong> of the information
indicated above.
</li>
</ul>
</section>
</body>
</document>




+ 14
- 14
src/documentation/content/xdocs/compliance.ihtml View File

@@ -19,13 +19,13 @@

<html>
<head>
<title>Apache FOP Compliance Page</title>
<title>Apache FOP Compliance Page</title>
</head>

<body>
<h1>W3C XSL-FO 1.1 Standard</h1>

<p>One of FOP's design goals is conformance to the <a href=
<p>One of Apache™ FOP's design goals is conformance to the <a href=
"http://www.w3.org/TR/xsl/">W3C XSL-FO 1.1 standard</a>, which specifies three
levels of "conformance": basic, extended, and complete. Although FOP does not currently conform
to any of these levels, it is nevertheless a useful work-in-progress for many applications. The
@@ -3842,10 +3842,10 @@
"http://www.w3.org/TR/xsl/#page-height">&sect;7.27.13</a></td>
<td><a name="fo-property-page-height" id="fo-property-page-height">page-height</a></td>
<td class="basic">Basic</td>
<td class="yes">yes</td>
<td class="yes">yes</td>
<td class="yes">yes</td>
<td>&nbsp;</td>
<td class="partial">partial</td>
<td class="partial">partial</td>
<td class="partial">partial</td>
<td>value "indefinite" not yet supported</td>
</tr>
<tr>
<td align="center"><a href=
@@ -3862,10 +3862,10 @@
"http://www.w3.org/TR/xsl/#page-width">&sect;7.27.15</a></td>
<td><a name="fo-property-page-width" id="fo-property-page-width">page-width</a></td>
<td class="basic">Basic</td>
<td class="yes">yes</td>
<td class="yes">yes</td>
<td class="yes">yes</td>
<td>&nbsp;</td>
<td class="partial">partial</td>
<td class="partial">partial</td>
<td class="partial">partial</td>
<td>value "indefinite" not yet supported</td>
</tr>
<tr>
<td align="center"><a href=
@@ -3962,10 +3962,10 @@
<td><a name="fo-property-border-collapse" id=
"fo-property-border-collapse">border-collapse</a></td>
<td class="extended">Extended</td>
<td class="yes">yes</td>
<td class="yes">yes</td>
<td class="yes">yes</td>
<td>Some small limitations</td>
<td class="partial">partial</td>
<td class="partial">partial</td>
<td class="partial">partial</td>
<td>value "collapse-with-precedence" not yet supported</td>
</tr>
<tr>
<td align="center"><a href=

+ 7
- 9
src/documentation/content/xdocs/dev/conventions.xml View File

@@ -19,11 +19,11 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: Coding Conventions</title>
<title>Apache™ FOP Development: Coding Conventions</title>
<version>$Revision$</version>
</header>
<body>
<p>Acknowledgement: Some content in this guide was adapted from other Apache projects such as Avalon, Cactus, Turbine and Velocity.</p>
<p>Acknowledgement: Some content in this guide was adapted from other Apache projects such as Avalon, Cactus, Turbine and Velocity.</p>
<section id="svn">
<title>Subversion Repository</title>
<p>Conventions in this section apply to Repository content, regardless of type:</p>
@@ -102,12 +102,10 @@ In general, other languages must not be used, except in translated documentation
<td>checkstyle</td>
</tr>
<tr>
<td>Personal attribution in the source code, such as @author tags and attribution comments should not be used.
Excepted from this general rule are potentially confusing or wide-ranging changes.
If such changes prove useful over time, the related comments should be removed.</td>
<td>Personal attribution tends to clutter the code.
The relevant historical information that might be useful for problem-solving is tracked in the code repository.</td>
<td>Not enforced. Anyone is free to remove such comments.</td>
<td>By <link href="http://mail-archives.apache.org/mod_mbox/jakarta-jmeter-dev/200402.mbox/%3C4039F65E.7020406@atg.com%3E">ASF policy</link>, @author tags are officially discouraged.
However it is permissible to indicate the original author(s) of an entire file or package in a comment provided it follows the copyright and license header.</td>
<td>Attribution of subsequent contributions are recorded by the SVN commit history logs, so should not be included.</td>
<td>checkstyle</td>
</tr>
</table>
<p>For developers that dislike these conventions, one workaround is to develop using their own style, then use a formatting tool like <link href="http://astyle.sourceforge.net/">astyle</link> (Artistic Style) before committing.</p>
@@ -186,4 +184,4 @@ Printing error messages to System.err or System.out is useless in a server-side
</table>
</section>
</body>
</document>
</document>

+ 3
- 3
src/documentation/content/xdocs/dev/design/areas.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: Area Tree</title>
<title>Apache™ FOP Design: Area Tree</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -188,4 +188,4 @@ This is useful for setting the title and organising the groups of page sequences
</section>
</section>
</body>
</document>
</document>

+ 4
- 5
src/documentation/content/xdocs/dev/design/breakpos.xml View File

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

<document>
<header>
<title>FOP Design: Layout Managers</title>
<title>Apache™ FOP Design: Layout Managers</title>
<subtitle>Break Possibility Proposal</subtitle>
<version>$Revision$</version>
<authors>
@@ -149,7 +149,7 @@ return potential break points.</p>
examined later.</note>
<p>So the Line LM will ask its child LM(s) for break possibilities until
it gets back a BP whose stacking dimension <em>could</em> fill the
line. This means that the BP.stackdim.max >= LineIPD.min. It can look
line. This means that the BP.stackdim.max &gt;= LineIPD.min. It can look
for further BP, perhaps one whose stackdim.opt is closer to the
LineIPD.opt. If it isn't happy with the choice of break possibilities,
it can go past the end of the line to the next one, and then try to
@@ -312,5 +312,4 @@ laying out all its material and then make all the Lines at once.</p>
</section>
</section>
</body>
</document>

</document>

+ 14
- 16
src/documentation/content/xdocs/dev/design/configuration.xml View File

@@ -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
@@ -17,15 +17,15 @@
-->
<!-- $Id$ -->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd" [
<!ENTITY lsquo "&#x2018;">
<!ENTITY rsquo "&#x2019;">
<!ENTITY ldquo "&#x201C;">
<!ENTITY rdquo "&#x201D;">
<!ENTITY lsquo "�">
<!ENTITY rsquo "�">
<!ENTITY ldquo "�">
<!ENTITY rdquo "�">
]>

<document>
<header>
<title>FOP: Configuration and Logging</title>
<title>Apache™ FOP: Configuration and Logging</title>
<version>$Revision$</version>
</header>

@@ -33,7 +33,7 @@

<section id="general">
<title>Configuration File Basics</title>
<p>The FOP configuration file is an XML file containing a
<p>The Apache™ FOP configuration file is an XML file containing a
variety of settings that are useful for controlling FOP's
behavior, and for helping it find resources that you wish it to
use.</p>
@@ -56,7 +56,7 @@ to find it.</p>
<section id="command-line">
<title>From the Command Line</title>
<p>When you run FOP from the command-line, use the
&ldquo;<code>-c</code>&rdquo; command-line option with the path to the
&amp;ldquo;<code>-c</code>&amp;rdquo; command-line option with the path to the
configuration file as the option value.</p>
</section>

@@ -100,7 +100,7 @@ configuration object with the user agent as described above.</p>
<title>The Configuration File</title>
<p>The top-level element is arbitrary. You may give it any name
that is useful for you, e.g. <code>&lt;fop-configuration
version="2"></code>.</p>
version="2"&gt;</code>.</p>
<p>Inside the top-level element the configuration may contain
three sections: <code>userAgent</code>, <code>renderers</code>,
and <code>hyphenation</code>. At the moment of this writing the
@@ -110,7 +110,7 @@ not used by FOP.</p>
<code>renderer</code>. There may be one subsection for each type
of renderer. The renderers are identified by their MIME type,
which is given in the <code>mime</code> attribute. For example:
<code>&lt;renderer mime="application/pdf"></code>. The content
<code>&lt;renderer mime="application/pdf"&gt;</code>. The content
of each <code>renderer</code> subsection depends on the type of
renderer.</p>
<p>The PDF renderer (MIME type <code>application/pdf</code>) has
@@ -163,8 +163,7 @@ more information on creating and modifying hyphenation within FOP.</p>
<p>Font configuration information is included in the FOP
configuration file as describe above. It is documented in more
detail at <link href="../fonts.html">FOP: Fonts</link>. Note
especially the section entitled <link
href="../fonts.html#register">Register Fonts with FOP</link>.</p>
especially the section entitled <link href="../fonts.html#register">Register Fonts with FOP</link>.</p>
</section>

<section id="logging">
@@ -182,7 +181,7 @@ to use. For example:</p>
systems. On Java 1.4 systems JDK 1.4 is the default.</code></p>
<p>Secondly, you configure the selected logging package. How
this is done depends on the logging package. The most important
feature is the log level. The default is level &ldquo;info&rdquo;. An
feature is the log level. The default is level &amp;ldquo;info&amp;rdquo;. An
example configuration file for SimpleLog is:</p>
<source>
# logging level for all loggers, default info
@@ -193,7 +192,7 @@ org.apache.commons.logging.simplelog.log.xxxxx=debug
org.apache.commons.logging.simplelog.log.org.apache.fop.pdf=trace
</source>
<p>FOP uses several named loggers. When you set the logging level
for all loggers to &ldquo;info&rdquo;, you get a decent small amount
for all loggers to &amp;ldquo;info&amp;rdquo;, you get a decent small amount
of information
about application progress. The debugging and especially the trace
levels produce a lot of output. If you need these logging levels,
@@ -203,5 +202,4 @@ bear the name of their package, their class or of a superclass.</p>
</section>

</body>
</document>

</document>

+ 4
- 5
src/documentation/content/xdocs/dev/design/embedding.xml View File

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

<document>
<header>
<title>FOP Design: Embedding FOP in Other Applications</title>
<title>Apache™ FOP Design: Embedding Apache� FOP in Other Applications</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -31,7 +31,7 @@
<section id="intro">
<title>Introduction</title>
<p>
This is the design for the external interface when FOP is to be embedded
This is the design for the external interface when Apache™ FOP is to be embedded
inside another java application.
</p>
<p>
@@ -146,5 +146,4 @@ remove redundancies.
</section>

</body>
</document>

</document>

+ 5
- 6
src/documentation/content/xdocs/dev/design/extending.xml View File

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

<document>
<header>
<title>FOP Design: Extensions</title>
<title>Apache™ FOP Design: Extensions</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -31,7 +31,7 @@
<section id="intro">
<title>Introduction</title>
<p>
FOP provides an extension mechanism to add extra functionality. There
Apache™ FOP provides an extension mechanism to add extra functionality. There
are a number of different types of extensions that apply to different
steps when converting FO into the rendered output.
</p>
@@ -124,7 +124,7 @@ to result in a text box referencing the following PDF action:</p>
<title>Work In Progress</title>
<ul>
<li>mathml extension</li>
<li>another xml -> svg extension</li>
<li>another xml -&gt; svg extension</li>
<li>svg text normal text if that can be handled otherwise stroked this is done automatically</li>
</ul>
</section>
@@ -137,5 +137,4 @@ to result in a text box referencing the following PDF action:</p>
</section>
</section>
</body>
</document>

</document>

+ 3
- 3
src/documentation/content/xdocs/dev/design/fotree.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: FO Tree</title>
<title>Apache™ FOP Design: FO Tree</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -140,4 +140,4 @@ The Unknown object is mainly used to provide information to the user.</p>
</section>
</section>
</body>
</document>
</document>

+ 4
- 5
src/documentation/content/xdocs/dev/design/images.xml View File

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

<document>
<header>
<title>FOP Design: Images</title>
<title>Apache™ FOP Design: Images</title>
<version>$Revision$</version>
</header>
<body>
@@ -35,7 +35,7 @@ keep a list of invalid image urls.</p>
<p>We have a number of different caching schemes that are possible.</p>
<p>All images are referred to using the url given in the XSL:FO after
removing "url('')" wrapping. This does
not include any sort of resolving such as relative -> absolute. The
not include any sort of resolving such as relative -&gt; absolute. The
external graphic in the FO Tree and the image area in the Area Tree only
have the url as a reference.
The images are handled through a static interface in ImageFactory.</p>
@@ -148,5 +148,4 @@ renderer and the image can be released from the image cache.</p>
</section>

</body>
</document>

</document>

+ 5
- 5
src/documentation/content/xdocs/dev/design/index.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: Introduction</title>
<title>Apache™ FOP Design: Introduction</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -31,9 +31,9 @@ The redesign is mainly focusing on parts of the layout process (converting the F
Therefore other (non-layout) sections in this document are probably largely accurate for the maintenance branch, but should be used with care in that context.</note>
<section id="black-box">
<title>The Black Box View</title>
<p>From a user's standpoint, FOP is a black box that an xml file as input, performs some magic, then creates the desired output:</p>
<p>From a user's standpoint, Apache™ FOP is a black box that an xml file as input, performs some magic, then creates the desired output:</p>
<table>
<caption>FOP from a User's Standpoint</caption>
<caption>Apache� FOP from a User's Standpoint</caption>
<tr>
<th>Process</th>
<th>Result</th>
@@ -157,4 +157,4 @@ However, most of them have been discussed at length among the developers, and ar
</ul>
</section>
</body>
</document>
</document>

+ 3
- 3
src/documentation/content/xdocs/dev/design/layout.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: Layout</title>
<title>Apache™ FOP Design: Layout</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -404,4 +404,4 @@ Dashed and dotted borders have been implemented in PDF</td>
</section>
</section>
</body>
</document>
</document>

+ 4
- 5
src/documentation/content/xdocs/dev/design/optimise.xml View File

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

<document>
<header>
<title>FOP Design: Optimisations</title>
<title>Apache™ FOP Design: Optimisations</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -31,7 +31,7 @@
<section id="intro">
<title>Introduction</title>
<p>
FOP should be able to handle very large documents. A document can be
Apache™ FOP should be able to handle very large documents. A document can be
supplied using SAX and the information should be passed entirely through
the system, from fo elements to rendered output as soon as possible.
</p>
@@ -71,5 +71,4 @@ is to make the page and all children serializable.
</section>

</body>
</document>

</document>

+ 4
- 4
src/documentation/content/xdocs/dev/design/parsing.xml View File

@@ -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,13 +19,13 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: Input Parsing</title>
<title>Apache™ FOP Design: Input Parsing</title>
<version>$Revision$</version>
</header>
<body>
<section id="intro">
<title>Introduction</title>
<p>Parsing is the process of reading the XSL-FO input and making the information in it available to FOP.</p>
<p>Parsing is the process of reading the XSL-FO input and making the information in it available to Apache™ FOP.</p>
</section>
<section id="input">
<title>SAX for Input</title>
@@ -73,4 +73,4 @@ Instead, FOP takes SAX events and builds its own tree-like structure. Why?</p>
</section>
</section>
</body>
</document>
</document>

+ 4
- 5
src/documentation/content/xdocs/dev/design/pdf-library.xml View File

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

<document>
<header>
<title>FOP Design: PDF Library</title>
<title>Apache™ FOP Design: PDF Library</title>
<version>$Revision$</version>
</header>

@@ -28,7 +28,7 @@
<section id="intro">
<title>Introduction</title>

<p>The PDF Library is an independant package of classes in FOP. These class
<p>The PDF Library is an independant package of classes in Apache™ FOP. These class
provide a simple way to construct documents and add the contents. The
classes are found in <code>org.apache.fop.pdf.*</code>.</p>
</section>
@@ -88,5 +88,4 @@ The method is: byte[] toPDF().</p>
</section>

</body>
</document>

</document>

+ 8
- 8
src/documentation/content/xdocs/dev/design/properties.xml View File

@@ -19,7 +19,7 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: Properties</title>
<title>Apache™ FOP Design: Properties</title>
<version>$Revision$</version>
<authors>
<person name="Karen Lease" email=""/>
@@ -205,12 +205,12 @@ for all ColorType properties. Since the generic specification doesn't include
the inherited or default elements, these should be set in each property
which is based on GenericColor. Here is an example:</p>
<p>
<code>&lt;property type='generic'>
&lt;name>background-color&lt;/name>
&lt;use-generic>GenericColor&lt;/use-generic>
&lt;inherited>false&lt;/inherited>
&lt;default>transparent&lt;/default>
&lt;/property></code>
<code>&lt;property type='generic'&gt;
&lt;name&gt;background-color&lt;/name&gt;
&lt;use-generic&gt;GenericColor&lt;/use-generic&gt;
&lt;inherited&gt;false&lt;/inherited&gt;
&lt;default&gt;transparent&lt;/default&gt;
&lt;/property&gt;</code>
</p>
<p>A generic property specification can include all of the elements
defined for the property element in the DTD, including the description
@@ -377,4 +377,4 @@ the result is a Property object, and the actual value may be accessed
<p>The Refined FO Tree is the result of the Refinement process.</p>
</section>
</body>
</document>
</document>

+ 3
- 3
src/documentation/content/xdocs/dev/design/renderers.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: Renderers</title>
<title>Apache™ FOP Design: Renderers</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -226,4 +226,4 @@ If two renderers have the same font metrics then it is possible to use the same
</section>
</section>
</body>
</document>
</document>

+ 4
- 4
src/documentation/content/xdocs/dev/design/startup.xml View File

@@ -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,13 +19,13 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Design: Startup, Environment, Control</title>
<title>Apache™ FOP Design: Startup, Environment, Control</title>
<version>$Revision$</version>
</header>
<body>
<section id="intro">
<title>Introduction</title>
<p>Startup is the process of getting FOP bootstrapped and creating basic objects. Environment includes acquiring user options, instantiating any frameworks, setting up logging, etc. Control includes the basic logic for tieing the various subsystems together properly.</p>
<p>Startup is the process of getting Apache™ FOP bootstrapped and creating basic objects. Environment includes acquiring user options, instantiating any frameworks, setting up logging, etc. Control includes the basic logic for tieing the various subsystems together properly.</p>
</section>
<section id="status">
<title>Status</title>
@@ -53,4 +53,4 @@
</section>
</section>
</body>
</document>
</document>

+ 6
- 6
src/documentation/content/xdocs/dev/design/svg.xml View File

@@ -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,16 +20,17 @@

<document>
<header>
<title>FOP Design: SVG</title>
<title>Apache™ FOP Design: SVG</title>
<version>$Revision$</version>
</header>
<body>
<section id="intro">
<title>Introduction</title>
<p>SVG is rendered through Batik.</p><p>The XML from the XSL:FO document
<p>SVG is rendered through Apache™ Batik.</p><p>The XML from the XSL:FO document
is converted into an SVG DOM with batik. This DOM is then set as the Document
on the Foreign Object area in the Area Tree.</p><p>This DOM is then available to
be rendered by the renderer.</p><p>SVG is rendered in the renderers via an XMLHandler in the FOUserAgent. This XML handler is used to render the SVG. The
be rendered by the renderer.</p><p>SVG is rendered in the renderers via an
XMLHandler in the FOUserAgent. This XML handler is used to render the SVG. The
SVG is rendered by using batik. Batik converts the SVG DOM into an internal
structure that can be drawn into a Graphics2D. So for PDF we use a
PDFGraphics2D to draw into.</p><p>This creates the necessary PDF information to
@@ -86,5 +87,4 @@
</section>

</body>
</document>

</document>

+ 4
- 5
src/documentation/content/xdocs/dev/design/useragent.xml View File

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

<document>
<header>
<title>FOP Design: User Agent</title>
<title>Apache™ FOP Design: User Agent</title>
<version>$Revision$</version>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
@@ -31,7 +31,7 @@
<section id="intro">
<title>Introduction</title>
<p>
Technically the user agent is FOP in the role of determining the
Technically the user agent is Apache™ FOP in the role of determining the
output format and when resolving various attributes. The user
agent is represented by a class that is available to others to
specify how FOP should behave.
@@ -111,5 +111,4 @@ Interactive Features:
</section>

</body>
</document>

</document>

+ 4
- 4
src/documentation/content/xdocs/dev/doc.xml View File

@@ -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,13 +19,13 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: Managing Documentation</title>
<title>Apache™ FOP Development: Managing Documentation</title>
<version>$Revision$</version>
</header>
<body>
<section id="general">
<title>General Information</title>
<p>All raw documentation content is managed in the FOP SVN repository.
<p>All raw documentation content is managed in the Apache™ FOP SVN repository.
Updates should be committed to the repository, then the repository files are used to generate usable output.
The remaining discussions on this page assume that the SVN repository is the starting place for processing.
The path to the documentation is src/documentation/content/xdocs.</p>
@@ -163,4 +163,4 @@ The path to the documentation is src/documentation/content/xdocs.</p>

</section>
</body>
</document>
</document>

+ 3
- 4
src/documentation/content/xdocs/dev/extensions.xml View File

@@ -20,13 +20,13 @@

<document>
<header>
<title>FOP Development: Adding an Extension</title>
<title>Apache™ FOP Development: Adding an Extension</title>
<version>$Revision$</version>
</header>
<body>
<section id="overview">
<title>Overview</title>
<p>For documentation of standard FOP extensions, see the <link href="../trunk/extensions.html">User FOP Extensions</link> document.</p>
<p>For documentation of standard Apache™ FOP extensions, see the <link href="../trunk/extensions.html">User FOP Extensions</link> document.</p>
<p>
If the default funtionality of FOP needs to be extended for
some reason then you can write an extension.
@@ -61,5 +61,4 @@ See also <link href="../examples.html">Examples</link> for more examples.</li>
</ol>
</section>
</body>
</document>

</document>

+ 2
- 3
src/documentation/content/xdocs/dev/faq.xml View File

@@ -18,7 +18,7 @@
<!-- $Id$ -->
<!DOCTYPE faqs PUBLIC "-//APACHE//DTD FAQ V1.3//EN" "http://forrest.apache.org/dtd/faq-v13.dtd">

<faqs title="FOP Development: FAQ">
<faqs title="Apache™ FOP Development: FAQ">
<part id="part_general">
<title>General Questions</title>
<faq>
@@ -62,5 +62,4 @@
</answer>
</faq>
</part>
</faqs>

</faqs>

+ 4
- 4
src/documentation/content/xdocs/dev/fonts.xml View File

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

<document>
<header>
<title>FOP Development: Fonts</title>
<title>Apache™ FOP Development: Fonts</title>
<version>$Revision$</version>
</header>
<body>
@@ -29,7 +29,7 @@
<ul>
<li>refactor existing font logic for better clarity and to reduce duplication</li>
<li>parse registered font metric information on-the-fly (to make sure most up-to-date parsing is used??)</li>
<li>resolve whether the FontBBox, StemV, and ItalicAngle font metric information is important or not -- if so, parse the .pfb file to extract it when building the FOP xml metric file</li>
<li>resolve whether the FontBBox, StemV, and ItalicAngle font metric information is important or not -- if so, parse the .pfb file to extract it when building the Apache� FOP xml metric file</li>
<li>handle fonts registered at the operating system (through AWT)</li>
<li>add support for parsing OpenType fonts</li>
</ul>
@@ -87,4 +87,4 @@ If not, the Font logic should resolve the TypeFace and TypeFaceFamily if possibl
</body>
</document>

<!-- Last Line of $RCSfile$ -->
<!-- Last Line of $RCSfile$ -->

+ 5
- 5
src/documentation/content/xdocs/dev/implement.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: Implementation Overview</title>
<subtitle>Following a Document Through FOP</subtitle>
<title>Apache™ FOP Development: Implementation Overview</title>
<subtitle>Following a Document Through Apache� FOP</subtitle>
<version>$Revision$</version>
<authors>
<person name="Arved Sandstrom" email=""/>
</authors>
</header>
<body>
<p>The purpose of this document is to tie together the FOP design (interface) with some of the key points where control is passed within FOP (implementation), so that developers can quickly find the section of code that is relevant to their needs. The process described is for a "typical" command-line document. All classes are in org.apache.fop unless otherwise designated.</p>
<p>The purpose of this document is to tie together the Apache™ FOP design (interface) with some of the key points where control is passed within FOP (implementation), so that developers can quickly find the section of code that is relevant to their needs. The process described is for a "typical" command-line document. All classes are in org.apache.fop unless otherwise designated.</p>
<section>
<title>Overview</title>
<p>The input FO document is sent to the FO tree builder via SAX events. Fragments of an FO Tree are built from this process. As each page-sequence element is completed, it is passed to a layout processor, which in turn converts it into an Area Tree. The Area Tree is then given to the Renderer, which converts it into a stream of data containing the output document. The sections below will provide additional details. Where needed differences between the trunk and maintenance branches are shown in tabular format.</p>
@@ -107,4 +107,4 @@ correct place.
</p>
</section>
</body>
</document>
</document>

+ 4
- 4
src/documentation/content/xdocs/dev/index.xml View File

@@ -19,15 +19,15 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: General Information</title>
<title>Apache™ FOP Development: General Information</title>
<version>$Revision$</version>
</header>
<body>
<section id="intro">
<title>Introduction</title>
<p>These pages contain information that should be helpful for those developing FOP.
<p>These pages contain information that should be helpful for those developing Apache™ FOP.
This certainly includes programmers, but may also include those contributing to the project in other ways.</p>
<p>For basic and user information on FOP, please visit the <link href="http://xml.apache.org/fop">FOP homepage</link>.</p>
<p>For basic and user information on FOP, please visit the <link href="http://xml.apache.org/fop">Apache™ FOP homepage</link>.</p>
</section>
<section id="lines">
<title>Development</title>
@@ -162,4 +162,4 @@ To unsubscribe: Send email to <link href="mailto:fop-dev-unsubscribe@xmlgraphics
</section>
</section>
</body>
</document>
</document>

+ 47
- 75
src/documentation/content/xdocs/dev/release.xml View File

@@ -19,106 +19,78 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: Release Mechanics</title>
<title>Apache™ FOP Development: Release Mechanics</title>
<version>$Revision$</version>
</header>
<body>
<section id="intro">
<title>Introduction</title>
<p>This page documents the process of creating a FOP release.
FOP releases are coordinated by one member of the team (currently Christian Geisert), so others do not ordinarily need to use this information.
The purpose of documenting it here is to facilitate consistency, ensure that the process is captured, and to allow others to comment on the process.</p>
<p>The checklist below was assembled from Christian Geisert's notes. It will be expanded in the future as he has time.</p>
<p>This page documents the process of creating a Apache™ FOP release. FOP releases are coordinated by some designated member of the team.
The purpose of documenting it here is to facilitate consistency, ensure that the process is captured, and to allow others to comment on the process.</p>
<p>The checklist below is based on a combination of input from from Christian Geisert and Simon Pepping.</p>
</section>
<section id="checklist">
<title>Checklist</title>
<ul>
<li>Determine which open bugs must be solved before a release can take place (release critical bugs).
Make this bug depend on each release critical bug and write a short argument why the bug is release critical.</li>
<li>Determine whether this is a Release Candidate or a Release.</li>
<li>Determine whether further testing is required.</li>
<li>Commit any outstanding changes</li>
<li>Create a branch called <code>branches/fop-v_vv</code></li>
<li>Edit release notes (<code>README</code> and
<code>status.xml</code> in the root).</li>
<li>Add the release to <code>news-data.xml</code>;
remove links to release notes of older versions from this file.</li>
<li>Update the FAQ (<code>faq.xml</code>) to the new release.</li>
<li>Check and update the copyright year in NOTICE and build.xml.</li>
<li>Edit release notes (<code>README</code> and <code>status.xml</code> in the root).</li>
<li>Add the release to <code>news-data.xml</code>;
remove links to release notes of older versions from this file.</li>
<li>Update the FAQ (<code>faq.xml</code>) to the new release, e.g., update the answer for "When is the next release planned?".</li>
<li>Check and update the copyright year in NOTICE and build.xml.</li>
<li>Update the file <code>doap.rdf</code>, and the files
<code>index.xml</code>, <code>site.xml</code>,
<code>download.xml</code>, <code>fo.xml</code>,
<code>maillist.xml</code>, <code>quickstartguide.xml</code>,
<code>faq.xml</code> and <code>status.xml</code>
<code>maillist.xml</code>, and <code>quickstartguide.xml</code>
in directory <code>xdocs</code> for the new version.</li>
<li>Update the version numbers in the release column on the
compliance page (<code>compliance.xml</code>); update the compliance in the release column
to the current state (development column).</li>
<li>Update version number in <code>build.xml</code> (not to be merged back
into trunk).</li>
<li>Copy trunk documentation directory to a new directory with
the new version number, and update the .htaccess file for
redirections.</li>
<li>Copy <code>test/fotree/disabled-testcases.xml</code> and
<code>test/layoutengine/disabled-testcases.xml</code> to the
new version directory
<code>&lt;version>/fotree/disabled-testcases.xml</code> and
<code>&lt;version>/layoutengine/disabled-testcases.xml</code>.
Copy <code>known-issues.xml</code> to the new version
directory. Copy <code>knownissues-overview.xml</code> from the
current to the new version directory, and update the <code>xi:include</code>
links in it.</li>
<li>Update the tab names and directories in tabs.xml</li>
<li>Copy trunk documentation directory to a new directory with the new version number, and update the <code>.htaccess</code> file for
redirections.</li>
<li>Copy <code>test/fotree/disabled-testcases.xml</code> and <code>test/layoutengine/disabled-testcases.xml</code> to the
new version directory <code>&lt;version&gt;/fotree/disabled-testcases.xml</code> and <code>&lt;version&gt;/layoutengine/disabled-testcases.xml</code>.
Copy <code>known-issues.xml</code> to the new version directory. Copy <code>knownissues-overview.xml</code> from the
current to the new version directory, and update the <code>xi:include</code> links in it.</li>
<li>Update the tab names and directories in <code>tabs.xml</code></li>
<li>Delete the previous version directory.</li>
<li>Update index.xml in the new version directory.</li>
<li>Update compiling.xml in the new version directory: change the intro for trunk to that for a release.</li>
<li>Build the dist files (<code>build[.sh] dist</code>)
and upload them to your web directory on
<code>people.apache.org</code></li>
<li>Ask on fop-dev to check the branch and the generated dist
files for errors.</li>
<li>Update <code>index.xml</code> in the new version directory.</li>
<li>Update <code>compiling.xml</code> in the new version directory: change the introduction for trunk to that for a release.</li>
<li>Build the dist files (<code>build[.sh] dist</code>) and upload them to your web directory on <code>people.apache.org</code></li>
<li>Ask on <code>fop-dev</code> ML to check the branch and the generated dist files for errors.</li>
<li>Tag the source tree with the release ID. For example, if the release is 1.0:
<code>svn copy https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/fop-1_0 https://svn.apache.org/repos/asf/xmlgraphics/fop/tags/fop-1_0</code></li>
<li>Make a fresh checkout with the just created tag:
<code>svn co https://svn.apache.org/repos/asf/xmlgraphics/fop/tags/fop-1_0</code></li>
<li>Copy jimi and jai to lib/ (jimi-1.0.jar, jai_core.jar, jai_codec.jar)</li>
<li>Copy jce-jdk13-119.jar from <link href="http://www.bouncycastle.org/latest_releases.html">
from http://www.bouncycastle.org/latest_releases.html</link> to lib/</li>
<li>Copy the hyphenation patterns jar file
<code>fop-hyph.jar</code> to lib/ (e.g. from
<code>http://sourceforge.net/projects/offo</code></li>
<li>Alternatively, create a build-local.properties file that points to the above libs.</li>
<li>Run build[.sh] dist. Do this using Sun JDK 1.4.2_08 or later. A Forrest installation is needed.</li>
<li>Create signatures. Don't forget to upload your KEY:
<code>gpg -a -b --force-v3-sigs fop-1.0-src.tar.gz</code> etc.</li>
<li>Upload the dist and signature files to your web directory
on people.apache.org (An account on minotaur is needed):
<code>scp fop-1.0*.tar.gz*
chrisg@people.apache.org:public_html/</code></li>
<li>Check permissions:
<code>chmod 664 ... ; chgrp xmlgraphics ...</code></li>
<li>Add MD5 sums: <code>md5 fop-1.0-src.tar.gz &gt;
fop-1.0-src.tar.gz.md5</code> etc.</li>
<li>Make a fresh checkout with the just created tag: <code>svn co https://svn.apache.org/repos/asf/xmlgraphics/fop/tags/fop-1_0</code></li>
<li>Copy the hyphenation patterns jar file <code>fop-hyph.jar</code> to <code>lib</code> (e.g. from <code>http://sourceforge.net/projects/offo</code></li>
<li>Alternatively, create a <code>build-local.properties</code> file that points to the above libraries.</li>
<li>Run <code>build[.sh] dist</code>. Do this using Sun JDK 1.5 or later. A Forrest installation is needed.</li>
<li>Create signatures. Don't forget to upload your KEY: <code>gpg -a -b --force-v3-sigs fop-1.0-src.tar.gz</code> etc.</li>
<li>Upload the dist and signature files to your web directory on people.apache.org (An account on minotaur is needed):
<code>scp fop-1.0*.tar.gz* chrisg@people.apache.org:public_html/</code></li>
<li>Check permissions: <code>chmod 664 ... ; chgrp xmlgraphics ...</code></li>
<li>Add MD5 sums: <code>md5 fop-1.0-src.tar.gz &gt; fop-1.0-src.tar.gz.md5</code> etc.</li>
<li>Make a test download.</li>
<li>Start a vote for the release on
<code>general@xmlgraphics.a.o</code>. The message should point
to the release files and list the MD5 sums (<code>cat
*.md5</code>). The vote is open for 72hrs.</li>
<li>When the release is accepted, copy the release files,
their md5 sum files and the signature files to
/www/www.apache.org/dist/xmlgraphics/fop/ in the
subdirectories <code>source</code> and
<code>binaries</code>. Create links to all files in the
<code>fop</code> directory. Remove the links to the files of
the previous version.</li>
<li>Update HEADER.html and README.html in people.apache.org:/www/www.apache.org/dist/xmlgraphics/fop/</li>
<li>Start a vote for the release on <code>general@xmlgraphics.apache.org</code>. The message should point
to the release files and list the MD5 sums (<code>cat *.md5</code>). The vote should remain open for 72hrs.</li>
<li>When the release is accepted, copy the release files, their md5 sum files and the signature files to
<code>/www/www.apache.org/dist/xmlgraphics/fop/</code> in the subdirectories <code>source</code> and
<code>binaries</code>. Create links to all files in the <code>fop</code> directory. Remove the links to the files of
the previous version.</li>
<li>Update <code>HEADER.html</code> and <code>README.html</code> in <code>people.apache.org:/www/www.apache.org/dist/xmlgraphics/fop/</code>.</li>
<li>Wait 24 hours (for the mirrors to catch up).</li>
<li>Merge the changes of the subversion release branch back
into trunk (not the version number in the build file) and
delete the branch.</li>
<li>Merge the changes of the subversion release branch back into trunk (not the version number in the build file) and
delete the branch.</li>
<li>Deploy the updated documentation to the FOP website.</li>
<li>Post announcements on fop-dev and fop-user and other related mailing lists.</li>
<li>Ask a Bugzilla admin (Christian Geisert) to add a bugzilla
entry for the new release id, or create an issue at
<code>https://issues.apache.org/jira/browse/INFRA</code>.</li>
<li>Post announcements on <code>fop-dev</code> and <code>fop-user</code> and other related mailing lists.</li>
<li>Ask an FOP bugzilla admin to add a bugzilla entry for the new release id, or create an issue at <code>https://issues.apache.org/jira/browse/INFRA</code>.</li>
<li>Deploy the maven bundle.</li>
</ul>
</section>
<section id="other-checklists">
@@ -129,6 +101,7 @@ The purpose of documenting it here is to facilitate consistency, ensure that the
<li><jump href="http://svn.apache.org/repos/asf/ant/core/trunk/ReleaseInstructions">Apache Ant</jump></li>
<li><jump href="http://jakarta.apache.org/cactus/participating/release_checklist.html">Apache Cactus</jump></li>
</ul>
<p/>
<p>Following are links with information about mirroring:</p>
<ul>
<li><jump href="http://www.apache.org/dev/mirrors.html">Apache Mirroring</jump></li>
@@ -137,7 +110,7 @@ The purpose of documenting it here is to facilitate consistency, ensure that the
</section>
<section id="announcements">
<title>Announcing the release</title>
<p>Here's a collected list of places where to announce new FOP releases:</p>
<p>Here's a suggested list of places where to announce new FOP releases:</p>
<ul>
<li>fop-dev@xmlgraphics.apache.org</li>
<li>fop-users@xmlgraphics.apache.org</li>
@@ -145,14 +118,13 @@ The purpose of documenting it here is to facilitate consistency, ensure that the
<li>general@xml.apache.org</li>
<li>announce@apache.org (from your apache.org address)</li>
<li>xsl-list@lists.mulberrytech.com (subscriber-only)</li>
<li>XSL-FO@yahoogroups.com (subscriber-only)</li>
<li>xsl-fo@yahoogroups.com (subscriber-only)</li>
<li>www-xsl-fo@w3.org</li>
<li>docbook-apps@lists.oasis-open.org (subscriber-only)</li>
<li>dita-users@yahoogroups.com (subscriber-only) (http://dita-ot.sourceforge.net/)</li>
<li>http://xslfo-zone.com/news/index.jsp</li>
<li>http://www.w3.org/Style/XSL/</li>
<li>http://freshmeat.net/projects/fop/</li>
<li>any others?</li>
</ul>
</section>
</body>

+ 4
- 4
src/documentation/content/xdocs/dev/rtflib.xml View File

@@ -19,7 +19,7 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: RTFLib (jfor)</title>
<title>Apache™ FOP Development: RTFLib (jfor)</title>
<version>$Revision$</version>
</header>
<body>
@@ -30,7 +30,7 @@
<p>The RTFLib package is an open-source, <em>independent</em> package suitable for writing RTF files in a java environment.
By <em>independent</em> we mean:</p>
<ul>
<li>Although it is used by FOP to generate FOP's RTF output, it is not dependent on FOP for any of its functionality.</li>
<li>Although it is used by Apache™ FOP to generate FOP's RTF output, it is not dependent on FOP for any of its functionality.</li>
<li>It does not require FOP as a front-end, nor does it even require XSL-FO for input.
It essentially exposes an API of relatively high-level RTF construction routines to a host program.
This means it can be used anywhere RTF output is required and java is available.</li>
@@ -39,7 +39,7 @@ This means it can be used anywhere RTF output is required and java is available.
</section>
<section id="history">
<title>History</title>
<p>RTFLib was originally developed by <link href="mailto:bdelacretaz@apache.org">Bertrand Delacr&#x00E9;taz</link> and the <link href="http://www.jfor.org">jfor</link> team. jfor was written under an Apache-style license, and the jfor team contributed the code to the Apache Software Foundation in June, 2003. RTFLib is a subset of the original jfor project, which also includes an XSL-FO parsing mechanism for a complete XSL-FO to RTF solution.</p>
<p>RTFLib was originally developed by <link href="mailto:bdelacretaz@apache.org">Bertrand Delacrétaz</link> and the <link href="http://www.jfor.org">jfor</link> team. jfor was written under an Apache-style license, and the jfor team contributed the code to the Apache Software Foundation in June, 2003. RTFLib is a subset of the original jfor project, which also includes an XSL-FO parsing mechanism for a complete XSL-FO to RTF solution.</p>
</section>
<section id="status">
<title>Status</title>
@@ -324,4 +324,4 @@ A quick look at the Abstract <link href="http://cvs.apache.org/viewcvs.cgi/xml-f
</section>
</section>
</body>
</document>
</document>

+ 4
- 5
src/documentation/content/xdocs/dev/svg.xml View File

@@ -20,7 +20,7 @@

<document>
<header>
<title>FOP Development: SVG Issues</title>
<title>Apache™ FOP Development: SVG Issues</title>
<version>$Revision$</version>
</header>
<body>
@@ -34,7 +34,7 @@ to PDF:
<table>
<caption>SVG to PDF examples</caption>
<tr>
<th></th>
<th/>
<th>svg file</th>
<th>png file</th>
<th>pdf result</th>
@@ -79,7 +79,7 @@ You will need Acrobat 5.0 to see transparency.
<table>
<caption>XSL:FO to PDF examples</caption>
<tr>
<th></th>
<th/>
<th>fo file</th>
<th>pdf result</th>
</tr>
@@ -133,5 +133,4 @@ This svg font could be converted into a pdf stroked font
</section>
</section>
</body>
</document>

</document>

+ 7
- 8
src/documentation/content/xdocs/dev/testing.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: Testing</title>
<title>Apache™ FOP Development: Testing</title>
<version>$Revision$</version>
</header>

<body>
<section id="build">
<title>"Build" Testing</title>
<p>Apache projects use an automated build tool called "gump" to create nightly builds from the SVN repository. Gump sends "nag" messages if the build fails. This can be considered a sort of basic test of the build process. To view the most recent logs of the gump builds:</p>
<p>Apache projects use an automated build tool called "gump" to create nightly builds from the SVN repository. Gump sends "nag" messages if the build fails. This can be considered a sort of basic test of the build process. To view the most recent logs of the gump builds:</p>
<ul>
<li><link href="http://gump.cocoondev.org/xml-fop.html">Gump build for the Trunk</link></li>
<li><link href="http://gump.cocoondev.org/xml-fop-maintenance.html">Gump build for the Maintenance Branch</link></li>
@@ -43,7 +43,7 @@ The tests do not check the output, but only ensure that something is generated a
<title>Layout Engine Testing</title>
<p>
The <link href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/test/layoutengine/"><code>test/layoutengine</code></link>
directory in the repository contains a test suite for checking the functionality of FOP's
directory in the repository contains a test suite for checking the functionality of Apache� FOP's
layout engine. For information on how to create test cases for the layout engine, please
visit the <link href="http://wiki.apache.org/xmlgraphics-fop/HowToCreateLayoutEngineTests">Wiki page</link>.
</p>
@@ -64,7 +64,7 @@ is to have the tests run to verfiy that nothing working has been broken.
</p>
<p>
To setup the testing the developer must place a reference fop.jar in the
"&lt;cvs_repository>/test/reference/" directory. This jar will be dynamically
"&lt;cvs_repository&gt;/test/reference/" directory. This jar will be dynamically
loaded to create the reference output.
</p>
</section>
@@ -114,7 +114,7 @@ test works as would be expected against the current build.
<section>
<title>How Testing Works</title>
<p>
The tests are stored in the "&lt;svn_repository>/test" directory.
The tests are stored in the "&lt;svn_repository&gt;/test" directory.
</p>
<p>
You can run the tests by specifying the build target "test" ie: <br/>
@@ -150,5 +150,4 @@ testing is how the SVG image is embedded inside the flow of the fo document.
</section>
</section>
</body>
</document>

</document>

+ 3
- 3
src/documentation/content/xdocs/dev/tools.xml View File

@@ -19,13 +19,13 @@
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: Developer Tools</title>
<title>Apache™ FOP Development: Developer Tools</title>
<version>$Revision$</version>
</header>
<body>
<p>
This page documents items that may be helpful to other developers,
especially to those who are new to FOP. Exhaustive treatment of these
especially to those who are new to Apache™ FOP. Exhaustive treatment of these
topics is better suited to other fora, but the information presented
here is intended to deal with FOP-specific issues related to these
tools, especially "gotchas", and to help developers get jump-started.
@@ -129,4 +129,4 @@ Note that this manual applies to the command-line version of SVN.</li>
<p>Additional notes on setting up FOP within an IDE (ex. Eclipse) in the <fork href="http://wiki.apache.org/xmlgraphics-fop/FOPIDESetupGuide">Wiki</fork>.</p>
</section>
</body>
</document>
</document>

+ 4
- 4
src/documentation/content/xdocs/download.xml View File

@@ -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 V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>Apache FOP: Downloading A Distribution</title>
<title>Apache FOP: Downloading A Distribution</title>
<version>$Revision$</version>
</header>
<body>
<section id="dist-type">
<title>Binary or Source?</title>
<p>
Most FOP users will want to download the latest binary distribution,
Most Apache™ FOP users will want to download the latest binary distribution,
which is ready to run "out of the box." However, a source distribution
will be preferable if you fall into one of the following categories:
</p>
@@ -175,4 +175,4 @@
</section>
</body>
</document>
<!-- Last Line of $RCSfile$ -->
<!-- Last Line of $RCSfile$ -->

+ 4
- 4
src/documentation/content/xdocs/examples.xml View File

@@ -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,14 +20,14 @@

<document>
<header>
<title>Examples</title>
<title>Apache™ FOP Examples</title>
<version>$Revision$</version>
</header>
<body>
<section>
<title>Example Documents Using FOP</title>
<title>Example Documents Using Apache™ FOP</title>
<p>
These examples have been rendered using FOP:
These examples have been rendered using Apache™ FOP:
</p>
<table>
<caption>Generated examples</caption>

+ 39
- 55
src/documentation/content/xdocs/faq.xml View File

@@ -20,12 +20,12 @@

<faqs title="FOP FAQ">
<part id="part-general">
<title>General questions</title>
<title>Apache™ FOP: General questions</title>
<faq id="fop-general">
<question>What is FOP?</question>
<question>What is Apache™ FOP?</question>
<answer>
<p>
FOP is a print formatter for <link href="#XSLFO">XSL formatting
FOP is a print formatter for <link href="#xslfo">XSL formatting
objects</link>.
</p>
<p>
@@ -65,16 +65,23 @@
<question>How does FOP interact with other Apache Projects?</question>
<answer>
<p>
FOP is distributed with <link
href="http://xml.apache.org/cocoon">Cocoon</link> as a PDF serializer
for XSL (FO) documents.
<link href="http://xmlgraphics.apache.org/commons">XML Graphics Commons</link> is used with
FOP to provide graphics functions that are common to a number of Apache projects.
</p>
<p>
<link href="http://xmlgraphics.apache.org/batik">Batik</link> can be used with
<link href="http://xmlgraphics.apache.org/batik">Batik</link> is used with
FOP to <link
href="http://xmlgraphics.apache.org/batik/svgrasterizer.html">transcode an SVG
image</link> into a PDF document.
</p>
<p>FOP also makes use of the following Apache projects:</p>
<ul>
<li><link href="http://excalibur.apache.org/framework/">Avalon Framework</link></li>
<li><link href="http://jakarta.apache.org/commons/io/">Jakarta Commons IO</link></li>
<li><link href="http://jakarta.apache.org/commons/logging/">Jakarta Commons Logging</link></li>
<li><link href="http://xalan.apache.org/">Xalan-J</link></li>
<li><link href="http://xml.apache.org/commons/components/external/">XML Commons Externals</link></li>
</ul>
</answer>
</faq>
<faq id="xsl-def">
@@ -83,7 +90,7 @@
<p>
XSL is a W3C standard concerned with publishing XML documents. It
consists of two parts: <link href="#XSLT">XSLT</link> and <link
href="#XSLFO">XSL-FO</link>. The acronym expands to
href="#xslfo">XSL-FO</link>. The acronym expands to
e<strong>X</strong>tensible <strong>S</strong>tylesheet
<strong>L</strong>anguage.
</p>
@@ -93,7 +100,9 @@
<question>What is XSL-FO?</question>
<answer>
<p>
XSLFO (aka XSL-FO) is an XML vocabulary that is used to specify a pagination and
XSLFO (aka XSL-FO) is an XML vocabulary, defined by W3C Recommendation
<link href="http://www.w3.org/TR/xsl/">Extensible Stylesheet Language (XSL)
Version 1.1</link>, that is used to specify a pagination and
other styling for page layout output. The acronym &#8220;FO&#8221;
stands for
<strong>F</strong>ormatting <strong>O</strong>bjects. XSLFO can be
@@ -226,8 +235,7 @@
<answer>
<p>
This is usually caused by an older version of one of the FOP jars or
old XML tools in the classpath. Check in particular for parser.jar,
jaxp.jar, xml4j.jar or lotusxsl.jar.
old XML tools in the classpath.
</p>
<p>
Incompatible versions of Batik may also cause this problem. Use the
@@ -269,8 +277,9 @@
the <code>file:</code> prefix, for example <code>file.ext</code>,
<code>path/file.ext</code> or <code>../file.ext</code>. The string
<code>file:path/file.ext</code> is <em>not</em> a relative URL,
in fact, it isn't a valid URL at all. A relative URL is subject to a
resolving process, which transforms it into an absolute
in fact, it isn't a valid URL at all since the <code>file</code>
scheme does not (officially) support relative paths. A relative URL
is subject to a resolving process, which transforms it into an absolute
URL.
</p>
<!--p>
@@ -283,31 +292,8 @@
<question>I get an "[ERROR]: null", or a NullPointerException.</question>
<answer>
<p>
This is often caused by an invalid FO document. Currently only very
common errors are intercepted and produce a comprehensible error
message. If you forgot container elements like <code>fo:page-sequence</code> or
<code>fo:flow</code> and put blocks and inline elements directly as children of
<code>fo:root</code> or <code>fo:page-sequence</code>, you'll only get a
NullPointerException. Check whether your FO file has a proper
structure. In some cases there are mandatory properties, like the
master-reference in <code>fo:conditional-page-master-reference</code>, check also
whether you got them right.
</p>
<p>
You may find it helpful to use the <link href="#fo-validate">validation tools</link> to validate your
FO document. This will catch most problems, but should not be
relied upon to catch all.
</p>
<p>
If you use XSLT, problems in your style sheet and in your
source XML also can produce a NullPointerException. <link
href="1.0/running.html#check-input">Run the transformation
separately</link> to check for this, usually you'll get a
detailed error message from the XSLT processor.
</p>
<p>
If you turn on debugging with the "<code>-d</code>" option you may be able to
see more detailed information.
This is a very likely a bug in FOP. If you encounter this error, please
<link href="bugs.html#issues_new">Open a New Bug</link>.
</p>
</answer>
</faq>
@@ -322,9 +308,9 @@
<answer>
<p>
The most likely reason is a known problem with the Java run time
environment which is triggered by rendering SVGs. Suns JDK 1.4 does
not have this problem. See also <link href="#svghangs">FOP does not
exit if a SVG is included</link>.
environment which is triggered by rendering SVGs. Sun's JDK 1.4 and
later do not have this problem. See also <link href="#svghangs">FOP
does not exit if a SVG is included</link>.
</p>
<p>
Another possibility is that FOP went into a non terminating
@@ -340,6 +326,10 @@
the FOP output regularly to empty the pipe buffer. It is best to avoid
exec'ing FOP, use the library interface instead.
</p>
<p>
If you can reproduce this problem given a specific input and configuration,
then please <link href="bugs.html#issues_new">Open a New Bug</link>.
</p>
</answer>
</faq>
<faq id="boxoverflow">
@@ -441,8 +431,7 @@ public class DefaultErrorListener implements ErrorListener {
To avoid the warning you can simply delete the
old Font Cache file, which lives in ${base}\conf\font.cache (see <link
href="1.0/configuration.html#general-elements">font-base
configuration</link>). Or you can disable Font Caching altogether using
the option "use-cache."
configuration</link>).
</p>
</answer>
</faq>
@@ -524,7 +513,7 @@ Check the following:</p>
HTTP. Possible issues include security settings on the
server, server configuration, and missing cookies or other
authorization information. Any easy way to check this is to
cut&amp;paste the source URL from the fo:external-graphic
cut and paste the source URL from the <code>fo:external-graphic</code>
into the Location field of a browser <strong>on the machine
where the FOP process will be running</strong>.</li>
</ul>
@@ -627,7 +616,7 @@ Check the following:</p>
explicit wrapping+clipping,
</li>
<li>
insert zero width spaces (U+200B or &amp;#x200B;) to allow FOP to
insert zero width spaces (&amp;#x200B;) to allow FOP to
wrap.
</li>
</ul>
@@ -1281,7 +1270,7 @@ Can I control this?</question>
<question>Where can I learn how the FOP docs and web site are built?</question>
<answer>
<p>
See FOP <link href="dev/doc.html">Doc Management</link>. ;-)
See FOP <link href="dev/doc.html">Doc Management</link>.
</p>
</answer>
</faq>
@@ -1307,7 +1296,7 @@ Can I control this?</question>
If you have a runtime exception or other runtime problem:
<ul>
<li>
double-check the <link href="#part-running">Runtime FAQs</link>.
Double check the <link href="#part-running">Runtime FAQs</link>.
</li>
<li>
ClassNotFoundException, NoSuchMethodException and
@@ -1325,7 +1314,7 @@ Can I control this?</question>
</li>
<li>
In the case where something works properly with another formatter,
(AntennaHouse, PassiveTex, etc.) but doesn't work with FOP, please
(e.g., AntennaHouse, PassiveTex, etc.) but doesn't work with FOP, please
check the <!--link href="relnotes.html"-->Release Notes<!--/link-->, the
<link href="compliance.html">FOP Standards Compliance</link> document,
and the remaining FAQ in this document. If not found there, look at the
@@ -1348,13 +1337,8 @@ Can I control this?</question>
Problems specific to a certain XSLT processor, like Xalan, Saxon or
MSXML, should be handled by processor specific lists. This includes
problems with deployment, processor specific extensions, suspected
bugs and processor specific APIs. Note that JDK 1.4 comes with an
XML parser and an XSLT processor which are older versions of
Xerces and Xalan, respectively, and both have a number of annoying
bugs. See http://java.sun.com/developer/EJTechTips/2003/tt0311.html
and http://java.sun.com/j2se/1.4.2/docs/guide/standards/ (or similar
pages for later Java releases) for some hints on how to use more
recent versions or other packages instead.
bugs and processor specific APIs. Note that JDK 1.4 and later come with an
XML parser and an XSLT processor which may be the source of the problem.
</li>
<li>
Problems with servlet containers should be asked on the vendor

+ 5
- 5
src/documentation/content/xdocs/fo.xml View File

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

<document>
<header>
<title>XSL-FO Input</title>
<title>Apache™ FOP: XSL-FO Input</title>
<subtitle>Basic Help for Using XML, XSLT, and XSL-FO</subtitle>
<version>$Revision$</version>
</header>
@@ -28,7 +28,7 @@
<section id="overview">
<title>Overview</title>
<p>
FOP uses XSL-FO as input.
Apache™ FOP uses XSL-FO as input.
It is the responsibility of the user to make sure that the XSL-FO submitted to FOP is correct.
The tutorial items presented here are not comprehensive, but are of the FAQ variety. Another
good FAQ is <fork href="http://www.dpawson.co.uk/xsl/">Dave Pawson's XSL FAQ</fork>.
@@ -79,7 +79,7 @@ For other fonts, use font editing sofware or operating system utilities (such as
<p>
The handful of basic XML character entities that do exist are the ampersand, apostrophe, less-than, greater-than, and single-quote characters.
These are needed to distinguish markup tags from content, and to distinguish character entities from content.
To avoid parser complaints about illegal characters and entities in your input, ensure that ampersands in text and attributes are written as &amp;amp;, "&lt;" is written as &amp;lt;, and ">" as &amp;gt;.
To avoid parser complaints about illegal characters and entities in your input, ensure that ampersands in text and attributes are written as &amp;amp;, "&lt;" is written as &amp;lt;, and "&gt;" as &amp;gt;.
It is not necessary everywhere, but it is wise to do so anyway, just to be sure.
</p>
<p>
@@ -95,7 +95,7 @@ It is not necessary everywhere, but it is wise to do so anyway, just to be sure.
If the parser complains about illegal bytes or characters in the input, or there are unexpected characters in the output, this is usually the result of a character encoding problem.
See the <link href="http://www.dpawson.co.uk/xsl">XSL FAQ</link> for additional information.
Many software packages that produce XML, including XSLT processors, use UTF-8 encoding as a default.
If you view their output with something not aware of the encoding, like Notepad for Win95/98/ME/NT, funny characters are displayed. A &#197; is a giveaway.
If you view their output with something not aware of the encoding, like Notepad for Win95/98/ME/NT, funny characters are displayed. A is a giveaway.
</p>
</section>
</section>

+ 0
- 0
src/documentation/content/xdocs/gethelp.xml View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save