]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Move over from docs/examples
authorJeremias Maerki <jeremias@apache.org>
Wed, 29 Jan 2003 16:07:56 +0000 (16:07 +0000)
committerJeremias Maerki <jeremias@apache.org>
Wed, 29 Jan 2003 16:07:56 +0000 (16:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195905 13f79535-47bb-0310-9956-ffa450edef68

78 files changed:
examples/fo/.cvsignore [new file with mode: 0644]
examples/fo/advanced/K3.TTF [new file with mode: 0644]
examples/fo/advanced/K3.xml [new file with mode: 0644]
examples/fo/advanced/bar.conf.xml [new file with mode: 0644]
examples/fo/advanced/barcode.fo [new file with mode: 0644]
examples/fo/advanced/cid-fonts.fo [new file with mode: 0644]
examples/fo/advanced/cid-fonts.pdf [new file with mode: 0644]
examples/fo/advanced/giro.fo [new file with mode: 0644]
examples/fo/basic/alignment.fo [new file with mode: 0644]
examples/fo/basic/blockcontainer.fo [new file with mode: 0644]
examples/fo/basic/border.fo [new file with mode: 0644]
examples/fo/basic/bordershorthand.fo [new file with mode: 0644]
examples/fo/basic/character.fo [new file with mode: 0644]
examples/fo/basic/corresprop.fo [new file with mode: 0644]
examples/fo/basic/extensive.fo [new file with mode: 0644]
examples/fo/basic/fonts.fo [new file with mode: 0644]
examples/fo/basic/hyphen.fo [new file with mode: 0644]
examples/fo/basic/images.fo [new file with mode: 0644]
examples/fo/basic/inhprop.fo [new file with mode: 0644]
examples/fo/basic/instream.fo [new file with mode: 0644]
examples/fo/basic/leader.fo [new file with mode: 0644]
examples/fo/basic/link.fo [new file with mode: 0644]
examples/fo/basic/list.fo [new file with mode: 0644]
examples/fo/basic/newlinktest.fo [new file with mode: 0644]
examples/fo/basic/normal.fo [new file with mode: 0644]
examples/fo/basic/normalex.fo [new file with mode: 0644]
examples/fo/basic/pdfoutline.fo [new file with mode: 0644]
examples/fo/basic/readme.fo [new file with mode: 0644]
examples/fo/basic/simple.fo [new file with mode: 0644]
examples/fo/basic/table.fo [new file with mode: 0644]
examples/fo/basic/tableunits.fo [new file with mode: 0644]
examples/fo/basic/textdeko.fo [new file with mode: 0644]
examples/fo/build.xml [new file with mode: 0644]
examples/fo/footnotes/columns.fo [new file with mode: 0644]
examples/fo/footnotes/simple.fo [new file with mode: 0644]
examples/fo/graphics/fop.jpg [new file with mode: 0644]
examples/fo/graphics/linux.bmp [new file with mode: 0644]
examples/fo/graphics/listgeometry.gif [new file with mode: 0644]
examples/fo/graphics/page.gif [new file with mode: 0644]
examples/fo/graphics/xml_feather.gif [new file with mode: 0644]
examples/fo/graphics/xml_feather_transparent.gif [new file with mode: 0644]
examples/fo/keeps_and_breaks/columnlevel1.fo [new file with mode: 0644]
examples/fo/keeps_and_breaks/pagelevel1.fo [new file with mode: 0644]
examples/fo/keeps_and_breaks/pagelevel2.fo [new file with mode: 0644]
examples/fo/keeps_and_breaks/pagelevel3.fo [new file with mode: 0644]
examples/fo/keeps_and_breaks/pagelevel4.fo [new file with mode: 0644]
examples/fo/markers/glossary.xml [new file with mode: 0644]
examples/fo/markers/glossary.xsl [new file with mode: 0644]
examples/fo/markers/hide.fo [new file with mode: 0644]
examples/fo/pagination/allregions.fo [new file with mode: 0644]
examples/fo/pagination/basic1.fo [new file with mode: 0644]
examples/fo/pagination/basic2.fo [new file with mode: 0644]
examples/fo/pagination/franklin_2pageseqs.fo [new file with mode: 0644]
examples/fo/pagination/franklin_alt.fo [new file with mode: 0644]
examples/fo/pagination/franklin_rep.fo [new file with mode: 0644]
examples/fo/pagination/franklin_rep_max_repeats.fo [new file with mode: 0644]
examples/fo/pagination/franklin_rep_max_repeats_expl.fo [new file with mode: 0644]
examples/fo/pagination/franklin_rep_max_repeats_nl.fo [new file with mode: 0644]
examples/fo/region_body/simplecol.fo [new file with mode: 0644]
examples/fo/region_body/simplecol2.fo [new file with mode: 0644]
examples/fo/region_body/simplecol3.fo [new file with mode: 0644]
examples/fo/region_body/simplecol4.fo [new file with mode: 0644]
examples/fo/runtests.bat [new file with mode: 0755]
examples/fo/runtests.sh [new file with mode: 0644]
examples/fo/svg/boxes.svg [new file with mode: 0644]
examples/fo/svg/embedding.fo [new file with mode: 0644]
examples/fo/svg/external.fo [new file with mode: 0644]
examples/fo/svg/multi.svg [new file with mode: 0644]
examples/fo/svg/ref.svg [new file with mode: 0644]
examples/fo/svg/view.svg [new file with mode: 0644]
examples/fo/tables/background.fo [new file with mode: 0644]
examples/fo/tables/borders.fo [new file with mode: 0644]
examples/fo/tables/break.fo [new file with mode: 0644]
examples/fo/tables/headfoot.fo [new file with mode: 0644]
examples/fo/tables/keep.fo [new file with mode: 0644]
examples/fo/tables/omit.fo [new file with mode: 0644]
examples/fo/tables/space.fo [new file with mode: 0644]
examples/fo/tables/widowsorphans.fo [new file with mode: 0644]

diff --git a/examples/fo/.cvsignore b/examples/fo/.cvsignore
new file mode 100644 (file)
index 0000000..a251a56
--- /dev/null
@@ -0,0 +1,2 @@
+tests
+
diff --git a/examples/fo/advanced/K3.TTF b/examples/fo/advanced/K3.TTF
new file mode 100644 (file)
index 0000000..74e8de6
Binary files /dev/null and b/examples/fo/advanced/K3.TTF differ
diff --git a/examples/fo/advanced/K3.xml b/examples/fo/advanced/K3.xml
new file mode 100644 (file)
index 0000000..7d9f109
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Note: this file created using TTFReader
+-->
+<font-metrics type="TYPE0"><font-name>New</font-name><embed/><cap-height>0</cap-height><x-height>0</x-height><ascender>390</ascender><descender>0</descender><bbox><left>0</left><bottom>0</bottom><right>219</right><top>390</top></bbox><flags>33</flags><stemv>0</stemv><italicangle>0</italicangle><subtype>TYPE0</subtype><multibyte-extras><cid-type>CIDFontType2</cid-type><default-width>0</default-width><bfranges><bf gi="47" ue="32" us="32"/><bf gi="45" ue="36" us="36"/><bf gi="43" ue="37" us="37"/><bf gi="40" ue="42" us="42"/><bf gi="42" ue="43" us="43"/><bf gi="0" ue="44" us="44"/><bf gi="41" ue="45" us="45"/><bf gi="46" ue="46" us="46"/><bf gi="44" ue="47" us="47"/><bf gi="5" ue="50" us="48"/><bf gi="9" ue="56" us="51"/><bf gi="8" ue="57" us="57"/><bf gi="15" ue="83" us="65"/><bf gi="4" ue="84" us="84"/><bf gi="34" ue="90" us="85"/><bf gi="0" ue="65535" us="65535"/></bfranges><cid-widths start-index="0"><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/></cid-widths></multibyte-extras></font-metrics>
diff --git a/examples/fo/advanced/bar.conf.xml b/examples/fo/advanced/bar.conf.xml
new file mode 100644 (file)
index 0000000..828eff8
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- TODO: use proper config -->
+
+<configuration>
+
+<fonts>
+    <font metrics-file="K3.xml" kerning="yes" embed-file="K3.TTF">
+        <font-triplet name="Barcode" style="normal" weight="normal"/>
+    </font>
+</fonts>
+
+</configuration>
+
diff --git a/examples/fo/advanced/barcode.fo b/examples/fo/advanced/barcode.fo
new file mode 100644 (file)
index 0000000..ba0ba13
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+   <fo:layout-master-set>
+      <fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="first" margin-top="5mm">
+         <fo:region-body margin-bottom="4.5in" margin-right="5mm" margin-left="5mm" margin-top="5mm"/>
+         <fo:region-after extent="4in" border-top-color="silver" border-top-style="dotted" border-top-width="0.13mm"/>
+      </fo:simple-page-master>
+      <fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="rest" margin-right="5mm" margin-left="5mm" margin-top="5mm" margin-bottom="5mm">
+         <fo:region-body/>
+      </fo:simple-page-master>
+      <fo:page-sequence-master master-name="A4">
+         <fo:repeatable-page-master-alternatives>
+            <fo:conditional-page-master-reference master-reference="first" page-position="first"/>
+            <fo:conditional-page-master-reference master-reference="rest" page-position="rest"/>
+            <fo:conditional-page-master-reference master-reference="rest"/>
+         </fo:repeatable-page-master-alternatives>
+      </fo:page-sequence-master>
+   </fo:layout-master-set>
+   <fo:page-sequence master-reference="A4">
+      <fo:flow flow-name="xsl-region-body">
+
+<fo:block font-size="14pt" font-weight="bold">
+        Example embedding Font
+</fo:block>
+
+<fo:block font-size="14pt" font-weight="bold">
+        This example shows how to use an embedded font and
+        uses a free barcode font as an example. The barcode font is from
+        <fo:basic-link external-destination="http://www.geocities.com/keith_dimmock/">http://www.geocities.com/keith_dimmock/</fo:basic-link>
+        and is free.
+</fo:block>
+
+<fo:block font-family="Barcode" font-size="74pt" line-height="76pt"
+space-before.optimum="6mm">
+        *ID123456*
+</fo:block>
+
+<fo:block font-family="Barcode" font-size="74pt" line-height="76pt"
+space-before.optimum="6mm">
+        normal text
+</fo:block>
+
+<fo:block font-family="Barcode, Helvetica" font-size="74pt" line-height="76pt"
+space-before.optimum="6mm">
+     *ID123456*   normal text
+</fo:block>
+
+      </fo:flow>
+   </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/advanced/cid-fonts.fo b/examples/fo/advanced/cid-fonts.fo
new file mode 100644 (file)
index 0000000..90ce3c9
--- /dev/null
@@ -0,0 +1,450 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fo:root [
+<!ENTITY nbsp "&#160;">
+]>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+         xmlns:fox="http://xml.apache.org/fop/extensions">
+ <fo:layout-master-set>
+   <fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="A4">
+     <fo:region-body margin-bottom="1.5cm" margin-right="2cm" margin-left="2cm" margin-top="1.5cm"/>
+   </fo:simple-page-master>
+ </fo:layout-master-set>
+
+
+  <fox:outline internal-destination="sec0">
+    <fox:label>Adding Fonts to FOP</fox:label>
+  </fox:outline>
+
+  <fox:outline internal-destination="sec1">
+    <fox:label>Adding additional Type 1 fonts</fox:label>
+
+    <fox:outline internal-destination="sec1-1">
+      <fox:label>Generating a font metrics file</fox:label>
+    </fox:outline>
+    <fox:outline internal-destination="sec1-2">
+      <fox:label>Register the fonts within FOP</fox:label>
+    </fox:outline>
+  </fox:outline>
+
+  <fox:outline internal-destination="sec2">
+    <fox:label>Adding additional TrueType fonts</fox:label>
+
+    <fox:outline internal-destination="sec2-1">
+      <fox:label>Generating a font metrics file</fox:label>
+    </fox:outline>
+    <fox:outline internal-destination="sec2-2">
+      <fox:label>TrueType collections</fox:label>
+    </fox:outline>
+    <fox:outline internal-destination="sec2-3">
+      <fox:label>Register the fonts within FOP</fox:label>
+    </fox:outline>
+
+  </fox:outline>
+
+ <fox:outline internal-destination="sec3">
+    <fox:label>Embedding fonts in the PDF</fox:label>
+  </fox:outline>
+
+ <fox:outline internal-destination="sec4">
+    <fox:label>Example embedding MSGothic</fox:label>
+
+   <fox:outline internal-destination="sec4-1">
+      <fox:label>Setup CLASSPATH</fox:label>
+   </fox:outline>
+
+   <fox:outline internal-destination="sec4-2">
+      <fox:label>Create the metrics file</fox:label>
+   </fox:outline>
+
+   <fox:outline internal-destination="sec4-3">
+      <fox:label>Edit msgothic.xml</fox:label>
+   </fox:outline>
+
+   <fox:outline internal-destination="sec4-4">
+      <fox:label>Register the font with FOP</fox:label>
+   </fox:outline>
+ </fox:outline>
+
+ <fox:outline internal-destination="sec5">
+    <fox:label>Japanese Examples</fox:label>
+ </fox:outline>
+
+
+ <fo:page-sequence master-reference="A4">
+
+  <fo:flow flow-name="xsl-region-body">
+   <fo:wrapper  font-family="Times" font-size="12pt" text-align="justify">
+   <fo:block id="sec0"
+             text-align="center"
+             font-family="Helvetica"
+             font-weight="bold"
+             font-size="18pt"
+             color="#0050B2" space-after.optimum="6pt">
+       Adding Fonts to FOP
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     When building PDF files, FOP normally supports only the base 14 font
+     package defined in the Adobe PDF specification. That includes the
+     following fonts: Helvetica, Times, Courier, Symbol and ZapfDingbats.
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     Font support in FOP can be extended by the addition of font metric
+     files (written in XML) created from Adobe Type 1 fonts and Truetype
+     fonts. No other font types (Type 3, etc.) are supported at this time.
+   </fo:block>
+
+   <fo:block id="sec1"
+             font-family="Helvetica"
+             font-weight="bold"
+             font-size="14pt"
+             color="#0050B2"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+     Adding additional Type 1 fonts
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt" >
+     As mentioned above you need an XML file containing font metrics to
+     be able to use an additional font. FOP contains a tool that can generate
+     such a font metrics file from a PFM file, which normally comes with the
+     font file.
+   </fo:block>
+
+   <fo:block id="sec1-1"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt" >
+     Generating a font metrics file
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt" >
+      Run the class <fo:inline font-family="Courier">org.apache.fop.fonts.apps.PFMReader</fo:inline>
+       to generate the XML file.
+      <fo:block font-family="Courier" font-size="10pt"
+                space-before.optimum="6pt" space-after.optimum="6pt" margin-left="6pt" text-align="start">
+        java org.apache.fop.fonts.apps.PFMReader pfm-file xml-file
+      </fo:block>
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt" margin-left="6pt">
+     Note: The tool will construct some values (FontBBox, StemV and ItalicAngle) based
+     on assumptions and calculations which are only an approximation to the real values.
+     FontBBox and Italic Angle can be found in the human-readable part of the PFB file.
+     The PFMReader tool does not yet interpret PFB files, so if you want to be correct,
+     you may have to adjust the values in the XML file manually. The constructed values
+     however appear to have no visible influence.
+   </fo:block>
+
+
+   <fo:block id="sec1-2"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt" >
+      Register the fonts within FOP
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     Edit conf/userconfig.xml and add entries for the font if the fonts section, ie:
+     <fo:block font-family="Courier" font-size="10pt"
+      space-before.optimum="6pt"
+      white-space-collapse="false" margin-left="6pt" text-align="start">
+<![CDATA[
+<font metrics-file="cyberbit.xml" kerning="yes" embed-file="C:\WINNT\Fonts\Cyberbit.ttf">
+  <font-triplet name="Cyberbit" style="normal" weight="normal">
+</font>]]></fo:block>
+   </fo:block>
+
+
+   <fo:block id="sec2"
+             font-family="Helvetica"
+             font-weight="bold"
+             font-size="14pt"
+             color="#0050B2"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+     Adding additional TrueType fonts
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     Adding Truetype fonts is almost identical to the process of adding type 1 fonts.
+     The main difference is in the first step.
+   </fo:block>
+
+   <fo:block id="sec2-1"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt" >
+     Generating a font metrics file
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     As mentioned above you need an XML file containing font metrics to be able to use
+     an additional font. FOP contains a tool that can generate such a font metrics file
+     from your truetype font file.
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     Create metrics for the fontfile. We'll use MS Gothic as an example:
+
+      <fo:block  font-family="Courier" font-size="10pt"
+                space-before.optimum="6pt" space-after.optimum="6pt" margin-left="6pt" text-align="start">
+        java org.apache.fop.fonts.apps.TTFReader C:\WINNT\Fonts\msgothic.ttf msgothic.xml
+      </fo:block>
+   </fo:block>
+
+   <fo:block id="sec2-2"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt" >
+     TrueType collections
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     TrueType collections (.ttc files) contains more than one font. To create metrics
+     for a ttc file you must specify the font in the collection with the -ttcname
+     option to TTFReader.
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     To get a list of the fonts in a collection, just start the TTFReader as if it
+     were a normal truetype file (without the -ttcname option). It will then display
+     all the font names and exit with an Exception.
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     Example on generating metrics for a .ttc file:
+      <fo:block font-family="Courier" font-size="10pt"
+                space-before.optimum="6pt" space-after.optimum="6pt" margin-left="6pt" text-align="start">
+        java org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" msmincho.ttc msminch.xml
+      </fo:block>
+   </fo:block>
+
+   <fo:block id="sec2-3"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt" >
+     Register the fonts within FOP
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     Same as for <fo:basic-link internal-destination="sec1-2" color="blue">
+     <fo:inline text-decoration="underline">Type&nbsp;1&nbsp;fonts</fo:inline></fo:basic-link>.
+   </fo:block>
+
+
+   <fo:block id="sec3"
+             font-family="Helvetica"
+             font-weight="bold"
+             font-size="14pt"
+             color="#0050B2"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+     Embedding fonts
+   </fo:block>
+
+   <fo:block space-after.optimum="6pt">
+     Font embedding is enabled in the userconfig.xml file. Start Fop with -c userconfig.xml
+   </fo:block>
+
+
+   <fo:block id="sec4"
+             font-family="Helvetica"
+             font-weight="bold"
+             font-size="14pt"
+             color="#0050B2"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+     Example embedding MSGothic
+   </fo:block>
+
+  <fo:block space-after.optimum="6pt">
+    This example will use the Microsoft Gothic TrueType font. This is the font used to render this examples
+    given in the last section of this file. If you don't have it installed,
+    you can download an installer at <fo:basic-link color="blue"
+      external-destination="ftp://ftp.cc.monash.edu.au/pub/nihongo/ie3lpkja.exe">
+      <fo:inline text-decoration="underline">ftp://ftp.cc.monash.edu.au/pub/nihongo/ie3lpkja.exe</fo:inline>
+    </fo:basic-link>.
+  </fo:block>
+
+   <fo:block id="sec4-1"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+    Setup your classpath to run FOP:
+   </fo:block>
+     <fo:block font-family="Courier" font-size="10pt"
+      space-before.optimum="6pt"
+      white-space-collapse="false" margin-left="6pt" text-align="start">
+C:\Fop-0.18.1> set CLASSPATH=fop.jar;lib\xerces-1.2.3.jar;lib\xalan-2.0.0.jar;lib\batik.jar
+     </fo:block>
+
+
+   <fo:block id="sec4-2"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+    Create the metrics file:
+</fo:block>
+
+     <fo:block font-family="Courier" font-size="10pt"
+      space-before.optimum="6pt"
+      white-space-collapse="false" margin-left="6pt" text-align="start">
+C:\Fop-0.18.1> java org.apache.fop.fonts.apps.TTFReader c:\WINNT\Fonts\msgothic.ttf msgothic.xml
+TTF Reader v1.1.1
+
+Reading /home/camk/cjkv/msgothic.ttf...
+
+Number of glyphs in font: 13104
+Postscript format 3
+Creating xml font file...
+
+Creating CID encoded metrics
+Writing xml font file msgothic.xml...
+
+This font contains no embedding license restrictions
+
+     </fo:block>
+
+
+   <fo:block id="sec4-3"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+    Edit the msgothic.xml file and set the <fo:inline font-family="Courier">font-name</fo:inline>
+    to "MSGothic".
+  </fo:block>
+
+   <fo:block id="sec4-4"
+             font-family="Helvetica"
+             font-weight="bold"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+      Edit conf/userconfig.xml and add the following to the &lt;fonts&gt; section:
+   </fo:block>
+
+   <fo:block font-family="Courier" font-size="10pt"
+      space-before.optimum="6pt"
+      white-space-collapse="false" margin-left="6pt" text-align="start">
+<![CDATA[
+<font metrics-file="msgothic.xml" kerning="yes"
+     embed-file="C:\WINNT\Fonts\msgothic.ttf">
+  <font-triplet name="MSGothic" style="normal" weight="normal"/>
+</font>
+]]>
+    </fo:block>
+
+  <fo:block space-after.optimum="6pt">
+    Now you can use MSGothic in your .fo files by setting font-family="MSGothic". You'll need to
+    start FOP specifying the config file as in this example:
+     <fo:block font-family="Courier" font-size="10pt"
+      space-before.optimum="6pt"
+      white-space-collapse="false" margin-left="6pt" text-align="start"
+>java -jar fop.jar -c conf/userconfig.xml -fo myfo.fo -pdf mypdf.pdf</fo:block>
+   </fo:block>
+
+   <fo:block id="sec5"
+             font-family="Helvetica"
+             font-weight="bold"
+             font-size="14pt"
+             color="#0050B2"
+             space-after.optimum="6pt"
+             space-before.optimum="12pt">
+      Examples from <fo:basic-link color="blue" external-destination="http://www.csse.monash.edu.au/~jwb/j_jmdict.html">
+       <fo:inline text-decoration="underline">JMDict</fo:inline></fo:basic-link> Japanese glossary:
+   </fo:block>
+
+</fo:wrapper>
+   <fo:table>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-header>
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-weight="bold" font-family="Helvetica">Japanese (kanji or kanadzukai)</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block font-weight="bold" font-family="Helvetica">English</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block font-weight="bold" font-family="Helvetica">German</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-header>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">うん</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>"yeah" or "uh huh"</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block></fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">アウタースペース</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>outer space</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block></fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">スペースクラフト</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>spacecraft</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block></fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">スペースシャトル</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>space shuttle</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block></fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">著わす</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>"to write", "to publish"</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>veröffentlichen</fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">電子出版</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>electronic publishing</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block></fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">五輪</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>the Olympics</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>Olympische Spiele</fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">空港</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>airport</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>Flughafen</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">チューリッヒ</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>Zurich</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>Z&#252;rich</fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">コロラド</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>Colorado</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block></fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row>
+          <fo:table-cell ><fo:block font-family="MSGothic">コロラドスプリングス</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>Colorado Springs</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block></fo:block></fo:table-cell>
+        </fo:table-row>
+
+
+      </fo:table-body>
+    </fo:table>
+
+</fo:flow>
+
+</fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/advanced/cid-fonts.pdf b/examples/fo/advanced/cid-fonts.pdf
new file mode 100644 (file)
index 0000000..6d6dc6b
--- /dev/null
@@ -0,0 +1,561 @@
+%PDF-1.3\r
+%ª«¬­\r
+1 0 obj\r
+<< /Type /Catalog\r
+/Pages 2 0 R\r
+ /Outlines 21 0 R\r
+ /PageMode /UseOutlines\r
+ >>\r
+endobj\r
+2 0 obj\r
+<< /Type /Pages\r
+/Count 3\r
+/Kids [6 0 R 8 0 R 20 0 R ] >>\r
+endobj\r
+3 0 obj\r
+<< /Type /Info\r
+/Producer (null) >>\r
+endobj\r
+4 0 obj\r
+<< \r
+/Font << /F3 51 0 R /F1 52 0 R /F9 53 0 R /F15 57 0 R /F5 59 0 R /F11 60 0 R >> \r
+/ProcSet [ /PDF /ImageC /Text ] >> \r
+endobj\r
+5 0 obj\r
+<< /Length 2691 /Filter [ /ASCII85Decode /FlateDecode ]\r
+ >>\r
+stream\r
+Gb"/(h2g;K&qA57+m_i\^b2C#fgT*f8[E7DQX%lSc(Xencn]1=Psdp4G1ZcmnP^>uZ?L?nqK.#8pbsC0L;WhOhJ?N2\r44/j_]kk^?;7>LpBkTT<;7EjE^./HP(M^JJWR)T:d<b]PJ=X/5ElQjo'Z,HG?BNiMC`;Ah2qhf6==Yh$?"CO8eh:V=u'Mo+*!"nUaSq4:M.O'P1U:7VEOVRe`9pWQ"kh?_\_Ys1IZ':J2oD:d=o'k7S,*P4$>d.IiKrZaR_^H#flih__E7B)kn3:Y5+]RAbkP#pkBT=p`rnPQp<#iko<]SeSOYH^@:h"nBa&Y5&]MFk1rDpM;4&LImF;CF'(oL?,_73TcRVBV]R,R#d'SH.hXX2cB:Q%4G=]Z3PINQ6bnugCaHZb'V!ZS/WT'<r-tJI`qSROqpkXT;in^7uZd4ib>.r`V-[RiMQBIkd&+=6]8!t'aj?n4+.p-+/*fW0A\!)ZNI;"#S;#==eRAV0R;`ThQ,sqX%k:uAd&;gi_!O:94`g8MqKO/_HWI)<lo#o8_`QdQ?#acbK'SULOX2K:(H%lbfTEuL]l[@!uEPijN^jE?/2+G7>j+&#/UB</kcVW=C(p9Z0_jA2ldAn&3_iLR':Eh=Uh%b"f6(6W^SiH&=t+`&Z].Ef,>_T:gk5;F'GL,@*E]i89Kaa.VFY.5XVC_aZ4f>En3pJ'hZp)Eb;a$L!,TjNbVBEr\Sig<45Ps'j>0,h'b&`&]taNLU@hn/R`=;a6j8L-e8B!'6eF*JFGpVUd"sK$XGKhojNV5k*?6pA6;)#<FrID7iXB,p<LOh,Nj0%p0G2s0L;\GPZ1E@gpM/7SQ.3rkNMsQKAW2eb\3YDfOhJ<aeAm:8LqXmOLdV?T&FL%B&RF0@=^?7!-O)NZ2/S:@C#>+i.iP"PSbq@K&M:m`R\ugWsFNG#Ki)MDG4d8XTJYN'Q?B2\[*M.=nu`r(cafp]=IIl7`U=8S]kSTVFg-a_U8Eqp/&NropJ2.-18c$>Yd<_@3dTol7ul:!FaAV*!n)sK61kH:"(8*-,1#(QauUEC6;>B`_^ku=s(eUk3D4[>r9+=h1q`Q:g,$&Oj-pVi-T1re5r-3FUGaj.B6V4R>197Q+%P_6&Q8%PQg3:*uQH3D+R/QX"pF[As%p1$Qj$gTa9;2[scO&XV795i&r]>jgg\]<?9/M2sg&=:d9#!r<fb]I29NZ\>8rdqG7f)K.L;OSoC7e)Os(@a7V6Qf]*=RlDmCO/!UdC"N<Zq%CLAp3A0p;`:J[@KY^\p#mY9MB#r_\:"-C<>%-1J$r:ub*T>CW//jVu+_]m[LM!YM5Mb*MnN%G^eQ>9[=`"Ohk9B:&Yj(okg;-8_l](j"VJr@pL.94t_Y(#jb2/F'o:Wq2#;o>%I#BO>h7\BFFhA0.1Kceoc+m%8[=rrs\jbqd!Yec&eBCtD<>7lrKG,0NRZk0o-WHl*J;<Z2,^%>m;n-:k:-mnF>e:WY]7$X@)Wn,<8^;6,nuV?&_+/lK0$1p+5Pf8l`R3Kr6p3BRI)gi`dnKDg`oaV73[3NM]e#[e,]0%Q@Pa4j%u*&WAakgFOF-(,L*.\(@";Yl0NKp,##FZ$7s@ci=r0M%SNg,"j![@Tg(m%rTH2Y<QraP`d%V<DlNPrA.#VDV`SelG1)*p0^(UsFA#nUSkjM^NK-$+&,/>H]0VIY%7NhP40t[R/((?Z"Hr$JAr7j'CY7mKX1?8ns.4`rZ_Rbo.'P1)^?68Z!,Lr#Je#]M=q#+3Ag6$PK\NK6/\EH`:b'*XYWtXa#QM`OBq^=:>J4R'mHc,=>\(g;:pE)V;[TiDKBY/\.-#d0qr@m1V=t[War/H91[mIp.,XCN2=-C&O"SD'U8P7P#,G774H8tKS_,RMA;3^mt[X6oFP(J2YT4Y5sN'Ku(2)CR9@,8BZRDW&>XN$BBPU'kTbajYDBlkV[.0R/^=NBCL]c>^GXfA(_a>`#_R>^'qP7DVD"_9jJDk^GieJ#d*30Gbm6eoI?/IKqK]Ws@H7"-o*!/"3-4kF3\[-^+\MWE5KOg)\R7_\m]N=,4cfK/s1M#Ht%*QDQ)$"kKk584<`l,NhZ+"kbQ4'"[D_6?=8i'd0FBGdkL4PdpdkN[bi5"sK6M$o!u":"Z8F09;J0LUc*c!0iJmug!R9:5*'%I"8rV?@[`f4VmScf=JdR&JOqYRe**YUb";Q,rtA8t;tJnmb'-IGO8"g"];7a*GM$\q<m[(9F@\(T\:7A6SK,<qQfd;FZbL;6VhLT3$Q5Q)-,)o/bh#M+)"MkBs!T0S'QJ%FjdQ3)'kgWWC`?0o(`U9NY33>0'm#64KSY4HQ6C2iBU'o!\NUE#qrsYeL>I6a8Gd!EA<#md3<-U:%C,eN<#$IJ5]aY<tDK?=pG48A"@Dl;jE@p+R_F2=>)/@1Q\U(s%8qij6H%o[gM0UX4R2Q[i@DdVc?UfBd>E<=9AXL>2Y@F^E.&S/_3R)4(?"j*K@kU]:g,.!2K=j</Q]pOT^4U>!1[S1"Kf/MP:KZ^n."a!e2OZW7"?HN'0^Z$cp6l[',tX)uJs!T(/\>uP4jds/1lS:aHDS1G*3RRcY!LY`Khot/872!-%Bde?9H=e!(QM&dR]?;5:_pl)celDr$ETEm_Y4[^e<#(O1.J4h_`.ol'Ipd"0CaM:nUFd4.bFdLslTI@(174e[sjk](<IfT[=YqQ~>\r
+endstream\r
+endobj\r
+6 0 obj\r
+<< /Type /Page\r
+/Parent 2 0 R\r
+/MediaBox [ 0 0 595 841 ]\r
+/Resources 4 0 R\r
+/Contents 5 0 R\r
+>>\r
+endobj\r
+7 0 obj\r
+<< /Length 2432 /Filter [ /ASCII85Decode /FlateDecode ]\r
+ >>\r
+stream\r
+Gat=,=`<=Y&:Vs/&H's-:t).VV4.JPG-g#!HZWb*;:L#%,g'.3MlJ&Cli-_jF`Aha;-F*[2.L[hj)@cn[(KMrg'4sDATC'G'E4rhHGhaiT+]ImN9/XcoC<8rVcD!b=2s%d"(E18onFt@&U@Y2EhCpP1fs>:VpDQ*^Pq9XTZ]KtbI*/lGIm4p[LqnqE\FKCHQpU-cJ.I"h\WBpj3'OEJl7Z^Xp'D*YsHafTFN7p<Lh8e8`9HbhRL2mrSj_d^Um_i!u<0d_-%fdIST3"LXbTOYB<Z!Cdk@)Q=HLdjc!22S%MF[F0(7jdkd.:p"1qI1MhKuO[apgQ1)IeQ$oa6F2CD5BrokE5q6&3#)<?EGGIUC@U`9j\)>^C"4PhLU\.P(_O@,4nTK9*j#G<87r^5'FUY,Zj+SZHX:E?(lqoC\Z-\f%U'T[;]?b_\^<G,S(QpATX*>M=4A"/cgGVDRP\-F6nucRN;L^2(7E@/`e3#cFr-t*^o,uVshNZpM[`D93iQ&D*E;**m>)?Qn?H4;I&AFXRIZEZVOFgAl4X`\AI@=_.#L98(>4WrXLGUJL-'DGEpFn=?=mgO(82+,V$Q1NYJifij?mMiVl-SJ<-DAm7cf6@ACP($lGBIu\2K=%aG/f`5Cc`cRCL"$k-_;PD`C,WmV_V<'Lobi#VZJLfM7,@^H@!p)l1]Gi60o-tMu5Z<BZ$DqN3q0o<]/&CW4kJH/n2@<I%P&'`J>hT5@HOp,Z\in?;68K>CErK_=pu<G`Zge-8X?sPRCE0?<5<3.2YNP(KZLur$P?0[N]A7L@BFXfPXRQmMC/[&c#T];Jp-dir^P()aBH_D9lqT@*r.M4g+<m&?(';Nn:m0`AX)&[2'@a8QDuQq/kGI;"*L@D_8*r]qI_dXOdiU?I'pGSp>Cb>!\%8RtM!!hLHHhCp'Mlp#lTC9C?q.&m3uHhgW5Mqu#LFQg7$RjFNR\AEj&-oaNZ"YND'O`("!tZ$^F$&?_CI4-IO8R4PA<e=2W-)Pom)l.Y^>9I&&1aT.__L(hEM9\A?U4Y]B^E_TZPU(&L@geEJ)7T#<0o(EH(9c?%#S--7VT-=>2?f-A2\<I>/qeEO@ekM;QFe'p\"'="e*BY;tk\_#tX,T9$SpmC:r_A@?+F^E+Ve'.fl*`0%@`oQ"gHI6aLW?:r7S*kG.F/G0m0ri2#=T#o&EmfnlqhLJ75m64H^?(m;C&ZLl($8b5kEC'qCJYXMTW<)Z']RT&8e&(@>De;cD;DOD%mO47*4M:`WfI7gu+^H2t)5s"OA;)2moX"o%o-tLkSgkG?=IF9`GdSdlqma^DW3Me%16sJt_/&)5M8kaTX^Dl<$)JQ:=!?&=AV^o!l!f<R5:YgP;Rn]8LtS2[/MX%a[NH-NZ`A4B=k6kVQ-W$qa#L/0E:VKUW07>%F3`"54Xf[K@fVH<Y5*:>`ClOdh>KUHLV2/+iJUA]M>@mV>UgP/Zr/K-__b`*R410fX%;lW;*a#$(DHK2(%Sj@%"q+eSMLH*'/-kPTCH?.Ul[Pr#i3OdA)D]q-6h2&dDaC_T^E4^Ih?:>![8o5*!Kh2GkJVNbXii`HKQ*"YHKLHs&+^K,Q78n`X7C3,etn,`5F?#T#eMoAe<@jNXYWn55Jl\3i9F4BAgDIPmUp[-8/+2qPE@kd)f:=^B<2oXuA35oRCHc/b@"m2]XOl0.#5Xj0?de]6S\j,C8"C[YBn31RSKPf3)E37(b?M'$*IFelWLmR][UEY`jki9aii4n$9X;]?3ne[adW!XTBa[$k4[FqjF5CKCsD(V2Xp$l"NAD9E0RHTcMKSA]VhNuHU:.f*_JnU*T>#gFV7,I,D-7F^h%uDEr0e["kTH&J-%I8L;]G?H0%b2q5gqAt^HYsno9G0[K[7lXK+CX$;"n'1I$lBMH*sMo]#fNngIYMSoo_6ZQ_1HC<LYSO1JBfk3(!;s19N2`W%p)7)ib2#`JPU+23@AN`q8i,^<&)>$d;5ZS2@4[YY_0ppllK<@H8Sl"Rq/M_I%.=G[$"?W?pU*e+Z:t1EQD%gWer0f%s=S(VJVoPD47=(O*`\L)/\Up_Z^I;+do[]9L%6-+*VDdg$CW'.54RP/RO&0?T!7V!dI%V(d.Qkq\2TA-)&qA'Kb[e?^SnY5(s/D_9c4b1u7XhnAOg8G`jL,2H;u)29M\W-1qrRl4Q$<Mh&YLQ2_Kl[&+C2+"Ad1J?6$/eTEca&#cCl4.r9*4Q%c4dTK8%KRM^Hi<Ej(SM6[aO5'ng$R<=Vkf0rFf)_5H>o8?A\["@O8U+Q/:V,L`rZ-5/<:13eCJsXM$6DXR$06-Jn%G6(clnYuDi1QTYc05#@drK?[0hQ!]DDoj4p44@]NQQS.6D@(G#\1ZegrtjMX\Kp,3>#T$GgX0+/e&G1nHr:;e"Ck1/#eW1po7J_m%+#S*ecGQ4+Q3"lNaK]*Y5~>\r
+endstream\r
+endobj\r
+8 0 obj\r
+<< /Type /Page\r
+/Parent 2 0 R\r
+/MediaBox [ 0 0 595 841 ]\r
+/Resources 4 0 R\r
+/Contents 7 0 R\r
+/Annots 9 0 R\r
+>>\r
+endobj\r
+9 0 obj\r
+[\r
+10 0 R\r
+12 0 R\r
+13 0 R\r
+14 0 R\r
+15 0 R\r
+16 0 R\r
+17 0 R\r
+18 0 R\r
+]\r
+endobj\r
+10 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 113.352 760.77 138.012 748.77 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A 11 0 R\r
+/H /I\r
+>>\r
+endobj\r
+11 0 obj\r
+<<\r
+/S /GoTo\r
+/D [6 0 R /XYZ 51.7 451.11 null]\r
+>>\r
+endobj\r
+12 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 138.012 760.77 141.012 748.77 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A 11 0 R\r
+/H /I\r
+>>\r
+endobj\r
+13 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 141.012 760.77 147.012 748.77 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A 11 0 R\r
+/H /I\r
+>>\r
+endobj\r
+14 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 147.012 760.77 150.012 748.77 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A 11 0 R\r
+/H /I\r
+>>\r
+endobj\r
+15 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 150.012 760.77 174.012 748.77 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A 11 0 R\r
+/H /I\r
+>>\r
+endobj\r
+16 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 107.028 628.47 358.008 616.47 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A << /URI (ftp://ftp.cc.monash.edu.au/pub/nihongo/ie3lpkja.exe)\r
+/S /URI >>\r
+/H /I\r
+>>\r
+endobj\r
+17 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 107.028 628.47 358.008 616.47 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A << /URI (ftp://ftp.cc.monash.edu.au/pub/nihongo/ie3lpkja.exe)\r
+/S /URI >>\r
+/H /I\r
+>>\r
+endobj\r
+18 0 obj\r
+<< /Type /Annot\r
+/Subtype /Link\r
+/Rect [ 157.066 217.47 202.958 203.47 ]\r
+/C [ 0 0 0 ]\r
+/Border [ 0 0 0 ]\r
+/A << /URI (http://www.csse.monash.edu.au/~jwb/j_jmdict.html)\r
+/S /URI >>\r
+/H /I\r
+>>\r
+endobj\r
+19 0 obj\r
+<< /Length 338 /Filter [ /ASCII85Decode /FlateDecode ]\r
+ >>\r
+stream\r
+GasJN:M[g4&B4,6'QZqX?"[gM6g::5$XT<d[>1T82H:D^nBt+id7/hs2(XekL=u<M%/ZD>PF2JDOKT9'a@Cie_L_;E=JI%s_.u)mqcK1jRDBn(0+cQC\r$)mF_rsP#&fUL#;4:/H$8-_Z1p@r@^XDa__V!qk-SH5X6tTR4HU=MBh4l>Fr0KDm:7QgTB$bVY]Oor8!G<8Knobl\<(7K_o6+nd?@\DOt7)[omR#MBFKMA8/E0%Bar5Lrq\ElRnR$pks@jsV&?8jC;u(:(J=Bh:X-=^A'p7s.2(_Aal=;Mg3tQ4jc@)0%])R4^GsNri+:eHot'J*VKq_Ae_Q%-~>\r
+endstream\r
+endobj\r
+20 0 obj\r
+<< /Type /Page\r
+/Parent 2 0 R\r
+/MediaBox [ 0 0 595 841 ]\r
+/Resources 4 0 R\r
+/Contents 19 0 R\r
+>>\r
+endobj\r
+21 0 obj\r
+<<\r
+ /First 23 0 R\r
+ /Last 50 0 R\r
+>> endobj\r
+22 0 obj\r
+<<\r
+/S /GoTo\r
+/D [6 0 R /XYZ 51.7 804.47 null]\r
+>>\r
+endobj\r
+23 0 obj\r
+<<\r
+ /Title (Adding Fonts to FOP)\r
+ /Parent 21 0 R\r
+ /Next 25 0 R\r
+ /A 22 0 R\r
+>> endobj\r
+24 0 obj\r
+<<\r
+/S /GoTo\r
+/D [6 0 R /XYZ 51.7 675.02 null]\r
+>>\r
+endobj\r
+25 0 obj\r
+<<\r
+ /Title (Adding additional Type 1 fonts)\r
+ /Parent 21 0 R\r
+ /First 27 0 R\r
+ /Last 28 0 R\r
+ /Prev 23 0 R\r
+ /Next 30 0 R\r
+ /Count -2\r
+ /A 24 0 R\r
+>> endobj\r
+26 0 obj\r
+<<\r
+/S /GoTo\r
+/D [6 0 R /XYZ 51.7 595.67 null]\r
+>>\r
+endobj\r
+27 0 obj\r
+<<\r
+ /Title (Generating a font metrics file)\r
+ /Parent 25 0 R\r
+ /Next 28 0 R\r
+ /A 26 0 R\r
+>> endobj\r
+28 0 obj\r
+<<\r
+ /Title (Register the fonts within FOP)\r
+ /Parent 25 0 R\r
+ /Prev 27 0 R\r
+ /A 11 0 R\r
+>> endobj\r
+29 0 obj\r
+<<\r
+/S /GoTo\r
+/D [6 0 R /XYZ 51.7 354.97 null]\r
+>>\r
+endobj\r
+30 0 obj\r
+<<\r
+ /Title (Adding additional TrueType fonts)\r
+ /Parent 21 0 R\r
+ /First 32 0 R\r
+ /Last 36 0 R\r
+ /Prev 25 0 R\r
+ /Next 38 0 R\r
+ /Count -3\r
+ /A 29 0 R\r
+>> endobj\r
+31 0 obj\r
+<<\r
+/S /GoTo\r
+/D [6 0 R /XYZ 51.7 288.82 null]\r
+>>\r
+endobj\r
+32 0 obj\r
+<<\r
+ /Title (Generating a font metrics file)\r
+ /Parent 30 0 R\r
+ /Next 34 0 R\r
+ /A 31 0 R\r
+>> endobj\r
+33 0 obj\r
+<<\r
+/S /GoTo\r
+/D [6 0 R /XYZ 51.7 174.0 null]\r
+>>\r
+endobj\r
+34 0 obj\r
+<<\r
+ /Title (TrueType collections)\r
+ /Parent 30 0 R\r
+ /Prev 32 0 R\r
+ /Next 36 0 R\r
+ /A 33 0 R\r
+>> endobj\r
+35 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 786.47 null]\r
+>>\r
+endobj\r
+36 0 obj\r
+<<\r
+ /Title (Register the fonts within FOP)\r
+ /Parent 30 0 R\r
+ /Prev 34 0 R\r
+ /A 35 0 R\r
+>> endobj\r
+37 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 735.77 null]\r
+>>\r
+endobj\r
+38 0 obj\r
+<<\r
+ /Title (Embedding fonts in the PDF)\r
+ /Parent 21 0 R\r
+ /Prev 30 0 R\r
+ /Next 40 0 R\r
+ /A 37 0 R\r
+>> endobj\r
+39 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 682.82 null]\r
+>>\r
+endobj\r
+40 0 obj\r
+<<\r
+ /Title (Example embedding MSGothic)\r
+ /Parent 21 0 R\r
+ /First 42 0 R\r
+ /Last 48 0 R\r
+ /Prev 38 0 R\r
+ /Next 50 0 R\r
+ /Count -4\r
+ /A 39 0 R\r
+>> endobj\r
+41 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 603.47 null]\r
+>>\r
+endobj\r
+42 0 obj\r
+<<\r
+ /Title (Setup CLASSPATH)\r
+ /Parent 40 0 R\r
+ /Next 44 0 R\r
+ /A 41 0 R\r
+>> endobj\r
+43 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 536.39 null]\r
+>>\r
+endobj\r
+44 0 obj\r
+<<\r
+ /Title (Create the metrics file)\r
+ /Parent 40 0 R\r
+ /Prev 42 0 R\r
+ /Next 46 0 R\r
+ /A 43 0 R\r
+>> endobj\r
+45 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 390.43 null]\r
+>>\r
+endobj\r
+46 0 obj\r
+<<\r
+ /Title (Edit msgothic.xml)\r
+ /Parent 40 0 R\r
+ /Prev 44 0 R\r
+ /Next 48 0 R\r
+ /A 45 0 R\r
+>> endobj\r
+47 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 358.93 null]\r
+>>\r
+endobj\r
+48 0 obj\r
+<<\r
+ /Title (Register the font with FOP)\r
+ /Parent 40 0 R\r
+ /Prev 46 0 R\r
+ /A 47 0 R\r
+>> endobj\r
+49 0 obj\r
+<<\r
+/S /GoTo\r
+/D [8 0 R /XYZ 51.7 223.87 null]\r
+>>\r
+endobj\r
+50 0 obj\r
+<<\r
+ /Title (Japanese Examples)\r
+ /Parent 21 0 R\r
+ /Prev 40 0 R\r
+ /A 49 0 R\r
+>> endobj\r
+51 0 obj\r
+<< /Type /Font\r
+/Subtype /Type1\r
+/Name /F3\r
+/BaseFont /Helvetica-Bold\r
+/Encoding /WinAnsiEncoding >>\r
+endobj\r
+52 0 obj\r
+<< /Type /Font\r
+/Subtype /Type1\r
+/Name /F1\r
+/BaseFont /Helvetica\r
+/Encoding /WinAnsiEncoding >>\r
+endobj\r
+53 0 obj\r
+<< /Type /Font\r
+/Subtype /Type1\r
+/Name /F9\r
+/BaseFont /Courier\r
+/Encoding /WinAnsiEncoding >>\r
+endobj\r
+54 0 obj\r
+<< /Type /FontDescriptor\r
+/FontName /1E1e3eMSGothic\r
+/FontBBox  [0 -136 996 859] \r
+/Flags 33\r
+/CapHeight 0\r
+/Ascent 859\r
+/Descent -136\r
+/ItalicAngle 0\r
+/StemV 0\r
+/FontFile2 55 0 R\r
+/MissingWidth 500\r
+\r
+ >>\r
+endobj\r
+55 0 obj\r
+<< /Length 10237 /Filter [ /ASCII85Decode /FlateDecode ]\r
+ /Length1 17156 >>\r
+stream\r
+Gb"/JCNpfK\aHp`URBM#1E'u')+g-)ag,J^^;u<dbI>Dj&gorSj?h8t#YA][[,mI8E!p(jQ^6b8V.Bb*j\f8qBk_:@F!2>lC3F8h.,E6^\%B8J]?bbom^(6r:$M(+]pq:,p%c=u0q%$SJ2ohiP4btr/q2thCY!g`[fupC!.<,o!j)F[9j9Dl4omV%R7@71bZ1.9^@pGA[LhK^!PI*dYIX<U!9kYW-7k#HS$(PNEUVq\!%>V#TBY$^-iSE/OO4l\j8)L%DS;mn!mPuFMoSV"F8Z>&G^]_uJB$L*n^jr"E6Dk`6'1X5)gIn+r6[#R+1TrB_W1XuOSV*pc0C>ro_\t_&M:4!D29>RJD=8DL]Pj6FU026e;"#';t'aaVZ*4eJT$&D2Id>sr]9_UGV%f0<.(^+.`/./6:D2O65nuO4-$A0f+Tt/7@q9-B*:`g*'!u#V^B]fkDcGSn,^$!r(tS[I8GZ8W:1_8*]!LLJS_-58d$=oIQdu/GYN/O'8Z,(Wm!P3*J;qe#V6iD/6e[uQ!7@SbHAs!7`I4LYJNpK*rn$>bLl<=Z(^hl/o2J:Xa:qX:F!OrX5#VqBfuHfOkc](kHp3T(^hS%D.=aoMK@4(Z&_XP(jMU81<'rt<&!f'-[cg:kbO)em@<fY*2A\u$mNtg%HAk-e1jKR-\E8fcq+<Ah)Q@i3(PF7(keEC-H9IT)/1+$<iD6s*b4Ll@m\)="&lt\h3-$kNC@'>n_LW.WthS=>?N;;bCg\n(9Lit=-Hq=2AU(^\"APe50K*6$_R*f&;2ll=Gu+^+@oW<\ILpI+o(=7e-6&**[/mdTJ[nVbm;,eK$f/]C./E;+dhX&OWm-!"2X7jYid.I\e*lW#`00\:!X*ZV$'C>PE]C:dRR438]h$))'gYP8]j/Y1.5#p8P4]4bU4hI8BO8^1."kSOd*g1jW'G(/kJ'aUb!Z<kED,<8BQW3jW]knPb]iT.5`Mb3D!@>;D':F.nRl5P4AX:ZC7Sj+Xrb>PY4TjAL(h=8\(@eX<T1[8]h7#EWo&1+A(6W;Q_8o=-8`J8]iBCnfa1e@?U0nP&_"'8YVGb8]l0$ja*)qRA=XB.3Bib2is9+,iqLYEYD$TRAAV);Jmd0gITJ(,\9&/\XfPo*D-&D8\'JLN09EdPE\.#asTa&-V;Hd,iqrM-&#6?OHc:]AJ[qk9iCC+.JJpg:Qq#i8]k[:b%F;gI3dqC8]puWjT1P8+A)AK8U6,fI%I-]JYYD%;B?u1O-5aJ8BM`?b2Xc/9-iWB,UJFJSffIXP*E/3Pcp77Vb"t^8BTOUb0qWt)^OO7,ioo,nh$$qD3?YD;P#0`j!81H8_Ha7p5tU<,iq%LEe'r*,UnL>b$gJ(4A#>Y8Z>--09DDC,iuW`AV-_j85fG<U`:[009MLfOd,<uP[c!##:/DBP4ArOq&r=TQ)+>6V#2H/H&\W4:/ZO7;LUr1Ng#]W+t5`&.6f%+s%H=Z>*ge\JQ\2UR1292n,WC]O,s8.FhtmYJA7ONI/T0Dk>D3&90tS4)kR-&G!(`D]lX>knp1_ArnGqpnESaaO_-_\O[jUp$QaM%$"6D5a^M0f@UP%#M.0%cWQ3G=AV5&"K6**67<@9,FRBZI0qIVRk;\JJO(B/$-^K349j#!2XE4.Eo^c=11VA\6qB2pc*\\"Q#6>VUFsUI)\9&-4>CD#rI<(;&;_nWM>dNJkK,(H-fGOMXRdj97[#E>q6n#Jg['h)62^.6$&9;n!R9G8C&mA\b!U*mFd'NY5eH[8jf851d+i?%T1!d+MMBTEK/5D0KcC([TQ7uW4*'M4pVoljEb&GREb]>ls`uO)PIt&I*`)1c/*!P?CT7s&W3@ZYA;9gmnjiA**f&<QHNXFsJE/r)QiQ)X%lMY^uLa1ktN,jqUc8!I%7QJL;k8<;#'/MW]`"@?G*&6HWhD<3*S&6G1aSY"R&4cNoEJ0/N*"G/>39E3_VlK?"JoaVUNoL]5J14$Lj@7]R49Sg2(2KJN*cb*?`/Tk6"t)$r)`0Qp)mhqi'6c\Rg7>_]F5]kAmXZ!mo6>ZI76&aL3$7+lEtK0@6<L_tTe_Q\D_Aml5=0:6L)KXSWB\1<*leW.KmX4Yk'.s9V@3/!>^@;EkiI!tE1FtR_XX]I/i/kPLW^*<c/CF11NQMT8&`G%auO(&5qfugJE&bP'olqgE1+PD3F$1CbHD=nSB%nOE?WBA*7*Y4p2(d%1RL%Tb7*58a+Tr"AHoL'E1+PD3F$1CbHD=nSB%li<LkcVS7CQ#*/C0tHD0\!gd)d-IO?1gGqdj,k<fE-STk8Q_?))K#8Y3$-XHl;_7<<g+`;JLGN*2<'J?DS_+-\J1O[a&#Zkn3\7,QW]#t[<]+e\uC4oS;&QUHT@0S7We6g17%EHXOY2`I=$BA3YDVE#6i($OP"tTISX#R9@GT"Q.Ek'>$ef6:uQo0ZB%*m'oi>`RKa!g,<Ba-*_?)orfiHQ6\ZZ<S"@+H;M1K_JsXQ$aEj(04^EP-n`Q$gZeNPf<3ZfZ4p_0b..E-&P5@+H;M1RL%Tb7%G@/#tY4iHX$TFhUOgNeu5)*.j)W"Y=jEmK[,7XE<Gp?k'2\ijE_C>jB8n@3&V@`#jX_@"T,""]rQ1-iOZnJubI;)YaSc\7u4lI1g2hSKCA3j'rA(Db&H'/&KOi+`+gm@EW89l`Qde#1rCE^P1]KN]2%7`i$W>*:MfQmnOq]L%3pBi&Z<u$cf@hDru:F%[S''RA4d,NgXMKmPmZr8&`a315"ofPq<ubEkIh#1e5O(1$[n?RDGsb>\7qeN`"(VH6s,g)-k4cCuMmhj38RibV@QThAsYT9FdC,S=*mHSN0qe0P_/b)8$cG#rdX_%'JVl[W($En`HeW(WXJY3"EdtE#i3L9\b]G(>.ul2o8V*_23)]S)G\A^(%NeX\Se<E'%l[i_d2f53BeUJ32`M:AcQN$U.]NK.fBJ1]=RK&K^oQ_F'q_Gi4%(q`]pWn#$cchMna\`sacVaf#-o*:N!6+3+W]e9Ql1_gE:b`oA_C`XI%].sH'IQfEK6ccY3%K/7RJcG20`%,N#F.-IP=3F$1#P@(kij1QH$j#G:\EH-rK3F$/MCCZ[Km,V79k'/Q"q`$dTnKEpjj`$X(Hfpc1#4IR^@O?lR%*m'On]i+,1RL%Tb7*58a+Tr"AHk6lQ+K'5bON<G#oCY#kr90h0%^IlS;DS'g^UldpbQkBI+jGW*q"[,3q7jl!8R%]T8/3[F&)W=4:GS9i\//Yn>I"M)8667=3]\!_`6*U*^JAm%q3dD_Uu=0T(s_MdpGUilDk1d4u'q`T&`iM.?72FI"pYuT/q<YmcVL^+HN-ZN>Xk#Y<9eoBo^MY4=c31%*m'o3<R;q1O+*`UR\+=k&?a)PPiR%*1uBg%**(BMMkuoc/CF1=`_*si(8CZ.?72FI"pYua#tD<bMb4/pWbMB%,N#F`(UZ-)4[+)igi)7Ah\!1QPmFPNX7Y"b7(!'=.\FH1rj7+-<qN(VrK`>?\'T`$"r7H%A&0T3q5/eC&#7QIg_j!D`[Ep0F$EXik;Q$`gulbfFRkLp^eEu"&Ab7GTI>rc/<5!`L22Q-O?ojL@Cs>&RK`#iRml:?93u5iWR,\(M9&N&O,kpjS0A.@iSk7;s-Xj?g$6eS.FVO9b0:O)'%UZ]u]^iNlO,NQ,@/;ZfZ4p_5oY%AoM@B$Kn@t3(>pKb\m\Upg#OnI#6l<Nb@HmRDGsb>\7r.?[7do9,s"4I"gUA353[nm+XL)Ah\!1QPmFPNX7Y"b7&"-iA-$gF1BHP#f#pSa-Sb,S#Xc#$-k8F3fZSs>rVm=3"u$.i'j#PipX]VE7B_o!6=$p:AdJ("^ZB3ItSo[X%rS&GTC+3idZR?n.R2KBD<ABPfK'bC_#ca2J?QjX914[GH_e"YYI9&MIh%'_.1&_@*SVZR5ONGM<1FaFe_mu=cf9-R)*PYCC=nkC\mk2;hqTSqh**0Deo3n+Zt.B):*VpZIINs--KANh2tkC#FI?R#pHeI!#$do.J!%CA3ED(k]uL@6\b^`HK\1u6[7oHclo/OTL5#LaDPZOo`qKsV82M-4!BO1mWRmO:;+iMG@4^;or#$k-Jm%VnakM+qDPFSagX>(/Ss1JYpSU^$N14q`8IVhr>@k+"^ntK&:YZBp.#,]1Do!N&:=aKnc2)(!V##iGrpPk%e"6<&0:s^0Au@YJC*`c`4l<)O&c"ojT*I!!5=B]BE-6PKtLo?%F5?uaG%qJHjfaV`h32Jnnc6kpZ&T?j,O'>&H3FCDBX6I2"`qT'1Z(5MQgYCftt`t-5VDZDb<W9Z7\)D2n)EmSd5M;6.:kH2=Y3^;@7sK$&.?Ba")D2YT263_/M0"$7d11\"PumhqV+CBkqF$Oi5,@`P<]*hLJrHlr.>o:aesgXDTZ673ch_&(S3g=/jB+UKn_qf`="/D"EimU:KKkA2A.9k,Z2_p3KAof@sRp9,6`@\afT9Sps\UljU8SAge=k.j^V8.OGODn.s2^_11+c_UP4:[kJ:AKV@F/eMtcr5S3j0kI;Fl&$Xl:KV2[8^p]7"5q\bmRk1.]ilMj^-]_%=4$1SGPBBo:o2rQ.S7]4bc@26b1PDl3.]][iK_u.oe.Q!/rIW7h"RG;I7-/+/$q0>=,J"utYMmn_K-*.G#9V\(![qm:4sig,eT68s[KjH/i?5`A]Z%uYj2C"$TRsnA`CYG4FTf,oqkWkQID,UC?.Xl0`Zs&\H@*Z]+5dZs0E`O*j^D.[7Nqm>IMjNbD<!f[35TP;&POI16P;njJM!>/Ec_p9@.tC3:t)XC[Z5F:Z!?Qd@m,mtAJiM9La52u22?=\,Gc6KW0`?b`T'oDC/RZ0_G'%h@_hje-43Pf#3ssIXtM>^;2^4-IY6MN*Gi1kq7V).W/(]2VoAm;INGoDDdhE*H?&Moj;YamM^M=*5-<4XFHGTTMYodn(Wk7U'<ehr0Cu?lpDBT3HgO:Me.#UnkZRRWrs?HUj@I>cgAa9gY]gNffWK3sK#9R+FjSgDHU.94#MAG@6=K4&0/\26gfL#A`udJ?9C-:1])eO-[OhgCZqU!YSNYCgTD+$C-7\t"lZVZ)JPq[Xp]]&$V\7d'd4_<V6%ON:>NrVD%t^/8fHW,io)]CR"sS6#N(UPG<>7)?HD<nK9i-8Wr69C^Oh:U(mkp]u=*_@lF,>0&Yr5:h$#ebi0+Jp2K#+n_f-+g15mrJ2YT8T<dAVW814lOG4Gm\G1b!g&mG%dU;`_^;4NF0^jqB>AqNanun*?GOobA?/3\GbH@6>]Sm-GS[3).EL0?^fZ-o^-&T4>u%/GC&(-MgCnU]feA\k'8:mPjWP#hMHI_]uBn;Y-qi+EXHmabXUN,/"Kk8_!`X\:ulY!;X`USZ$cJ<VPg6*mu:<BIjarM5?EDaa0dLC%=*-%&j6j01&d>0p?4%O;B0<ThHe0[/u@F$Vj,Nk6aY+MEG8rE^,j\s*V\=,D[QHOaYI.Z]oa])dqN6^/]6BGGSYRa1T*dr0Qo`o0;.tECD2:gHKFFC0p:.(TCK:hWNDWWW-9&P:C/`ERaCWgXh2Q5*.<QlDJMX[6PGlr=LKQV_fL0Q$oMMc.[lhCc`o8*_dn#&;iu=Sih"uYO?.Ed$`80DkaH1l==7o1"k13!Gf0/lggn?Sut)>?';70:l^jh511ucSJ*<?2+F[M3Ba5,I'-5U3Y[R-V1A;$nY9M!)n",S8L;W+>RJCO5/3ukIDN@*d"lrap5uh?dj-S8`Omk`:UGds^"0uEWqldsX9ERJJ1.5OGF3luT`I2g"uW__i2Ipt`1EJJCG2o=J:86u7U4VNfo:=l)G$"MM;*qo0q:<QX7I,0*7*8hW\l]C1XnEJVXP[G*k!CsQS7qg7!X-^'bucmOL#Rj[O?D`ZCiRf1XZgIE1@(5#*jAH/GlD/,']hfkt%m-.X4B:PgM(h4sUD[oen$k]us2'C74o+qup`0MCWch$m's&[Rc/^@K]3bY&PfALTs,g8?j,]ma:^:O37UbY$Z#[G=cOJWQVG&@u-\L&M<`)4<sI86PY0s&H.,jcFkWBkmP(lBBWl2k8Ur(o0`?s3S%M>ncQGP3%,seK0kSn<\9be'2"[J%sm^gh="LRcp1o1:`$2A'3kLd?f<B:&)SV71"]),,dqKLAVG*Imb/KH1W,AiNA7pDof6sY3:U3NUJ?P^%58ZhkP.8*oejQ9-O4Btkm#InL(TQ8=>q)SNY\;_`JQ3LReA.iY:_Qf_gW+ir<N641Y+DT_H^3\B7H:\IoF'Ahbi96hifL%'UnETlrC\i?cn_Yen:Hk$4ZsJ!M>7K6_3-ICD+`uHUluKrkX/r?Mj+;0Pfn2aTCQ+ACn+4>IL&?`2V0`c8Xm[H(I2nV\%C**?Q`n/GmmFh>ZX"_d680X"]`gGgoF^CQ+(ih_)r!D39'&CnQ8Gc->*+6'IMKAA\n`eZ4%m@U2M8UP0SZOHjT1h<UVIAj<R^R8.O0dq>)XHbm`Ao.b>&F(u&2",H^-8lIBNK)tQhdI]/YBjTU71;d_R<5h1,mOC0<\-,3j`ILSQ->cjuPKjosIQjiWQ_c"c^&6Z,(O*$gXE1L=b<k'.;h)YEq`54%$[]LuYK"#q+N)enXPoTeOJR%C@>+ei9EUji$/K3t8?6RWKSks^B?@!L8e4Ct8%0r-&`kq"p!3_serUo74Pk=\?O?Nb?V'][+]\+Ob&U\oHT)u:$:D+%;F@`>LK'lY;H1;h4j]2Fq?(sWB3t]%++Zni)]-Wu@Ld&0Y45[OE1#Gj)Q#j5pR6e`"pb,#4dg\&,CqfZ.J5_cM5t0,np#<TU\0bM]O`Ntghb%SSPtR47oc25.gBOt.H*5O%A,!D_m6"MH6<kYU7$,!,:+Wt+rR#Tq/eG+O/aH.77?a0'g!8SC4WV@(6-YuWZ%3=qG#KLf[mmR?(2=H#D'-ccW,>Eh7;#5lKV995ABg!<u3o'L=6>'%(r7nD##*t]GmOJ(;OCh]fKYdM,Y[_cDL2i`^CutP/%qkSFC9Vk0m;3[A0k!Vk`%ph`K1HYBQp(&B<rK`fsYk'Pr=;',N,C$>&1Q<-,X]52I,pC1q>FC@,mj\+[6?ZjsMKN5DfMBm<oAkHUSHEq,a,PA'!,TIGP8.n9\?mW-l`8M9$SU7'Npglc`]9`L36dnV!"h0AbB:f*;.&j][F&$8U1N3&"L,Nl48]/CW#ahu#i^<kd\7SB2e73c4F9jGt#gZM;#iCd^(7.V`lTkl^dQ&()bK5Qe@kef\+pRP6t`Vo0e5hjTn'_\ACPcL0TmaraP6^57P'gm9s?@8#NcTHbCrp'#TX80B6(>2^ka38W@00Aj9oR'?=lSY4G?*=fGD(:u5.L#YnZK@-;JRm,.9KB-;`B)ZsHEtLIWbUMiYXMR"28=%h8;U.@(M5i90GhLn=[=@_"YH^o6^3:Z+cZY3Moq8U86/jDn:o\Pd5Jn.+H%:*ccn.@-l.`iq[Q44n-l>;T!"plNRZEP>O8A*hnOPaD8o*mfuB"t^$Y,J0B)YM,o!c?b*>;Jd@.B3*Y4/aT+]++RijIi/V:M$q_+=e)Hb3RSSH:Z9`AM,LjQa^^hT5Aa,luEIRQ&8,A9K0W$9\s:(-:EOI:pV#kk6Z`XaXtBZ>F%6s<]&f:9C9a-Z.aEoB40Pj4GO2]=-8>utBM7ZD>RJgk4=gUbb9`._6]TGaQ+(>nTlE"-N4>P;Y2VF>:P*a_7AkU"srUrh\>:IE_,$^_Ts$,_rNo*G,ei*fgETE0+EIi>W;c'BNO;YD6F($`"n#I/b-j$ii4m%_kfl1#:F;JpmQ%4<s,hO`R,?o%YhmR$7/WSY["Y$']74<@?..']GA(M`;YMhYqJ^kf%KO.GTpl"2-?`'b,>^_<GsSKDQ"%*OIhZqqka<HK*KJeUl_6FFCjkY8*;[\Nos6Y'pEIZ6G$(^qC;!:ET>h=Pc@B9jt0Z=jCFfjlr#9atWe&,F=Vf^@dZ_A3(FZlMl=p5MG`Bigc%3YH:eQu-iLZnQa,YVfhH@kg9V$GhhS&<,b2:u+Z;Nd1dq'NlidL[mG%E`;uGhLqYO#G$CJK=JhPnXL.EE&S=1d\a$Pg&d)=5?N<@mmQ%>ggK]hbbN:hp6pC.ajiSGY5?AbCVoV"HC.c-)o9$&eDe`a((Y))g^*P\Kq%s,&sKJZq@.@B2WdDUL)a2%m&:QRf7+<PfCPT97i=C\MaZh6I.M`apf`?4Ul)Hao)ar4G"`'X_gK3?\(jEc6*;h!-f8l(mc766KRCOa.Xf9"UN\o8jOCIl7QmYQK)&<,[BgAI/>(NIg!S*@-$m4=4Qm/FOt'l>iKb$R5#Dc8/]mLUD$7b.biGV:T[1W#l-b-5-lRdX]N#Mc2(qUsf9];0;[koj2*rmXKWT(-IHJ`B3S\90T;QT4\?f_10m^JrM)P5T;i65*_nklP^)M/oSU&QL0AF*_O';;Sq2SIm[J<PPpU%gQit5G1%NEtuT-6ak&GNO5CW;c#*+3o/,OTKRo;NALr[)GL>B>(;d_8ah:.T^++=e34#EMUi%cU,F8h4;ZO65"4+kgMe'^MLpfLS/JC1Dn0).ZV$RAUhhlFmJ3G)MfK)XO>q<2,pXd*(L#<JY1kMU.p"e6JOb%6*%(q41"/+8*ST;7.L4dq561'gdIJ\05S)'YgV8ZrG8NM+0^_@l?>i')i;(8"[tuVlY-GTt*1K<T7=')hFreQiUm#YKnHre4?dB(_MnsKGedk+R\-8I.U1ZWB/)!*9npiFZ#)_)eZ[44RF7YXLbu:fB7oN#LoULQki9CagT!(TSVe+_H?VgMO7Je\e;@PkR(Ec1G[Bmf(q6CP@iTeUJH-PU6h,ur%;SkWo"m.#%Ri1ETil)k2*k-s,#Ds0?f&;E'>h,<NqsBcVs%S?J=#5G5F?&*RU+:MPh)dg0>s`Vk^<QU>41eN[[!F-5;4+;HYUW<bO##&Mmn8lrZI&(b8!X,$h];^*'j@[Oe^6'#oX!h+RQu:Y11A,M_#$[X?bcPo$WemF.])S/ojEY(#cU*/!G>De0lc[eeO]SYu).*rm8UOk`mD1!abho-9i]89.eGnHU+R7$'_OL$$_5UIq</d@/6enm76NWMup8CfG3B8@q"RH.s,D6imro<=P"M`F[jI]r<n5#Nfe]aF]<,$?opY@G/&#bY0g2N!b:G1TH/?6sFq.pI>;$rOHNi6U'^\1oNkG_0dfb'%DP[orH,)GR]\l31Dj5*FAWDU[-_EXA`WoSVPZU%A,Ee(Yi@qY5*FoVr=56ZHXS8_/^M=Qb_^%"mk=g_#/.ge?mH0SZl$Ml'fWG-G.6722c':D--*iBs9En)D9:</>t*NNKh^;SQf8p>#kDapEeX^Q7ahmlb9)T6`I#1l,q1MY$8GcV&1Th0;;6+iIY4:$?dRiW$u6rlfrQa:$Le^CUu+ROmYneY:ZmDmHNpSm$ZTa]XG+hrn<LRM\][,Gj43&$SGcTJH`(je5<fGc.(ho)EkN-4.AM%Q6<5g%idM$>M1DNi(aVWC8>.0;rl_UcAKNBKt562e@Ah-eXt#8c$E?R=hI=?Z-j!q/.%'pn!8JG2flmQ@#"^9S8DpFj`/Ddk&Q2#kAo69L68&+G<ZS4AmG(aCaa&[RZ37&nB]IP>D%[?Y+GW;_FA=A&RHJ5C7."uKFH&0!a#HSfa,=$5G7J7@,o>.FnQ17p(kO^:OT?@e*\?Y=^#''BRT"Ao%_[+;IsP@d"9]_P"oBQICMX;q:#>E^WnKdSZheb4Goe.R[9skBP_?31`'='`Bm'^=$qJ`5gR*7Tq27u`&]=kj35o\+!f>S2'&`WeYtR:HVnM)_F5]-$thdJ$=8ebH/IZ][U8uTcbJR#<dQrA4#QFN;NrE[GRMO=o(9BHH&6Xp+'@[BE-LN&oAo]cqdMM`3JY38ic;Tbgu%#X?b.tt1iblm_pZ67L6*:a@[U#sr0[5%@_i8e!W`cWUSGQ,YGp9LS09ia)u(/\K)I`XOB0j/R](u>6@_8=LBS9Ro\9+t@IX/cBA;r6.#@lfNg05Pr4DKU_7i,4D8uB@LVjX,a4Ii(?Zh^ZcHb5e>I]L_IS9)X027hbr76F1F)\fBOC&has5&E'\3_'\=#l9QAc@nkRo@i3fB!cTXV7)"s#]Sd[m,'i-oFU6SRjnt1MCtE;//cjk1b[lLa![&/BkR8\81#gEceVU3%iY<55pE%Xj?>2bDqbr;KfR&Aa2VH'RaU)-[ed8p<,a_+9q/,=60[]VU:]E_/2P+X3i3IlNuTX,#TL,D&`$6_t[;`^`F#]0AO?-/)X'I\6RlmrgWqUoD\k>l[S[~>\r
+endstream\r
+endobj\r
+56 0 obj\r
+<< /Length 572  >>\r
+stream\r
+%!PS-Adobe-3.0 Resource-CMap\r
+%%DocumentNeededResources: ProcSet (CIDInit)\r
+%%IncludeResource: ProcSet (CIDInit)\r
+%%BeginResource: CMap (fop-ucs-H)\r
+%%EndComments\r
+/CIDInit /ProcSet findresource begin\r
+12 dict begin\r
+begincmap\r
+/CIDSystemInfo 3 dict dup begin\r
+  /Registry (Adobe) def\r
+  /Ordering (Identity) def\r
+  /Supplement 0 def\r
+end def\r
+/CMapVersion 1 def\r
+/CMapType 1 def\r
+/CMapName /fop-ucs-H def\r
+1 begincodespacerange\r
+<0000> <FFFF>\r
+endcodespacerange\r
+1 begincidrange\r
+<0000> <FFFF> 0\r
+endcidrange\r
+endcmap\r
+CMapName currentdict /CMap defineresource pop\r
+end\r
+end\r
+%%EndResource\r
+%%EOF\r
+\r
+endstream\r
+endobj\r
+57 0 obj\r
+<< /Type /Font\r
+/Subtype /Type0\r
+/Name /F15\r
+/BaseFont /1E1e3eMSGothic\r
+/Encoding 56 0 R\r
+/DescendantFonts [ 58 0 R ]  >>\r
+endobj\r
+58 0 obj\r
+<< /Type /Font\r
+/BaseFont /1E1e3eMSGothic \r
+/Subtype /CIDFontType2\r
+/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0 >>\r
+/FontDescriptor 54 0 R\r
+/DW 0\r
+/W [ 0 [1000 0 500 500 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] ] \r
+>>\r
+endobj\r
+59 0 obj\r
+<< /Type /Font\r
+/Subtype /Type1\r
+/Name /F5\r
+/BaseFont /Times-Roman\r
+/Encoding /WinAnsiEncoding >>\r
+endobj\r
+60 0 obj\r
+<< /Type /Font\r
+/Subtype /Type1\r
+/Name /F11\r
+/BaseFont /Courier-Bold\r
+/Encoding /WinAnsiEncoding >>\r
+endobj\r
+xref\r
+0 61\r
+0000000000 65535 f \r
+0000000015 00000 n \r
+0000000107 00000 n \r
+0000000178 00000 n \r
+0000000228 00000 n \r
+0000000364 00000 n \r
+0000003147 00000 n \r
+0000003253 00000 n \r
+0000005777 00000 n \r
+0000005897 00000 n \r
+0000005972 00000 n \r
+0000006109 00000 n \r
+0000006173 00000 n \r
+0000006310 00000 n \r
+0000006447 00000 n \r
+0000006584 00000 n \r
+0000006721 00000 n \r
+0000006924 00000 n \r
+0000007127 00000 n \r
+0000007327 00000 n \r
+0000007757 00000 n \r
+0000007865 00000 n \r
+0000007916 00000 n \r
+0000007980 00000 n \r
+0000008073 00000 n \r
+0000008137 00000 n \r
+0000008295 00000 n \r
+0000008359 00000 n \r
+0000008463 00000 n \r
+0000008566 00000 n \r
+0000008630 00000 n \r
+0000008790 00000 n \r
+0000008854 00000 n \r
+0000008958 00000 n \r
+0000009021 00000 n \r
+0000009129 00000 n \r
+0000009193 00000 n \r
+0000009296 00000 n \r
+0000009360 00000 n \r
+0000009474 00000 n \r
+0000009538 00000 n \r
+0000009692 00000 n \r
+0000009756 00000 n \r
+0000009845 00000 n \r
+0000009909 00000 n \r
+0000010020 00000 n \r
+0000010084 00000 n \r
+0000010189 00000 n \r
+0000010253 00000 n \r
+0000010353 00000 n \r
+0000010417 00000 n \r
+0000010508 00000 n \r
+0000010621 00000 n \r
+0000010729 00000 n \r
+0000010835 00000 n \r
+0000011045 00000 n \r
+0000021391 00000 n \r
+0000022015 00000 n \r
+0000022148 00000 n \r
+0000022541 00000 n \r
+0000022651 00000 n \r
+trailer\r
+<<\r
+/Size 61\r
+/Root 1 0 R\r
+/Info 3 0 R\r
+>>\r
+startxref\r
+22763\r
+%%EOF\r
diff --git a/examples/fo/advanced/giro.fo b/examples/fo/advanced/giro.fo
new file mode 100644 (file)
index 0000000..128e00d
--- /dev/null
@@ -0,0 +1,1244 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+   <fo:layout-master-set>
+      <fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="first" margin-top="5mm">
+         <fo:region-body margin-bottom="4.5in" margin-right="5mm" margin-left="5mm" margin-top="5mm"/>
+         <fo:region-after extent="4in" border-top-color="silver" border-top-style="dotted" border-top-width="0.13mm"/>
+      </fo:simple-page-master>
+      <fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="rest" margin-right="5mm" margin-left="5mm" margin-top="5mm" margin-bottom="5mm">
+         <fo:region-body/>
+      </fo:simple-page-master>
+      <fo:page-sequence-master master-name="A4">
+         <fo:repeatable-page-master-alternatives>
+            <fo:conditional-page-master-reference master-reference="first" page-position="first"/>
+            <fo:conditional-page-master-reference master-reference="rest" page-position="rest"/>
+            <fo:conditional-page-master-reference master-reference="rest"/>
+         </fo:repeatable-page-master-alternatives>
+      </fo:page-sequence-master>
+   </fo:layout-master-set>
+   <fo:page-sequence master-reference="A4">
+      <fo:static-content flow-name="xsl-region-after">
+         <fo:table space-before.optimum="1in div 12" margin-left="2in div 12" margin-top="1in div 10" font-family="sans-serif" font-size="7pt" color="green">
+            <fo:table-column column-width="8in div 10 - 2in div 12"/>
+            <fo:table-column border-right-style="solid" border-right-width="0.5mm" column-width="36in div 10"/>
+            <fo:table-column column-width="5in div 10"/>
+            <fo:table-column column-width="13in div 10"/>
+            <fo:table-column column-width="18in div 10"/>
+            <fo:table-body>
+               <fo:table-row height="8in div 12 - 1in div 10">
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-right="0.5mm" padding-top="2mm" text-align="end">
+                     <fo:block>Saajan</fo:block>
+                     <fo:block>tilinumero</fo:block>
+                     <fo:block>Mottagarens</fo:block>
+                     <fo:block>kontonummer</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" display-align="center" font-size="10pt" color="black" border-bottom-color="green" padding-left="1mm">
+                     <fo:block>Merita 101710-122</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell number-columns-spanned="3" padding-right="0.5cm" padding-left="1mm" padding-top="1mm">
+                     <fo:block font-size="10pt" font-weight="bold" font-variant="small-caps">TILISIIRTO GIRERING</fo:block>
+                     <fo:block font-size="6pt" space-after.optimum="0.25em">Maksu välitetään saajalle vain Suomessa Kotimaan maksujenvälityksen yleisten ehtojen mukaisesti ja vain maksajan ilmoittaman tilinumeron perusteella.</fo:block>
+                     <fo:block font-size="6pt">Betalningen förmedlas endast till mottagare i Finland enligt Allmänna villkor för inrikes betalningsförmedling och endast till det kontonummer betalaren angivit.</fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="7in div 12">
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-right="0.5mm" padding-top="5mm" text-align="end">
+                     <fo:block>Saaja</fo:block>
+                     <fo:block>Mottagaren</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" font-size="10pt" color="black" border-bottom-color="green" display-align="center" padding-left="1mm">
+                     <fo:block>MTG Internet Retailing AB</fo:block>
+                     <fo:block>CDON</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" number-columns-spanned="3" number-rows-spanned="2" border-bottom-color="green" color="black" padding-top="1mm" padding-left="1mm">
+                     <fo:block>Markka</fo:block>
+                     <fo:block space-after.optimum="1em">[105] 11 01 71 00 00 00 12 20 54 88 31 50 00 00 86 85 16 25 96 19 89 70 60 61 60 00 09 [77] [stop]</fo:block>
+                     <fo:block>Euro</fo:block>
+                     <fo:block>[105] 21 01 71 00 00 00 12 20 54 88 31 50 00 00 86 85 16 25 96 19 89 70 60 61 60 00 06 [06] [stop]</fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="1in">
+                  <fo:table-cell padding-right="2mm" padding-top="4mm" text-align="end">
+                     <fo:block>Maksaja</fo:block>
+                     <fo:block>Betalare</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell font-size="10pt" color="black" padding-top="1mm" padding-left="1mm">
+                     <fo:block>SUOMEN PANKKIYHDISTYS</fo:block>
+                     <fo:block>Anneli Tossava</fo:block>
+                     <fo:block space-before.optimum="1em">PL 1009</fo:block>
+                     <fo:block>00101 HELSINKI</fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="4in div 12">
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-right="2mm" padding-top="1mm" padding-bottom="2in div 12" text-align="end" display-align="after">
+                     <fo:block>Allekirjoitus</fo:block>
+                     <fo:block>Underskrift</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-top="4.5mm" padding-bottom="2in div 12" display-align="after">
+                     <fo:block>
+                        <fo:leader leader-length.minimum="100%" leader-length.optimum="100%" leader-pattern="rule" rule-thickness="0.13mm"/>
+                     </fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="1mm" padding-top="1.5mm">
+                     <fo:block>Viitenro</fo:block>
+                     <fo:block>Ref.nr</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" number-columns-spanned="2" padding-left="6mm" padding-top="4mm" font-size="10pt">
+                     <fo:block color="black">86851 62596 19897 </fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="4in div 12">
+                  <fo:table-cell border-right-style="solid" border-right-width="0.13mm" border-bottom-style="solid" border-bottom-width="0.13mm" padding-right="0.5mm" padding-top="2mm" text-align="end">
+                     <fo:block>Tililtä nro</fo:block>
+                     <fo:block>Från konto nr</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-top="6mm" display-align="after">
+                     <fo:table height="3mm">
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-body>
+                           <fo:table-row height="3mm">
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell padding-left="1.7mm" padding-right="1.7mm" display-align="before">
+                                 <fo:block border-top-style="solid" border-top-width="0.5mm"/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                           </fo:table-row>
+                        </fo:table-body>
+                     </fo:table>
+                  </fo:table-cell>
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="1mm" padding-top="2mm">
+                     <fo:block>Eräpäivä</fo:block>
+                     <fo:block>Förf.dag</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="6mm" padding-top="4mm" font-size="10pt">
+                     <fo:block color="black">16.6.2006</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="2mm" padding-top="4mm" font-size="10pt">
+                     <fo:table>
+                        <fo:table-column column-width="0.5cm"/>
+                        <fo:table-column column-width="2cm"/>
+                        <fo:table-body>
+                           <fo:table-row>
+                              <fo:table-cell font-weight="bold">
+                                 <fo:block font-size="10pt" font-weight="bold">mk</fo:block>
+                              </fo:table-cell>
+                              <fo:table-cell color="black">
+                                 <fo:block text-align="end">548,83</fo:block>
+                              </fo:table-cell>
+                           </fo:table-row>
+                        </fo:table-body>
+                     </fo:table>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="13in div 12 - 5mm">
+                  <fo:table-cell number-columns-spanned="4" padding-left="40mm" display-align="after">
+                     <fo:block>
+                        <fo:table height="5in div 12" margin-left="2.5mm" margin-right="2.5mm"><!--105-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--11-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--01-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--71-->
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="1mm"/><!--00-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--00-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--00-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--12-->
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--20-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--54-->
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/><!--88-->
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--31-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--50-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--00-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--00-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--86-->
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--85-->
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--16-->
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--25-->
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--96-->
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--19-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--89-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--70-->
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--60-->
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--61-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--60-->
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--00-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/><!--09-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.75mm"/><!--77-->
+                           <fo:table-column column-width="1mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/><!--106-->
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.75mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.25mm"/>
+                           <fo:table-column column-width="0.5mm"/>
+                           <fo:table-body>
+                              <fo:table-row height="5in div 12">
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="black">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                                 <fo:table-cell background-color="white">
+                                    <fo:block/>
+                                 </fo:table-cell>
+                              </fo:table-row>
+                           </fo:table-body>
+                        </fo:table>
+                     </fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell display-align="after">
+                     <fo:block text-align="end" font-size="8pt" font-weight="bold" font-variant="small-caps">
+                        <fo:block>PANKKI</fo:block>
+                        <fo:block>BANKKEN</fo:block>
+                     </fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+            </fo:table-body>
+         </fo:table>
+         <fo:block-container height="15mm" width="7mm" top="3mm" left="8in - 5mm" position="absolute">
+            <fo:block>
+               <fo:external-graphic src="file:mk1logo.tif"/>
+            </fo:block>
+         </fo:block-container>
+      </fo:static-content>
+      <fo:flow flow-name="xsl-region-body">
+         <fo:block>TIFF logo and XSL FO table bar code</fo:block>
+      </fo:flow>
+   </fo:page-sequence>
+   <fo:page-sequence master-reference="A4">
+      <fo:static-content flow-name="xsl-region-after">
+         <fo:table space-before.optimum="1in div 12" margin-left="2in div 12" margin-top="1in div 10" font-family="sans-serif" font-size="7pt" color="green">
+            <fo:table-column column-width="8in div 10 - 2in div 12"/>
+            <fo:table-column border-right-style="solid" border-right-width="0.5mm" column-width="36in div 10"/>
+            <fo:table-column column-width="5in div 10"/>
+            <fo:table-column column-width="13in div 10"/>
+            <fo:table-column column-width="18in div 10"/>
+            <fo:table-body>
+               <fo:table-row height="8in div 12 - 1in div 10">
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-right="0.5mm" padding-top="2mm" text-align="end">
+                     <fo:block>Saajan</fo:block>
+                     <fo:block>tilinumero</fo:block>
+                     <fo:block>Mottagarens</fo:block>
+                     <fo:block>kontonummer</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" display-align="center" font-size="10pt" color="black" border-bottom-color="green" padding-left="1mm">
+                     <fo:block>Merita 101710-122</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell number-columns-spanned="3" padding-right="0.5cm" padding-left="1mm" padding-top="1mm">
+                     <fo:block font-size="10pt" font-weight="bold" font-variant="small-caps">TILISIIRTO GIRERING</fo:block>
+                     <fo:block font-size="6pt" space-after.optimum="0.25em">Maksu välitetään saajalle vain Suomessa Kotimaan maksujenvälityksen yleisten ehtojen mukaisesti ja vain maksajan ilmoittaman tilinumeron perusteella.</fo:block>
+                     <fo:block font-size="6pt">Betalningen förmedlas endast till mottagare i Finland enligt Allmänna villkor för inrikes betalningsförmedling och endast till det kontonummer betalaren angivit.</fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="7in div 12">
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-right="0.5mm" padding-top="5mm" text-align="end">
+                     <fo:block>Saaja</fo:block>
+                     <fo:block>Mottagaren</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" font-size="10pt" color="black" border-bottom-color="green" display-align="center" padding-left="1mm">
+                     <fo:block>MTG Internet Retailing AB</fo:block>
+                     <fo:block>CDON</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" number-columns-spanned="3" number-rows-spanned="2" border-bottom-color="green" color="black" padding-top="1mm" padding-left="1mm">
+                     <fo:block>Markka</fo:block>
+                     <fo:block space-after.optimum="1em">[105] 11 01 71 00 00 00 12 20 54 88 31 50 00 00 86 85 16 25 96 19 89 70 60 61 60 00 09 [77] [stop]</fo:block>
+                     <fo:block>Euro</fo:block>
+                     <fo:block>[105] 21 01 71 00 00 00 12 20 54 88 31 50 00 00 86 85 16 25 96 19 89 70 60 61 60 00 06 [06] [stop]</fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="1in">
+                  <fo:table-cell padding-right="2mm" padding-top="4mm" text-align="end">
+                     <fo:block>Maksaja</fo:block>
+                     <fo:block>Betalare</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell font-size="10pt" color="black" padding-top="1mm" padding-left="1mm">
+                     <fo:block>SUOMEN PANKKIYHDISTYS</fo:block>
+                     <fo:block>Anneli Tossava</fo:block>
+                     <fo:block space-before.optimum="1em">PL 1009</fo:block>
+                     <fo:block>00101 HELSINKI</fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="4in div 12">
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-right="2mm" padding-top="1mm" padding-bottom="2in div 12" text-align="end" display-align="after">
+                     <fo:block>Allekirjoitus</fo:block>
+                     <fo:block>Underskrift</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-top="4.5mm" padding-bottom="2in div 12" display-align="after">
+                     <fo:block>
+                        <fo:leader leader-length.minimum="100%" leader-length.optimum="100%" leader-pattern="rule" rule-thickness="0.13mm"/>
+                     </fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="1mm" padding-top="1.5mm">
+                     <fo:block>Viitenro</fo:block>
+                     <fo:block>Ref.nr</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" number-columns-spanned="2" padding-left="6mm" padding-top="4mm" font-size="10pt">
+                     <fo:block color="black">86851 62596 19897 </fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="4in div 12">
+                  <fo:table-cell border-right-style="solid" border-right-width="0.13mm" border-bottom-style="solid" border-bottom-width="0.13mm" padding-right="0.5mm" padding-top="2mm" text-align="end">
+                     <fo:block>Tililtä nro</fo:block>
+                     <fo:block>Från konto nr</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.13mm" padding-top="6mm" display-align="after">
+                     <fo:table height="3mm">
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-column border-right-style="solid" border-right-width="0.13mm" column-width="0.2in"/>
+                        <fo:table-body>
+                           <fo:table-row height="3mm">
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell padding-left="1.7mm" padding-right="1.7mm" display-align="before">
+                                 <fo:block border-top-style="solid" border-top-width="0.5mm"/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                              <fo:table-cell>
+                                 <fo:block/>
+                              </fo:table-cell>
+                           </fo:table-row>
+                        </fo:table-body>
+                     </fo:table>
+                  </fo:table-cell>
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="1mm" padding-top="2mm">
+                     <fo:block>Eräpäivä</fo:block>
+                     <fo:block>Förf.dag</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-right-style="solid" border-right-width="0.5mm" border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="6mm" padding-top="4mm" font-size="10pt">
+                     <fo:block color="black">16.6.2006</fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell border-bottom-style="solid" border-bottom-width="0.5mm" padding-left="2mm" padding-top="4mm" font-size="10pt">
+                     <fo:table>
+                        <fo:table-column column-width="0.5cm"/>
+                        <fo:table-column column-width="2cm"/>
+                        <fo:table-body>
+                           <fo:table-row>
+                              <fo:table-cell font-weight="bold">
+                                 <fo:block font-size="10pt" font-weight="bold">mk</fo:block>
+                              </fo:table-cell>
+                              <fo:table-cell color="black">
+                                 <fo:block text-align="end">548,83</fo:block>
+                              </fo:table-cell>
+                           </fo:table-row>
+                        </fo:table-body>
+                     </fo:table>
+                  </fo:table-cell>
+               </fo:table-row>
+               <fo:table-row height="13in div 12 - 5mm">
+                  <fo:table-cell number-columns-spanned="4" padding-left="40mm" display-align="after">
+                     <fo:block>
+                        <fo:instream-foreign-object>
+                        <svg xmlns="http://www.w3.org/2000/svg" width="87.75mm" height="0.4166666666666667in">
+                             <g style="fill: black; stroke: none;"><!--START-->
+                                <rect x="2.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="3.25mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="4mm" y="0" height="10mm" width="0.75mm"/><!--11-->
+                                <rect x="5.25mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="6.5mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="7.25mm" y="0" height="10mm" width="0.25mm"/><!--01-->
+                                <rect x="8mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="9mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="9.75mm" y="0" height="10mm" width="0.5mm"/><!--71-->
+                                <rect x="10.75mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="11.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="12.25mm" y="0" height="10mm" width="0.25mm"/><!--00-->
+                                <rect x="13.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="14.25mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="15.25mm" y="0" height="10mm" width="0.5mm"/><!--00-->
+                                <rect x="16.25mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="17mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="18mm" y="0" height="10mm" width="0.5mm"/><!--00-->
+                                <rect x="19mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="19.75mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="20.75mm" y="0" height="10mm" width="0.5mm"/><!--12-->
+                                <rect x="21.75mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="22.25mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="23.25mm" y="0" height="10mm" width="0.75mm"/><!--20-->
+                                <rect x="24.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="25.5mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="26.25mm" y="0" height="10mm" width="0.75mm"/><!--54-->
+                                <rect x="27.25mm" y="0" height="10mm" width="0.75mm"/>
+                                <rect x="28.25mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="28.75mm" y="0" height="10mm" width="0.5mm"/><!--88-->
+                                <rect x="30mm" y="0" height="10mm" width="1mm"/>
+                                <rect x="31.5mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="32.25mm" y="0" height="10mm" width="0.25mm"/><!--31-->
+                                <rect x="32.75mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="33.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="34.75mm" y="0" height="10mm" width="0.5mm"/><!--50-->
+                                <rect x="35.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="36.75mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="37.25mm" y="0" height="10mm" width="0.75mm"/><!--00-->
+                                <rect x="38.25mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="39mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="40mm" y="0" height="10mm" width="0.5mm"/><!--00-->
+                                <rect x="41mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="41.75mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="42.75mm" y="0" height="10mm" width="0.5mm"/><!--86-->
+                                <rect x="43.75mm" y="0" height="10mm" width="1mm"/>
+                                <rect x="45mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="45.75mm" y="0" height="10mm" width="0.25mm"/><!--85-->
+                                <rect x="46.5mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="47.25mm" y="0" height="10mm" width="1mm"/>
+                                <rect x="48.75mm" y="0" height="10mm" width="0.25mm"/><!--16-->
+                                <rect x="49.25mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="50mm" y="0" height="10mm" width="0.75mm"/>
+                                <rect x="51mm" y="0" height="10mm" width="0.5mm"/><!--25-->
+                                <rect x="52mm" y="0" height="10mm" width="0.75mm"/>
+                                <rect x="53.25mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="53.75mm" y="0" height="10mm" width="0.5mm"/><!--96-->
+                                <rect x="54.75mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="55.25mm" y="0" height="10mm" width="1mm"/>
+                                <rect x="57mm" y="0" height="10mm" width="0.25mm"/><!--19-->
+                                <rect x="57.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="58.5mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="59mm" y="0" height="10mm" width="0.75mm"/><!--89-->
+                                <rect x="60.25mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="61mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="61.75mm" y="0" height="10mm" width="1mm"/><!--70-->
+                                <rect x="63mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="63.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="65mm" y="0" height="10mm" width="0.25mm"/><!--60-->
+                                <rect x="65.75mm" y="0" height="10mm" width="0.75mm"/>
+                                <rect x="66.75mm" y="0" height="10mm" width="1mm"/>
+                                <rect x="68mm" y="0" height="10mm" width="0.25mm"/><!--61-->
+                                <rect x="68.5mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="69.5mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="70.75mm" y="0" height="10mm" width="0.25mm"/><!--60-->
+                                <rect x="71.25mm" y="0" height="10mm" width="0.75mm"/>
+                                <rect x="72.25mm" y="0" height="10mm" width="1mm"/>
+                                <rect x="73.5mm" y="0" height="10mm" width="0.25mm"/><!--00-->
+                                <rect x="74mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="74.75mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="75.75mm" y="0" height="10mm" width="0.5mm"/><!--09-->
+                                <rect x="76.75mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="77.75mm" y="0" height="10mm" width="0.25mm"/>
+                                <rect x="78.5mm" y="0" height="10mm" width="0.25mm"/><!--77-->
+                                <rect x="79.5mm" y="0" height="10mm" width="1mm"/>
+                                <rect x="80.75mm" y="0" height="10mm" width="0.75mm"/>
+                                <rect x="81.75mm" y="0" height="10mm" width="0.25mm"/><!--STOP-->
+                                <rect x="82.25mm" y="0" height="10mm" width="0.5mm"/>
+                                <rect x="83.5mm" y="0" height="10mm" width="0.75mm"/>
+                                <rect x="84.5mm" y="0" height="10mm" width="0.25mm"/>
+                             </g>
+                          </svg>
+                        </fo:instream-foreign-object>
+                     </fo:block>
+                  </fo:table-cell>
+                  <fo:table-cell display-align="after">
+                     <fo:block text-align="end" font-size="8pt" font-weight="bold" font-variant="small-caps">
+                        <fo:block>PANKKI</fo:block>
+                        <fo:block>BANKKEN</fo:block>
+                     </fo:block>
+                  </fo:table-cell>
+               </fo:table-row>
+            </fo:table-body>
+         </fo:table>
+         <fo:block-container height="15mm" width="7mm" top="3mm" left="8in - 5mm" position="absolute">
+            <fo:block>
+               <fo:instream-foreign-object>
+                  <svg xmlns="http://www.w3.org/2000/svg" width="7mm" height="15mm" viewBox="0 0 19.781 41.952">
+                     <g style="fill: #000000;">
+                        <path d="M9.925,33.731h-1.4v-6h-0.02l-1.34,6h-1.47l-1.31-6h-0.02v6h-1.4v-7.18h2.19l1.3,5.66h0.02l1.28-5.66h2.17v7.18z"/>
+                        <path d="M12.975,33.731h-1.5v-7.18h1.5v2.92l2.74-2.92h1.94l-2.93,2.94l3.1,4.24h-1.93l-2.22-3.15l-0.7,0.72v2.43z"/>
+                        <path d="M7.785,36.082h0.2c1.35,0,1.71-0.7,1.74-1.23h1.15v7.1h-1.4v-4.89h-1.69v-0.98z"/>
+                        <path d="M9.042,24.944L0,24.938V2.198l4.542-2.188l4.511,2.267L9.042,24.944z"/>
+                        <path d="M19.77,24.935l-9.042-0.006V2.188L15.27,0l4.511,2.267L19.77,24.935z"/>
+                        <path style="fill: #FFFFFF;" d="M18.149,13.747c0,4.775-3.681,8.646-8.22,8.646c-4.54,0-8.221-3.871-8.221-8.646c0-4.774,3.681-8.646,8.221-8.646c4.54,0,8.22,3.871,8.22,8.646z"/>
+                     </g>
+                     <g style="fill:none; stroke: #000000; stroke-miterlimit: 4;">
+                        <path d="M13.047,10.062c0,1.957-1.396,3.543-3.118,3.543s-3.118-1.586-3.118-3.543s1.396-3.543,3.118-3.543s3.118,1.586,3.118,3.543z"/>
+                        <path d="M13.047,17.715c0,1.957-1.396,3.543-3.119,3.543c-1.722,0-3.118-1.586-3.118-3.543c0-1.957,1.396-3.543,3.118-3.543c1.723,0,3.119,1.586,3.119,3.543z"/>
+                        <path d="M16.449,11.905c0,1.878-1.396,3.401-3.119,3.401c-1.722,0-3.118-1.523-3.118-3.401c0-1.879,1.396-3.402,3.118-3.402c1.723,0,3.119,1.523,3.119,3.402z"/>
+                        <path d="M16.449,15.873c0,1.878-1.396,3.401-3.119,3.401c-1.722,0-3.118-1.523-3.118-3.401c0-1.879,1.396-3.402,3.118-3.402c1.723,0,3.119,1.523,3.119,3.402z"/>
+                        <path d="M9.646,11.905c0,1.878-1.396,3.401-3.119,3.401c-1.722,0-3.118-1.523-3.118-3.401c0-1.879,1.396-3.402,3.118-3.402c1.723,0,3.119,1.523,3.119,3.402z"/>
+                        <path d="M9.646,15.873c0,1.878-1.396,3.401-3.119,3.401c-1.722,0-3.118-1.523-3.118-3.401c0-1.879,1.396-3.402,3.118-3.402c1.723,0,3.119,1.523,3.119,3.402z"/>
+                     </g>
+                  </svg>
+               </fo:instream-foreign-object>
+            </fo:block>
+         </fo:block-container>
+      </fo:static-content>
+      <fo:flow flow-name="xsl-region-body">
+         <fo:block>SVG logo and bar code</fo:block>
+      </fo:flow>
+   </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/alignment.fo b/examples/fo/basic/alignment.fo
new file mode 100644 (file)
index 0000000..24c4f9f
--- /dev/null
@@ -0,0 +1,207 @@
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+<fo:layout-master-set>
+  <fo:simple-page-master master-name="one">
+    <fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="20pt" margin-right="20pt" />
+  </fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence master-reference="one">
+<fo:flow flow-name="xsl-region-body">
+      <fo:block><fo:inline font-weight="bold">Ex 1:</fo:inline> This
+is a longer line of text that provides a context for the line with the images aligned on it.
+This is a line with before-edge
+<fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="50">
+  <svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="47" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 42l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="40">
+  <svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, middle<fo:instream-foreign-object vertical-align="middle">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="3" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, and no<fo:instream-foreign-object>
+<svg:svg width="25" height="40">
+  <svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
+</svg:svg>
+</fo:instream-foreign-object> alignment.
+And this is the line of text that follows the line with the aligned objects on it.
+And finally, this line illustrates the normal spacing between lines of text in this font.
+</fo:block>
+
+<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>
+
+      <fo:block><fo:inline font-weight="bold">Ex 2:</fo:inline> This
+is a longer line of text that provides a context for the line with the images aligned on it.
+This is a line with before-edge
+<fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="50">
+  <svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="47" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 42l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="40">
+  <svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, middle<fo:instream-foreign-object vertical-align="middle">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="3" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object> alignment.
+And this is the line of text that follows the line with the aligned objects on it.
+And finally, this line illustrates the normal spacing between lines of text in this font.
+</fo:block>
+
+<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>
+
+      <fo:block><fo:inline font-weight="bold">Ex 3:</fo:inline> This
+is a longer line of text that provides a context for the line with the images aligned on it.
+This is a line with before-edge
+<fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="50">
+  <svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="47" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 42l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="40">
+  <svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object> alignment.
+And this is the line of text that follows the line with the aligned objects on it.
+And finally, this line illustrates the normal spacing between lines of text in this font.
+</fo:block>
+
+<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>
+
+      <fo:block><fo:inline font-weight="bold">Ex 4:</fo:inline> This
+is a longer line of text that provides a context for the line with the images aligned on it.
+This is a line with before-edge
+<fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="40">
+  <svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="37" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 32l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="50">
+  <svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="50" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object> alignment.
+And this is the line of text that follows the line with the aligned objects on it.
+And finally, this line illustrates the normal spacing between lines of text in this font.
+</fo:block>
+
+<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>
+
+      <fo:block><fo:inline font-weight="bold">Ex 5:</fo:inline> This
+is a longer line of text that provides a context for the line with the images aligned on it.
+This is a line with before-edge
+<fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
+<svg:svg width="25" height="40">
+  <svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="0" x2="12.5" y2="37" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 32l7.5 8l7.5 -8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
+<svg:svg width="25" height="50">
+  <svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="2" x2="12.5" y2="50" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object>, middle<fo:instream-foreign-object vertical-align="middle">
+<svg:svg width="25" height="25">
+  <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
+  <svg:line x1="12.5" y1="3" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
+  <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
+  <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
+</svg:svg>
+</fo:instream-foreign-object> alignment.
+And this is the line of text that follows the line with the aligned objects on it.
+And finally, this line illustrates the normal spacing between lines of text in this font.
+</fo:block>
+
+<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/blockcontainer.fo b/examples/fo/basic/blockcontainer.fo
new file mode 100644 (file)
index 0000000..2abe4d3
--- /dev/null
@@ -0,0 +1,170 @@
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+<fo:layout-master-set>
+  <fo:simple-page-master master-name="one">
+    <fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="50pt" margin-right="50pt" />
+  </fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence master-reference="one">
+<fo:flow flow-name="xsl-region-body">
+      <fo:block text-align="center" font-size="16pt" font-weight="bold">
+        Block Containers
+      </fo:block>
+
+      <fo:block>
+        The fo:block-container object can be used to create an area with
+        a different writing mode or a different reference orientation.
+        The areas can be part of the flow or absolutely positioned.
+      </fo:block>
+
+      <fo:block>
+        This is a normal block container within the flow layout.
+        <fo:block-container>
+          <fo:block>
+              BC:A
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block>
+        This block container has a different reference orientation.
+        <fo:block-container reference-orientation="90" inline-progression-dimension="100pt">
+          <fo:block>
+              BC:B
+          </fo:block>
+          <fo:block>
+              The areas are stacked normally but the orientation of the
+              area is rotated 90 degrees anti-clockwise.
+          </fo:block>
+          <fo:block>
+              The blocks continue until exhausted as the layout
+              height of this container is fixed in the parent
+              block progression dimension. The clipping of the result
+              is determined by the overflow property. The block
+              progression dimension of this container is effectively
+              infinite.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block>
+        This block container has a different reference orientation.
+        <fo:block-container reference-orientation="270" inline-progression-dimension="100pt">
+          <fo:block>
+              BC:B II
+          </fo:block>
+          <fo:block>
+              The areas are stacked normally but the orientation of the
+              area is rotated 90 degrees clockwise.
+          </fo:block>
+          <fo:block>
+              The blocks continue until exhausted as the layout
+              height of this container is fixed in the parent
+              block progression dimension. The clipping of the result
+              is determined by the overflow property.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block>
+        This block container has a different reference orientation.
+        <fo:block-container reference-orientation="180" inline-progression-dimension="100pt">
+          <fo:block>
+              BC:B III
+          </fo:block>
+          <fo:block>
+              The areas are stacked normally but the orientation of the
+              area is rotated 180 degrees clockwise.
+          </fo:block>
+          <fo:block>
+              This block container behaves as part of the flow except
+              the contents are drawn rotated within the viewport by
+              180 degrees.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block>
+        different writing mode
+        <fo:block-container writing-mode="rl">
+          <fo:block>
+              BC:C
+          </fo:block>
+          <fo:block>
+            The areas in this block are stacked according to the rl (tb)
+            writing mode.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block>
+        The next block-container has an absolute position. It does
+        not effect the flow layout of other blocks.
+        <fo:block-container absolute-position="absolute"
+              left="20pt" top="400pt" right="220pt" bottom="550pt">
+          <fo:block>
+              BC:D
+          </fo:block>
+          <fo:block>
+            This is a normal block that is confined to the
+            block container.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block>
+        The next block-container has an absolute position. It does
+        not effect the flow layout of other blocks. This time with
+        the reference-orientation set.
+        <fo:block-container reference-orientation="270" absolute-position="absolute"
+              left="270pt" top="400pt" right="370pt" bottom="500pt">
+          <fo:block>
+              BC:E
+          </fo:block>
+          <fo:block>
+            This is a normal block that is confined to the
+            block container.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block break-after="page">
+        End of page.
+      </fo:block>
+
+      <fo:block>
+        The next block-container tests the clipping.
+        <fo:block-container reference-orientation="180" absolute-position="absolute"
+              left="100pt" top="550pt" right="200pt" bottom="700pt"
+              overflow="hidden">
+          <fo:block>
+              BC:F
+          </fo:block>
+          <fo:block>
+            This is a normal block that is confined to the
+            block container. It also has contents that are
+            larger than the block-container so that this text
+            will be clipped to the viewport.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+      <fo:block>
+        The next block-container tests error-if-overflow.
+        <fo:block-container reference-orientation="90" absolute-position="absolute"
+              left="220pt" top="600pt" right="320pt" bottom="700pt"
+              overflow="error-if-overflow">
+          <fo:block>
+              BC:G
+          </fo:block>
+          <fo:block>
+            This is a normal block that is confined to the
+            block container. It also has contents that are
+            larger than the block-container so that this text
+            will be clipped to the viewport.
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/border.fo b/examples/fo/basic/border.fo
new file mode 100644 (file)
index 0000000..7bef67c
--- /dev/null
@@ -0,0 +1,189 @@
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <fo:layout-master-set>
+        <fo:simple-page-master
+    margin-right="0.5cm" margin-left="0.5cm" margin-bottom="0.5cm" margin-top="0.75cm"
+    page-width="21cm" page-height="29.7cm" master-name="first">
+            <fo:region-body></fo:region-body>
+        </fo:simple-page-master>
+        <fo:simple-page-master
+    margin-right="2.5cm" margin-left="2.5cm" margin-bottom="2cm" margin-top="1cm"
+    page-width="21cm" page-height="29.7cm" master-name="rest">
+            <fo:region-body></fo:region-body>
+        </fo:simple-page-master>
+
+    <fo:page-sequence-master master-name="psmA">
+      <fo:repeatable-page-master-alternatives>
+        <fo:conditional-page-master-reference master-reference="first"
+          page-position="first" />
+        <fo:conditional-page-master-reference master-reference="rest"
+          page-position="rest" />
+        <!-- recommended fallback procedure -->
+        <fo:conditional-page-master-reference master-reference="rest" />
+      </fo:repeatable-page-master-alternatives>
+    </fo:page-sequence-master>
+    </fo:layout-master-set>
+    <fo:page-sequence master-reference="psmA">
+        <fo:flow flow-name="xsl-region-body">
+            <fo:block-container height="4cm" width="12cm" top="0cm" left="0cm" position="absolute">
+                <fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
+          PX7.net
+        </fo:block>
+                <fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
+          44 Liberty St
+        </fo:block>
+                <fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
+          Newburyport, MA 01950
+        </fo:block>
+                <fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
+          978-462-1152
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container height="1cm" width="6cm" top="0cm" left="14cm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="22pt" font-family="sans-serif" font-size="23pt">
+           Sales Receipt
+        </fo:block>
+            </fo:block-container>
+
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.2cm" left="13.8cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
+           DATE
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.87cm" left="13.8cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
+          01/01/2000
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.2cm" left="16.46cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
+          SALE #
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.87cm" left="16.46cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
+          1
+        </fo:block>
+            </fo:block-container>
+
+
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="8.95cm" top="3cm" left="0cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" line-height="14pt" font-family="sans-serif" font-size="12pt">
+            SOLD TO
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="3cm" width="8.95cm" top="3.67cm" left="0cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
+                </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="8.95cm" top="3cm" left="10cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
+          SHIP TO
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="3cm" width="8.95cm" top="3.67cm" left="10cm" padding=".6mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
+                </fo:block>
+            </fo:block-container>
+
+
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="7.25cm" left="10.74cm" padding="1mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
+           PMT METHOD
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="8cm" left="10.74cm" padding="1mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
+          Check
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="7.25cm" left="14.95cm" padding="1mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
+          CHECK #
+        </fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="8cm" left="14.95cm" padding="1mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
+          1234
+        </fo:block>
+            </fo:block-container>
+
+
+            <fo:block-container height="17cm" width="19cm" top="9.4cm" left="0cm" position="absolute">
+                <fo:table border-collapse="separate" border-color="yellow" border-style="solid" border-width=".6mm" height="17cm">
+                    <fo:table-column column-width="2.5cm"/>
+                    <fo:table-column column-width="11.5cm"/>
+                    <fo:table-column column-width="2.5cm"/>
+                    <fo:table-column column-width="2.5cm"/>
+                    <fo:table-body font-family="sans-serif" font-weight="normal" font-size="10pt">
+                        <fo:table-row line-height="12pt">
+                            <fo:table-cell  border-width="1pt" border-color="green" border-style="solid" padding="1mm">
+                                <fo:block text-align="end">QUANTITY</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell border-width="1pt" border-color="red" border-style="solid" padding="1mm">
+                                <fo:block text-align="start">DESCRIPTION</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell border-color="blue" border-style="solid" padding="1mm">
+                                <fo:block text-align="center">RATE</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell border-color="orange" border-style="solid" padding="1mm">
+                                <fo:block text-align="center">AMOUNT</fo:block>
+                            </fo:table-cell>
+
+                        </fo:table-row>
+                        <fo:table-row line-height="12pt">
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">1</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="start">Wide Widget</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">$22.23</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">22.31</fo:block>
+                            </fo:table-cell>
+                        </fo:table-row>
+                        <fo:table-row line-height="12pt">
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">1</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="start">Widget</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">$22.23</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">22.31</fo:block>
+                            </fo:table-cell>
+                        </fo:table-row>
+                        <fo:table-row line-height="12pt">
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">3</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="start">Nuts</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">$12.00</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="end">36.00</fo:block>
+                            </fo:table-cell>
+                        </fo:table-row>
+                    </fo:table-body>
+                </fo:table>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width="0.5mm" height="1cm" width="13.31cm" top="26.5cm" left="0cm" padding="1mm" position="absolute">
+                <fo:block text-align="start" line-height="15pt" font-family="sans-serif" font-size="12pt">Please remit to the above address</fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width="0.5mm" height="1cm" width="2.5cm" top="26.5cm" left="13.56cm" padding="1mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="25pt" font-family="sans-serif" font-size="22pt">Total</fo:block>
+            </fo:block-container>
+            <fo:block-container border-color="black" border-style="solid" border-width="0.5mm" height="1cm" width="2.5cm" top="26.5cm" left="16.31cm" padding="1mm" position="absolute">
+                <fo:block text-align="start" space-after.optimum="3pt" line-height="15pt" font-family="sans-serif" font-size="10pt">$3.00</fo:block>
+            </fo:block-container>
+        </fo:flow>
+    </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/bordershorthand.fo b/examples/fo/basic/bordershorthand.fo
new file mode 100644 (file)
index 0000000..6c52828
--- /dev/null
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations,
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+       - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+       - page-sequence-masters: have the role of describing the sequence
+                                of page-masters that will be used to generate
+                                pages during the formatting of an fo:page-sequence
+
+  -->
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.0cm + 0.5cm"
+                  margin-right="(5cm * 1cm) div 2cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="abs(-30cm + .3cm)"
+                  page-width="(10cm * 2) + 1cm"
+                  margin-top="round(.5) * 1cm"
+                  margin-bottom="round(2.4) * 1cm"
+                  margin-left="2.5 * 1cm"
+                  margin-right="5.5cm - 3cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="1em + 4pt"
+  >
+        Border and Padding Shorthand Tests - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="min(18pt,20pt)"
+            font-family="sans-serif"
+            line-height="max(24pt,18pt)"
+            space-after.optimum="5 mod 3 * 7.5pt"
+            background-color="rgb(128,128,128)"
+            color="rgb(255,255,255)"
+            text-align="center"
+            padding-top="3pt">
+  Border and Padding Shorthand Tests
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after="12pt"
+                text-align="start"
+                background-color="rgb(150,150,150)"
+                start-indent="3mm" end-indent="3mm"
+                padding-left="3mm" padding-right="3mm"
+                padding-top="4mm" padding-bottom="4mm"
+    border-style="dashed"
+                border-left-width="1pt" border-right-width="1pt"
+                border-top-width="2pt" border-bottom-width="2pt"
+                border-top-color="rgb(100,100,100)" border-bottom-color="rgb(200,200,200)">
+In this example, padding and border properties are specified using absolute  properties:
+padding-left, padding-right, padding-top, and padding-bottom, etc.
+According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
+</fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after="12pt"
+                text-align="start"
+                background-color="rgb(150,150,150)"
+                start-indent="3mm" end-indent="3mm"
+                padding="3mm + 1mm 3mm"
+    border-top="rgb(100,100,100) 1pt + 1pt dashed"
+    border-bottom="2pt rgb(200,200,200) solid"
+    border-left="solid 1pt" border-right="solid 1pt">
+In this example, padding and border properties are specified using shorthand properties:
+padding, border-width, border-color.
+According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
+</fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after="3pt"
+                text-align="start"
+                background-color="rgb(150,150,150)"
+                start-indent="3mm" end-indent="3mm"
+                padding-before="4mm" padding-after="4mm"
+                padding-start.length="3mm" padding-end.length="3mm"
+    border-style="solid"
+                border-start-width="1pt" border-end-width="1pt"
+                border-before-width="2pt" border-after-width="2pt"
+                border-before-color="rgb(100,100,100)"
+    border-after-color="rgb(200,200,200)">
+In this example, padding and border properties are specified using writing-mode relative properties:
+padding-before, padding-after, padding-start, and padding-end, etc.
+According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
+</fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after="3pt"
+                text-align="start"
+                background-color="rgb(200,200,200)"
+                start-indent="3mm" end-indent="3mm"
+    padding = "3mm"
+                padding-before="4mm" padding-after="4mm"
+    border-width = "2pt" border-style="solid"
+    border-color="black"
+                border-start-width="1pt" border-end-width="1pt"
+                border-before-width="2pt" border-after-width="2pt"
+                border-before-color="rgb(200,200,200)"
+    border-after-color="rgb(100,100,100)">
+In this example, padding and border properties are specified using
+shorthand and writing-mode relative properties:
+padding-before, padding-after, padding-start, and padding-end, etc.
+According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
+</fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/character.fo b/examples/fo/basic/character.fo
new file mode 100644 (file)
index 0000000..8771baa
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+  Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+      - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+                      In this case there is only a simple-page-master which defines the
+                      layout for all pages of the text
+  -->
+    <!-- layout information -->
+    <fo:simple-page-master master-name="simple"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+
+  <!-- start page-sequence
+       here comes the text (contained in flow objects)
+       the page-sequence can contain different fo:flows
+       the attribute value of master-name refers to the page layout
+       which is to be used to layout the text contained in this
+       page-sequence-->
+  <fo:page-sequence master-reference="simple">
+
+      <!-- start fo:flow
+           each flow is targeted
+           at one (and only one) of the following:
+           xsl-region-body (usually: normal text)
+           xsl-region-before (usually: header)
+           xsl-region-after  (usually: footer)
+           xsl-region-start  (usually: left margin)
+           xsl-region-end    (usually: right margin)
+           ['usually' applies here to languages with left-right and top-down
+            writing direction like English]
+           in this case there is only one target: xsl-region-body
+        -->
+    <fo:flow flow-name="xsl-region-body"
+                text-align="justify">
+
+      <!-- each paragraph is encapsulated in a block element
+           the attributes of the block define
+           font-family and size, line-heigth etc. -->
+
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                >
+1. Why <fo:character character="T" font-size="16pt" color="red"/><fo:character character="E" font-size="16pt" color="blue"/><fo:character character="I" font-size="16pt" color="green"/>? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
+Why T<fo:character character="E"/>I? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                >
+1. Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
+Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                >
+1. Why TEI? Using <fo:inline text-decoration="underline">TEI</fo:inline> is quite a challenge. <fo:character character="Y" font-size="16pt" />ou should use it too.
+      </fo:block>
+
+    </fo:flow> <!-- closes the flow element-->
+  </fo:page-sequence> <!-- closes the page-sequence -->
+</fo:root>
diff --git a/examples/fo/basic/corresprop.fo b/examples/fo/basic/corresprop.fo
new file mode 100644 (file)
index 0000000..565e35f
--- /dev/null
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations,
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+       - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+       - page-sequence-masters: have the role of describing the sequence
+                                of page-masters that will be used to generate
+                                pages during the formatting of an fo:page-sequence
+
+  -->
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.0cm + 0.5cm"
+                  margin-right="(5cm * 1cm) div 2cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="abs(-30cm + .3cm)"
+                  page-width="(10cm * 2) + 1cm"
+                  margin-top="round(.5) * 1cm"
+                  margin-bottom="round(2.4) * 1cm"
+                  margin-left="2.5 * 1cm"
+                  margin-right="5.5cm - 3cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="1em + 4pt" >
+        Corresponding Property Tests - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="min(18pt,20pt)"
+            font-family="sans-serif"
+            line-height="max(24pt,18pt)"
+            space-after.optimum="5 mod 3 * 7.5pt"
+            background-color="rgb(0,0,255)"
+            color="rgb(255,255,255)"
+            text-align="center"
+            padding-top="3pt">
+        Corresponding Property Tests
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after="12pt"
+                text-align="start"
+                background-color="rgb(200,200,200)"
+                start-indent="3mm" end-indent="3mm"
+                padding-left="3mm" padding-right="3mm"
+                padding-top="4mm" padding-bottom="4mm"
+                border-left-width="1pt" border-right-width="1pt"
+                border-top-width="2pt" border-bottom-width="2pt"
+                border-top-color="red" border-bottom-color="blue">
+In this example, padding and border properties are specified using absolute  properties:
+padding-left, padding-right, padding-top, and padding-bottom, etc.
+According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
+</fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after="3pt"
+                text-align="start"
+                background-color="rgb(200,200,200)"
+                start-indent="3mm" end-indent="3mm"
+                padding-before="4mm" padding-after="4mm"
+                padding-start.length="3mm" padding-end.length="3mm"
+                border-start-width="1pt" border-end-width="1pt"
+                border-before-width="2pt" border-after-width="2pt"
+                border-before-color="red" border-after-color="blue">
+In this example, padding and border properties are specified using writing-mode relative properties:
+padding-before, padding-after, padding-start, and padding-end, etc.
+According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
+</fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="start"
+    start-indent="1cm">
+  This block has a start-indent of 1cm and no borders or padding. It has
+no margin-left set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="start"
+    margin-left="1cm">
+  This block has a margin-left of 1cm and no borders or padding. It has
+no start-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="start"
+    start-indent="1cm"
+    padding-left="4mm" border-left-width="1mm">
+  This block has a start-indent of 1cm, padding-left of 4mm and border-left-width of 1mm. It has
+no margin-left set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="start"
+    margin-left="5mm"
+    padding-left="4mm" border-left-width="1mm">
+  This block has a margin-left of 5mm, padding-left of 4mm and border-left-width of 1mm. (Margin is outside the border rectangle.) It has
+no start-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="14pt"
+            font-family="serif"
+      font-weight="bold"
+            line-height="16pt"
+            space-after="6pt"
+            text-align="center"
+      break-before="page">
+        End-indent tests
+      </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="end"
+    end-indent="1cm">
+  This block has an end-indent of 1cm and no borders or padding. It has
+no margin-right set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="end"
+    margin-right="1cm">
+  This block has a margin-right of 1cm and no borders or padding. It has
+no end-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="end"
+    end-indent="1cm"
+    padding-end="4mm" border-end-width="1mm">
+  This block has an end-indent of 1cm, padding-end of 4mm and border-end-width of 1mm. It has
+no margin-right set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="end"
+    margin-right="5mm"
+    padding-right="4mm" border-right-width="1mm">
+  This block has a margin-right of 5mm, padding-right of 4mm and
+border-right-width of 1mm. (Margin is outside the border rectangle.) It has
+no end-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-before="12pt"
+                space-after="3pt"
+                text-align="end"
+    margin-right="5mm"
+    padding-end="4mm" border-end-width="1mm">
+  This block has a margin-right of 5mm, padding-end of 4mm and
+border-end-width of 1mm. (Margin is outside the border rectangle.) It has
+no end-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
+  </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/extensive.fo b/examples/fo/basic/extensive.fo
new file mode 100644 (file)
index 0000000..a1cc5c4
--- /dev/null
@@ -0,0 +1,148 @@
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+<fo:layout-master-set>
+<fo:simple-page-master master-name="one">
+<fo:region-body margin-top="50pt" margin-bottom="50pt" margin-left="100pt" margin-right="100pt"/>
+</fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence master-reference="one">
+<fo:flow flow-name="xsl-region-body">
+<fo:block>A Block</fo:block>
+<fo:block text-align="end">An End Aligned Block</fo:block>
+<fo:block text-align="center">A Centered Block</fo:block>
+<fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is default.</fo:block>
+<fo:block text-align="end">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is end.</fo:block>
+<fo:block text-align="center">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is centered.</fo:block>
+<fo:block text-align="justify">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. I'm going to keep going so I can get three lines to check how all but the last justify. There, that should do it. Alignment is justified.</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block space-before.optimum="12pt">A block with 12pt space-before</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block space-after.optimum="12pt">A block with 12pt space-after</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block with both 12pt space-before and space-after</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block start-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is a start-indent of 50pt.</fo:block>
+<fo:block end-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is an end-indent of 50pt.</fo:block>
+<fo:block start-indent="50pt" end-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is a start-indent and end-indent of 50pt.</fo:block>
+<fo:block font-size="15pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt.</fo:block>
+<fo:block line-height="20pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The line-height is set to 20pt.</fo:block>
+<fo:block font-size="15pt" line-height="20pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt and the line-height is set to 20pt.</fo:block>
+<fo:block font-size="15pt" line-height="15pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt and the line-height is set to 15pt.</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt"><fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block</fo:block></fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">And again for the page break, text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block with 50pt start-indent within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="100pt">A block with 100pt start-indent within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+<fo:list-block start-indent="50pt" provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The list-block has a start-indent of 50pt and a text-align of justified.</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a second multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a third multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block start-indent="100pt">This is a multiple line block with start-indent 100pt that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.<fo:block>This is an embedded multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+      <fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt">
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()"><fo:block>A block in a list-item-body</fo:block></fo:list-item-body>
+        </fo:list-item>
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:list-block provisional-distance-between-starts="12pt">
+              <fo:list-item>
+                <fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
+                <fo:list-item-body start-indent="body-start()"><fo:block>This is a list item in a list that is itself a list item</fo:block></fo:list-item-body>
+              </fo:list-item>
+            </fo:list-block>
+          </fo:list-item-body>
+        </fo:list-item>
+      </fo:list-block>
+      <fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Next Stage</fo:block>
+      <fo:block>Right, now we are ready to try some newly implemented things like rules. What follows is a display rule of default thickness 1pt and a space-before and space-after of 12pt.</fo:block>
+      <fo:block><fo:leader leader-pattern="rule" space-before.optimum="12pt" space-after.optimum="12pt"/></fo:block>
+      <fo:block>Now what follows is a leader of thickness 5pt with start-indent of 100pt (same space-before/after as before).</fo:block>
+      <fo:block><fo:leader leader-pattern="rule" space-before.optimum="12pt" space-after.optimum="12pt" rule-thickness="5pt" start-indent="100pt"/></fo:block>
+      <fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt"
+      ><fo:inline color="#500">C</fo:inline
+      ><fo:inline color="#700">o</fo:inline
+      ><fo:inline color="#900">l</fo:inline
+      ><fo:inline color="#B00">o</fo:inline
+      ><fo:inline color="#D00">u</fo:inline
+      ><fo:inline color="#F00">r</fo:inline
+      ></fo:block>
+      <fo:block color="black">black</fo:block>
+      <fo:block color="green">green</fo:block>
+      <fo:block color="silver">silver</fo:block>
+      <fo:block color="lime">lime</fo:block>
+      <fo:block color="gray">gray</fo:block>
+      <fo:block color="olive">olive</fo:block>
+      <fo:block color="white">white</fo:block>
+      <fo:block color="yellow">yellow</fo:block>
+      <fo:block color="maroon">maroon</fo:block>
+      <fo:block color="navy">navy</fo:block>
+      <fo:block color="red">red</fo:block>
+      <fo:block color="blue">blue</fo:block>
+      <fo:block color="purple">purple</fo:block>
+      <fo:block color="teal">teal</fo:block>
+      <fo:block color="fuchsia">fuchsia</fo:block>
+      <fo:block color="aqua">aqua</fo:block>
+      <fo:block break-before="even-page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Wrap</fo:block>
+      <fo:block space-before.optimum="12pt">This is a rather long sentence that is going to keep on going and going, not really to demonstrate anything other that normal wrapping because the following paragraph will show what happens when wrap-option is set to no-wrap.</fo:block>
+      <fo:block space-before.optimum="12pt" wrap-option="no-wrap">This is a rather long sentence that is going to keep on going and going to demonstrate what happens when wrap-option is set to no-wrap which is unlike the preceding sentence where it defaults to wrap.</fo:block>
+      <fo:block space-before.optimum="12pt" wrap-option="wrap">This is a rather long sentence that is going to keep on going and going, not really to demonstrate anything other that normal wrapping but it differs from the first of these three sentences in that wrap is set explicitly.</fo:block>
+      <fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">White Space Collapse</fo:block>
+<fo:block>This            is            default!</fo:block>
+<fo:block white-space-collapse="false">This            is            false!</fo:block>
+<fo:block white-space-collapse="true">This            is            true!</fo:block>
+<fo:block font-family="monospace"
+          white-space-collapse="false"
+          linefeed-treatment="preserve"
+          white-space-treatment="preserve"
+          wrap-option="no-wrap">
+<![CDATA[<?xml version="1.0"?>
+<document>
+    <heading>This is a heading</heading>
+    <list>
+        <item>Item one</item>
+        <item>Item two</item>
+    </list>
+</document>]]>
+</fo:block>
+      <fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Embedded SVG</fo:block>
+      <fo:block><fo:instream-foreign-object>
+        <svg:svg width="400pt" height="200pt">
+          <svg:rect style="fill:none;stroke:blue" x="20pt" y="20pt" width="100pt" height="100pt"/>
+          <svg:line x1="20pt" y1="20pt" x2="120pt" y2="120pt"/>
+          <svg:line x1="120pt" y1="20pt" x2="20pt" y2="120pt"/>
+          <svg:text x="20pt" y="150pt">Hello SVG!</svg:text>
+        </svg:svg>
+      </fo:instream-foreign-object></fo:block>
+      <fo:block>The above is an example of an SVG graphic</fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
+
diff --git a/examples/fo/basic/fonts.fo b/examples/fo/basic/fonts.fo
new file mode 100644 (file)
index 0000000..7501104
--- /dev/null
@@ -0,0 +1,195 @@
+<?xml version="1.0" ?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines the layout master -->
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="first"
+                           page-height="29.7cm"
+                           page-width="21cm"
+                           margin-top="1cm"
+                           margin-bottom="2cm"
+                           margin-left="2.5cm"
+                           margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <!-- starts actual layout -->
+  <fo:page-sequence master-reference="first">
+
+
+<fo:flow flow-name="xsl-region-body">
+
+  <fo:block font-family="Helvetica" font-size="14pt">
+Helvetica
+  </fo:block>
+  <fo:block space-after.optimum="10pt" font-family="Helvetica">
+&#x21; &#x22; &#x23; &#x24; &#x25; &#x26; &#x27; &#x28; &#x29; &#x2A;
+&#x2B; &#x2C; &#x2D; &#x2E; &#x2F; &#x30; &#x31; &#x32; &#x33; &#x34;
+&#x35; &#x36; &#x37; &#x38; &#x39; &#x3A; &#x3B; &#x3C; &#x3D; &#x3E;
+&#x3F; &#x40; &#x41; &#x42; &#x43; &#x44; &#x45; &#x46; &#x47; &#x48;
+&#x49; &#x4A; &#x4B; &#x4C; &#x4D; &#x4E; &#x4F; &#x50; &#x51; &#x52;
+&#x53; &#x54; &#x55; &#x56; &#x57; &#x58; &#x59; &#x5A; &#x5B; &#x5C;
+&#x5D; &#x5E; &#x5F; &#x60; &#x61; &#x62; &#x63; &#x64; &#x65; &#x66;
+&#x67; &#x68; &#x69; &#x6A; &#x6B; &#x6C; &#x6D; &#x6E; &#x6F; &#x70;
+&#x71; &#x72; &#x73; &#x74; &#x75; &#x76; &#x77; &#x78; &#x79; &#x7A;
+&#x7B; &#x7C; &#x7D; &#x7E; &#xA1; &#xA2; &#xA3; &#xA4; &#xA5; &#xA6;
+&#xA7; &#xA8; &#xA9; &#xAA; &#xAB; &#xAC; &#xAE; &#xAF; &#xB0; &#xB1;
+&#xB2; &#xB3; &#xB4; &#xB5; &#xB6; &#xB7; &#xB8; &#xB9; &#xBA; &#xBB;
+&#xBC; &#xBD; &#xBE; &#xBF; &#xC0; &#xC1; &#xC2; &#xC3; &#xC4; &#xC5;
+&#xC6; &#xC7; &#xC8; &#xC9; &#xCA; &#xCB; &#xCC; &#xCD; &#xCE; &#xCF;
+&#xD0; &#xD1; &#xD2; &#xD3; &#xD4; &#xD5; &#xD6; &#xD7; &#xD8; &#xD9;
+&#xDA; &#xDB; &#xDC; &#xDD; &#xDE; &#xDF; &#xE0; &#xE1; &#xE2; &#xE3;
+&#xE4; &#xE5; &#xE6; &#xE7; &#xE8; &#xE9; &#xEA; &#xEB; &#xEC; &#xED;
+&#xEE; &#xEF; &#xF0; &#xF1; &#xF2; &#xF3; &#xF4; &#xF5; &#xF6; &#xF7;
+&#xF8; &#xF9; &#xFA; &#xFB; &#xFC; &#xFD; &#xFE; &#xFF;
+&#x0152; &#x0153; &#x0160; &#x0161; &#x0178;
+&#x017D; &#x017E; &#x0192; &#x02DC; &#x2013; &#x2014; &#x2018;
+&#x2019; &#x201A; &#x201C; &#x201D; &#x201E; &#x2020; &#x2021;
+&#x2022; &#x2026; &#x2030; &#x2039; &#x203A; &#x2122;
+  </fo:block>
+
+  <fo:block font-family="Helvetica"  font-size="14pt">
+Times Roman
+  </fo:block>
+  <fo:block space-after.optimum="10pt" font-family="Times Roman">
+&#x21; &#x22; &#x23; &#x24; &#x25; &#x26; &#x27; &#x28; &#x29; &#x2A;
+&#x2B; &#x2C; &#x2D; &#x2E; &#x2F; &#x30; &#x31; &#x32; &#x33; &#x34;
+&#x35; &#x36; &#x37; &#x38; &#x39; &#x3A; &#x3B; &#x3C; &#x3D; &#x3E;
+&#x3F; &#x40; &#x41; &#x42; &#x43; &#x44; &#x45; &#x46; &#x47; &#x48;
+&#x49; &#x4A; &#x4B; &#x4C; &#x4D; &#x4E; &#x4F; &#x50; &#x51; &#x52;
+&#x53; &#x54; &#x55; &#x56; &#x57; &#x58; &#x59; &#x5A; &#x5B; &#x5C;
+&#x5D; &#x5E; &#x5F; &#x60; &#x61; &#x62; &#x63; &#x64; &#x65; &#x66;
+&#x67; &#x68; &#x69; &#x6A; &#x6B; &#x6C; &#x6D; &#x6E; &#x6F; &#x70;
+&#x71; &#x72; &#x73; &#x74; &#x75; &#x76; &#x77; &#x78; &#x79; &#x7A;
+&#x7B; &#x7C; &#x7D; &#x7E; &#xA1; &#xA2; &#xA3; &#xA4; &#xA5; &#xA6;
+&#xA7; &#xA8; &#xA9; &#xAA; &#xAB; &#xAC; &#xAE; &#xAF; &#xB0; &#xB1;
+&#xB2; &#xB3; &#xB4; &#xB5; &#xB6; &#xB7; &#xB8; &#xB9; &#xBA; &#xBB;
+&#xBC; &#xBD; &#xBE; &#xBF; &#xC0; &#xC1; &#xC2; &#xC3; &#xC4; &#xC5;
+&#xC6; &#xC7; &#xC8; &#xC9; &#xCA; &#xCB; &#xCC; &#xCD; &#xCE; &#xCF;
+&#xD0; &#xD1; &#xD2; &#xD3; &#xD4; &#xD5; &#xD6; &#xD7; &#xD8; &#xD9;
+&#xDA; &#xDB; &#xDC; &#xDD; &#xDE; &#xDF; &#xE0; &#xE1; &#xE2; &#xE3;
+&#xE4; &#xE5; &#xE6; &#xE7; &#xE8; &#xE9; &#xEA; &#xEB; &#xEC; &#xED;
+&#xEE; &#xEF; &#xF0; &#xF1; &#xF2; &#xF3; &#xF4; &#xF5; &#xF6; &#xF7;
+&#xF8; &#xF9; &#xFA; &#xFB; &#xFC; &#xFD; &#xFE; &#xFF; &#x0152;
+&#x0153; &#x0160; &#x0161; &#x0178; &#x017D; &#x017E; &#x0192;
+&#x02DC; &#x2013; &#x2014; &#x2018; &#x2019; &#x201A;
+&#x201C; &#x201D; &#x201E; &#x2020; &#x2021; &#x2022; &#x2026;
+&#x2030; &#x2039; &#x203A; &#x2122;
+  </fo:block>
+
+  <fo:block font-family="Helvetica"  font-size="14pt">
+Courier
+  </fo:block>
+  <fo:block space-after.optimum="10pt" font-family="Courier">
+&#x21; &#x22; &#x23; &#x24; &#x25; &#x26; &#x27; &#x28; &#x29; &#x2A;
+&#x2B; &#x2C; &#x2D; &#x2E; &#x2F; &#x30; &#x31; &#x32; &#x33; &#x34;
+&#x35; &#x36; &#x37; &#x38; &#x39; &#x3A; &#x3B; &#x3C; &#x3D; &#x3E;
+&#x3F; &#x40; &#x41; &#x42; &#x43; &#x44; &#x45; &#x46; &#x47; &#x48;
+&#x49; &#x4A; &#x4B; &#x4C; &#x4D; &#x4E; &#x4F; &#x50; &#x51; &#x52;
+&#x53; &#x54; &#x55; &#x56; &#x57; &#x58; &#x59; &#x5A; &#x5B; &#x5C;
+&#x5D; &#x5E; &#x5F; &#x60; &#x61; &#x62; &#x63; &#x64; &#x65; &#x66;
+&#x67; &#x68; &#x69; &#x6A; &#x6B; &#x6C; &#x6D; &#x6E; &#x6F; &#x70;
+&#x71; &#x72; &#x73; &#x74; &#x75; &#x76; &#x77; &#x78; &#x79; &#x7A;
+&#x7B; &#x7C; &#x7D; &#x7E; &#xA1; &#xA2; &#xA3; &#xA4; &#xA5; &#xA6;
+&#xA7; &#xA8; &#xA9; &#xAA; &#xAB; &#xAC; &#xAE; &#xAF; &#xB0; &#xB1;
+&#xB2; &#xB3; &#xB4; &#xB5; &#xB6; &#xB7; &#xB8; &#xB9; &#xBA; &#xBB;
+&#xBC; &#xBD; &#xBE; &#xBF; &#xC0; &#xC1; &#xC2; &#xC3; &#xC4; &#xC5;
+&#xC6; &#xC7; &#xC8; &#xC9; &#xCA; &#xCB; &#xCC; &#xCD; &#xCE; &#xCF;
+&#xD0; &#xD1; &#xD2; &#xD3; &#xD4; &#xD5; &#xD6; &#xD7; &#xD8; &#xD9;
+&#xDA; &#xDB; &#xDC; &#xDD; &#xDE; &#xDF; &#xE0; &#xE1; &#xE2; &#xE3;
+&#xE4; &#xE5; &#xE6; &#xE7; &#xE8; &#xE9; &#xEA; &#xEB; &#xEC; &#xED;
+&#xEE; &#xEF; &#xF0; &#xF1; &#xF2; &#xF3; &#xF4; &#xF5; &#xF6; &#xF7;
+&#xF8; &#xF9; &#xFA; &#xFB; &#xFC; &#xFD; &#xFE; &#xFF; &#x0152;
+&#x0153; &#x0160; &#x0161; &#x0178; &#x017D;
+&#x017E; &#x0192; &#x02DC; &#x2013; &#x2014; &#x2018;
+&#x2019; &#x201A; &#x201C; &#x201D; &#x201E; &#x2020; &#x2021;
+&#x2022; &#x2026; &#x2030; &#x2039; &#x203A; &#x2122;
+  </fo:block>
+
+  <fo:block font-family="Helvetica"  font-size="14pt">
+ ZapfDingbats:
+  </fo:block>
+  <fo:block space-after.optimum="10pt" font-family="ZapfDingbats">
+&#x2701; &#x2702; &#x2703; &#x2704; &#x260E; &#x2706; &#x2707;
+&#x2708; &#x2709; &#x261B; &#x261E; &#x270C; &#x270D; &#x270E;
+&#x270F; &#x2710; &#x2711; &#x2712; &#x2713; &#x2714; &#x2715;
+&#x2716; &#x2717; &#x2718; &#x2719; &#x271A; &#x271B; &#x271C;
+&#x271D; &#x271E; &#x271F; &#x2720; &#x2721; &#x2722; &#x2723;
+&#x2724; &#x2725; &#x2726; &#x2727; &#x2605; &#x2729; &#x272A;
+&#x272B; &#x272C; &#x272D; &#x272E; &#x272F; &#x2730; &#x2731;
+&#x2732; &#x2733; &#x2734; &#x2735; &#x2736; &#x2737; &#x2738;
+&#x2739; &#x273A; &#x273B; &#x273C; &#x273D; &#x273E; &#x273F;
+&#x2740; &#x2741; &#x2742; &#x2743; &#x2744; &#x2745; &#x2746;
+&#x2747; &#x2748; &#x2749; &#x274A; &#x274B; &#x25CF; &#x274D;
+&#x25A0; &#x274F; &#x2750; &#x2751; &#x2752; &#x25B2; &#x25BC;
+&#x25C6; &#x2756; &#x25D7; &#x2758; &#x2759; &#x275A; &#x275B;
+&#x275C; &#x275D; &#x275E; &#x2761; &#x2762; &#x2763; &#x2764;
+&#x2765; &#x2766; &#x2767; &#x2663; &#x2666; &#x2665; &#x2660;
+&#x2460; &#x2461; &#x2462; &#x2463; &#x2464; &#x2465; &#x2466;
+&#x2467; &#x2468; &#x2469; &#x2776; &#x2777; &#x2778; &#x2779;
+&#x277A; &#x277B; &#x277C; &#x277D; &#x277E; &#x277F; &#x2780;
+&#x2781; &#x2782; &#x2783; &#x2784; &#x2785; &#x2786; &#x2787;
+&#x2788; &#x2789; &#x278A; &#x278B; &#x278C; &#x278D; &#x278E;
+&#x278F; &#x2790; &#x2791; &#x2792; &#x2793; &#x2794; &#x2192;
+&#x2194; &#x2195; &#x2798; &#x2799; &#x279A; &#x279B; &#x279C;
+&#x279D; &#x279E; &#x279F; &#x27A0; &#x27A1; &#x27A2; &#x27A3;
+&#x27A4; &#x27A5; &#x27A6; &#x27A7; &#x27A8; &#x27A9; &#x27AA;
+&#x27AB; &#x27AC; &#x27AD; &#x27AE; &#x27AF; &#x27B1; &#x27B2;
+&#x27B3; &#x27B4; &#x27B5; &#x27B6; &#x27B7; &#x27B8; &#x27B9;
+&#x27BA; &#x27BB; &#x27BC; &#x27BD; &#x27BE; &#xF8E0; &#xF8DE;
+&#xF8E3; &#xF8DD; &#xF8D7; &#xF8E1; &#xF8DB; &#xF8D8; &#xF8DF;
+&#xF8DA; &#xF8D9; &#xF8DC; &#xF8E4; &#xF8E2;
+  </fo:block>
+
+  <fo:block font-family="Helvetica"  font-size="14pt">
+ Symbol:
+  </fo:block>
+  <fo:block space-after.optimum="10pt" font-family="Symbol">
+&#x21; &#x23; &#x25; &#x26; &#x28; &#x29; &#x2B; &#x2C; &#x2E; &#x2F;
+&#x30; &#x31; &#x32; &#x33; &#x34; &#x35; &#x36; &#x37; &#x38; &#x39;
+&#x3A; &#x3B; &#x3C; &#x3D; &#x3E; &#x3F; &#x5B; &#x5D; &#x5F; &#x6D;
+&#x7B; &#x7C; &#x7D; &#xAC; &#xB0; &#xB1; &#xB5; &#xD7; &#xF7;
+&#x0192; &#x0391; &#x0392; &#x0393; &#x0395; &#x0396; &#x0397;
+&#x0398; &#x0399; &#x039A; &#x039B; &#x039C; &#x039D; &#x039E;
+&#x039F; &#x03A0; &#x03A1; &#x03A3; &#x03A4; &#x03A5; &#x03A6;
+&#x03A7; &#x03A8; &#x03B1; &#x03B2; &#x03B3; &#x03B4; &#x03B5;
+&#x03B6; &#x03B7; &#x03B8; &#x03B9; &#x03BA; &#x03BB; &#x03BD;
+&#x03BE; &#x03BF; &#x03C0; &#x03C1; &#x03C2; &#x03C3; &#x03C4;
+&#x03C5; &#x03C6; &#x03C7; &#x03C8; &#x03C9; &#x03D1; &#x03D2;
+&#x03D5; &#x03D6; &#x2022; &#x2026; &#x2032; &#x2033; &#x2044;
+&#x2111; &#x2118; &#x211C; &#x2126; &#x2135; &#x2190; &#x2191;
+&#x2192; &#x2193; &#x2194; &#x21B5; &#x21D0; &#x21D1; &#x21D2;
+&#x21D3; &#x21D4; &#x2200; &#x2202; &#x2203; &#x2205; &#x2206;
+&#x2207; &#x2208; &#x2209; &#x220B; &#x220F; &#x2211; &#x2212;
+&#x2217; &#x221A; &#x221D; &#x221E; &#x2220; &#x2227; &#x2228;
+&#x2229; &#x222A; &#x222B; &#x2234; &#x223C; &#x2245; &#x2248;
+&#x2260; &#x2261; &#x2264; &#x2265; &#x2282; &#x2283; &#x2284;
+&#x2286; &#x2287; &#x2295; &#x2297; &#x22A5; &#x22C5; &#x2320;
+&#x2321; &#x2329; &#x232A; &#x25CA; &#x2660; &#x2663; &#x2665;
+&#x2666; &#xF6D9; &#xF6DA; &#xF6DB; &#xF8E5; &#xF8E6; &#xF8E7;
+&#xF8E8; &#xF8E9; &#xF8EA; &#xF8EB; &#xF8EC; &#xF8ED; &#xF8EE;
+&#xF8EF; &#xF8F0; &#xF8F1; &#xF8F2; &#xF8F3; &#xF8F4; &#xF8F5;
+&#xF8F6; &#xF8F7; &#xF8F8; &#xF8F9; &#xF8FA; &#xF8FB; &#xF8FC;
+&#xF8FD; &#xF8FE;
+  </fo:block>
+
+  <fo:block font-family="Helvetica"  font-size="12pt">
+ Some special characters:
+  </fo:block>
+  <fo:block space-after.optimum="10pt" font-family="Helvetica">
+Euro ( dec 8364, hex 20AC): &#x20AC;
+  </fo:block>
+
+
+  <fo:block space-after.optimum="10pt" font-family="Helvetica">
+
+  </fo:block>
+
+</fo:flow>
+</fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/basic/hyphen.fo b/examples/fo/basic/hyphen.fo
new file mode 100644 (file)
index 0000000..bd5d426
--- /dev/null
@@ -0,0 +1,428 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+  Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+      - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+                      In this case there is only a simple-page-master which defines the
+                      layout for all pages of the text
+  -->
+    <!-- layout information -->
+    <fo:simple-page-master master-name="simple"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="7cm"
+                  margin-right="3cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+
+  <!-- start page-sequence
+       here comes the text (contained in flow objects)
+       the page-sequence can contain different fo:flows
+       the attribute value of master-name refers to the page layout
+       which is to be used to layout the text contained in this
+       page-sequence-->
+  <fo:page-sequence master-reference="simple">
+
+      <!-- start fo:flow
+           each flow is targeted
+           at one (and only one) of the following:
+           xsl-region-body (usually: normal text)
+           xsl-region-before (usually: header)
+           xsl-region-after  (usually: footer)
+           xsl-region-start  (usually: left margin)
+           xsl-region-end    (usually: right margin)
+           ['usually' applies here to languages with left-right and top-down
+            writing direction like English]
+           in this case there is only one target: xsl-region-body
+        -->
+    <fo:flow flow-name="xsl-region-body"
+                text-align="justify">
+
+      <!-- each paragraph is encapsulated in a block element
+           the attributes of the block define
+           font-family and size, line-heigth etc. -->
+
+      <!-- this defines a title -->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="3pt">
+        Hyphenation tests
+      </fo:block>
+
+      <!-- this defines a title -->
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            line-height="12pt"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        US English
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="justify"
+                language="en"
+                country="US"
+                hyphenate="true"
+                hyphenation-push-character-count="2"
+                hyphenation-remain-character-count="2"                                >
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="justify"
+                language="en"
+                country="US"
+                hyphenate="true"
+                hyphenation-push-character-count="2"
+                hyphenation-remain-character-count="2"                     >
+        This document specifies a syntax created by subsetting an existing, widely used international text processing standard
+        (Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
+        is a product of the W3C XML Activity, details of which can be found at the w3c website. A list of current W3C
+        Recommendations and other technical documents can be found there too.
+      </fo:block>
+
+
+      <!-- this defines a title -->
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            line-height="12pt"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        German
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                language="de"
+                hyphenate="true"
+                hyphenation-push-character-count="2"
+                hyphenation-remain-character-count="2"                >
+        1. Warum TEI?
+        Die Verwendungszeit elektronischer Editionen wird von mehreren
+        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
+        ihrer Darstellung verwendet werden, der etwas längeren der
+        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
+        der logischen Einrichtung des Datenträgers, auf dem sich die
+        Edition befindet, und dessen physischer Dauer. Um die besonders
+        unangenehme Abhängigkeit elektronischer Texte von bestimmten
+        Programmen und Betriebssystemen zu vermeiden, haben
+        Wissenschaftler ein Textauszeichnungssystem für philologische
+        Belange entwickelt, das nach dem Entwicklerteam "Text Encoding
+        Initiative" (TEI) genannt wird (1).
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                language="de"
+                hyphenate="true">
+        Das Auszeichnungssystem TEI ist eine Anwendung der Metasprache
+        zur Beschreibung programmunabhängiger Auszeichnungssysteme SGML
+        (Standard Generalized Markup Language), so wie auch HTML, mit
+        dem die meisten Texte des Internets zur Zeit ausgezeichnet
+        sind, eine Anwendung von SGML ist. Daten, die entsprechend den
+        TEI-Richtlinien ausgezeichnet worden sind, können also mit
+        jedem Programm, das SGML-Daten verarbeiten kann, dargestellt,
+        umgewandelt oder durchsucht werden. (2)
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                language="de"
+                hyphenate="true">
+
+        Verwendet wurde für die Auszeichnung 'teilite', das eine
+        Teilmenge des gesamten Auszeichnungssystems TEI bietet, aber
+        auf einige der komplexeren Merkmale verzichtet und deshalb auch
+        eine einfache Konvertierung der Daten zu neueren Metasprachen
+        für Auszeichnungssysteme wie XML, einer Teilmenge von SGML,
+        ermöglicht.
+        SGML-Programme mit der Leistungsfähigkeit von Folio Views sind
+        z.Zt. noch relativ teuer, daher wurde für die vorliegende
+        Edition der Weg gewählt, den Text doppelt auf die CD zu legen:
+        Einmal für die sofortige Nutzung mit einer komfortablen
+        Oberfläche und einmal ohne Software in einem Format, das seine
+        langfristige Verwendbarkeit garantiert.
+        Das Nachstehende soll einige Hinweise zur Einrichtung der TEI-
+        Dateien geben, um deren weitere Verwendung zu erleichtern.
+      </fo:block>
+
+
+
+      <!-- Finnish example sent in by Jarno  Elovirta -->
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            line-height="12pt"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        Finnish
+      </fo:block>
+
+        <fo:block language="fi"
+                  hyphenate="true">
+          <fo:block font-weight="bold">Internet - tuo kaiken pahan lähde?</fo:block>
+          <fo:block>Internet on saanut nauttia lähes täydellisestä sananvapaudesta koko
+          olemassaolonsa ajan. Parin viimeiksi kuluneen vuoden aikana on kuitenkin
+          julkisuudessa keskusteltu ahkerasti sen rajoittamisesta. Muutamat ilmaista
+          kotisivutilaa tarjoavat palvelut ovatkin jo kieltäneet esimerkiksi natsimia
+          kannattavien sivujen ylläpidon.</fo:block> <fo:block>Astetta pahempaan
+          suuntaan ollaan kuitenkin menossa. Nettihuutokaupoissa tarjotaan kaikkea
+          ihmiselimistä lähtien ja itsemurhiin etsitään avustajia itsemurhia suosivilta
+          nettisivustoilta. Etelä-Koreassa poliisi on pidättänyt 20-vuotiaan miehen,
+          jota epäillään ns. netti-itsemurhassa avustamisesta. Mies oli luvannut noin
+          4000 dollarin korvausta vastaan kuristaa 23-vuotiaan naisen kuoliaaksi. Nainen
+          tuli kuitenkin viime hetkellä toisiin ajatuksiin. Mies väittää kyseessä olleen
+          pelkän vitsin. Viime kuussa Etelä-Koreassa kaksi opiskelijaa myrkytti itsensä
+          netistä löytämiensä ohjeiden avulla.</fo:block> <fo:block>FBI puolestaan
+          tutkii tapausta, jossa äiti oli myynyt kaksostytöt adoptoitavaksi korkeinta
+          tarjousta vastaan nettihuutokaupalla. Tytöt myytiin ensin Kaliforniaan Allenin
+          pariskunnalle, josta äiti kuitenkin kävi ryöstämässä lapset, sillä
+          englantilainen Kilshawin pariskunta oli tarjonnut tytöistä tuplasumman.
+          Kilshawit kuljettivat lapset Englantiin ja nyt tyttöjen perässä ovat sekä
+          kahdet adoptiovanhemmat että iso liuta eri viranomaistahoja. Myös
+          Iso-Britannian pääministeri Tony Blair on pitänyt lehdistötilaisuuden
+          aiheeseen liittyen. Lue juttu.</fo:block> <fo:block>K2, 23:10. Lähde:
+          Newsbytes | 5 kommenttia</fo:block> <fo:block font-weight="bold">Mato ryömii
+          Linux-palvelimiin</fo:block> <fo:block>Internetissä leviää Ramen nimellä
+          tunnettu mato, joka ilmeisesti hyödyntää kahta tunnettua tietoturva-aukkoa Red
+          Hat Linuxin 6.2 ja 7.0 versioissa esiintyvissä wu-ftpd ja RPC.statd
+          -ohjelmissa. Jos mato pääsee sisään järjestelmään, se korvaa palvelimella
+          sijaitsevan HTML-pääsivun tekstillä, jossa kerrotaan hakkereiden pitävän
+          nuudeleista. Madon on todettu leviävän erittäin nopeasti, sillä jos kaistaa
+          riittää se pystyy skannaamaan jopa kaksi B-luokan verkkoa 15 minuutissa. Madon
+          ei ole todettu avaavan palvelimiin takaovia, joiden kautta madon kirjoittaja
+          pääsisi sisään järjestelmään. Lue juttu</fo:block> <fo:block>oma, 20:48.
+          Lähde: ZDNet | 6 kommenttia</fo:block> <fo:block font-weight="bold">Macromedia
+          ja Allaire yhdistyvät</fo:block> <fo:block>Macromedian ja Allairen
+          julkaisemissa lehdistötiedotteissa kerrotaan yhtiöiden
+          yhdistymissuunnitelmista. Macromedialle yrityskauppa maksaa noin 2,2 miljardia
+          markkaa. Uuden yhdistyneen yrityksen nimenä säilyy Macromedia ja sen johdossa
+          jatkaa Macromedian nykyinen toimitusjohtaja Rob Burgess. Yrityksen tuotteisiin
+          lukeutuvat mm. Macromedia Dreamweaver, Macromedia Flash, Allaire ColdFusion ja
+          Allaire JRun. Lue juttu.</fo:block>
+        </fo:block>
+
+      <!-- Italian example sent in by Stéphane Bline-->
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            line-height="12pt"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        Italian
+      </fo:block>
+
+        <fo:block language="it"
+                  hyphenate="true">
+        <fo:block
+        space-before.optimum="0.6em" space-before.minimum="0.4em"
+        space-before.maximum="0.8em">Un'applicazione di servizio consiste nell'utilizzo
+        di applicazioni nell'ambito aziendale, senza procedere ad installazioni locali.
+        L'applicazione ha la particolaritàdi essere ospitata "in-house" tramite
+        Intranet o presso un fornitore esterno di applicazioni di servizi (ASP, acronimo
+        di Application Service Provider) e di transitare grazie al protocollo di
+        Internet. Intermediario eventuale tra l'editore di software e il cliente che
+        desidera utilizzarli, il provider permette agli utenti di accedere ai vari
+        programmi, previo contratto d'abbonamento.</fo:block> <fo:block
+        space-before.optimum="0.6em" space-before.minimum="0.4em"
+        space-before.maximum="0.8em">L'utilizzazione in linea rende automatica la
+        manutenzione e l'aggiornamento delle applicazioni. A partire da una semplice
+        interfaccia Web installata su un thin client, l'utente può accedere via
+        Internet o Intranet all'insieme delle applicazioni attraverso il proprio account
+        personale e dedicarsi all'utilizzazione approfondita delle applicazioni
+        professionali.</fo:block> <fo:block font-weight="bold"
+        space-after.optimum="6pt">Esempio 1.1. Esempio di applicazione di
+        servizio</fo:block> <fo:block space-before.optimum="0.6em"
+        space-before.minimum="0.4em" space-before.maximum="0.8em">Si prenda il caso di
+        una societàA che desidera ottimizzare la comunicazione interna e la
+        condivisione delle informazioni. Un fornitore di applicazioni di servizio
+        potràrispondere rapidamente a questa aspettativa. Inoltre, potràproporre
+        servizi complementari che permettono di proteggere i dati di A. Dopo aver
+        studiato l'offerta, un responsabile della società firma con il fornitore B un
+        contratto d'abbonamento a un'applicazione di servizio perfettamente adattata. Le
+        società e B scambiano informazioni relative all'utilizzo online di questa
+        applicazione, come il costo del servizio, le modalitàdi pagamento e la gestione
+        degli account utente come i profili.</fo:block> </fo:block>
+
+
+      <!-- this defines a title -->
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            line-height="12pt"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        Danish
+      </fo:block>
+        <fo:block language="da"
+                  hyphenate="true">
+        Bekendtgørelsen har som udkast været
+        notificeret i overensstemmelse med Europa-parlamentets og Rådets direktiv
+        98/34/EF (Informationsproceduredirektivet), som senest ændret ved direktiv
+        98/48/EF. Bekendtgørelsen indeholder bestemmelser der gennemfører dele af
+        Rådets direktiv 89/677/EØF (EF-tidende L 398 s. 19).
+        </fo:block>
+
+        <fo:block language="da"
+                  hyphenate="true">
+        Bekendtgørelsens regler hindrer
+        ikke import, salg og anvendelse af produkter, der på tidspunktet for
+        bekendtgørelsens ikrafttræden er reguleret i medfør af anden lovgivning,
+        der implementerer EU-direktiver, samt anden lovgivning i øvrigt, herunder
+        bl.a. bekendtgørelse nr. 807 af 2. december 1986 om
+        begrænsning af motorbenzins indhold af blyforbindelser og benzen.
+        </fo:block>
+        <fo:block language="da"
+                  hyphenate="true">
+        Import og salg af produkter, der
+        indeholder kemiske forbindelser af bly, er forbudt fra 1. marts 2001.
+        Uanset forbudet i stk.
+        1 er import og salg af produkter, der indeholder kemiske forbindelser af
+        bly, fortsat tilladt for de produktkategorier, som er nævnt i bilag
+        1 til denne bekendtgørelse, indtil de i bilaget anførte
+        tidspunkter.
+        </fo:block>
+
+
+      <!-- this defines a title -->
+      <fo:block font-size="12pt"
+            font-family="Palatino"
+            line-height="12pt"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        Norwegian
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                language="no"
+                hyphenate="true">
+
+       <fo:block>
+Av forståelige grunner har året 1814 vært av de mest omdiskuterte i norsk historieforskning.
+Med denne bibliografien vil man for første gang få en samlet oversikt over den viktigste
+historiske litteraturen omkring dette året og dets mangslungne begivenheter. Likevel har det
+vært en tilnærmet umulig oppgave å få med absolutt alt som er skrevet om Riksforsamlingen og
+Grunnloven i monografier, erindringsverker, bygdebøker, brevsamlinger, tidsskrifter og
+aviser helt fra 1814 og til i dag. Bibliografien er et forsøk på å samle de viktigste
+arbeider om 1814 som kan være av interesse både for forskere og for et bredt
+historieinteressert publikum. I denne korte historiografien vil det bli gjort rede for
+hvordan dette spennende året er blitt forstått og fortolket av norske og nordiske
+historikere gjennom fem ulike tidsepoker.
+       </fo:block>
+  <fo:block>
+Litteraturen om 1814 kan klassifiseres på flere måter. Grovt sett går det et skille mellom
+tre genrer: historiske oversiktsverker, historiske spesialstudier, erindringer og dagbøker
+og kilde- og dokumentutgivelser. Av oversiktsverker peker de store Norgeshistoriene seg ut
+med sin relativt omfattende behandling av 1814: Nevnes kan
+<fo:inline font-style="italic">Norges historie fremstillet for
+det norske folk</fo:inline>, bd. VI.1 (1913),
+<fo:inline font-style="italic">Det norske folks liv og historie</fo:inline> bd. VII (1933),
+<fo:inline font-style="italic">Vårt folks historie</fo:inline> bd. 6 (1964),
+<fo:inline font-style="italic">Cappelens Norges historie</fo:inline> bd. 9 (1978) og
+<fo:inline font-style="italic">Aschehougs Norgeshistorie</fo:inline> bd. 7 (1996). Disse oversiktene er i vesentlig grad bygd på den omfattende
+spesiallitteraturen i bok- eller artikkelform som har et meget vidt spenn, fra biografier
+over lokale Eidsvollsmenn til krigshistoriske analyser av felttoget. Mye tidligere skjult
+kunnskap er dessuten blitt hentet ut fra dagbøkene til sentrale aktører. Endelig har den
+lange rekken av kildeutgivelser hatt stor betydning for forskningen omkring 1814 og bidratt
+til å endre forskningsbildet flere ganger.
+       </fo:block>
+  <fo:block font-weight="bold">
+1814-1864
+       </fo:block>
+  <fo:block>
+Det norske samfunnet etter 1814 ble rekonstruert på den nye Grunnlovens grunn, og vernet om
+den stod sentralt i den politiske kampen de neste 25 årene. Til tross for dette må man kunne
+si at dokumentasjonen av hva som egentlig hadde skjedd i 1814 i mange år forble temmelig
+beskjeden. Historiene levde, men da helst muntlig eller gjennom private brev og dagbøker.
+Dette var kanskje en uunngåelig konsekvens av omstendighetene. Landet var fattig på kultur,
+forleggere og historikere, og de politiske og økonomiske realiteter kalte mer på praktisk
+fornuft enn på idealistisk pasjon. Det forekom å være en lang vei fra den nasjonale raptus
+under de lyse vårukene på et grønnende Eidsvoll til den mer prosaiske og realpolitiske
+aksept av union og svenskekonge i et høstlig og tåketungt Christiania. Det var den nye
+Grunnloven av 4. november 1814 som gjaldt og regulerte det norske samfunnet, supplert av
+Riksakten av 1815.
+       </fo:block>
+  <fo:block>
+Riksforsamlingens forhandlinger i 1814 ble utgitt i 6 hefter allerede samme år av de valgte
+redaktører, professor Georg Sverdrup, professor Ludvig Stoud Platou og tollprokurør
+Christopher Omsen. At de ikke ble reprodusert i de følgende år, hadde sammenheng med den
+svenske holdningen. Forhandlingene på det ekstraordinære Storting ble utgitt både i 1815 og
+igjen i 1835, men Carl Johan oppfattet lenge interessen for Riksforsamlingen og 17. mai-
+Grunnloven som en indirekte underkjenning av unionsverket og kongens politiske autoritet.
+Etter påtrykk fra ham prøvde norske myndigheter å sette en stopper for offentlig feiring av
+17. mai helt frem til midten av 1830-årene.
+       </fo:block>
+  <fo:block>
+Rimeligvis ble da forholdet til Danmark snarere enn forholdet til Sverige ett av de første
+alvorlige stridsspørsmål i perioden. Presten og Eidsvollsmannen Nicolai Wergeland ble
+beryktet for den danskfiendtlige og unionsvennlige posisjon han inntok i boken
+<fo:inline font-style="italic">En sandfærdig Beretning om Danmarks politiske Forbrydelser imod Kongeriget Norge
+</fo:inline> (anonymt, 1816) som
+fulgte nasjonalhistorien helt opp til Kielfreden. Skriftet vakte debatt og kraftige
+reaksjoner ikke minst blant det gamle selvstendighetsparti. Blant annet publiserte Christian
+Magnus Falsen to motskrifter i 1817. Falsen prøvde også å popularisere Grunnlovens innhold
+for den mindre "oplyste" borgerklasse og allmue gjennom skriftet
+<fo:inline font-style="italic">Norges Grundlov gjennemgaaet i Spørgs-maal og Svar
+</fo:inline> (1818, forkortet versjon 1825). Men det må kunne påstås
+at den mer detaljerte historien om grunnlovsverkets tilblivelse og første fase lenge ble
+stående i noe av et halvmørke både for det alminnelige folk og for de nye generasjoner, og
+at dette skyldtes den politiske situasjonen. Det var Nicolai Wergeland som leverte selve
+pionerarbeidet blant de personlige kildesamlingene,
+<fo:inline font-style="italic">Fortrolige Breve til en Ven, Skrevne fra
+Eidsvold i Aaret 1814</fo:inline> (anonymt, 1830). Men det var først da det unionspolitiske klimaet
+mildnet etter 1837 at det ble åpnet for en grundigere historisk analyse av Grunnlovens
+forhistorie og tilblivelse.
+       </fo:block>
+      </fo:block>
+    </fo:flow> <!-- closes the flow element-->
+  </fo:page-sequence> <!-- closes the page-sequence -->
+</fo:root>
diff --git a/examples/fo/basic/images.fo b/examples/fo/basic/images.fo
new file mode 100644 (file)
index 0000000..1f5ec27
--- /dev/null
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root font-family="Times Roman" font-size="12pt" text-align="center" xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+<fo:layout-master-set>
+<fo:simple-page-master master-name="right"
+  margin-top="75pt" margin-bottom="25pt" margin-left="100pt" margin-right="50pt">
+  <fo:region-body margin-bottom="50pt"/>
+  <fo:region-after extent="25pt"/>
+</fo:simple-page-master>
+
+<fo:simple-page-master master-name="left"
+  margin-top="75pt" margin-bottom="25pt" margin-left="50pt" margin-right="100pt">
+  <fo:region-body margin-bottom="50pt"/>
+  <fo:region-after extent="25pt"/>
+</fo:simple-page-master>
+
+<fo:page-sequence-master master-name="psmOddEven" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="right"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="left"
+      odd-or-even="even" />
+    <fo:conditional-page-master-reference master-reference="right"
+      odd-or-even="odd" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+</fo:layout-master-set>
+
+<fo:page-sequence id="N2528" master-reference="psmOddEven">
+
+<fo:static-content flow-name="xsl-region-after">
+  <fo:block text-align-last="center" font-size="10pt">
+    <fo:page-number/>
+  </fo:block>
+</fo:static-content>
+
+<fo:flow flow-name="xsl-region-body">
+<fo:block font-size="18pt" font-weight="bold">1. FOP test for images</fo:block>
+<fo:block id="N2531">
+  <fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A GIF image in FOP</fo:block>
+  <fo:block>
+    <fo:external-graphic src="file:../graphics/xml_feather.gif"/>
+  </fo:block>
+</fo:block>
+<fo:block id="N2535">
+  <fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A transparent GIF image in FOP</fo:block>
+  <fo:block>
+    <fo:external-graphic src="file:../graphics/xml_feather_transparent.gif"/>
+  </fo:block>
+</fo:block>
+<fo:block id="N2545">
+  <fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A JPEG image in FOP</fo:block>
+  <fo:block>
+    <fo:external-graphic src="file:../graphics/fop.jpg"/>
+  </fo:block>
+</fo:block>
+<fo:block id="N2550">
+  <fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A BMP image in FOP</fo:block>
+  <fo:block>
+    <fo:external-graphic src="file:../graphics/linux.bmp"/>
+  </fo:block>
+</fo:block>
+<fo:block id="N2559">
+  <fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em"/>
+  This section is only required to show that the layout still works.
+</fo:block>
+</fo:flow>
+</fo:page-sequence>
+
+<fo:page-sequence id="N2561" master-reference="psmOddEven">
+<fo:static-content flow-name="xsl-region-after">
+<fo:block text-align-last="center" font-size="10pt">
+<fo:page-number/></fo:block>
+</fo:static-content>
+<fo:flow flow-name="xsl-region-body">
+<fo:block font-size="18pt" font-weight="bold">A. Appendix</fo:block></fo:flow>
+</fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/basic/inhprop.fo b/examples/fo/basic/inhprop.fo
new file mode 100644 (file)
index 0000000..766c3b6
--- /dev/null
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations,
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+       - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+       - page-sequence-masters: have the role of describing the sequence
+                                of page-masters that will be used to generate
+                                pages during the formatting of an fo:page-sequence
+
+  -->
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.0cm + 0.5cm"
+                  margin-right="(5cm * 1cm) div 2cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="abs(-30cm + .3cm)"
+                  page-width="(10cm * 2) + 1cm"
+                  margin-top="round(.5) * 1cm"
+                  margin-bottom="round(2.4) * 1cm"
+                  margin-left="2.5 * 1cm"
+                  margin-right="5.5cm - 3cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="1em + 4pt" >
+        Property Function Tests - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="min(18pt,20pt)"
+            font-family="sans-serif"
+            line-height="max(24pt,18pt)"
+            space-after.optimum="5 mod 3 * 7.5pt"
+            background-color="rgb(0,0,255)"
+            color="rgb(255,255,255)"
+            text-align="center"
+            padding-top="3pt">
+        Property Function Tests
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="floor(16.3) * 1pt"
+            font-family="sans-serif"
+            line-height="2pt * ceiling(9.3)"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+      keep-with-next.within-page="always"
+      keep-together.within-page="always"
+            padding-top="3pt">
+  Function: object from-parent( <fo:inline font-weight='bold'>NCName</fo:inline>)
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after="3pt"
+          keep-together="auto"
+                text-align="start">
+The from-parent function returns a computed value of the property
+whose name matches the argument specified. The value returned is that
+for the parent of the formatting object for which the expression is
+evaluated. If there is no parent, the value returned is the initial
+value. If the argument specifies a shorthand property and if the
+expression only consists of the from-parent function with an argument
+matching the property being computed, it is interpreted as an
+expansion of the shorthand with each property into which the shorthand
+expands, each having a value of from-parent with an argument matching
+the property. It is an error if arguments matching a shorthand
+property are used in any other way.
+        <fo:block font-size="from-parent(font-size) - 2pt"
+                font-family="sans-serif"
+    space-before="from-parent(space-after)"
+                text-align="center">
+     Here is a nested block with font-size =
+from-parent(font-size) - 2pt.
+Since its parent has font-size=12pt, that should mean 10pt. It should
+keep the line height of 1.25em, which means 12.5pt leading. It's
+space-before value is set to the space-after value from its
+parent. Note that neither of these are inheritable. Does it look right?
+        </fo:block>
+        <fo:block font-size="from-parent(font-size) + 2pt"
+          space-before="2pt"
+          space-after="from-parent(space-after)"
+                font-family="sans-serif"
+    start-indent="from-parent(start-indent) + 1cm"
+    end-indent="from-parent(end-indent) + 1cm"
+                text-align="end"
+    background-color="black" color="rgb(50%,50%,50%)">
+Here is a nested block with text 2pt larger than its parent (that
+should be 14pt). This parent is indented 1cm on both start and end
+directions with respect to the values from its parent (which aren't
+specified, so they default to 0.0). The color is set to 50% (using the
+rgb function with % arguements, and the background color for this
+block is black (specified as a keyword). In this block, we'll put an
+<fo:inline color='inherited-property-value(background-color)'
+background-color='inherited-property-value(color)'>inline object</fo:inline>
+whose background and foreground colors invert those of its containing
+block. This uses the <fo:inline
+font-style='oblique'>inherited-property-value</fo:inline>
+function. Here's an <fo:inline color='black' background-color='white'>inline
+object</fo:inline> with fixed colors (black on white). That doesn't
+work either. Guess it's not my problem... So let's try it with font
+sizes. In this block, we'll put an
+<fo:inline font-size='inherited-property-value(font-size)+2pt'>inline
+object whose font-size is 2 pt bigger than its parent's font-size.</fo:inline></fo:block>
+      </fo:block>
+      <fo:block font-size="12pt"
+          space-before="6pt"
+    line-height="1em + 2pt"
+                font-family="sans-serif"
+                text-align="start"
+    background-color="rgb(50%,50%,50%)">
+  An outer block with 12 pt text on 14 pt leading, default color
+and 50% grey background color. Test inherited color changes with
+nested blocks.
+      <fo:block  color='from-parent(background-color)'
+  background-color='from-parent(color)'>
+  Interchange color and background color using from-parent function.
+        </fo:block>
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/instream.fo b/examples/fo/basic/instream.fo
new file mode 100644 (file)
index 0000000..20a7401
--- /dev/null
@@ -0,0 +1,114 @@
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+<fo:layout-master-set>
+  <fo:simple-page-master master-name="one">
+    <fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="50pt" margin-right="50pt" />
+  </fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence master-reference="one">
+<fo:flow flow-name="xsl-region-body">
+      <fo:block>This is used to show how foreign objects are placed in a line area.</fo:block>
+      <fo:block>
+        Some block text to separate instream objects.
+      </fo:block>
+      <fo:block>
+        Some text before
+<fo:instream-foreign-object>
+<svg:svg width="20" height="20">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+        and some after the svg element.
+      </fo:block>
+      <fo:block>
+        A text line below the instream object.
+      </fo:block>
+      <fo:block>
+<fo:instream-foreign-object>
+<svg:svg width="250" height="50">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+    <svg:text style="font-family:Helvetica;fill:blue" x="10" y="30">SVG placed in a block</svg:text>
+</svg:svg>
+</fo:instream-foreign-object>
+      </fo:block>
+      <fo:block>
+        A text line below the block.
+      </fo:block>
+      <fo:block>
+        A text line with an instream foreign object that is before the line break.
+<fo:instream-foreign-object>
+<svg:svg width="50" height="50">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+     <svg:rect style="fill:none;stroke:black" x="0" y="0" width="49" height="49"/>
+</svg:svg>
+</fo:instream-foreign-object>
+With some text on the next line. With a bit more text to go over the to the next line.
+      </fo:block>
+      <fo:block>
+        A text line with an instream foreign object that is after the line break.
+With some text on the next line. With a bit
+<fo:instream-foreign-object>
+<svg:svg width="50" height="50">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+     <svg:rect style="fill:none;stroke:black" x="0" y="0" width="49" height="49"/>
+</svg:svg>
+</fo:instream-foreign-object>
+more text to go over the to the next line.
+      </fo:block>
+      <fo:block>
+        A text line with an instream foreign object that is over the line break.
+With some text
+<fo:instream-foreign-object>
+<svg:svg width="50" height="50">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+     <svg:rect style="fill:none;stroke:black" x="0" y="0" width="49" height="49"/>
+</svg:svg>
+</fo:instream-foreign-object>
+on the next line. With a bit more text to go over the to the next line to
+see it handles it properly.
+      </fo:block>
+      <fo:block>
+          The next block has an instream object wider than the area.
+      </fo:block>
+      <fo:block>
+<fo:instream-foreign-object>
+<svg:svg width="550" height="50">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+     <svg:rect style="fill:none;stroke:black" x="0" y="0" width="549" height="49"/>
+    <svg:text x="10" y="30">SVG placed in a really wide block</svg:text>
+</svg:svg>
+</fo:instream-foreign-object>
+      </fo:block>
+      <fo:block>
+          This block has an instream object wider than the area after this text
+<fo:instream-foreign-object>
+<svg:svg width="550" height="50">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+     <svg:rect style="fill:none;stroke:black" x="0" y="0" width="549" height="49"/>
+    <svg:text style="font-family:Helvetica" x="10" y="30">SVG placed in a really wide block</svg:text>
+</svg:svg>
+</fo:instream-foreign-object>
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/leader.fo b/examples/fo/basic/leader.fo
new file mode 100644 (file)
index 0000000..cc378b3
--- /dev/null
@@ -0,0 +1,786 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- examples for the use of the fo leader -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+
+    <!-- page layout -->
+    <fo:simple-page-master master-name="first"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="2.5cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body/>
+    </fo:simple-page-master>
+
+
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="first">
+
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- Normal text -->
+      <fo:block font-size="16pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+                background-color="blue"
+                color="white"
+                >
+        Leader examples
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        fo:leader is mainly used a) in table-of-contents to generate sequences of "." glyphs that separate titles from page numbers
+        b) to create entry fields in fill-in-the-blank forms c) to create horizontal rules for use as separators. You
+        define the look and use of fo:leader with the property "leader-pattern". It can have the following values: a) space. This
+        just creates an space. b) dots. This creates a sequence of "." c) rule. This creates a line. d) use-content. This creates a
+        repeating pattern of the content of fo:leader.
+      </fo:block>
+
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        The dimensions of fo:leader are determined by the compound property leader-length. It consists of the
+        3 sub values: leader-length.minimum (default = 0), leader-length.optimum (default = 12pt), leader-length.maximum
+        (default = 100%). If you want to make sure, that leader-length has a fixed size, you should use the compound
+        property (p.e. leader-length="5cm"). If you want to fill the rest of the remaining space with dots in a table of
+        content, you can use the default values.
+      </fo:block>
+
+      <fo:block font-size="14pt"
+                font-family="sans-serif"
+                line-height="17pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start"
+                background-color="blue"
+                color="white">
+        leader with leader-pattern="space"
+      </fo:block>
+
+      <!-- Inserts a leader (space)   -->
+      <fo:block text-align="start">Entry 1
+        <fo:leader leader-pattern="space"
+                   leader-length="6cm"/>p. 12
+      </fo:block>
+
+      <!-- Inserts a leader (space)   -->
+      <fo:block text-align="start">Entry 2
+        <fo:leader leader-pattern="space"
+                   leader-length="6cm"/>p. 24
+      </fo:block>
+
+      <!-- Inserts a leader (space)   -->
+      <fo:block text-align="start">Left side
+        <fo:leader leader-pattern="space"
+                   leader-length="5.5cm"/>middle
+        <fo:leader leader-pattern="space"
+                   leader-length="5.5cm"/>right side
+      </fo:block>
+
+
+      <fo:block font-size="14pt"
+                font-family="sans-serif"
+                line-height="17pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start"
+                background-color="blue"
+                color="white"
+                >
+        Using fo:leader with leader-pattern="dots"
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        There are two properties which allow you to specify the looks of the dotted line. First
+        "leader-pattern-width". It specifies the length of one dot and the space up to the next dot.
+        Second leader-alignment. It can be used to make sure, the dots in different lines are parallel (only value "reference-area"
+        is supported).
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 1
+        <fo:leader leader-pattern="dots"
+                   leader-length="6cm"/>p. 12
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 2
+        <fo:leader leader-pattern="dots"
+                   leader-length="6cm"/>p. 24
+      </fo:block>
+
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        Using fo:leader with leader-pattern="dots" and leader-pattern-width="5pt" and "8pt"
+       </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 1
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="5pt"
+                   leader-length="6cm"/>p. 12
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 2
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="5pt"
+                   leader-length="6cm"/>p. 24
+      </fo:block>
+
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 1
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-length="6cm"/>p. 12
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 2
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-length="6cm"/>p. 24
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        Using fo:leader with leader-pattern="dots" in a list
+      </fo:block>
+
+      <fo:block text-align="start"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        Using fo:leader with leader-pattern="dots", leader-pattern-width="5pt" and "8pt", leader-alignment="reference-area"
+       </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 1
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="5pt"
+                   leader-alignment="reference-area"
+                   leader-length="6cm"/>p. 12
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 2
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="5pt"
+                   leader-alignment="reference-area"
+                   leader-length="6cm"/>p. 24
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 3 is longer
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="5pt"
+                   leader-alignment="reference-area"
+                   leader-length="6cm"/>p. 36
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 4 is even longer
+        <fo:leader leader-pattern="dots"
+                   leader-alignment="reference-area"
+                   leader-pattern-width="5pt"
+                   leader-length="6cm"/>p. 48
+      </fo:block>
+
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">1
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-length="6cm"
+                   leader-alignment="reference-area"/>p. 12
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 2
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-length="6cm"
+                   leader-alignment="reference-area"/>p. 24
+      </fo:block>
+
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 3 is longer
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-length="6cm"
+                   leader-alignment="reference-area"/>p. 36
+      </fo:block>
+
+      <!-- Inserts a leader (dots)   -->
+      <fo:block text-align="start">Entry 4 is even longer
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-length="6cm"
+                   leader-alignment="reference-area"/>p. 48
+      </fo:block>
+
+
+
+
+      <!-- list start -->
+      <!-- use provisional-distance-between-starts to define
+           the distance between the start of the label and the item text
+
+           use provisional-label-separation to define the distance between
+           the end of the item label and the start of item text
+      -->
+      <fo:list-block provisional-distance-between-starts="0.3cm"
+                     provisional-label-separation="0.15cm">
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-size="10pt" font-family="Symbol">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <!-- Inserts a leader (dots)   -->
+              <fo:block text-align="start">Entry 1
+                <fo:leader leader-pattern="dots"
+                           leader-pattern-width="5pt"
+                           leader-length="6cm"/>p. 12
+              </fo:block>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-size="10pt" font-family="Symbol">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <!-- Inserts a leader (dots)   -->
+              <fo:block text-align="start">Entry 2
+                <fo:leader leader-pattern="dots"
+                           leader-pattern-width="5pt"
+                           leader-length="6cm"/>p. 24
+              </fo:block>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+    </fo:list-block>
+    <!-- list end -->
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        Using fo:leader with leader-pattern="dots" in a table
+      </fo:block>
+
+
+    <!-- table start -->
+    <fo:table>
+      <fo:table-column column-width="20mm"/>
+      <fo:table-column column-width="60mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>Entry 1</fo:block></fo:table-cell>
+          <fo:table-cell >
+              <fo:block text-align="start">
+                <fo:leader leader-pattern="dots"
+                           leader-pattern-width="8pt"
+                           leader-length="6cm"/>
+              </fo:block>
+          </fo:table-cell>
+          <fo:table-cell ><fo:block>p. 12</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>Entry 2 </fo:block></fo:table-cell>
+          <fo:table-cell >
+              <fo:block text-align="start">
+                <fo:leader leader-pattern="dots"
+                           leader-pattern-width="8pt"
+                           leader-length="6cm"/>
+              </fo:block>
+          </fo:table-cell>
+          <fo:table-cell ><fo:block>p. 24</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>Entry 3 </fo:block></fo:table-cell>
+          <fo:table-cell >
+              <fo:block text-align="start">
+                <fo:leader leader-pattern="dots"
+                           leader-pattern-width="8pt"
+                           leader-length="6cm"/>
+              </fo:block>
+          </fo:table-cell>
+          <fo:table-cell ><fo:block>p. 36</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+
+
+      <fo:block text-align="center"
+                   font-size="15pt"
+                   space-before.optimum="16pt"
+                   space-after.optimum="12pt">
+      Table of Content
+      </fo:block>
+
+      <fo:block text-align="start"
+                   font-size="10pt"
+                   space-after.optimum="12pt">
+      shows the use of leader properties in combination to build a table of content.
+      Following values are used for the leader:
+      leader-pattern="dots"
+      leader-pattern-width="8pt"
+      leader-alignment="reference-area"
+      no leader-length is specified, so the default values are used (min: 0, opt: 12pt, max: 100%)
+      </fo:block>
+
+
+      <!-- Here starts the table -->
+      <fo:table>
+        <fo:table-column column-width="1cm"/>
+        <fo:table-column column-width="14.2cm"/>
+        <fo:table-column column-width="0.3cm"/>
+        <fo:table-body font-size="12pt" font-family="sans-serif">
+
+        <fo:table-row line-height="12pt">
+        <fo:table-cell><fo:block text-align="end">A) </fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="start">This is some longer sample text<fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-alignment="reference-area"
+                   /></fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="end">1</fo:block></fo:table-cell>
+        </fo:table-row>
+
+
+        <fo:table-row line-height="12pt">
+        <fo:table-cell><fo:block text-align="end">B) </fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="start">Some text<fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-alignment="reference-area"
+                   /></fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="end">2</fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row line-height="12pt">
+        <fo:table-cell><fo:block text-align="end" >C) </fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="start">Text<fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-alignment="reference-area"
+                   /></fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="end">3</fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row line-height="12pt">
+        <fo:table-cell><fo:block text-align="end">D) </fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="start">This text is even longer than the first entry <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-alignment="reference-area"
+                   /></fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="end">4</fo:block></fo:table-cell>
+        </fo:table-row>
+
+        <fo:table-row line-height="12pt">
+        <fo:table-cell><fo:block text-align="end">E) </fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="start">Shorter text example<fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-alignment="reference-area"
+                   /></fo:block></fo:table-cell>
+        <fo:table-cell><fo:block text-align="end">5</fo:block></fo:table-cell>
+        </fo:table-row>
+
+        </fo:table-body>
+      </fo:table>
+
+
+
+
+
+
+      <fo:block font-size="14pt"
+                font-family="sans-serif"
+                line-height="17pt"
+                space-before.optimum="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+                background-color="blue"
+                color="white"
+                >
+        Leader with leader-pattern="rule"
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="start">text before the rule (start)
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="3.0pt"
+                   leader-length="6cm"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt"
+                   start-indent="1.5cm"
+                   end-indent="2cm"
+                   background-color="blue"
+                   color="yellow"/>
+        text after the rule
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center">text before the rule (center)
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="3.0pt"
+                   leader-length="6cm"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt"
+                   start-indent="1.5cm"
+                   end-indent="2cm"
+                   background-color="blue"
+                   color="yellow"/>
+        text after the rule
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="end">text before the rule (end)
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="3.0pt"
+                   leader-length="6cm"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt"
+                   start-indent="1.5cm"
+                   end-indent="2cm"
+                   background-color="blue"
+                   color="yellow"/>
+        text after the rule
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        Here are some fo:leader with the property rule and different rule styles
+        (solid, dashed, dotted, double, groove, ridge the last one with colored backgrounds
+        to the effect)
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="1pt"
+                   leader-length="6cm"/>
+      </fo:block>
+
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+
+        <fo:leader leader-pattern="rule"
+                   leader-length="6cm"
+                   rule-thickness="1pt"
+                   rule-style="dashed"/>
+      </fo:block>
+
+
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   leader-length="6cm"
+                   rule-style="dotted"
+                   rule-thickness="1pt"/>
+      </fo:block>
+
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   leader-length="6cm"
+                   rule-thickness="2pt"
+                   rule-style="double"/>
+      </fo:block>
+
+      <fo:block text-align="center" background-color="silver"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   leader-length="6cm"
+                   rule-thickness="1pt"
+                   rule-style="groove"
+                   color="black" />
+      </fo:block>
+
+      <fo:block text-align="center" background-color="silver"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   leader-length="6cm"
+                   rule-thickness="1pt"
+                   rule-style="ridge"
+                   color="black" />
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        Here are 4 fo:leader with increasing rule-thickness (1pt, 2pt, 3pt, 4pt)
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="1.0pt"
+                   leader-length="6cm"/>
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="2.0pt"
+                   leader-length="6cm"/>
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="3.0pt"
+                   leader-length="6cm"/>
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="4.0pt"
+                   leader-length="6cm"/>
+      </fo:block>
+
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-before.optimum="5pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        Here are 4 fo:leader with increasing rule-thickness (1pt, 2pt, 3pt, 4pt) and leader-length: 25%, 50%, 75%, 100%
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="1.0pt"
+                   leader-length="25%"/>
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="2.0pt"
+                   leader-length="50%"/>
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="3.0pt"
+                   leader-length="75%"/>
+      </fo:block>
+
+      <!-- Inserts a leader (rule). Because leader is an inline fo you have
+           to wrap it into a block element  -->
+      <fo:block text-align="center"
+                   space-before.optimum="12pt"
+                   space-after.optimum="12pt">
+        <fo:leader leader-pattern="rule"
+                   rule-thickness="4.0pt"
+                   leader-length="100%"/>
+      </fo:block>
+
+
+      <fo:block text-align="center"
+                   font-size="15pt"
+                   space-before.optimum="16pt"
+                   space-after.optimum="12pt">
+      Using leader in combination with justified text
+      </fo:block>
+
+
+      <fo:block text-align="justify">Here is some longer text. Here is some longer text.
+      Here is some longer text. Here comes the leader (dots width 8pt):
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="8pt"
+                   leader-length="5cm"/>Here is some longer text. Here is some longer text.
+      Here is some longer text. Here is some longer text. Here is some longer text.
+      </fo:block>
+
+      <fo:block text-align="justify">Here is some longer text. Here is some longer text.
+      Here is some longer text. Here comes the leader (dots width 5pt):
+        <fo:leader leader-pattern="dots"
+                   leader-pattern-width="5pt"
+                   leader-length="5cm"/>Here is some longer text. Here is some longer text.
+      Here is some longer text. Here is some longer text. Here is some longer text.
+      </fo:block>
+
+      <fo:block text-align="justify">Here is some longer text. Here is some longer text.
+      Here is some longer text. Here comes the leader (dots):
+        <fo:leader leader-pattern="dots"
+                   leader-length="5cm"/>Here is some longer text. Here is some longer text.
+      Here is some longer text. Here is some longer text. Here is some longer text.
+      </fo:block>
+
+
+      <fo:block text-align="justify">Here is some longer text. Here is some longer text.
+      Here is some longer text. Here comes the leader (rule):
+        <fo:leader leader-pattern="rule"
+                   leader-length="5cm"/>Here is some longer text. Here is some longer text.
+      Here is some longer text. Here is some longer text. Here is some longer text.
+      </fo:block>
+
+      <fo:block text-align="justify">Here is some longer text. Here is some longer text.
+      Here is some longer text. Here comes the leader (space):
+        <fo:leader leader-pattern="space"
+                   leader-length="5cm"/>Here is some longer text. Here is some longer text.
+      Here is some longer text. Here is some longer text. Here is some longer text.
+      </fo:block>
+
+      <fo:block space-before.optimum="15pt" font-weight="bold" font-size="14pt">
+        Use-Content
+      </fo:block>
+
+      <fo:block space-before.optimum="8pt" font-size="12pt">
+        The following examples show Leader with "use-content".
+        The inline areas from the context of the leader are
+        repeated until the lenght of the leader. The
+        "leader-pattern-width" can be used to set the width
+        of each repeated pattern element. <fo:inline font-style="italic">
+        If this width is less than the inline areas then the width
+        of the inline areas is used.</fo:inline>
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" text-align="start">Characters:
+        <fo:leader leader-pattern="use-content">abcd</fo:leader>
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" text-align="start">Set width:
+        <fo:leader leader-pattern="use-content"
+            leader-pattern-width="50pt">abcd</fo:leader>
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" text-align="start">Small Width:
+        <fo:leader leader-pattern="use-content"
+                   leader-pattern-width="2pt">abcd</fo:leader>
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" text-align="start">SVG:
+        <fo:leader leader-pattern="use-content">
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
+<rect x="0" y="0" width="5" height="5" style="fill:red"/>
+<rect x="5" y="5" width="5" height="5" style="fill:black"/>
+</svg>
+</fo:instream-foreign-object>
+        </fo:leader>
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" text-align="start">Mixed:
+        <fo:leader leader-pattern="use-content">
+abc
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
+<rect x="0" y="0" width="5" height="5" style="fill:red"/>
+<rect x="5" y="5" width="5" height="5" style="fill:black"/>
+</svg>
+</fo:instream-foreign-object>
+        </fo:leader>
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" text-align="start">Mixed:
+        <fo:leader leader-pattern="use-content">
+abc
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
+<rect x="0" y="0" width="5" height="5" style="fill:red"/>
+<rect x="5" y="5" width="5" height="5" style="fill:black"/>
+</svg>
+</fo:instream-foreign-object>
+def
+        </fo:leader>
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/link.fo b/examples/fo/basic/link.fo
new file mode 100644 (file)
index 0000000..805d258
--- /dev/null
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="first"
+                           page-height="29.7cm" page-width="21cm"
+                           margin-top="1cm"
+                           margin-bottom="2cm"
+                           margin-left="2.5cm"
+                           margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="first">
+
+    <!-- text body -->
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- Normal text -->
+      <fo:block text-align="center">0. Normal text without link
+      </fo:block>
+
+
+      <!-- Normal text -->
+      <fo:block text-align="center"
+                font-family="serif">1. <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">---</fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">
+        2. A one line example (text-align='start'): <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">---</fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="start" hyphenate="true" language="en">
+        3. A multiline text (text-align='start'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">---</fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">
+        4. A multiline text (text-align='centered'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">---</fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="end">
+        5. A multiline text (text-align='end'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">---</fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="justify" hyphenate="true" language="en">
+        6. A multiline text (text-align='justify'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="center">---</fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="start"
+                space-before.optimum="6pt"
+                line-height="24pt"
+                font-family="serif"
+                padding-top="3pt"
+                >
+        7. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable <fo:basic-link external-destination="normal.pdf">generic</fo:basic-link> SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="start"
+                space-before.optimum="6pt"
+                line-height="24pt"
+                font-family="serif"
+                padding-top="3pt"
+                >
+        8. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif, padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable <fo:basic-link external-destination="normal.pdf">generic</fo:basic-link> SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block text-align="start"
+                space-before.optimum="6pt"
+                line-height="24pt"
+                font-family="serif"
+                padding-top="3pt"
+                >
+        9. Linking to a specific page of an external:
+        <fo:basic-link external-destination="extensive.pdf#page=1">extensive.pdf, Page 2</fo:basic-link>.
+      </fo:block>
+
+      <!-- Normal text -->
+<!--      <fo:block text-align="start"
+                space-before.optimum="6pt"
+                line-height="24pt"
+                font-family="serif"
+                padding-top="3pt"
+                >
+        8. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif, padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable <fo:basic-link external-destination="normal.pdf">generic</fo:basic-link> SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+-->
+
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/list.fo b/examples/fo/basic/list.fo
new file mode 100644 (file)
index 0000000..b9e1035
--- /dev/null
@@ -0,0 +1,2690 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- example for use of list elements
+  At the beginning the page layout is set.
+  Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions
+
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+      - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+                      In this case there is only a simple-page-master which defines the
+                      layout for all pages of the text
+  -->
+    <!-- layout information -->
+    <fo:simple-page-master master-name="simple"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="2cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="0cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+
+  <!-- start page-sequence
+       here comes the text (contained in flow objects)
+       the page-sequence can contain different fo:flows
+       the attribute value of master-name refers to the page layout
+       which is to be used to layout the text contained in this
+       page-sequence-->
+  <fo:page-sequence master-reference="simple">
+
+      <!-- start fo:flow
+           each flow is targeted
+           at one (and only one) of the following:
+           xsl-region-body (usually: normal text)
+           xsl-region-before (usually: header)
+           xsl-region-after  (usually: footer)
+           xsl-region-start  (usually: left margin)
+           xsl-region-end    (usually: right margin)
+           ['usually' applies here to languages with left-right and top-down
+            writing direction like English]
+           in this case there is only one target: xsl-region-body
+        -->
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- each paragraph is encapsulated in a block element
+           the attributes of the block define
+           font-family and size, line-heigth etc. -->
+
+      <!-- this defines a title level 1-->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="3pt">
+        How to use list elements
+      </fo:block>
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center">
+        A simple list with bullets in list-item-label
+      </fo:block>
+
+
+      <!-- list -->
+      <fo:list-block >
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+      <!-- code -->
+      <fo:block font-size="10pt"
+                font-family="Courier"
+                line-height="10pt"
+                text-align="start"
+                space-before.optimum="3cm"
+                white-space-collapse="false"
+                linefeed-treatment="preserve"
+                white-space-treatment="preserve"
+                wrap-option="no-wrap">
+<![CDATA[<!-- list start -->
+<fo:list-block>
+  <!-- list item -->
+  <fo:list-item>
+    <!-- insert a bullet -->
+    <fo:list-item-label end-indent="label-end()">
+      <fo:block>
+        <fo:inline font-family="Symbol">&#183;</fo:inline>
+      </fo:block>
+    </fo:list-item-label>
+    <!-- list text -->
+    <fo:list-item-body start-indent="body-start()">
+      <fo:block>
+        here is text in the list item body
+      </fo:block>
+    </fo:list-item-body>
+  </fo:list-item>
+
+  [other list items...]
+
+
+</fo:list-block>
+<!-- end list -->
+]]>
+
+</fo:block>
+
+      <!-- code ends -->
+
+
+<!-- ***************************** Next page ************************ -->
+
+
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        Doing it better
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            space-before.optimum="15pt">
+        The distance between the bullets and the list text in the example on the
+        previous page is too large. You can define this distance and some more. Here is
+        an overview how to specify what aspects of a list
+      </fo:block>
+
+      <!-- the following image is taken from the w3c xsl working draft 18 October 2000
+           authors: Sharon Adler, Anders Berglund, Jeff Caruso, Stephen Deach
+                    Paul Grosso, Eduardo Gutentag, Alex Milowski, Scott Parnell,
+                    Jeremy Richman, Steve Zilles
+           url: http://www.w3.org/TR/xsl/ -->
+      <fo:block text-align="center"
+                space-before.optimum="0.5cm">
+        <fo:external-graphic src="file:../graphics/listgeometry.gif"/>
+      </fo:block>
+      <fo:block font-size="10pt"
+            font-family="sans-serif"
+            text-align="center"
+            space-after.optimum="15pt">
+        image from the w3c xsl working draft 18.10.2000 (full info in list2.fo)
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            space-before.optimum="15pt">
+        This is the same list with a defined provisional-distance-between-starts (0.3cm) and
+        provisional-label-separation (0.15cm).
+      </fo:block>
+
+      <!-- list start -->
+      <!-- use provisional-distance-between-starts to define
+           the distance between the start of the label and the item text
+
+           use provisional-label-separation to define the distance between
+           the end of the item label and the start of item text
+      -->
+      <fo:list-block provisional-distance-between-starts="0.3cm"
+                     provisional-label-separation="0.15cm">
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-size="10pt" font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-size="10pt" font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-size="10pt" font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+      <!-- code -->
+      <fo:block font-size="10pt"
+                font-family="Courier"
+                line-height="10pt"
+                text-align="start"
+                space-before.optimum="0.7cm"
+                white-space-collapse="false"
+                white-space-treatment="preserve"
+                linefeed-treatment="preserve"
+                wrap-option="no-wrap">
+<![CDATA[<!-- list start -->
+<fo:list-block provisional-distance-between-starts="0.3cm"
+                  provisional-label-separation="0.15cm">
+  <!-- list item -->
+  <fo:list-item>
+    <!-- insert a bullet -->
+    <fo:list-item-label end-indent="label-end()">
+      <fo:block>
+        <fo:inline font-family="Symbol">&#183;</fo:inline>
+      </fo:block>
+    </fo:list-item-label>
+    <!-- list text -->
+    <fo:list-item-body start-indent="body-start()">
+      <fo:block>
+        here is text in the list item body
+      </fo:block>
+    </fo:list-item-body>
+  </fo:list-item>
+
+  [other list items...]
+
+</fo:list-block>
+<!-- end list -->
+]]>
+</fo:block>
+
+      <!-- code ends -->
+
+<!-- ***************************** Next page ************************ -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        A simple list with text before and after
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                text-align="start"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+
+      <!-- list -->
+      <fo:list-block provisional-distance-between-starts="0.3cm"
+                     provisional-label-separation="0.15cm">
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+      <!-- normal text ends -->
+
+<!-- ***************************** Next page ************************ -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        A list with longer text
+      </fo:block>
+
+      <!-- list -->
+      <fo:list-block provisional-distance-between-starts="0.3cm"
+                     provisional-label-separation="0.15cm">
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+<!-- ***************************** Next page ************************ -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        A simple list with long labels
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                text-align="start"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+
+      <!-- list -->
+      <fo:list-block provisional-distance-between-starts="2.0cm"
+                     provisional-label-separation="0.2cm">
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block text-align="end">label 1)</fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block text-align="end">lab. 2)</fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block text-align="end">lab.  3)</fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block text-align="end">lab. 4)</fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block text-align="end">lab. 5)</fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+      <!-- normal text ends -->
+
+
+<!-- ***************************** Next page ************************ -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-after.optimum="15pt"
+            text-align="center"
+            padding-top="3pt"
+            break-before="page">
+        A long list
+      </fo:block>
+
+      <!-- list -->
+      <fo:list-block provisional-distance-between-starts="0.3cm"
+                     provisional-label-separation="0.15cm">
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+
+<!-- ***************************** Next page ************************ -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        A nested list with justified text
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                text-align="justify"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+
+      <!-- list level 1 -->
+      <fo:list-block provisional-distance-between-starts="0.4cm"
+                     provisional-label-separation="0.15cm">
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">here comes a nested list with numbers
+
+            <!-- start nested list -->
+              <!-- list level 1 -->
+              <fo:list-block provisional-distance-between-starts="0.7cm"
+                             provisional-label-separation="0.15cm">
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">1.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item             </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">2.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">3.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item             </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">4.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">5.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item             </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+              </fo:list-block >
+            <!-- end nested list -->
+
+            <!-- continuing list-->
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="justify"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+      <!-- normal text ends -->
+
+<!-- ****************************** Next Page ************************* -->
+
+      <!-- code -->
+      <fo:block font-size="10pt"
+                font-family="Courier"
+                line-height="10pt"
+                text-align="start"
+                space-before.optimum="3cm"
+                white-space-collapse="false"
+                white-space-treatment="preserve"
+                linefeed-treatment="preserve"
+                wrap-option="no-wrap">
+<![CDATA[<!-- list level 1 -->
+<fo:list-block provisional-distance-between-starts="0.4cm"
+               provisional-label-separation="0.15cm">
+
+  <!-- list item -->
+  <fo:list-item start-indent="0.5cm">
+    <!-- insert a bullet -->
+    <fo:list-item-label end-indent="label-end()">
+      <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+    </fo:list-item-label>
+    <!-- list text -->
+    <fo:list-item-body start-indent="body-start()">
+      <fo:block text-align="justify">
+        here is text in the list item body.  here is text in the list item body.
+        here is text in the list item body. here is text in the list item body.
+      </fo:block>
+    </fo:list-item-body>
+  </fo:list-item>
+
+  <!-- list item -->
+  <fo:list-item start-indent="0.5cm">
+    <!-- insert a bullet -->
+    <fo:list-item-label end-indent="label-end()">
+      <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+    </fo:list-item-label>
+    <!-- list text -->
+    <fo:list-item-body start-indent="body-start()">
+      <fo:block text-align="justify">here comes a nested list with numbers
+
+      <!-- start nested list -->
+        <!-- list level 1 -->
+        <fo:list-block provisional-distance-between-starts="0.7cm"
+                       provisional-label-separation="0.15cm">
+
+          <!-- nested list item -->
+          <fo:list-item start-indent="0.5cm">
+            <!-- insert a number -->
+            <fo:list-item-label end-indent="label-end()">
+              <fo:block text-align="end">1.)</fo:block>
+            </fo:list-item-label>
+            <!-- list text -->
+            <fo:list-item-body start-indent="body-start()">
+              <fo:block text-align="justify">
+                nested list item             </fo:block>
+            </fo:list-item-body>
+          </fo:list-item>
+
+          [more item in nested list ...]
+
+        </fo:list-block>
+      <!-- end nested list -->
+
+      <!-- continuing list-->
+      </fo:block>
+    </fo:list-item-body>
+  </fo:list-item>
+
+          [more item in list ...]
+
+</fo:list-block>
+<!-- end list -->
+
+]]>
+</fo:block>
+<!-- ***************************** Next page ************************ -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page"
+            white-space-collapse="true">
+        A long nested list
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                text-align="justify"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+
+      <!-- list level 1 -->
+      <fo:list-block provisional-distance-between-starts="0.4cm"
+                     provisional-label-separation="0.15cm">
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list item -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">here comes a nested list with numbers
+
+            <!-- start nested list -->
+              <!-- list level 1 -->
+              <fo:list-block provisional-distance-between-starts="0.9cm"
+                             provisional-label-separation="0.15cm">
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">1.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item             </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">2.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">3.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item             </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">4.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">5.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item             </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">6.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">7.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">8.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">9.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">10.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">11.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">12.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">13.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">14.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">15.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">16.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+                <!-- nested list item -->
+                <fo:list-item start-indent="0.5cm">
+                  <!-- insert a number -->
+                  <fo:list-item-label end-indent="label-end()">
+                    <fo:block text-align="end">17.)</fo:block>
+                  </fo:list-item-label>
+                  <!-- list text -->
+                  <fo:list-item-body start-indent="body-start()">
+                    <fo:block text-align="justify">
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                      nested list item with more text. nested list item with more text.
+                    </fo:block>
+                  </fo:list-item-body>
+                </fo:list-item>
+
+              </fo:list-block >
+            <!-- end nested list -->
+
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <!-- list entry -->
+        <fo:list-item start-indent="0.5cm">
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text -->
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block text-align="justify">
+              here is text in the list item body.  here is text in the list item body.
+              here is text in the list item body. here is text in the list item body.
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="justify"
+                >
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+                This is normal text. This is normal text. This is normal text. This is normal text. This is normal text.
+      </fo:block>
+      <!-- normal text ends -->
+
+
+
+
+    </fo:flow> <!-- closes the flow element-->
+  </fo:page-sequence> <!-- closes the page-sequence -->
+</fo:root>
diff --git a/examples/fo/basic/newlinktest.fo b/examples/fo/basic/newlinktest.fo
new file mode 100644 (file)
index 0000000..6fa0588
--- /dev/null
@@ -0,0 +1,148 @@
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  margin-top="1in"
+                  margin-bottom="1in"
+                  margin-left="1in"
+                  margin-right="1in">
+      <fo:region-body margin-top="2.5cm" margin-bottom="1.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="first">
+
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="8pt"
+            font-family="serif"
+            line-height="14pt" >
+            <fo:basic-link external-destination="http://xml.apache.org/fop"
+                           color="rgb(150,150,150)" font-style="italic">
+               http://xml.apache.org/fop
+            </fo:basic-link>
+      </fo:block>
+    </fo:static-content>
+
+
+<fo:flow flow-name="xsl-region-body">
+
+  <fo:block space-after.optimum="3pt" font-family="serif" id="block1">
+     FOP is the world's first print formatter driven by XSL formatting
+     objects. It is a Java 1.1 application that reads a formatting object
+     tree and then turns it into a PDF document. The formatting object
+     tree, can be in the form of an XML document (output by an XSLT engine
+     like XT or Xalan) or can be passed in memory as a DOM Document or (in
+     the case of XT) SAX events.
+  </fo:block>
+
+  <fo:block space-after.optimum="12pt" font-family="serif">FOP is part of Apache's XML project. The homepage of FOP is
+     <fo:inline font-style="italic" font-family="serif"><fo:basic-link color="blue" external-destination="http://xml.apache.org/fop">http://xml.apache.org/fop</fo:basic-link></fo:inline>
+  </fo:block>
+
+<fo:block space-after.optimum="12pt" font-family="serif" font-weight="bold" text-align="center">
+align="start"
+</fo:block>
+
+<fo:block space-after.optimum="12pt" font-family="serif" text-align="start">
+     Apache FOP is the world's first print formatter driven by XSL formatting
+     objects. It is a Java 1.1 application that reads a <fo:basic-link internal-destination="block1" color="blue">formatting object</fo:basic-link>
+     tree and then turns it into a <fo:basic-link internal-destination="block1" color="blue">PDF document</fo:basic-link>. The formatting object
+     tree, can be in the form of an XML <fo:basic-link internal-destination="block1" color="blue">document</fo:basic-link> (output by an XSLT engine
+     like XT or Xalan) or can be passed in memory as a DOM Document or (in
+     the case of XT) SAX events.
+
+  </fo:block>
+
+<fo:block space-after.optimum="12pt" font-family="serif" font-weight="bold" text-align="center">
+align="center"
+</fo:block>
+
+<fo:block space-after.optimum="12pt" font-family="serif" text-align="center">
+     Apache FOP is the world's first print formatter driven by XSL formatting
+     objects. It is a Java 1.1 application that reads a <fo:basic-link internal-destination="block1" color="blue">formatting object</fo:basic-link>
+     tree and then turns it into a <fo:basic-link internal-destination="block1" color="blue">PDF document</fo:basic-link>. The formatting object
+     tree, can be in the form of an XML <fo:basic-link internal-destination="block1" color="blue">document</fo:basic-link> (output by an XSLT engine
+     like XT or Xalan) or can be passed in memory as a DOM Document or (in
+     the case of XT) SAX events.
+
+  </fo:block>
+
+<fo:block space-after.optimum="12pt" font-family="serif" font-weight="bold" text-align="center">
+align="justify"
+</fo:block>
+
+  <fo:block space-after.optimum="12pt" font-family="serif" text-align="justify">
+     Apache FOP is the world's first print formatter driven by XSL formatting
+     objects. It is a Java 1.1 application that reads a <fo:basic-link internal-destination="block1" color="blue">formatting object</fo:basic-link>
+     tree and then turns it into a <fo:basic-link internal-destination="block1" color="blue">PDF document</fo:basic-link>. The formatting object
+     tree, can be in the form of an XML <fo:basic-link internal-destination="block1" color="blue">document</fo:basic-link> (output by an XSLT engine
+     like XT or Xalan) or can be passed in memory as a DOM Document or (in
+     the case of XT) SAX events.
+
+  </fo:block>
+
+<!-- table start -->
+    <fo:table>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">ugly</fo:basic-link></fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">dice</fo:basic-link></fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">art</fo:basic-link></fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">java</fo:basic-link></fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+  <fo:block break-before="page" space-after.optimum="12pt" font-family="serif" text-align="start" font-weight="bold">
+      Links in different orientations
+  </fo:block>
+
+      <fo:block>
+        This block container has a different reference orientation.
+        <fo:block-container reference-orientation="90" inline-progression-dimension="150pt">
+          <fo:block>
+            A link applies to the inline parent area that is created
+            by the basic-link. This inline area has a trait specifying
+            the link.
+          </fo:block>
+          <fo:block>
+            <fo:basic-link external-destination="http://xml.apache.org/fop"
+                           color="blue" text-decoration="underline">
+               http://xml.apache.org/fop
+            </fo:basic-link>
+          </fo:block>
+        </fo:block-container>
+      </fo:block>
+
+
+</fo:flow>
+
+</fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/normal.fo b/examples/fo/basic/normal.fo
new file mode 100644 (file)
index 0000000..6576e70
--- /dev/null
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations,
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+       - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+       - page-sequence-masters: have the role of describing the sequence
+                                of page-masters that will be used to generate
+                                pages during the formatting of an fo:page-sequence
+
+  -->
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="21cm"
+                  page-width="29.7cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="14pt" >
+        XML Recommendation - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="3pt"
+            font-variant="small-caps">
+        Extensible Markup Language (XML) 1.0
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="3pt">
+        Abstract
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        The <fo:inline font-variant="small-caps">Extensible Markup Language (XML)</fo:inline> is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML.
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="3pt">
+        Status of this document
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document specifies a syntax created by subsetting an existing, widely used international text processing standard
+        (Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
+        is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
+        Recommendations and other technical documents can be found at http://www.w3.org/TR.
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/normalex.fo b/examples/fo/basic/normalex.fo
new file mode 100644 (file)
index 0000000..9f063ee
--- /dev/null
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations,
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+       - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+       - page-sequence-masters: have the role of describing the sequence
+                                of page-masters that will be used to generate
+                                pages during the formatting of an fo:page-sequence
+
+  -->
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="21cm"
+                  page-width="29.7cm"
+                  margin-top="6.3cm - 3.8cm - 1.5cm"
+                  margin-bottom="3cm - (.25cm * 4)"
+                  margin-left="2.0cm + 0.5cm"
+                  margin-right="(5cm * 1cm) div 2cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="1cm + 3cm - 1cm"/>
+      <fo:region-after extent="2 * .5cm + .5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="abs(-30cm + .3cm)"
+                  page-width="(10cm * 2) + 1cm"
+                  margin-top="round(.5) * 1cm"
+                  margin-bottom="round(2.4) * 1cm"
+                  margin-left="2.5 * 1cm"
+                  margin-right="5.5cm - 3cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="1em + 4pt" >
+        XML Recommendation - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="min(18pt,20pt)"
+            font-family="sans-serif"
+            line-height="max(24pt,18pt)"
+            space-after.optimum="5 mod 3 * 7.5pt"
+            background-color="rgb(0,0,255)"
+            color="rgb(100%,100%,100%)"
+            text-align="center"
+            padding-top="3pt">
+        Extensible Markup Language (XML) 1.0
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="floor(16.3) * 1pt"
+            font-family="sans-serif"
+            line-height="2pt * ceiling(9.3)"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="3pt">
+        Abstract
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="2 * (.5em + 1.5pt)"
+                space-after.optimum=".25 * 1em"
+                text-align="start">
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML.
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="1.25"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="3pt">
+        Status of this document
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="1.25em"
+                space-after.optimum="1pc div 4"
+                text-align="start">
+        This document specifies a syntax created by subsetting an existing, widely used international text processing standard
+        (Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
+        is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
+        Recommendations and other technical documents can be found at http://www.w3.org/TR.
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/pdfoutline.fo b/examples/fo/basic/pdfoutline.fo
new file mode 100644 (file)
index 0000000..027a87b
--- /dev/null
@@ -0,0 +1,1413 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+THIS IS NOT THE LATEST VERSION OF THE FOP DOCUMENTATION BUT ONLY AN EXAMPLE FILE
+
+This files shows next to the trivial usage of fo:block and fo:inline examples of
+- fo:basic-link external-destination
+- fo:basic-link internal-destination
+- fo:table
+- fo:list-block (including a bullet from the font Symbol as list-item-label)
+- fo:page-number-citation (computes dynamically the page number in section 'content')
+-->
+
+<!-- note the extensions namespace (fox) -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+         xmlns:fox="http://xml.apache.org/fop/extensions">
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+
+<!-- beginning of the PDF outline extensions -->
+  <fox:bookmarks>
+
+  <fox:outline internal-destination="sec1">
+    <fox:label>What is FOP?</fox:label>
+  </fox:outline>
+
+  <fox:outline internal-destination="sec2">
+    <fox:label>Downloading FOP</fox:label>
+  </fox:outline>
+
+  <fox:outline internal-destination="sec3">
+    <fox:label>Running FOP</fox:label>
+
+    <fox:outline internal-destination="sec3-1">
+      <fox:label>Prerequisites</fox:label>
+
+      <fox:outline internal-destination="sec3-1-1">
+        <fox:label>Java 1.1</fox:label>
+      </fox:outline>
+
+      <fox:outline internal-destination="sec3-1-2">
+        <fox:label>XML Parser</fox:label>
+      </fox:outline>
+
+      <fox:outline internal-destination="sec3-1-3">
+        <fox:label>XSLT Processor</fox:label>
+      </fox:outline>
+
+    </fox:outline>
+
+    <fox:outline internal-destination="sec3-2">
+      <fox:label>Starting FOP</fox:label>
+    </fox:outline>
+
+  </fox:outline>
+
+  <fox:outline internal-destination="sec4">
+    <fox:label>Embedding FOP</fox:label>
+  </fox:outline>
+
+  <fox:outline internal-destination="sec5">
+    <fox:label>What's Implemented?</fox:label>
+  </fox:outline>
+  <fox:outline internal-destination="sec6">
+    <fox:label>Limitations</fox:label>
+  </fox:outline>
+  <fox:outline internal-destination="sec7">
+    <fox:label>Bugs</fox:label>
+  </fox:outline>
+  <fox:outline internal-destination="sec8">
+    <fox:label>Compiling FOP</fox:label>
+  </fox:outline>
+  <fox:outline internal-destination="sec9">
+    <fox:label>Getting Involved</fox:label>
+  </fox:outline>
+  <fox:outline internal-destination="sec10">
+    <fox:label>FOP Relevant Specifications</fox:label>
+  </fox:outline>
+  <fox:outline internal-destination="sec11">
+    <fox:label>License</fox:label>
+  </fox:outline>
+  </fox:bookmarks>
+
+
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+
+<fo:static-content flow-name="xsl-region-before">
+<fo:block text-align="end" font-size="10pt" font-family="serif" line-height="14pt" color="red" >
+This is not the latest Fop documentation, but just an fo example. FOP - p. <fo:page-number/>
+</fo:block>
+</fo:static-content>
+
+
+<fo:flow flow-name="xsl-region-body">
+
+<fo:block id="secA" font-size="18pt" font-family="sans-serif" line-height="24pt" space-after.optimum="15pt" background-color="blue" color="white" text-align="center" padding-top="3pt">FOP: An Open-Source XSL Formatter and Renderer</fo:block>
+
+
+
+<fo:block id="sec1" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >A)
+      What is FOP?</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">FOP is the world's first print formatter driven by XSL formatting
+     objects. It is a Java 1.1 application that reads a formatting object
+     tree and then turns it into a PDF document. The formatting object
+     tree, can be in the form of an XML document (output by an XSLT engine
+     like XT or Xalan) or can be passed in memory as a DOM Document or (in
+     the case of XT) SAX events.
+
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">FOP is part of Apache's XML project. The homepage of FOP is
+     <fo:inline font-style="italic" font-family="serif"><fo:basic-link color="blue" external-destination="http://xml.apache.org/fop">http://xml.apache.org/fop</fo:basic-link></fo:inline>
+  </fo:block>
+
+
+
+
+  <fo:block  id="sec2" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >B)
+      Downloading FOP</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">The latest release version is <fo:inline font-style="italic" font-family="serif">FOP
+0.14</fo:inline> <fo:inline font-family="serif">
+      ()
+   </fo:inline>. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">NOTE: you do not have to unjar or unzip this jar file.</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Documentation can be downloaded here as <fo:inline font-style="italic" font-family="serif">HMTL file</fo:inline>
+<fo:inline font-family="serif">
+      ()
+   </fo:inline> or
+     as <fo:inline font-style="italic" font-family="serif">PDF file</fo:inline>
+<fo:inline font-family="serif">
+      ()
+   </fo:inline>.</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">To run FOP from the command line, see Running FOP. If you are interested in
+     embedding FOP in a Java application of your own, see Embedding FOP.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">You can also download the <fo:inline font-style="italic" font-family="serif">source code v. 0.14</fo:inline>
+<fo:inline font-family="serif">
+      ()
+   </fo:inline> as jar file</fo:block>
+
+
+
+  <fo:block  id="sec3" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >C)
+      Running FOP</fo:block>
+
+    <fo:block id="sec3-1" font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >1) Prerequisites</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Following software must be installed:</fo:block>
+    <fo:block id="sec3-1-1" space-after.optimum="3pt" font-family="serif">a) Java 1.1.x or later</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">For the fo-file viewer mode of FOP (see below) you must have the swing classes installed.
+         From Java 1.2 on (aka Java 2) they are part of the standard java distribution.
+         If you use Java 1.1.x you must seperately include the swing classes, which can
+         be found at the <fo:inline font-style="italic" font-family="serif">
+         Sun website</fo:inline>
+<fo:inline font-family="serif">
+      (http://java.sun.com/products/jfc/#download-swing)
+   </fo:inline>.
+      </fo:block>
+    <fo:block id="sec3-1-2" space-after.optimum="3pt" font-family="serif">b) An XML parser which supports SAX and DOM like
+          <fo:inline font-style="italic" font-family="serif">Xerces-J</fo:inline>
+<fo:inline font-family="serif">
+      (http://xml.apache.org/xerces-j/index.html)
+   </fo:inline>.</fo:block>
+    <fo:block id="sec3-1-3" space-after.optimum="3pt" font-family="serif">c) If you have to produce the flow objects files, which are the input for FOP,
+       you need a transformation utility to create this files from your xml files.
+       Normally this is an XSLT stylesheet processor like
+       <fo:inline font-style="italic" font-family="serif">XT</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.jclark.com/xml/xt.html)
+   </fo:inline>
+       or <fo:inline font-style="italic" font-family="serif">XALAN</fo:inline>
+<fo:inline font-family="serif">
+      (http://xml.apache.org/xalan/index.html)
+   </fo:inline>.
+    </fo:block>
+
+
+    <fo:block id="sec3-2" font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >2) Starting FOP as an standalone application</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">There are three ways to run FOP from the command line.</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">a) Batch processing formatting objects (fo) files: </fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">b) Batch processing xml files (includes production of the fo-files):</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">c) Previewing the fo-file:</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.AWTCommandLine fo-file</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Each method uses next to the fop classes other packages. The following describes
+       each method in detail.</fo:block>
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >a) Method One</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">One is to first use an XSLT engine to produce the formatting object tree as an
+         XML document and then running the class org.apache.fop.apps.CommandLine with the
+         formatting object file name and PDF filename as arguments. You will need to include
+         FOP and your XML Parser in your classpath and so you might invoke
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -cp fop_x_xx_x.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">If your SAX Parser is other than Xerces, you will need to set the property
+         org.xml.sax.parser to the SAX Parser class to use. The following example shows
+         the command line, if you use XP, the XML parser from James Clark:
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">-cp fop_x_xx_x.jar;sax.jar;xt.jar;xp.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.AWTCommandLine formatting-tree-file pdf-file</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">(You have to include xerces.jar or another xml parser which supports DOM in your classpath.) </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >b) Method Two</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Rather than performing transformation with an XSLT before invoking FOP, it is
+         possible, if you use XT as your XSLT engine, to just call FOP and have it call
+         XT for you. To do this, run the class org.apache.fop.apps.CommandLine with the
+         source XML file name, XSL file name and PDF file name as arguments. You will
+         need to include FOP, SAX, your SAX Parser and XT in your classpath and so you might
+         invoke
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">-cp fop_x_xx_x.jar;xt.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Again, if your SAX Parser is other than Xerces, you will need to set the property
+         org.xml.sax.parser to the SAX Parser class to use.
+      </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >c) Method Three</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">If you already produced the FO file, you can preview the results of your
+         transformation without using any pdf viewer by invoking FOP with the viewer
+         application. You will need to include FOP and your XML Parser in your classpath
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -cp fop_x_xx_x.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.AWTCommandLine fo-file </fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">The viewer uses the swing classes.</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Note: If you are using java 2 or later (i.e. jdk 1.2. or later) you can put all
+         needed jar files into the subdirectory jdk1.2.x\jre\lib\ext (windows example). Then
+         FOP can be started without classpath:
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >3) Running FOP on MacOS</fo:block>
+
+    <fo:block space-after.optimum="3pt" font-family="serif">Ensure that you have a recent MRJ, and that you have downloaded and
+       unpacked the XP and SAX distributions. The xp.jar and sax.jar files work
+       as is on MacOS.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Drag the FOP jarfile onto the JBindery icon. When the first dialog
+       appears, type "org.apache.fop.apps.CommandLine" in the "Class name" field.
+       Using UNIX syntax, type the names of the input formatting-object file and
+       the output PDF in the "Optional parameters" field.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Click on the Classpath icon. To add the xp.jar and sax.jar files, click
+       the "Add .zip file" button, navigate to the file in question, and click
+       Open.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Once both are added (the FOP jarfile will already be in the list), click
+       Run. A "stdout" window will appear and display FOP runtime messages.
+    </fo:block>
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >4) Problems</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">If you have problems running FOP, please have a look at the
+       <fo:inline font-style="italic" font-family="serif">FOP FAQ</fo:inline>
+<fo:inline font-family="serif">
+      (faq.html)
+   </fo:inline>. If you don't find a solution there,
+       you can ask for help on the list fop-dev@xml.apache.org. Maybe it's bug and
+       maybe somebody is already working on it.
+    </fo:block>
+
+
+
+
+  <fo:block  id="sec4" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >D)
+      Embedding FOP </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Instantiate org.apache.fop.apps.Driver. Once this class is
+     instantiated, methods are called to set the
+     Renderer to use, the (possibly multiple) ElementMapping(s) to
+     use and the PrintWriter to use to output the results of the
+     rendering (where applicable). In the case of the Renderer and
+     ElementMapping(s), the Driver may be supplied either with the
+     object itself, or the name of the class, in which case Driver will
+     instantiate the class itself. The advantage of the latter is it
+     enables runtime determination of Renderer and ElementMapping(s).
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Once the Driver is set up, the buildFOTree method
+     is called. Depending on whether DOM or SAX is being used, the
+     invocation of the method is either buildFOTree(Document) or
+     buildFOTree(Parser, InputSource) respectively.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">A third possibility may be used to build the FO Tree, namely
+     calling getDocumentHandler() and firing the SAX events yourself.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Once the FO Tree is built, the format() and render() methods may be
+     called in that order.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Here is an example use of Driver from CommandLine.java:</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">Driver driver = new Driver();</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.setWriter(new PrintWriter(new FileWriter(args[1])));</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.buildFOTree(parser, fileInputSource(args[0]));</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.format();</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.render();</fo:block>
+
+
+
+
+
+
+  <fo:block  id="sec5" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >E)
+      What's Implemented?</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Also see STATUS for what is being worked on.</fo:block>
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >1) Formatting Objects</fo:block>
+    <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>root </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>layout-master-set </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>simple-page-master </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>region-body </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>region-before </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>region-after </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-sequence </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specification </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specifier-single </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specifier-repeating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specifier-alternating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>flow </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>static-content </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>block </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-block </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-item </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-item-label </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-item-body </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-number </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>display-sequence </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>inline </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>display-rule </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>display-graphic </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-column (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-body (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-row (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-cell (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+  </fo:list-block>
+
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >2) Properties</fo:block>
+    <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>end-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-name </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-first </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-repeating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-odd </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-even </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-top (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-bottom (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-left (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-right (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>extent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-width </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-height </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>flow-name </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-family </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-style </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-weight </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-size </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>line-height </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>text-align </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>text-align-last </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>space-before.optimum </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>space-after.optimum </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>start-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>end-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>provisional-distance-between-starts </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>provisional-label-separation </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>rule-thickness </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>color </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>wrap-option </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>white-space-treatment </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>break-before </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>break-after </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>text-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>href</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>column-width</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>background-color</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-top (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-left (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-bottom (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-right (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    </fo:list-block>
+
+
+
+
+
+
+  <fo:block  id="sec6" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >F)
+      Limitations</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Although FOP implements the above listed fo objects and properties, sometimes it does so
+     only in a limited way.
+  </fo:block>
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >list-block</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">The fo working draft allows describes two ways to markup lists.The list-block must have as
+       children either: 1) pairs of fo:list-item-label and fo:list-item-body formatting objects, or
+       2) fo:list-item formatting objects.</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">At the moment FOP only implements the second way. Therefore a list has a basic structure like this:</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-item&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-item-label&gt;&lt;fo:block&gt;&lt;/fo:block&gt;&lt;/fo:list-item-label&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-item-body&gt;&lt;fo:block&gt;&lt;/fo:block&gt;&lt;/fo:list-item-body&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;/fo:list-item&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;/fo:list-block&gt;</fo:block>
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >Padding</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Padding works in conjunction with indents and spaces. It is only implemented
+       for blocks. At the moment padding can't be used to make extra space (indents+spaces
+       must be used), but only to control how much the background-color extends beyond
+       the content rectangle.
+    </fo:block>
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >Tables</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">There two limitations for tables: 1) FOP needs you to explicitly specify column widths
+       2) Cells have to contain block-level FOs. They can't contain straight character data.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">A working basic example of a table looks like this: </fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:table&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-column column-width="150pt"/&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-column column-width="150pt"/&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">  &lt;fo:table-body font-size="10pt" font-family="sans-serif"&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;/fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;/fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;/fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">  &lt;/fo:table-body&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;/fo:table&gt;</fo:block>
+
+
+
+
+
+
+
+
+
+
+
+  <fo:block  id="sec7" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >G)
+      Bugs</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">see STATUS file</fo:block>
+
+
+
+
+
+
+  <fo:block  id="sec8" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >H)
+      Compiling FOP</fo:block>
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >1. Prerequisites</fo:block>
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >a) Java 1.1.x or later</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">If you use Java 1.1.x you must also seperately include the swing classes, which can
+         be found at the <fo:inline font-style="italic" font-family="serif">
+         Sun website</fo:inline>
+<fo:inline font-family="serif">
+      (http://java.sun.com/products/jfc/#download-swing)
+   </fo:inline>. From Java 1.2 on (aka Java 2) they are part of the standard
+         distribution.
+      </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >b) An XML parser</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">An XML parser which supports DOM like
+         <fo:inline font-style="italic" font-family="serif">Xerces-J</fo:inline>
+<fo:inline font-family="serif">
+      (http://xml.apache.org/xerces-j/index.html)
+   </fo:inline>.</fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >c) XT from James Clark</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Some of the Java source code in FOP is generated from XML using
+         XSLT. XT must be used to generate this code.</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">XT is an XSL stylesheet processor written in java. At the moment you
+         can't use any other processor, because the make file makes use of some
+         proprietary features of Clark's xt which allow to write output in more
+         then one document. You can find XT at <fo:inline font-style="italic" font-family="serif">
+        James Clark's website</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.jclark.com/xml/xt.html)
+   </fo:inline>. You have to use XT version 19991105 or later.</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">(Under windows you shouldn't use the prepackaged xt.exe but also the
+         generic jar file, otherwise make won't work)
+      </fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">XT relies on an sax parser like XP (also J. Clark), which can be
+         downloaded at <fo:inline font-style="italic" font-family="serif">James
+         Clark's Website</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.jclark.com/xml/xp/index.html)
+   </fo:inline>
+      </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >d) make</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Under windows it has been reported that the use of the cygnus solutions port
+         of the GNU utilities works. You can find it at
+         <fo:inline font-style="italic" font-family="serif">Cygnus Solutions</fo:inline>
+<fo:inline font-family="serif">
+      (http://sourceware.cygnus.com/cygwin/)
+   </fo:inline>
+      </fo:block>
+
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >Compiling FOP on MacOS</fo:block>
+
+    <fo:block space-after.optimum="3pt" font-family="serif">We strongly recommend the use of Codewarrior Java. This Readme will
+       contain a link to more information in the near future.
+    </fo:block>
+
+
+
+
+
+
+
+  <fo:block  id="sec9" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >I)
+      Getting involved</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">1. Subscribe to fop-dev@xml.apache.org by sending an email
+        to fop-dev-subscribe@xml.apache.org</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">2. Read the archives to fop-dev to get an idea of the issues being
+        discussed. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">3. Subscribe to fop-cvs@xml.apache.org by sending an email to
+        fop-cvs-subscribe@xml.apache.org (it is important
+        that you follow changes being made). </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">4. Try :-) to wrap your head around the XSL working draft. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">5. Get CVS working on your system. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">6. Ask, on fop-dev, any questions you have at all about the code, design, etc. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">7. When you feel comfortable modifying the code, send diffs to
+        fop-dev with your contributions. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">8. Have fun!</fo:block>
+
+
+
+
+
+
+  <fo:block  id="sec10" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >J)
+      FOP Relevant Specifications</fo:block>
+  <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">XML Recommendation</fo:inline>
+<fo:inline font-family="serif" >
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">XSL-FO Working Draft</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/WD-xsl/">http://www.w3.org/TR/WD-xsl/</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">XSLT Recommendation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/xslt">http://www.w3.org/TR/xslt</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">PDF Documentation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf">http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Simple API for XML (SAX)</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.megginson.com/SAX/">http://www.megginson.com/SAX/</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Document Object Model (DOM)</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/REC-DOM-Level-1">http://www.w3.org/TR/REC-DOM-Level-1</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Namespaces in XML Recommendation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Java JDK 1.1 Documentation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://java.sun.com/products/jdk/1.1/docs/index.html">http://java.sun.com/products/jdk/1.1/docs/index.html</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+  </fo:list-block>
+
+
+
+
+
+
+  <fo:block  id="sec11" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >K)
+      Licence</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif"> ============================================================================</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">                   The Apache Software License, Version 1.1</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif"> ============================================================================</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif"> Redistribution and use in source and binary forms, with or without modification,
+      are permitted provided that the following conditions are met:</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">1. Redistributions of  source code must  retain the above copyright  notice,
+      this list of conditions and the following disclaimer.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">2. Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">3. The end-user documentation included with the redistribution, if any, must
+      include  the following  acknowledgment:  "This product includes  software
+      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+      Alternately, this  acknowledgment may  appear in the software itself,  if
+      and wherever such third-party acknowledgments normally appear.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">4. The names "FOP" and  "Apache Software Foundation"  must not be used to
+      endorse  or promote  products derived  from this  software without  prior
+      written permission. For written permission, please contact
+      apache@apache.org.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">5. Products  derived from this software may not  be called "Apache", nor may
+      "Apache" appear  in their name,  without prior written permission  of the
+      Apache Software Foundation.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+     INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+     FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+     APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+     DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+     OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+     ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+     (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+     THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">
+     This software  consists of voluntary contributions made  by many individuals
+     on  behalf of the Apache Software  Foundation and was  originally created by
+     James Tauber &lt;jtauber@jtauber.com&gt;. For more  information on the Apache
+     Software Foundation, please see <fo:inline font-style="italic" font-family="serif">http://www.apache.org/</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.apache.org/)
+   </fo:inline>.
+  </fo:block>
+
+<fo:block font-size="14pt" font-family="sans-serif" line-height="10pt" space-after.optimum="15pt" font-weight="bold" start-indent="15pt" break-before="page">
+            Content
+         </fo:block>
+<fo:table>
+<fo:table-column column-width="1cm"/>
+<fo:table-column column-width="12cm"/>
+<fo:table-column column-width="1cm"/>
+<fo:table-body font-size="10pt" font-family="sans-serif">
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">A)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec1">What is FOP?</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec1"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">B)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec2">Downloading FOP</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec2"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">C)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec3">Running FOP</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec3"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">D)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec4">Embedding FOP</fo:basic-link> </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec4"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">E)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec5">What's Implemented?</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec5"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">F)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec6">Limitations</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec6"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">G)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec7">Bugs</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec7"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">H)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec8">Compiling FOP</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec8"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">I)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec9">Getting involved</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec9"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">J)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec10">FOP Relevant Specifications</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec10"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">K)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec11">Licence</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec11"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+</fo:table-body>
+</fo:table>
+
+
+
+</fo:flow>
+</fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/readme.fo b/examples/fo/basic/readme.fo
new file mode 100644 (file)
index 0000000..fd9e58c
--- /dev/null
@@ -0,0 +1,1341 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+THIS IS NOT THE LATEST VERSION OF THE FOP DOCUMENTATION BUT ONLY AN EXAMPLE FILE
+
+This files shows next to the trivial usage of fo:block and fo:inline examples of
+- fo:basic-link external-destination
+- fo:basic-link internal-destination
+- fo:table
+- fo:list-block (including a bullet from the font Symbol as list-item-label)
+- fo:page-number-citation (computes dynamically the page number in section 'content')
+-->
+
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+
+<fo:static-content flow-name="xsl-region-before">
+<fo:block text-align="end" font-size="10pt" font-family="serif" line-height="14pt" color="red" >
+This is not the latest Fop documentation, but just an fo example. FOP - p. <fo:page-number/>
+</fo:block>
+</fo:static-content>
+
+
+<fo:flow flow-name="xsl-region-body">
+<fo:block font-size="18pt" font-family="sans-serif" line-height="24pt" space-after.optimum="15pt" background-color="blue" color="white" text-align="center" padding-top="3pt">FOP: An Open-Source XSL Formatter and Renderer</fo:block>
+<fo:block id="sec1" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >A)
+      What is FOP?</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">FOP is the world's first print formatter driven by XSL formatting
+     objects. It is a Java 1.1 application that reads a formatting object
+     tree and then turns it into a PDF document. The formatting object
+     tree, can be in the form of an XML document (output by an XSLT engine
+     like XT or Xalan) or can be passed in memory as a DOM Document or (in
+     the case of XT) SAX events.
+
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">FOP is part of Apache's XML project. The homepage of FOP is
+     <fo:inline font-style="italic" font-family="serif"><fo:basic-link color="blue" external-destination="http://xml.apache.org/fop">http://xml.apache.org/fop</fo:basic-link></fo:inline>
+  </fo:block>
+
+
+
+  <fo:block  id="sec2" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >B)
+      Downloading FOP</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">The latest release version is <fo:inline font-style="italic" font-family="serif">FOP
+0.14</fo:inline> <fo:inline font-family="serif">
+      ()
+   </fo:inline>. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">NOTE: you do not have to unjar or unzip this jar file.</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Documentation can be downloaded here as <fo:inline font-style="italic" font-family="serif">HMTL file</fo:inline>
+<fo:inline font-family="serif">
+      ()
+   </fo:inline> or
+     as <fo:inline font-style="italic" font-family="serif">PDF file</fo:inline>
+<fo:inline font-family="serif">
+      ()
+   </fo:inline>.</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">To run FOP from the command line, see Running FOP. If you are interested in
+     embedding FOP in a Java application of your own, see Embedding FOP.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">You can also download the <fo:inline font-style="italic" font-family="serif">source code v. 0.14</fo:inline>
+<fo:inline font-family="serif">
+      ()
+   </fo:inline> as jar file</fo:block>
+
+
+
+
+
+  <fo:block  id="sec3" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >C)
+      Running FOP</fo:block>
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >1) Prerequisites</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Following software must be installed:</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">a) Java 1.1.x or later</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">For the fo-file viewer mode of FOP (see below) you must have the swing classes installed.
+         From Java 1.2 on (aka Java 2) they are part of the standard java distribution.
+         If you use Java 1.1.x you must seperately include the swing classes, which can
+         be found at the <fo:inline font-style="italic" font-family="serif">
+         Sun website</fo:inline>
+<fo:inline font-family="serif">
+      (http://java.sun.com/products/jfc/#download-swing)
+   </fo:inline>.
+      </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">b) An XML parser which supports SAX and DOM like
+          <fo:inline font-style="italic" font-family="serif">Xerces-J</fo:inline>
+<fo:inline font-family="serif">
+      (http://xml.apache.org/xerces-j/index.html)
+   </fo:inline>.</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">c) If you have to produce the flow objects files, which are the input for FOP,
+       you need a transformation utility to create this files from your xml files.
+       Normally this is an XSLT stylesheet processor like
+       <fo:inline font-style="italic" font-family="serif">XT</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.jclark.com/xml/xt.html)
+   </fo:inline>
+       or <fo:inline font-style="italic" font-family="serif">XALAN</fo:inline>
+<fo:inline font-family="serif">
+      (http://xml.apache.org/xalan/index.html)
+   </fo:inline>.
+    </fo:block>
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >2) Starting FOP as an standalone application</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">There are three ways to run FOP from the command line.</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">a) Batch processing formatting objects (fo) files: </fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">b) Batch processing xml files (includes production of the fo-files):</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">c) Previewing the fo-file:</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.AWTCommandLine fo-file</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Each method uses next to the fop classes other packages. The following describes
+       each method in detail.</fo:block>
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >a) Method One</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">One is to first use an XSLT engine to produce the formatting object tree as an
+         XML document and then running the class org.apache.fop.apps.CommandLine with the
+         formatting object file name and PDF filename as arguments. You will need to include
+         FOP and your XML Parser in your classpath and so you might invoke
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -cp fop_x_xx_x.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">If your SAX Parser is other than Xerces, you will need to set the property
+         org.xml.sax.parser to the SAX Parser class to use. The following example shows
+         the command line, if you use XP, the XML parser from James Clark:
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">-cp fop_x_xx_x.jar;sax.jar;xt.jar;xp.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.AWTCommandLine formatting-tree-file pdf-file</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">(You have to include xerces.jar or another xml parser which supports DOM in your classpath.) </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >b) Method Two</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Rather than performing transformation with an XSLT before invoking FOP, it is
+         possible, if you use XT as your XSLT engine, to just call FOP and have it call
+         XT for you. To do this, run the class org.apache.fop.apps.CommandLine with the
+         source XML file name, XSL file name and PDF file name as arguments. You will
+         need to include FOP, SAX, your SAX Parser and XT in your classpath and so you might
+         invoke
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">-cp fop_x_xx_x.jar;xt.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Again, if your SAX Parser is other than Xerces, you will need to set the property
+         org.xml.sax.parser to the SAX Parser class to use.
+      </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >c) Method Three</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">If you already produced the FO file, you can preview the results of your
+         transformation without using any pdf viewer by invoking FOP with the viewer
+         application. You will need to include FOP and your XML Parser in your classpath
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -cp fop_x_xx_x.jar;xerces.jar</fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.AWTCommandLine fo-file </fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">The viewer uses the swing classes.</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Note: If you are using java 2 or later (i.e. jdk 1.2. or later) you can put all
+         needed jar files into the subdirectory jdk1.2.x\jre\lib\ext (windows example). Then
+         FOP can be started without classpath:
+      </fo:block>
+      <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >3) Running FOP on MacOS</fo:block>
+
+    <fo:block space-after.optimum="3pt" font-family="serif">Ensure that you have a recent MRJ, and that you have downloaded and
+       unpacked the XP and SAX distributions. The xp.jar and sax.jar files work
+       as is on MacOS.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Drag the FOP jarfile onto the JBindery icon. When the first dialog
+       appears, type "org.apache.fop.apps.CommandLine" in the "Class name" field.
+       Using UNIX syntax, type the names of the input formatting-object file and
+       the output PDF in the "Optional parameters" field.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Click on the Classpath icon. To add the xp.jar and sax.jar files, click
+       the "Add .zip file" button, navigate to the file in question, and click
+       Open.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Once both are added (the FOP jarfile will already be in the list), click
+       Run. A "stdout" window will appear and display FOP runtime messages.
+    </fo:block>
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >4) Problems</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">If you have problems running FOP, please have a look at the
+       <fo:inline font-style="italic" font-family="serif">FOP FAQ</fo:inline>
+<fo:inline font-family="serif">
+      (faq.html)
+   </fo:inline>. If you don't find a solution there,
+       you can ask for help on the list fop-dev@xml.apache.org. Maybe it's bug and
+       maybe somebody is already working on it.
+    </fo:block>
+
+
+
+
+  <fo:block  id="sec4" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >D)
+      Embedding FOP </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Instantiate org.apache.fop.apps.Driver. Once this class is
+     instantiated, methods are called to set the
+     Renderer to use, the (possibly multiple) ElementMapping(s) to
+     use and the PrintWriter to use to output the results of the
+     rendering (where applicable). In the case of the Renderer and
+     ElementMapping(s), the Driver may be supplied either with the
+     object itself, or the name of the class, in which case Driver will
+     instantiate the class itself. The advantage of the latter is it
+     enables runtime determination of Renderer and ElementMapping(s).
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Once the Driver is set up, the buildFOTree method
+     is called. Depending on whether DOM or SAX is being used, the
+     invocation of the method is either buildFOTree(Document) or
+     buildFOTree(Parser, InputSource) respectively.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">A third possibility may be used to build the FO Tree, namely
+     calling getDocumentHandler() and firing the SAX events yourself.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Once the FO Tree is built, the format() and render() methods may be
+     called in that order.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Here is an example use of Driver from CommandLine.java:</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">Driver driver = new Driver();</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.setWriter(new PrintWriter(new FileWriter(args[1])));</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.buildFOTree(parser, fileInputSource(args[0]));</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.format();</fo:block>
+  <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.render();</fo:block>
+
+
+
+
+
+
+  <fo:block  id="sec5" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >E)
+      What's Implemented?</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Also see STATUS for what is being worked on.</fo:block>
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >1) Formatting Objects</fo:block>
+    <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>root </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>layout-master-set </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>simple-page-master </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>region-body </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>region-before </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>region-after </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-sequence </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specification </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specifier-single </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specifier-repeating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>sequence-specifier-alternating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>flow </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>static-content </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>block </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-block </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-item </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-item-label </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>list-item-body </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-number </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>display-sequence </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>inline </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>display-rule </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>display-graphic </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-column (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-body (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-row (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>table-cell (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+  </fo:list-block>
+
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >2) Properties</fo:block>
+    <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>end-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-name </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-first </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-repeating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-odd </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-master-even </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-top (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-bottom (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-left (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>margin-right (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>extent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-width </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>page-height </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>flow-name </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-family </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-style </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-weight </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>font-size </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>line-height </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>text-align </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>text-align-last </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>space-before.optimum </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>space-after.optimum </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>start-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>end-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>provisional-distance-between-starts </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>provisional-label-separation </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>rule-thickness </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>color </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>wrap-option </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>white-space-treatment </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>break-before </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>break-after </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>text-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>href</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>column-width</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>background-color</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-top (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-left (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-bottom (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+      <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>padding-right (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    </fo:list-block>
+
+
+
+
+
+
+  <fo:block  id="sec6" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >F)
+      Limitations</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">Although FOP implements the above listed fo objects and properties, sometimes it does so
+     only in a limited way.
+  </fo:block>
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >list-block</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">The fo working draft allows describes two ways to markup lists.The list-block must have as
+       children either: 1) pairs of fo:list-item-label and fo:list-item-body formatting objects, or
+       2) fo:list-item formatting objects.</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">At the moment FOP only implements the second way. Therefore a list has a basic structure like this:</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-item&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-item-label&gt;&lt;fo:block&gt;&lt;/fo:block&gt;&lt;/fo:list-item-label&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:list-item-body&gt;&lt;fo:block&gt;&lt;/fo:block&gt;&lt;/fo:list-item-body&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;/fo:list-item&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;/fo:list-block&gt;</fo:block>
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >Padding</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">Padding works in conjunction with indents and spaces. It is only implemented
+       for blocks. At the moment padding can't be used to make extra space (indents+spaces
+       must be used), but only to control how much the background-color extends beyond
+       the content rectangle.
+    </fo:block>
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >Tables</fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">There two limitations for tables: 1) FOP needs you to explicitly specify column widths
+       2) Cells have to contain block-level FOs. They can't contain straight character data.
+    </fo:block>
+    <fo:block space-after.optimum="3pt" font-family="serif">A working basic example of a table looks like this: </fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;fo:table&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-column column-width="150pt"/&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-column column-width="150pt"/&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">  &lt;fo:table-body font-size="10pt" font-family="sans-serif"&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;/fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;/fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">        &lt;fo:block&gt;text&lt;/fo:block&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">      &lt;/fo:table-cell&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">    &lt;/fo:table-row&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">  &lt;/fo:table-body&gt;</fo:block>
+    <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">&lt;/fo:table&gt;</fo:block>
+
+
+
+
+
+
+
+
+
+
+
+  <fo:block  id="sec7" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >G)
+      Bugs</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">see STATUS file</fo:block>
+
+
+
+
+
+
+  <fo:block  id="sec8" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >H)
+      Compiling FOP</fo:block>
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >1. Prerequisites</fo:block>
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >a) Java 1.1.x or later</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">If you use Java 1.1.x you must also seperately include the swing classes, which can
+         be found at the <fo:inline font-style="italic" font-family="serif">
+         Sun website</fo:inline>
+<fo:inline font-family="serif">
+      (http://java.sun.com/products/jfc/#download-swing)
+   </fo:inline>. From Java 1.2 on (aka Java 2) they are part of the standard
+         distribution.
+      </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >b) An XML parser</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">An XML parser which supports DOM like
+         <fo:inline font-style="italic" font-family="serif">Xerces-J</fo:inline>
+<fo:inline font-family="serif">
+      (http://xml.apache.org/xerces-j/index.html)
+   </fo:inline>.</fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >c) XT from James Clark</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Some of the Java source code in FOP is generated from XML using
+         XSLT. XT must be used to generate this code.</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">XT is an XSL stylesheet processor written in java. At the moment you
+         can't use any other processor, because the make file makes use of some
+         proprietary features of Clark's xt which allow to write output in more
+         then one document. You can find XT at <fo:inline font-style="italic" font-family="serif">
+        James Clark's website</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.jclark.com/xml/xt.html)
+   </fo:inline>. You have to use XT version 19991105 or later.</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">(Under windows you shouldn't use the prepackaged xt.exe but also the
+         generic jar file, otherwise make won't work)
+      </fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">XT relies on an sax parser like XP (also J. Clark), which can be
+         downloaded at <fo:inline font-style="italic" font-family="serif">James
+         Clark's Website</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.jclark.com/xml/xp/index.html)
+   </fo:inline>
+      </fo:block>
+
+
+      <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" >d) make</fo:block>
+      <fo:block space-after.optimum="3pt" font-family="serif">Under windows it has been reported that the use of the cygnus solutions port
+         of the GNU utilities works. You can find it at
+         <fo:inline font-style="italic" font-family="serif">Cygnus Solutions</fo:inline>
+<fo:inline font-family="serif">
+      (http://sourceware.cygnus.com/cygwin/)
+   </fo:inline>
+      </fo:block>
+
+
+
+    <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" >Compiling FOP on MacOS</fo:block>
+
+    <fo:block space-after.optimum="3pt" font-family="serif">We strongly recommend the use of Codewarrior Java. This Readme will
+       contain a link to more information in the near future.
+    </fo:block>
+
+
+
+
+
+
+
+  <fo:block  id="sec9" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >I)
+      Getting involved</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">1. Subscribe to fop-dev@xml.apache.org by sending an email
+        to fop-dev-subscribe@xml.apache.org</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">2. Read the archives to fop-dev to get an idea of the issues being
+        discussed. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">3. Subscribe to fop-cvs@xml.apache.org by sending an email to
+        fop-cvs-subscribe@xml.apache.org (it is important
+        that you follow changes being made). </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">4. Try :-) to wrap your head around the XSL working draft. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">5. Get CVS working on your system. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">6. Ask, on fop-dev, any questions you have at all about the code, design, etc. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">7. When you feel comfortable modifying the code, send diffs to
+        fop-dev with your contributions. </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">8. Have fun!</fo:block>
+
+
+
+
+
+
+  <fo:block  id="sec10" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >J)
+      FOP Relevant Specifications</fo:block>
+  <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">XML Recommendation</fo:inline>
+<fo:inline font-family="serif" >
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">XSL-FO Working Draft</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/WD-xsl/">http://www.w3.org/TR/WD-xsl/</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">XSLT Recommendation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/xslt">http://www.w3.org/TR/xslt</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">PDF Documentation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf">http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Simple API for XML (SAX)</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.megginson.com/SAX/">http://www.megginson.com/SAX/</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Document Object Model (DOM)</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/REC-DOM-Level-1">http://www.w3.org/TR/REC-DOM-Level-1</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Namespaces in XML Recommendation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+    <fo:list-item>
+<fo:list-item-label end-indent="label-end()">
+<fo:block><fo:inline font-family="Symbol">&#x2022;</fo:inline></fo:block>
+</fo:list-item-label>
+<fo:list-item-body start-indent="body-start()">
+<fo:block>
+<fo:inline font-style="italic" font-family="serif">Java JDK 1.1 Documentation</fo:inline>
+<fo:inline font-family="serif">
+      (<fo:basic-link color="blue" external-destination="http://java.sun.com/products/jdk/1.1/docs/index.html">http://java.sun.com/products/jdk/1.1/docs/index.html</fo:basic-link>)
+   </fo:inline>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+  </fo:list-block>
+
+
+
+
+
+
+  <fo:block  id="sec11" font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" >K)
+      Licence</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif"> ============================================================================</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">                   The Apache Software License, Version 1.1</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif"> ============================================================================</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif"> Redistribution and use in source and binary forms, with or without modification,
+      are permitted provided that the following conditions are met:</fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">1. Redistributions of  source code must  retain the above copyright  notice,
+      this list of conditions and the following disclaimer.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">2. Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">3. The end-user documentation included with the redistribution, if any, must
+      include  the following  acknowledgment:  "This product includes  software
+      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+      Alternately, this  acknowledgment may  appear in the software itself,  if
+      and wherever such third-party acknowledgments normally appear.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">4. The names "FOP" and  "Apache Software Foundation"  must not be used to
+      endorse  or promote  products derived  from this  software without  prior
+      written permission. For written permission, please contact
+      apache@apache.org.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">5. Products  derived from this software may not  be called "Apache", nor may
+      "Apache" appear  in their name,  without prior written permission  of the
+      Apache Software Foundation.
+  </fo:block>
+  <fo:block space-after.optimum="3pt" font-family="serif">THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+     INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+     FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+     APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+     DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+     OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+     ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+     (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+     THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  </fo:block>
+
+  <fo:block space-after.optimum="3pt" font-family="serif">
+     This software  consists of voluntary contributions made  by many individuals
+     on  behalf of the Apache Software  Foundation and was  originally created by
+     James Tauber &lt;jtauber@jtauber.com&gt;. For more  information on the Apache
+     Software Foundation, please see <fo:inline font-style="italic" font-family="serif">http://www.apache.org/</fo:inline>
+<fo:inline font-family="serif">
+      (http://www.apache.org/)
+   </fo:inline>.
+  </fo:block>
+
+<fo:block font-size="14pt" font-family="sans-serif" line-height="10pt" space-after.optimum="15pt" font-weight="bold" start-indent="15pt" break-before="page">
+            Content
+         </fo:block>
+<fo:table>
+<fo:table-column column-width="1cm"/>
+<fo:table-column column-width="12cm"/>
+<fo:table-column column-width="1cm"/>
+<fo:table-body font-size="10pt" font-family="sans-serif">
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">A)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec1">What is FOP?</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec1"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">B)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec2">Downloading FOP</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec2"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">C)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec3">Running FOP</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec3"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">D)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec4">Embedding FOP</fo:basic-link> </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec4"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">E)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec5">What's Implemented?</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec5"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">F)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec6">Limitations</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec6"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">G)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec7">Bugs</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec7"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">H)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec8">Compiling FOP</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec8"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">I)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec9">Getting involved</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec9"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">J)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec10">FOP Relevant Specifications</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec10"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">K)
+                     </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start"><fo:basic-link color="blue" internal-destination="sec11">Licence</fo:basic-link></fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="end"><fo:page-number-citation ref-id="sec11"/></fo:block>
+</fo:table-cell>
+</fo:table-row>
+</fo:table-body>
+</fo:table>
+
+
+
+</fo:flow>
+</fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/simple.fo b/examples/fo/basic/simple.fo
new file mode 100644 (file)
index 0000000..12cc430
--- /dev/null
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- example for a simple fo file. At the beginning the page layout is set.
+  Below fo:root there is always
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout:
+       the pagination and layout specifications
+      - page-masters: have the role of describing the intended subdivisions
+                       of a page and the geometry of these subdivisions
+                      In this case there is only a simple-page-master which defines the
+                      layout for all pages of the text
+  -->
+    <!-- layout information -->
+    <fo:simple-page-master master-name="simple"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+
+  <!-- start page-sequence
+       here comes the text (contained in flow objects)
+       the page-sequence can contain different fo:flows
+       the attribute value of master-name refers to the page layout
+       which is to be used to layout the text contained in this
+       page-sequence-->
+  <fo:page-sequence master-reference="simple">
+
+      <!-- start fo:flow
+           each flow is targeted
+           at one (and only one) of the following:
+           xsl-region-body (usually: normal text)
+           xsl-region-before (usually: header)
+           xsl-region-after  (usually: footer)
+           xsl-region-start  (usually: left margin)
+           xsl-region-end    (usually: right margin)
+           ['usually' applies here to languages with left-right and top-down
+            writing direction like English]
+           in this case there is only one target: xsl-region-body
+        -->
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- each paragraph is encapsulated in a block element
+           the attributes of the block define
+           font-family and size, line-heigth etc. -->
+
+      <!-- this defines a title -->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="3pt">
+        Extensible Markup Language (XML) 1.0
+      </fo:block>
+
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="justify">
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML.
+      </fo:block>
+
+      <!-- this defines normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="justify">
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML.
+      </fo:block>
+
+    </fo:flow> <!-- closes the flow element-->
+  </fo:page-sequence> <!-- closes the page-sequence -->
+</fo:root>
diff --git a/examples/fo/basic/table.fo b/examples/fo/basic/table.fo
new file mode 100644 (file)
index 0000000..0f5d7cf
--- /dev/null
@@ -0,0 +1,504 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+
+  <!-- defines the layout master -->
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="first"
+                           page-height="29.7cm"
+                           page-width="21cm"
+                           margin-top="1cm"
+                           margin-bottom="2cm"
+                           margin-left="2.5cm"
+                           margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <!-- starts actual layout -->
+  <fo:page-sequence master-reference="first">
+
+  <fo:flow flow-name="xsl-region-body">
+
+      <!-- this defines a title level 1-->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="3pt">
+        How to use table elements
+      </fo:block>
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center">
+        A simple table, 3 columns, 4 rows
+      </fo:block>
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+    <!-- table start -->
+    <fo:table>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>ugly</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>dice</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>art</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>java</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+<!-- **************************** NEW PAGE ************************************* -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        A table with borders
+      </fo:block>
+
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+    <!-- table start -->
+    <fo:table border-width="0.5mm" border-style="solid" background-color="yellow">
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>ugly</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>dice</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>art</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>java</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+<!-- **************************** NEW PAGE ************************************* -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        A table with thick borders
+      </fo:block>
+
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+    <!-- table start -->
+    <fo:table border-width="3mm" border-style="solid" background-color="yellow">
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>ugly</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>dice</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>art</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell ><fo:block>java</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
+          <fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+    <!-- normal text -->
+    <fo:block text-align="start" start-indent="-3mm">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+<!-- **************************** NEW PAGE ************************************* -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        A table with borders around the cells
+      </fo:block>
+
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+    <!-- table start -->
+    <fo:table border-collapse="separate">
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>good</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>bad</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>ugly</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>nice</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>dice</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>vice</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>literature</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>music</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>art</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>java</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>perl</fo:block></fo:table-cell>
+          <fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>python</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+<!-- **************************** NEW PAGE ************************************* -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        2 tables with thick borders around the cells
+      </fo:block>
+
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+    <!-- table start -->
+    <fo:table border-collapse="separate">
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>good</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>bad</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>ugly</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>nice</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>dice</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>vice</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>literature</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>music</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>art</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>java</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>perl</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>python</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+    <!-- table start -->
+    <fo:table border-collapse="separate">
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-column column-width="50mm"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>good</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>bad</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>ugly</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>nice</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>dice</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>vice</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>literature</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>music</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>art</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>java</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>perl</fo:block></fo:table-cell>
+          <fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>python</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table end -->
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+<!-- **************************** NEW PAGE ************************************* -->
+
+      <!-- this defines a title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            space-after.optimum="15pt"
+            text-align="center"
+            break-before="page">
+        5 tables with borders
+      </fo:block>
+
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+      <fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)">
+        <fo:table-column column-width="150mm"/>
+        <fo:table-body>
+          <fo:table-row>
+            <fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
+          </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+
+
+      <fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)" >
+        <fo:table-column column-width="150mm"/>
+        <fo:table-body>
+          <fo:table-row>
+            <fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
+          </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+
+
+      <fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)" >
+        <fo:table-column column-width="150mm"/>
+        <fo:table-body>
+          <fo:table-row>
+            <fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
+          </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+
+      <fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)">
+        <fo:table-column column-width="150mm"/>
+        <fo:table-body>
+          <fo:table-row>
+            <fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
+          </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+
+    <!-- normal text -->
+    <fo:block text-align="start">this is normal text. this is normal text. this is normal text.
+                                 this is normal text. this is normal text. this is normal text.
+    </fo:block>
+
+
+<!-- **************************** NEW PAGE ************************************* -->
+      <fo:block font-size="16pt"
+                font-family="sans-serif"
+                line-height="20pt"
+                space-after.optimum="3pt"
+                break-before="page"
+                text-align="justify">
+          A Contents table
+      </fo:block>
+
+      <!-- Here starts the table -->
+      <fo:table>
+        <fo:table-column column-width="1cm"/>
+        <fo:table-column column-width="15cm"/>
+        <fo:table-body font-size="10pt" font-family="sans-serif">
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+          <fo:block text-align="end">A) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">What is FOP?</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">B) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Downloading FOP</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">C) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Running FOP</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">D) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Embedding FOP </fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">E) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">What's Implemented?</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">F) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Limitations</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">G) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Bugs</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">H) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Compiling FOP</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">I) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Getting involved</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">J) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">FOP Relevant Specifications</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        <fo:table-row line-height="12pt">
+        <fo:table-cell>
+        <fo:block text-align="end">K) </fo:block>
+        </fo:table-cell>
+        <fo:table-cell>
+        <fo:block text-align="start">Licence</fo:block>
+        </fo:table-cell>
+        </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/tableunits.fo b/examples/fo/basic/tableunits.fo
new file mode 100644 (file)
index 0000000..cfc672d
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+
+  <!-- defines the layout master -->
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="first"
+                           page-height="29.7cm"
+                           page-width="21cm"
+                           margin-top="1cm"
+                           margin-bottom="2cm"
+                           margin-left="2.5cm"
+                           margin-right="2.5cm">
+      <fo:region-body margin-top="3cm" margin-bottom="1.5cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <!-- starts actual layout -->
+  <fo:page-sequence master-reference="first">
+
+  <fo:flow flow-name="xsl-region-body">
+
+    <!-- normal text -->
+    <fo:block space-after="1cm" text-align="start" padding="0.4in"
+  border="thick solid red">Table unit tests</fo:block>
+    <fo:table border-collapse="collapse" width="6in">
+      <fo:table-column column-width="(4.5in - 2cm) div 3 +1in" background-color="yellow"/>
+      <fo:table-column column-width="(4.5in - 2cm) div 3 + 0.5in" background-color="blue"/>
+      <fo:table-column column-width="(4.5in - 2cm) div 3 + 2.0cm" background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>fixed width columns</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+    <!-- table start -->
+    <fo:table border-collapse="collapse" width="6in">
+      <fo:table-column column-width="1in + proportional-column-width(1)" background-color="yellow"/>
+      <fo:table-column column-width="2 * (proportional-column-width(1) + .5in) div 2" background-color="blue"/>
+      <fo:table-column column-width="proportional-column-width(1) + 2.0cm" background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row>
+          <fo:table-cell  background-color="blue"><fo:block>default alignment
+</fo:block></fo:table-cell>
+          <fo:table-cell height="3cm" background-color="green" display-align="center"><fo:block>Centered with height=3cm</fo:block></fo:table-cell>
+          <fo:table-cell  background-color="yellow" display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+        <fo:table-row height="3cm">
+          <fo:table-cell><fo:block>default alignment but with a height
+of 3cm on the row </fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+<fo:block space-before="12pt" space-after="6pt">
+The next table has width=100% on the table no column widths specified on the table-column element.
+</fo:block>
+    <!-- table start -->
+    <fo:table border-collapse="collapse" width="100%">
+      <fo:table-column background-color="yellow"/>
+      <fo:table-column background-color="blue"/>
+      <fo:table-column background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+
+<fo:block space-before="12pt" space-after="6pt">
+The next table has fixed column widths=13cm, ipd.optimum=12cm and ipd.max = 100%.
+</fo:block>
+    <!-- table start -->
+    <fo:table border-collapse="collapse" inline-progression-dimension="12cm"
+  inline-progression-dimension.maximum="100%">
+      <fo:table-column column-width="8cm" background-color="yellow"/>
+      <fo:table-column column-width="proportional-column-width(2)" background-color="blue"/>
+      <fo:table-column column-width="5cm" background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table><fo:block space-before="12pt" space-after="6pt">
+The next table has fixed column widths=16.5cm, ipd.optimum=14cm and ipd.max = 100% (16cm).
+</fo:block>
+    <!-- table start -->
+    <fo:table border-collapse="collapse" inline-progression-dimension="14cm"
+  inline-progression-dimension.maximum="100%">
+      <fo:table-column column-width="8.5cm" background-color="yellow"/>
+      <fo:table-column column-width="proportional-column-width(2)" background-color="blue"/>
+      <fo:table-column column-width="8cm" background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+<fo:block space-before="12pt" space-after="6pt">
+The next table has width="70% + 1cm" and fixed lengths and the first table-column
+has column-width="from-parent('width') div 3".
+</fo:block>
+    <!-- table start -->
+    <fo:table border-collapse="collapse" width="70% + 1cm">
+      <fo:table-column column-width="from-parent('width') div 3" background-color="yellow"/>
+      <fo:table-column background-color="blue"/>
+      <fo:table-column background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+
+<fo:block space-before="12pt" space-after="6pt">
+The next table specifies inline-progression-dimension="15cm" instead of width. The
+middle column has a fixed width; the other two have default width.
+</fo:block>
+    <!-- table start -->
+    <fo:table border-collapse="collapse"
+  inline-progression-dimension="15cm">
+      <fo:table-column background-color="yellow"/>
+      <fo:table-column column-width="3cm" background-color="blue"/>
+      <fo:table-column background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+
+<fo:block space-before="12pt" space-after="6pt">
+The next table specifies neither width nor inline-progression-dimenion.
+</fo:block>
+    <!-- table start -->
+    <fo:table table-layout="fixed" border-collapse="collapse">
+      <fo:table-column background-color="yellow"/>
+      <fo:table-column column-width="3cm" background-color="blue"/>
+      <fo:table-column background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+
+<fo:block space-before="12pt" space-after="6pt">
+The next table specifies inline-progression-dimenion.minimum="10cm" and
+specifies a column width of 5cm on the middle column only..
+</fo:block>
+    <!-- table start -->
+    <fo:table table-layout="fixed" border-collapse="collapse"
+  inline-progression-dimension.minimum="10cm">
+      <fo:table-column background-color="yellow"/>
+      <fo:table-column column-width="5cm" background-color="blue"/>
+      <fo:table-column background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+<fo:block space-before="12pt" space-after="6pt">
+The next table specifies inline-progression-dimenion.minimum="10cm",
+inline-progression-dimension.maximum="17cm and
+specifies a column width of 5cm on the middle column only..
+</fo:block>
+    <!-- table start -->
+    <fo:table table-layout="fixed" border-collapse="collapse"
+  inline-progression-dimension.minimum="10cm"
+  inline-progression-dimension.maximum="17cm">
+      <fo:table-column background-color="yellow"/>
+      <fo:table-column column-width="5cm" background-color="blue"/>
+      <fo:table-column background-color="green"/>
+      <fo:table-body>
+        <fo:table-row>
+          <fo:table-cell display-align="before"><fo:block>Some text to make this cell
+deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
+          <fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
+          <fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/basic/textdeko.fo b/examples/fo/basic/textdeko.fo
new file mode 100644 (file)
index 0000000..01bbe42
--- /dev/null
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- simple example for text-decoration -->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+    <!-- layout for the other pages -->
+    <fo:simple-page-master master-name="rest"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="2.5cm"/>
+      <fo:region-before extent="2.5cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+<fo:page-sequence-master master-name="basicPSM" >
+  <fo:repeatable-page-master-alternatives>
+    <fo:conditional-page-master-reference master-reference="first"
+      page-position="first" />
+    <fo:conditional-page-master-reference master-reference="rest"
+      page-position="rest" />
+    <!-- recommended fallback procedure -->
+    <fo:conditional-page-master-reference master-reference="rest" />
+  </fo:repeatable-page-master-alternatives>
+</fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="basicPSM">
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block font-size="18pt" font-family="sans-serif" line-height="24pt" space-after.optimum="15pt"
+            background-color="blue" color="white" text-align="center" padding-top="3pt">
+      Simple example for text-decoration
+      </fo:block>
+
+      <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" text-align="justify" space-after.optimum="10pt">
+      The "text-decoration"-property describes decorations that are added to the text of an element.
+      If the property is specified for a block-level element, it should affect all inline-level descendants
+      of the element (does not work yet!).
+      If it is specified for (or affects) an inline-level
+      element, it affects all boxes generated by the element.
+      </fo:block>
+
+      <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="13pt">
+      Example: <fo:inline text-decoration="underline">underline</fo:inline>
+      </fo:block>
+
+      <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="10pt">
+      <fo:inline font-family="monospace"><![CDATA[<fo:inline text-decoration="underline">underline</fo:inline>]]></fo:inline>
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="serif"
+                line-height="15pt"
+                space-after.optimum="10pt"
+                text-align="start">
+        This is simple test of the text-decoration<fo:inline text-decoration="underline">underline</fo:inline>.
+      </fo:block>
+      <fo:block font-size="22pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="10pt"
+                text-align="start">
+        This is simple test with a <fo:inline text-decoration="underline">bigger</fo:inline> font-size.
+      </fo:block>
+      <fo:block font-size="12pt"
+                font-family="monospace"
+                line-height="15pt"
+                space-after.optimum="20pt"
+                text-align="start">
+        This is simple test with a <fo:inline text-decoration="underline">monospaced</fo:inline> font.
+
+      </fo:block>
+
+      <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" text-align="justify" space-after.optimum="3pt">
+      The following text decorations are defined in the CR:
+      </fo:block>
+
+      <fo:list-block space-after.optimum="13pt">
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="none">none</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="underline">underline</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="overline">overline</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="line-through">line-through</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="blink">blink</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="no-underline">no-underline</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="no-overline">no-overline</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="no-line-through">no-line-through</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+        <fo:list-item>
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              <fo:inline text-decoration="no-blink">no-blink</fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+
+      <fo:block font-size="12pt" space-after.optimum="3pt">
+      <fo:inline text-decoration="underline overline">Combination</fo:inline> of property
+      values should also be possible, but does not work in FOP at the moment.
+      </fo:block>
+
+      <fo:block font-size="12pt" space-after.optimum="13pt">
+      <fo:inline font-family="monospace"><![CDATA[<fo:inline text-decoration="underline overline">
+      Combination</fo:inline>]]></fo:inline>
+      </fo:block>
+
+
+      <fo:block space-after.optimum="13pt">
+        And now <fo:inline text-decoration="underline">more than a word...</fo:inline>
+      </fo:block>
+
+      <fo:block space-after.optimum="13pt" font-size="14pt" >
+      <fo:inline text-decoration="underline">
+      This is a whole block wrapped in fo:inline with the property text-decoration="underline".
+      Some more Text to get at least two lines.
+      </fo:inline>
+      </fo:block>
+
+      <fo:block font-size="22pt"
+                font-family="sans-serif"
+                line-height="22pt"
+                space-after.optimum="10pt"
+                text-align="start">
+        This is simple test with a <fo:inline text-decoration="overline">bigger font-size</fo:inline>.
+      </fo:block>
+      <fo:block font-size="15pt"
+                font-family="monospace"
+                line-height="15pt"
+                space-after.optimum="10pt"
+                text-align="start">
+        This is simple test with a <fo:inline text-decoration="line-through">monospaced font</fo:inline>.
+      </fo:block>
+
+      <fo:block font-size="15pt"
+                line-height="15pt"
+                space-after.optimum="10pt"
+                text-align="start">
+        What about underlining of whitespace only<fo:inline text-decoration="underline"> </fo:inline>?
+      </fo:block>
+
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/build.xml b/examples/fo/build.xml
new file mode 100644 (file)
index 0000000..5d2c6c5
--- /dev/null
@@ -0,0 +1,134 @@
+<?xml version="1.0"?>
+<!-- =========================================================================== -->
+<project default="newPDF" basedir=".">
+  <!-- =================================================================== -->
+  <!-- Initialization target                                               -->
+  <!-- =================================================================== -->
+  <target name="init">
+    <tstamp/>
+    <mkdir dir="tests"/>
+    <property name="referenceDir" value="reference"/>
+    <property name="testDir" value="tests"/>
+    <property name="foDir" value="fo"/>
+               <path id="run-classpath">
+         <fileset dir="../../lib">
+         <include name="*.jar"/>
+           </fileset>
+      <pathelement location="../../build/fop.jar"/>
+         </path>
+    <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop" classpathref="run-classpath"/>
+    <taskdef name="compare" classname="org.apache.fop.tools.anttasks.Compare" classpathref="run-classpath"/>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Help on usage                                                       -->
+  <!-- =================================================================== -->
+  <target name="usage">
+    <echo message="Use '-projecthelp' instead"/>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Produces new test files (function)                                  -->
+  <!-- =================================================================== -->
+  <target name="newTestFiles">
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="basic">
+      <fileset dir="basic">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="footnotes">
+      <fileset dir="footnotes">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="pagination">
+      <fileset dir="pagination">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="keeps_and_breaks">
+      <fileset dir="keeps_and_breaks">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="markers">
+      <fileset dir="markers">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="region_body">
+      <fileset dir="region_body">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="tables">
+      <fileset dir="tables">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+    <fop format="${mimetype}" outdir="${outDir}" messagelevel="${msglevel}" basedir="svg">
+      <fileset dir="svg">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Produces new test PDF files                                         -->
+  <!-- =================================================================== -->
+  <target name="newPDF" depends="init" description="Creates a new set of PDF test files">
+    <antcall target="newTestFiles">
+      <param name="mimetype" value="application/pdf"/>
+      <param name="msglevel" value="debug"/>
+      <param name="outDir" value="${testDir}"/>
+    </antcall>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Produces new test ps files                                         -->
+  <!-- =================================================================== -->
+  <target name="newPS" depends="init" description="Creates a new set of PostScript test files">
+    <antcall target="newTestFiles">
+      <param name="mimetype" value="application/postscript"/>
+      <param name="msglevel" value="debug"/>
+      <param name="outDir" value="${testDir}"/>
+    </antcall>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Produces new test areatree files                                         -->
+  <!-- =================================================================== -->
+  <target name="newAT" depends="init" description="Creates a new set of AreaTree XML test files">
+    <antcall target="newTestFiles">
+      <param name="mimetype" value="text/xml"/>
+      <param name="msglevel" value="debug"/>
+      <param name="outDir" value="${testDir}"/>
+    </antcall>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Compares new test pdf files to reference pdf files                  -->
+  <!-- =================================================================== -->
+  <target name="comparePDF" depends="newPDF">
+    <compare referenceDirectory="${referenceDir}" testDirectory="${testDir}" filenames="normal.pdf,table.pdf,list.pdf,link.pdf,border.pdf,images.pdf,extensive.pdf,readme.pdf,fonts.pdf,bordershorthand.pdf,character.pdf,corresprop.pdf,hyphen.pdf,inhprop.pdf,instream.pdf,leader.pdf,newlinktest.pdf,normalex.pdf,pdfoutline.pdf,simple.pdf,textdeko.pdf,tableunits.pdf"/>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Produces new reference pdf files                                         -->
+  <!-- =================================================================== -->
+  <target name="referencePDF" depends="init">
+    <fop format="application/pdf" outdir="${referenceDir}" basedir="./fo">
+      <fileset dir="${foDir}">
+        <include name="**/*.fo"/>
+      </fileset>
+    </fop>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Starts the test                                                     -->
+  <!-- =================================================================== -->
+  <target name="runtest" depends="comparePDF">
+    <echo message="Running Fop tests"/>
+  </target>
+  <!-- =================================================================== -->
+  <!-- Clean targets                                                       -->
+  <!-- =================================================================== -->
+  <target name="clean" depends="init">
+    <delete dir="${testDir}"/>
+  </target>
+
+</project>
+<!-- End of file -->
diff --git a/examples/fo/footnotes/columns.fo b/examples/fo/footnotes/columns.fo
new file mode 100644 (file)
index 0000000..3a0ee02
--- /dev/null
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="first"
+                  page-height="11in"
+                  page-width="8.5in"
+                  margin-top="1in"
+                  margin-bottom="1in"
+                  margin-left="0.75in"
+                  margin-right="0.75in">
+      <fo:region-body
+      margin-top="1in" margin-bottom="1in"
+    column-count="2" column-gap="0.25in"/>
+      <fo:region-before extent="1in"/>
+      <fo:region-after extent="1in"/>
+    </fo:simple-page-master>
+
+    <fo:simple-page-master master-name="next"
+                  page-height="11in"
+                  page-width="8.5in"
+                  margin-top="1in"
+                  margin-bottom="1in"
+                  margin-left="0.75in"
+                  margin-right="0.75in">
+      <fo:region-body
+      margin-top="1in" margin-bottom="1in"
+    column-count="4" column-gap="0.25in"/>
+      <fo:region-before extent="1in"/>
+      <fo:region-after extent="1in"/>
+    </fo:simple-page-master>
+
+  </fo:layout-master-set>
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block font-size="16pt"
+                font-family="sans-serif"
+                line-height="normal"
+                text-align="start"
+        color="blue">Footnotes in Columns</fo:block>
+  </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block font-size="10pt"
+                font-family="sans-serif"
+                line-height="12pt"
+        space-before.optimum="6pt"
+                text-align="end"
+        color="blue">Page #</fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block color="grey">
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+      </fo:block>
+<fo:block color="red">
+  The <fo:footnote>
+  <fo:inline font-weight="bold">footnote<fo:inline font-size="6pt" vertical-align="super">1</fo:inline></fo:inline>
+  <fo:footnote-body>
+      <fo:block color="maroon">
+          1. A footnote is text placed at the bottom of the current page.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   at the bottom of the page.
+</fo:block>
+      <fo:block color="grey">
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+      </fo:block>
+<fo:block color="green">
+  The <fo:footnote>
+  <fo:inline font-weight="bold">second footnote<fo:inline font-size="6pt" vertical-align="super">2</fo:inline></fo:inline>
+  <fo:footnote-body>
+      <fo:block color="darkgreen">
+          2. Another footnote with a bit more text.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   at the bottom of the page after the other footnote.
+</fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+
+  <fo:page-sequence master-reference="next">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block font-size="16pt"
+                font-family="sans-serif"
+                line-height="normal"
+                text-align="start"
+        color="blue">Footnotes in Columns</fo:block>
+  </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block font-size="10pt"
+                font-family="sans-serif"
+                line-height="12pt"
+        space-before.optimum="6pt"
+                text-align="end"
+        color="blue">Page #</fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block color="grey">
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+      </fo:block>
+<fo:block color="red">
+  The <fo:footnote>
+  <fo:inline font-weight="bold">footnote<fo:inline font-size="6pt" vertical-align="super">1</fo:inline></fo:inline>
+  <fo:footnote-body>
+      <fo:block color="maroon">
+          1. A footnote is text placed at the bottom of the current page.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   at the bottom of the page.
+</fo:block>
+      <fo:block color="grey">
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+What shall we use to fill the empty spaces,
+Where we used to talk?
+How shall I fill the final places?
+How shall I complete the wall?
+      </fo:block>
+<fo:block color="green">
+  The <fo:footnote>
+  <fo:inline font-weight="bold">second footnote<fo:inline font-size="6pt" vertical-align="super">2</fo:inline></fo:inline>
+  <fo:footnote-body>
+      <fo:block color="darkgreen">
+          2. Another footnote with a bit more text.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   at the bottom of the page after the other footnote.
+</fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/footnotes/simple.fo b/examples/fo/footnotes/simple.fo
new file mode 100644 (file)
index 0000000..a1abc04
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+<fo:layout-master-set>
+<fo:simple-page-master margin-right="0.5cm" margin-left="1.5cm" margin-bottom="2cm" margin-top="0cm" page-width="21cm" page-height="20cm" master-name="one">
+<fo:region-body margin-bottom="2cm" margin-top="2cm"/>
+<fo:region-before extent="0.5cm"/>
+<fo:region-after extent="0.5cm"/>
+</fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence master-reference="one">
+<fo:flow flow-name="xsl-region-body">
+
+<fo:block space-after.optimum="10pt" font-weight="bold" font-size="16pt" text-align="center">
+  Footnotes
+</fo:block>
+
+<fo:block color="red">
+  The <fo:footnote>
+  <fo:inline font-weight="bold">footnote<fo:inline font-size="6pt" vertical-align="super">1</fo:inline></fo:inline>
+  <fo:footnote-body>
+      <fo:block color="maroon">
+          1. A footnote is text placed at the bottom of the current or the next page.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   at the bottom of the page.
+</fo:block>
+<fo:block color="green">
+  The <fo:footnote>
+  <fo:inline font-weight="bold">second footnote<fo:inline font-size="6pt" vertical-align="super">2</fo:inline></fo:inline>
+  <fo:footnote-body>
+      <fo:block color="darkgreen">
+          2. Another footnote with a bit more text.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   at the bottom of the page after the other footnote.
+</fo:block>
+<fo:block space-before.optimum="200pt" color="grey">
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+This text is used to show the body region area.
+</fo:block>
+
+<fo:block break-before="page">
+  This is for testing if a footnote cannot fit with the footnote
+  reference text.
+</fo:block>
+<fo:block color="grey" space-before.optimum="300pt">
+Some filler text with no other purpose.
+Some filler text with no other purpose.
+Some filler text with no other purpose.
+Some filler text with no other purpose.
+Some filler text with no other purpose.
+Some filler text with no other purpose.
+Some filler text with no other purpose.
+Some filler text with no other purpose.
+</fo:block>
+<fo:block color="blue">
+  This <fo:footnote>
+  <fo:inline font-weight="bold">footnote</fo:inline>
+  <fo:footnote-body>
+      <fo:block color="darkblue">
+          A footnote with too much text to fit on the same page as the reference. Also the
+          reference is in the same place as the conditional footnote reference text.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   is at the bottom of the page where the conditional footnote reference area is.
+
+</fo:block>
+
+<fo:block break-before="page">
+  This page also has a footnote and should have the footnote from the last page.
+</fo:block>
+<fo:block color="grey" space-before.optimum="150pt">
+More boring filler text.
+More boring filler text.
+More boring filler text.
+</fo:block>
+<fo:block color="fuchsia">
+  This <fo:footnote>
+  <fo:inline font-weight="bold">footnote</fo:inline>
+  <fo:footnote-body>
+      <fo:block color="purple">
+          Another footnote.
+      </fo:block>
+  </fo:footnote-body>
+  </fo:footnote>
+   is at the bottom of the page after the footnote from the previous page.
+
+</fo:block>
+
+
+</fo:flow>
+</fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/graphics/fop.jpg b/examples/fo/graphics/fop.jpg
new file mode 100644 (file)
index 0000000..2977249
Binary files /dev/null and b/examples/fo/graphics/fop.jpg differ
diff --git a/examples/fo/graphics/linux.bmp b/examples/fo/graphics/linux.bmp
new file mode 100644 (file)
index 0000000..9fd6cdc
Binary files /dev/null and b/examples/fo/graphics/linux.bmp differ
diff --git a/examples/fo/graphics/listgeometry.gif b/examples/fo/graphics/listgeometry.gif
new file mode 100644 (file)
index 0000000..e7b6280
Binary files /dev/null and b/examples/fo/graphics/listgeometry.gif differ
diff --git a/examples/fo/graphics/page.gif b/examples/fo/graphics/page.gif
new file mode 100644 (file)
index 0000000..1b691eb
Binary files /dev/null and b/examples/fo/graphics/page.gif differ
diff --git a/examples/fo/graphics/xml_feather.gif b/examples/fo/graphics/xml_feather.gif
new file mode 100644 (file)
index 0000000..79c3b65
Binary files /dev/null and b/examples/fo/graphics/xml_feather.gif differ
diff --git a/examples/fo/graphics/xml_feather_transparent.gif b/examples/fo/graphics/xml_feather_transparent.gif
new file mode 100644 (file)
index 0000000..c57a767
Binary files /dev/null and b/examples/fo/graphics/xml_feather_transparent.gif differ
diff --git a/examples/fo/keeps_and_breaks/columnlevel1.fo b/examples/fo/keeps_and_breaks/columnlevel1.fo
new file mode 100644 (file)
index 0000000..2a286f3
--- /dev/null
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+This file addresses breaks in column context.
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <!-- layout for all pages -->
+    <fo:simple-page-master master-name="all"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body
+      margin-top="3cm" margin-bottom="2cm"
+    column-count="2" column-gap="0.25in"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="all">
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block font-size="10pt" text-align="start"
+      border-style="solid" border-color="blue" border-width="0.5pt"
+    space-before.optimum="6pt">
+    Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
+    </fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-before conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-before condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="column">
+This is a block with a <fo:inline font-style="italic">break-before="column"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in a column context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-before
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-before trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="column">
+This is a block with a <fo:inline font-style="italic">break-before="column"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in a column context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+      <fo:block span="all">
+      <fo:leader leader-pattern="rule"
+                   rule-thickness="2.0pt"
+                   leader-length="14cm"
+                   space-before.optimum="0pt"
+                   space-after.optimum="12pt"
+                   start-indent="1cm"
+                   end-indent="1cm"
+                   background-color="blue"
+                   color="yellow"/>
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-after="column">
+This is a block with a <fo:inline font-style="italic">break-after="column"
+</fo:inline> break condition. This condition is satisfied if there is
+no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
+first normal area generated by the next FO is leading in a column
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-before conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-before condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-before
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-before trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-after="column">
+This is a block with a <fo:inline font-style="italic">break-after="column"
+</fo:inline> break condition. This condition is satisfied if there is
+no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
+first normal area generated by the next FO is leading in a column context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/keeps_and_breaks/pagelevel1.fo b/examples/fo/keeps_and_breaks/pagelevel1.fo
new file mode 100644 (file)
index 0000000..3b674ee
--- /dev/null
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+This file addresses breaks in page context.
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <!-- layout for all pages -->
+    <fo:simple-page-master master-name="all"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body
+      margin-top="3cm" margin-bottom="2cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="all">
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block font-size="10pt" text-align="start"
+      border-style="solid" border-color="blue" border-width="0.5pt">
+    Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
+    </fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    break-after="page">
+<fo:inline color="red">break-after="page"</fo:inline>
+Break conditions are either break-before or break-after conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-after condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-after
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-after trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    break-before="page">
+<fo:inline color="red">break-before="page"</fo:inline>
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/keeps_and_breaks/pagelevel2.fo b/examples/fo/keeps_and_breaks/pagelevel2.fo
new file mode 100644 (file)
index 0000000..9018a3d
--- /dev/null
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+This file addresses break-after's in page context.
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <!-- layout for all pages -->
+    <fo:simple-page-master master-name="all"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body
+      margin-top="3cm" margin-bottom="2cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="all">
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block font-size="10pt" text-align="start"
+      border-style="solid" border-color="blue" border-width="0.5pt"
+    space-before.optimum="6pt">
+    Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
+    </fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-after conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-after condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-after="even-page">
+This is a block with a <fo:inline font-style="italic">break-after="even-page"
+</fo:inline> break condition. This condition is satisfied if there is
+no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
+first normal area generated by the next FO is leading in an even-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-after
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-after trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-after="even-page">
+This is a block with a <fo:inline font-style="italic">break-after="even-page"
+</fo:inline> break condition. This condition is satisfied if there is
+no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
+first normal area generated by the next FO is leading in an even-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+      <fo:block>
+      <fo:leader leader-pattern="rule"
+                   rule-thickness="2.0pt"
+                   leader-length="14cm"
+                   space-before.optimum="0pt"
+                   space-after.optimum="12pt"
+                   start-indent="1cm"
+                   end-indent="1cm"
+                   background-color="blue"
+                   color="yellow"/>
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-after="odd-page">
+This is a block with a <fo:inline font-style="italic">break-after="odd-page"
+</fo:inline> break condition. This condition is satisfied if there is
+no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
+first normal area generated by the next FO is leading in an odd-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-after conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-after condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-after
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-after trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-after="odd-page">
+This is a block with a <fo:inline font-style="italic">break-after="odd-page"
+</fo:inline> break condition. This condition is satisfied if there is
+no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
+first normal area generated by the next FO is leading in an odd-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/keeps_and_breaks/pagelevel3.fo b/examples/fo/keeps_and_breaks/pagelevel3.fo
new file mode 100644 (file)
index 0000000..b329a45
--- /dev/null
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+This file addresses break-before's in page context.
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <!-- layout for all pages -->
+    <fo:simple-page-master master-name="all"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body
+      margin-top="3cm" margin-bottom="2cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="all">
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block font-size="10pt" text-align="start"
+      border-style="solid" border-color="blue" border-width="0.5pt"
+    space-before.optimum="6pt">
+    Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
+    </fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-before conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-before condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="even-page">
+This is a block with a <fo:inline font-style="italic">break-before="even-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an even-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-before
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-before trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="even-page">
+This is a block with a <fo:inline font-style="italic">break-before="even-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an even-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+      <fo:block>
+      <fo:leader leader-pattern="rule"
+                   rule-thickness="2.0pt"
+                   leader-length="14cm"
+                   space-before.optimum="0pt"
+                   space-after.optimum="12pt"
+                   start-indent="1cm"
+                   end-indent="1cm"
+                   background-color="blue"
+                   color="yellow"/>
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="odd-page">
+This is a block with a <fo:inline font-style="italic">break-before="odd-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an odd-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-before conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-before condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-before
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-before trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="odd-page">
+This is a block with a <fo:inline font-style="italic">break-before="odd-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an odd-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/keeps_and_breaks/pagelevel4.fo b/examples/fo/keeps_and_breaks/pagelevel4.fo
new file mode 100644 (file)
index 0000000..cd7f454
--- /dev/null
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+This file addresses breaks in page context, with a
+2-column layout.
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <!-- layout for all pages -->
+    <fo:simple-page-master master-name="all"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body
+      margin-top="3cm" margin-bottom="2cm"
+    column-count="2" column-gap="0.25in"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="all">
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block font-size="10pt" text-align="start"
+      border-style="solid" border-color="blue" border-width="0.5pt"
+    space-before.optimum="6pt">
+    Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
+    </fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-before conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-before condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="even-page">
+This is a block with a <fo:inline font-style="italic">break-before="even-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an even-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-before
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-before trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="even-page">
+This is a block with a <fo:inline font-style="italic">break-before="even-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an even-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+      <fo:block span="all">
+      <fo:leader leader-pattern="rule"
+                   rule-thickness="2.0pt"
+                   leader-length="14cm"
+                   space-before.optimum="0pt"
+                   space-after.optimum="12pt"
+                   start-indent="1cm"
+                   end-indent="1cm"
+                   background-color="blue"
+                   color="yellow"/>
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep and break conditions apply to a class of areas, which are typically
+page-reference-areas, column-areas, and line-areas. The appropriate class
+for a given condition is referred to as a context and an area in this
+class is a context-area. As defined in Section 6.4.1, page-reference-areas
+are areas generated by an fo:page-sequence using the specifications in a
+fo:page-master, and column-areas are normal-flow-reference-areas generated
+from a region-body, or region-reference-areas generated from other types
+of region-master.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+A keep or break condition is an open statement about a formatting object
+and the tree relationships of the areas it generates with the relevant
+context-areas. These tree relationships are defined mainly in terms of
+leading or trailing areas. If A is a descendant of P, then A is defined
+to be leading in P if A has no preceding sibling which is a normal area,
+nor does any of its ancestor areas up to but not including P. Similarly,
+A is defined to be trailing in P if A has no following sibling which is
+a normal area, nor does any of its ancestor areas up to but not including P.
+For any given formatting object, the next formatting object in the flow is
+the first formatting object following (in the pre-order traversal order)
+which generates and returns normal areas.
+    </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="odd-page">
+This is a block with a <fo:inline font-style="italic">break-before="odd-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an odd-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are either break-before or break-before conditions.
+A break-before condition is satisfied if the first area generated and
+returned by the formatting object is leading within a context-area. A
+break-before condition depends on the next formatting object in the flow;
+it is satisfied if either there is no such next formatting object, or
+if the first normal area generated and returned by that formatting
+object is leading in a context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Break conditions are imposed by the break-before and break-before
+properties. A refined value of page for these traits imposes a break
+condition with a context consisting of the page-reference-areas; a
+value of even-page or odd-page imposes a break condition with a
+context of even-numbered page-reference-areas or odd-numbered page
+reference-areas, respectively; a value of column imposes a break
+condition with a context of column-areas. A value of auto in a
+break-before or break-before trait imposes no break condition.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are either keep-with-previous, keep-with-next, or
+keep-together conditions. A keep-with-previous condition on an
+object is satisfied if the first area generated and returned by
+the formatting object is not leading within a context-area, or
+if there are no preceding areas in a post-order traversal of the
+area tree. A keep-with-next condition is satisfied if the last
+area generated and returned by the formatting object is not
+trailing within a context-area, or if there are no following
+areas in a pre-order traversal of the area tree. A keep-together
+condition is satisfied if all areas generated and returned by
+the formatting object are descendants of a single context-area.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+Keep conditions are imposed by the "within-page", "within-column",
+and "within-line" components of the "keep-with-previous",
+"keep-with-next", and "keep-together" properties. The refined value
+of each component specifies the strength of the keep condition
+imposed, with higher numbers being stronger than lower numbers and
+the value always being stronger than all numeric values. A component
+with value auto does not impose a keep condition. A "within-page"
+component imposes a keep-condition with context consisting of the
+page-reference-areas; "within-column", with context consisting of
+the column-areas; and "within-line" with context consisting of the
+line-areas.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt"
+    color="blue"
+    break-before="odd-page">
+This is a block with a <fo:inline font-style="italic">break-before="odd-page"
+</fo:inline> break condition. This condition is satisfied if the
+first normal area generated by this FO is leading in an odd-page
+context.
+      </fo:block>
+
+      <fo:block
+      font-size="14pt" font-family="sans-serif"
+    line-height="18pt" space-after.optimum="15pt">
+The area tree is constrained to satisfy all break conditions imposed.
+Each keep condition must also be satisfied, except when this would
+cause a break condition or a stronger keep condition to fail to be
+satisfied. If not all of a set of keep conditions of equal strength
+can be satisfied, then some maximal satisfiable subset of conditions
+of that strength must be satisfied (together with all break conditions
+and maximal subsets of stronger keep conditions, if any).
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/markers/glossary.xml b/examples/fo/markers/glossary.xml
new file mode 100644 (file)
index 0000000..7657750
--- /dev/null
@@ -0,0 +1,314 @@
+<?xml version="1.0"?>
+<glossary>
+<term-entry>
+  <term>basic-link</term>
+  <definition>The fo:basic-link is used for representing the start resource
+  of a simple link.</definition>
+</term-entry>
+<term-entry>
+  <term>bidi-override</term>
+  <definition>The fo:bidi-override inline formatting object is used where
+  it is necessary to override the default Unicode-bidirectionality
+  algorithm direction for different (or nested) inline scripts in
+  mixed-language documents.</definition>
+</term-entry>
+<term-entry>
+  <term>block</term>
+  <definition>The fo:block formatting object is commonly used for formatting
+  paragraphs, titles, headlines, figure and table captions, etc.</definition>
+</term-entry>
+<term-entry>
+  <term>block-container</term>
+  <definition>The fo:block-container flow object is used to generate a
+   block-level reference-area.</definition>
+</term-entry>
+<term-entry>
+  <term>character</term>
+  <definition>The fo:character flow object represents a character that is
+   mapped to a glyph for presentation.</definition>
+</term-entry>
+<term-entry>
+  <term>color-profile</term>
+  <definition>Used to declare a color profile for a stylesheet.</definition>
+</term-entry>
+<term-entry>
+  <term>conditional-page-master-reference</term>
+  <definition>The fo:conditional-page-master-reference
+   is used to identify a page-master that is to be used when the conditions
+   on its use are satisfied.</definition>
+</term-entry>
+<term-entry>
+  <term>declarations</term>
+  <definition>Used to group global declarations for a stylesheet.</definition>
+</term-entry>
+<term-entry>
+  <term>external-graphic</term>
+  <definition>The fo:external-graphic flow object is used for a graphic
+   where the graphics data resides outside of the XML result tree in the
+   fo namespace.</definition>
+</term-entry>
+<term-entry>
+  <term>float</term>
+  <definition>The fo:float serves two purposes. It can be used so that during the
+   normal placement of content, some related content is formatted into a
+   separate area at beginning of the page (or of some following page) where
+   it is available to be read without immediately intruding on the reader.
+   Alternatively, it can be used when an area is intended to float to one
+   side, with normal content flowing alongside.</definition>
+</term-entry>
+<term-entry>
+  <term>flow</term>
+  <definition>The content of the fo:flow formatting object is a sequence
+  of flow objects that provides the flowing text content that is distributed
+  into pages.</definition>
+</term-entry>
+<term-entry>
+  <term>footnote</term>
+  <definition>The fo:footnote is used to produce a footnote citation and the
+  corresponding footnote.</definition>
+</term-entry>
+<term-entry>
+  <term>footnote-body</term>
+  <definition>The fo:footnote-body is used to generate the content of the
+  footnote.</definition>
+</term-entry>
+<term-entry>
+  <term>initial-property-set</term>
+  <definition>The fo:initial-property-set specifies formatting properties
+  for the first line of an fo:block.</definition>
+</term-entry>
+<term-entry>
+  <term>inline</term>
+  <definition>The fo:inline formatting object is commonly used for
+  formatting a portion of text with a background or enclosing it in a
+  border.</definition>
+</term-entry>
+<term-entry>
+  <term>inline-container</term>
+  <definition>The fo:inline-container flow object is used to generate an
+  inline reference-area.</definition>
+</term-entry>
+<term-entry>
+  <term>instream-foreign-object</term>
+  <definition>The fo:instream-foreign-object flow object is used for an
+  inline graphic or other "generic" object where the object data resides
+  as descendants of the fo:instream-foreign-object.</definition>
+</term-entry>
+<term-entry>
+  <term>layout-master-set</term>
+  <definition>The fo:layout-master-set is a wrapper around all masters used
+  in the document.</definition>
+</term-entry>
+<term-entry>
+  <term>leader</term>
+  <definition>The fo:leader formatting object is used to generate leaders
+  consisting either of a rule or of a row of a repeating character or
+  cyclically repeating pattern of characters that may be used for connecting
+  two text formatting objects.</definition>
+</term-entry>
+<term-entry>
+  <term>list-block</term>
+  <definition>The fo:list-block flow object is used to format a list.</definition>
+</term-entry>
+<term-entry>
+  <term>list-item</term>
+  <definition>The fo:list-item formatting object contains the label and the
+  body of an item in a list.</definition>
+</term-entry>
+<term-entry>
+  <term>list-item-body</term>
+  <definition>The fo:list-item-body formatting object contains the content
+  of the body of a list-item.</definition>
+</term-entry>
+<term-entry>
+  <term>list-item-label</term>
+  <definition>The fo:list-item-label formatting object contains the content
+  of the label of a list-item; typically used to either enumerate, identify,
+  or adorn the list-item's body.</definition>
+</term-entry>
+<term-entry>
+  <term>marker</term>
+  <definition>The fo:marker is used in conjunction with fo:retrieve-marker
+  to produce running headers or footers.</definition>
+</term-entry>
+<term-entry>
+  <term>multi-case</term>
+  <definition>The fo:multi-case is used to contain (within an fo:multi-switch)
+  each alternative sub-tree of formatting objects among which the parent
+  fo:multi-switch will choose one to show and will hide the rest.</definition>
+</term-entry>
+<term-entry>
+  <term>multi-properties</term>
+  <definition>The fo:multi-properties is used to switch between two or more
+  property sets that are associated with a given portion of content.</definition>
+</term-entry>
+<term-entry>
+  <term>multi-property-set</term>
+  <definition>The fo:multi-property-set is used to specify an alternative
+  set of formatting properties that, dependent on a User Agent state, are
+  applied to the content. </definition>
+</term-entry>
+<term-entry>
+  <term>multi-switch</term>
+  <definition>The fo:multi-switch wraps the specification of alternative
+  sub-trees of formatting objects (each sub-tree being within an
+  fo:multi-case), and controls the switching (activated via fo:multi-toggle)
+  from one alternative to another. </definition>
+</term-entry>
+<term-entry>
+  <term>multi-toggle</term>
+  <definition>The fo:multi-toggle is used within an fo:multi-case to switch
+  to another fo:multi-case.</definition>
+</term-entry>
+<term-entry>
+  <term>page-number</term>
+  <definition>The fo:page-number formatting object is used to represent the
+  current page-number.</definition>
+</term-entry>
+<term-entry>
+  <term>page-number-citation</term>
+  <definition>The fo:page-number-citation is used to reference the
+  page-number for the page containing the first normal area returned by the
+  cited formatting object.</definition>
+</term-entry>
+<term-entry>
+  <term>page-sequence</term>
+  <definition>The fo:page-sequence formatting object is used to specify how
+  to create a (sub-)sequence of pages within a document; for example, a
+  chapter of a report. The content of these pages comes from flow children
+  of the fo:page-sequence.</definition>
+</term-entry>
+<term-entry>
+  <term>page-sequence-master</term>
+  <definition>The fo:page-sequence-master specifies sequences of page-masters
+  that are used when generating a sequence of pages.</definition>
+</term-entry>
+<term-entry>
+  <term>region-after</term>
+  <definition>This region defines a viewport that is located on the "after"
+  side of fo:region-body region. </definition>
+</term-entry>
+<term-entry>
+  <term>region-before</term>
+  <definition>This region defines a viewport that is located on the "before"
+  side of fo:region-body region.</definition>
+</term-entry>
+<term-entry>
+  <term>region-body</term>
+  <definition>This region specifies a viewport/reference pair that is located
+  in the "center" of the fo:simple-page-master.</definition>
+</term-entry>
+<term-entry>
+  <term>region-end</term>
+  <definition>This region defines a viewport that is located on the "end"
+  side of fo:region-body region.</definition>
+</term-entry>
+<term-entry>
+  <term>region-start</term>
+  <definition>This region defines a viewport that is located on the "start"
+  side of fo:region-body region.</definition>
+</term-entry>
+<term-entry>
+  <term>repeatable-page-master-alternatives</term>
+  <definition>An fo:repeatable-page-master-alternatives specifies a
+  sub-sequence consisting of repeated instances of a set of alternative
+  page-masters. The number of repetitions may be bounded or potentially
+  unbounded.</definition>
+</term-entry>
+<term-entry>
+  <term>repeatable-page-master-reference</term>
+  <definition>An fo:repeatable-page-master-reference specifies a sub-sequence
+  consisting of repeated instances of a single page-master. The number of
+  repetitions may be bounded or potentially unbounded.</definition>
+</term-entry>
+<term-entry>
+  <term>retrieve-marker</term>
+  <definition>The fo:retrieve-marker is used in conjunction with fo:marker
+  to produce running headers or footers.</definition>
+</term-entry>
+<term-entry>
+  <term>root</term>
+  <definition>The fo:root node is the top node of an XSL result tree. This
+  tree is composed of formatting objects.</definition>
+</term-entry>
+<term-entry>
+  <term>simple-page-master</term>
+  <definition>The fo:simple-page-master is used in the generation of pages
+  and specifies the geometry of the page. The page may be subdivided into
+  up to five regions.</definition>
+</term-entry>
+<term-entry>
+  <term>single-page-master-reference</term>
+  <definition>An fo:single-page-master-reference specifies a sub-sequence
+  consisting of a single instance of a single page-master.</definition>
+</term-entry>
+<term-entry>
+  <term>static-content</term>
+  <definition>The fo:static-content formatting object holds a sequence or a
+  tree of formatting objects that is to be presented in a single region or
+  repeated in like-named regions on one or more pages in the page-sequence.
+  Its common use is for repeating or running headers and footers.</definition>
+</term-entry>
+<term-entry>
+  <term>table</term>
+  <definition>The fo:table flow object is used for formatting the tabular
+  material of a table.</definition>
+</term-entry>
+<term-entry>
+  <term>table-and-caption</term>
+  <definition>The fo:table-and-caption flow object is used for formatting a
+  table together with its caption.</definition>
+</term-entry>
+<term-entry>
+  <term>table-body</term>
+  <definition>The fo:table-body formatting object is used to contain the
+  content of the table body.</definition>
+</term-entry>
+<term-entry>
+  <term>table-caption</term>
+  <definition>The fo:table-caption formatting object is used to contain
+  block-level formatting objects containing the caption for the table only
+  when using the fo:table-and-caption.</definition>
+</term-entry>
+<term-entry>
+  <term>table-cell</term>
+  <definition>The fo:table-cell formatting object is used to group content to
+  be placed in a table cell.</definition>
+</term-entry>
+<term-entry>
+  <term>table-column</term>
+  <definition>The fo:table-column formatting object specifies characteristics
+  applicable to table cells that have the same column and span.</definition>
+</term-entry>
+<term-entry>
+  <term>table-footer</term>
+  <definition>The fo:table-footer formatting object is used to contain the
+  content of the table footer.</definition>
+</term-entry>
+<term-entry>
+  <term>table-header</term>
+  <definition>The fo:table-header formatting object is used to contain the
+  content of the table header.</definition>
+</term-entry>
+<term-entry>
+  <term>table-row</term>
+  <definition>The fo:table-row formatting object is used to group table-cells
+  into rows.</definition>
+</term-entry>
+<term-entry>
+  <term>title</term>
+  <definition>The fo:title formatting object is used to associate a title with
+  a given document. This title may be used by an interactive User Agent to
+  identify the document. For example, the content of the fo:title can be
+  formatted and displayed in a "title" window or in a "tool tip".</definition>
+</term-entry>
+<term-entry>
+  <term>wrapper </term>
+  <definition>The fo:wrapper formatting object is used to specify inherited
+  properties for a group of formatting objects. It has no additional
+  formatting semantics.</definition>
+</term-entry>
+</glossary>
+
+
+
diff --git a/examples/fo/markers/glossary.xsl b/examples/fo/markers/glossary.xsl
new file mode 100644 (file)
index 0000000..ee679cc
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:fo="http://www.w3.org/1999/XSL/Format"
+  version="1.0">
+
+<xsl:template match="glossary">
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+
+    <fo:simple-page-master master-name="all"
+    page-height="11.5in" page-width="8.5in"
+        margin-top="1in" margin-bottom="1in"
+        margin-left="0.75in" margin-right="0.75in">
+    <fo:region-body margin-top="1in" margin-bottom="0.75in"/>
+    <fo:region-before extent="0.75in"/>
+    <fo:region-after extent="0.5in"/>
+  </fo:simple-page-master>
+
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="all" format="i">
+
+    <!-- header with running glossary entries -->
+    <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="start"
+      font-size="10pt" font-family="serif" line-height="1em + 2pt">
+      <fo:retrieve-marker retrieve-class-name="term"
+      retrieve-boundary="page"
+      retrieve-position="first-starting-within-page"/>
+    <fo:leader leader-alignment="reference-area" leader-pattern="dots"
+      leader-length="4in"/>
+      <fo:retrieve-marker retrieve-class-name="term"
+      retrieve-boundary="page"
+      retrieve-position="last-ending-within-page"/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block text-align="start"
+      font-size="10pt" font-family="serif" line-height="1em + 2pt">
+      Page (<fo:page-number/>)
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+    <xsl:apply-templates select="term-entry"/>
+  </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+</xsl:template>
+
+<xsl:template match="term-entry">
+  <fo:block text-align="start" font-size="12pt" font-family="sans-serif">
+    <xsl:apply-templates select="term"/>
+    <xsl:apply-templates select="definition"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="term">
+  <fo:block color="blue" space-before.optimum="3pt"><fo:marker
+    marker-class-name="term"><xsl:value-of select="."/></fo:marker>
+    <xsl:value-of select="."/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="definition">
+  <fo:block text-align="start" start-indent="2em">
+    <xsl:value-of select="."/>
+  </fo:block>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/examples/fo/markers/hide.fo b/examples/fo/markers/hide.fo
new file mode 100644 (file)
index 0000000..49e62fc
--- /dev/null
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
+    <fo:block>
+      <fo:retrieve-marker retrieve-class-name="message"
+      retrieve-boundary="page"
+      retrieve-position="first-starting-within-page"/>
+      </fo:block>
+</fo:block-container>
+<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
+    <fo:block>
+      <fo:retrieve-marker retrieve-class-name="term"
+      retrieve-boundary="page"
+      retrieve-position="last-ending-within-page"/>
+      </fo:block>
+</fo:block-container>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block text-align="start"
+      font-size="10pt" font-family="serif" line-height="1em + 2pt">
+      Page (<fo:page-number/> / <fo:page-number-citation
+ref-id="end-seq1"/>)
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+<fo:block><fo:marker
+    marker-class-name="message">
+    <fo:block>
+WARNING: Page sequence contains:  <fo:page-number-citation
+ref-id="end-seq1"/> pages.
+      </fo:block>
+</fo:marker>
+  </fo:block>
+
+  <fo:block text-align="start" font-size="12pt" font-family="sans-serif">
+This example shows how it is possible to have a message that appears
+only on the first page (in a page sequence) only if there is more
+than one page.
+  </fo:block>
+
+  <fo:block text-align="start" font-size="12pt" font-family="sans-serif">
+This page sequence only has one page so you will not see the message.
+  </fo:block>
+
+<fo:block id="end-seq1"><fo:marker
+    marker-class-name="term">
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="15cm" height="1cm" xml:space="preserve">
+     <rect style="fill:white;stroke:white" x="0" y="0" width="15cm" height="1cm"/>
+</svg>
+</fo:instream-foreign-object>
+</fo:marker>
+  </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+
+  <fo:page-sequence master-reference="first" initial-page-number="1">
+    <fo:static-content flow-name="xsl-region-before">
+<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">    <fo:block>
+      <fo:retrieve-marker retrieve-class-name="message"
+      retrieve-boundary="page"
+      retrieve-position="first-starting-within-page"/>
+      </fo:block>
+</fo:block-container>
+<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">    <fo:block>
+      <fo:retrieve-marker retrieve-class-name="term"
+      retrieve-boundary="page"
+      retrieve-position="last-ending-within-page"/>
+      </fo:block>
+</fo:block-container>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+    <fo:block text-align="start"
+      font-size="10pt" font-family="serif" line-height="1em + 2pt">
+      Page (<fo:page-number/> / <fo:page-number-citation
+ref-id="end-of-document"/>)
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+<fo:block><fo:marker
+    marker-class-name="message">
+    <fo:block>
+WARNING: Page sequence contains:  <fo:page-number-citation
+ref-id="end-of-document"/> pages.
+      </fo:block>
+</fo:marker>
+  </fo:block>
+
+  <fo:block text-align="start" font-size="12pt" font-family="sans-serif">
+This page sequence has more than one page so you will see the message
+only at the top of the first page.
+  </fo:block>
+
+  <fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
+Some text.
+  </fo:block>
+
+  <fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
+Some text.
+  </fo:block>
+  <fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
+Some more text on last page.
+  </fo:block>
+
+<fo:block id="end-of-document"><fo:marker
+    marker-class-name="term">
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="15cm" height="1cm" xml:space="preserve">     <rect style="fill:white;stroke:white" x="0" y="0" width="15cm" height="1cm"/>
+</svg>
+</fo:instream-foreign-object>
+</fo:marker>
+  </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+
+</fo:root>
+
diff --git a/examples/fo/pagination/allregions.fo b/examples/fo/pagination/allregions.fo
new file mode 100644 (file)
index 0000000..341f67f
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="only"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body
+      margin-top="3cm" margin-bottom="1.5cm"
+    margin-left="2cm" margin-right="2cm"/>
+      <fo:region-before precedence="true" extent="3cm"/>
+      <fo:region-after precedence="true" extent="1.5cm"/>
+      <fo:region-start extent="1cm"/>
+      <fo:region-end extent="1cm"/>
+    </fo:simple-page-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="only" initial-page-number="1">
+
+    <!-- usage of page layout -->
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="14pt" >
+        XML Recommendation - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-start">
+      <fo:block-container border-color="black" border-style="solid" border-width="1pt"
+      height="22.2cm" width="1cm" top="0cm" left="0cm" position="absolute">
+      <fo:block text-align="start" font-size="8pt"
+      font-family="serif" line-height="10pt">Start</fo:block>
+    </fo:block-container>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-end">
+      <fo:block-container border-color="black" border-style="solid" border-width="1pt"
+      height="22.2cm" width="1cm" top="0cm" left="0cm" position="absolute">
+      <fo:block text-align="start" font-size="8pt"
+      font-family="serif" line-height="10pt">End</fo:block>
+    </fo:block-container>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="0pt">
+        Extensible Markup Language (XML) 1.0
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="0pt">
+        Abstract
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="0pt">
+        Status of this document
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web. For further information go to
+        <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document specifies a syntax created by subsetting an existing, widely used international text processing standard
+        (Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
+        is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
+        Recommendations and other technical documents can be found at http://www.w3.org/TR.
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/basic1.fo b/examples/fo/pagination/basic1.fo
new file mode 100644 (file)
index 0000000..031b52a
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="only"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="only" initial-page-number="1">
+
+    <!-- usage of page layout -->
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="14pt" >
+        XML Recommendation - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="0pt">
+        Extensible Markup Language (XML) 1.0
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="0pt">
+        Abstract
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="0pt">
+        Status of this document
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web. For further information go to
+        <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document specifies a syntax created by subsetting an existing, widely used international text processing standard
+        (Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
+        is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
+        Recommendations and other technical documents can be found at http://www.w3.org/TR.
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/basic2.fo b/examples/fo/pagination/basic2.fo
new file mode 100644 (file)
index 0000000..214f43b
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="only"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="2.5cm"
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm"/>
+      <fo:region-before extent="3cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+
+  <fo:page-sequence-master master-name="single">
+    <fo:single-page-master-reference master-reference="only"/>
+  </fo:page-sequence-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="single" initial-page-number="1">
+
+    <!-- usage of page layout -->
+    <!-- header -->
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="serif"
+            line-height="14pt" >
+        XML Recommendation - p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines text title level 1-->
+      <fo:block font-size="18pt"
+            font-family="sans-serif"
+            line-height="24pt"
+            space-after.optimum="15pt"
+            background-color="blue"
+            color="white"
+            text-align="center"
+            padding-top="0pt">
+        Extensible Markup Language (XML) 1.0
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="0pt">
+        Abstract
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- defines text title level 2-->
+      <fo:block font-size="16pt"
+            font-family="sans-serif"
+            line-height="20pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="0pt">
+        Status of this document
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web. For further information go to
+        <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
+      </fo:block>
+
+      <!-- Normal text -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start">
+        This document specifies a syntax created by subsetting an existing, widely used international text processing standard
+        (Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
+        is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
+        Recommendations and other technical documents can be found at http://www.w3.org/TR.
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/franklin_2pageseqs.fo b/examples/fo/pagination/franklin_2pageseqs.fo
new file mode 100644 (file)
index 0000000..3eabfde
--- /dev/null
@@ -0,0 +1,1078 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+      <fo:simple-page-master master-name="noheaders_center"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+    </fo:simple-page-master>
+
+      <fo:simple-page-master master-name="headers_right"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="3.5cm"
+          margin-right="1.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+      <fo:simple-page-master master-name="headers_left"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="1.5cm"
+          margin-right="3.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+      <fo:simple-page-master master-name="headers_center"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+    <fo:page-sequence-master master-name="run1">
+      <fo:repeatable-page-master-reference master-reference="noheaders_center"
+        maximum-repeats="6"/>
+    </fo:page-sequence-master>
+
+    <fo:page-sequence-master master-name="run2">
+      <fo:repeatable-page-master-alternatives>
+        <fo:conditional-page-master-reference
+          master-reference="headers_center"
+          page-position="first" />
+        <fo:conditional-page-master-reference
+          master-reference="headers_right"
+          odd-or-even="odd" />
+        <fo:conditional-page-master-reference
+          master-reference="headers_left"
+          odd-or-even="even" />
+      </fo:repeatable-page-master-alternatives>
+    </fo:page-sequence-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="run1" initial-page-number="1">
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines local TOC -->
+      <fo:block font-size="10pt"
+            font-family="serif"
+            line-height="12pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="6pt">
+Journey across the barren Grounds - Difficulty and delay in crossing Copper-Mine River -
+Melancholy and fatal Results thereof - Extreme Misery of the whole Party - Murder of
+Mr. Hood - Death of several of the Canadians - Desolate State of Fort Enterprise -
+Distress suffered at that Place - Dr. Richardson's Narrative - Mr. Back's Narrative -
+Conclusion.
+      </fo:block>
+
+      <fo:block font-size="8pt"
+                font-family="serif"
+                font-style="italic"
+                line-height="10pt"
+                space-before.optimum="3pt"
+                space-after.optimum="3pt"
+                text-align="start">1821. August 17.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+MY original intention, whenever the season should
+compel us to relinquish the survey, had been to return by the way
+of the Copper-Mine River, and in pursuance of my arrangement
+with the Hook to travel to Slave Lake through the line of woods
+extending thither by the Great Bear and Marten Lakes, but our
+scanty stock of provision and the length of the voyage rendered it
+necessary to make for a nearer place. We had already found that
+the country, between Cape Barrow and the Copper-Mine River,
+would not supply our wants, and this it seemed probable would now
+be still more the case ; besides, at this advanced season, we expected
+the frequent recurrence of gales, which would cause great detention,
+if not danger in proceeding along that very rocky part of the coast.
+I determined, therefore, to make at once for Arctic Sound, where
+we had found the animals more numerous than at any other place ;
+and entering Hood's River, to advance up that stream as far as it
+was navigable, and then to construct small canoes out of the
+materials of the larger ones, which could be carried in crossing the
+barren grounds to Fort Enterprise.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 19.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were almost beaten out of our comfortless abodes
+by rain during the night, and this morning the gale continued
+without diminution. The thermometer fell to 33 deg. Two men were
+sent with Junius to search for the deer which Augustus had killed.
+Junius returned in the evening bringing part of the meat, but owing
+to the thickness of the weather, his companions parted from him
+and did not make their appearance. Divine service was read. On
+the 20th we were presented with the most chilling prospect, the
+small pools of water being frozen over, the ground being covered
+with snow, and the thermometer at the freezing point at mid-day.
+Flights of geese were passing to the southward. The wind however
+was more moderate, having changed to the eastward. Considerable
+anxiety prevailing respecting Belanger and Michel, the two men
+who strayed from Junius yesterday, the rest were sent out to look
+for them. The search was successful, and they all returned in the
+evening. The stragglers were much fatigued, and had suffered
+severely from the cold, one of them having his thighs frozen, and
+what under our present circumstances was most grievous, they had
+thrown away all the meat. The wind during the night returned to
+the north-west quarter, blew more violently than ever, and raised a
+very turbulent sea. The next day did not improve our condition,
+the snow remained on the ground, and the small pools were frozen.
+Our hunters were sent out, but they returned after a fatiguing
+day's march without having seen any animals. We made a scanty
+meal off a handful of pemmican, after which only half a bag
+remained.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind abated after midnight, and the surf diminished rapidly,
+which caused us to be on the alert at a very early hour on the 22d,
+but we had to wait until six A.M. for the return of Augustus who
+had continued out all night on an unsuccessful pursuit of deer.
+It appears that he had walked a few miles farther along the coast,
+than the party had done on the 18th, and from a sketch he drew on
+the sand, we were confirmed in our former opinion that the shore
+inclined more to the eastward beyond Point Turnagain. He also
+drew a river of considerable size, that discharges its waters into
+Walker's Bay; on the banks of which stream he saw a piece of
+wood, such as the Esquimaux use in producing fire, and other marks
+so fresh that he supposed they had recently visited the spot. We
+therefore left several iron materials for them. Our men, cheered by
+the prospect of returning, embarked with the utmost alacrity; and,
+paddling with unusual vigour, carried us across Riley's and Walker's
+Bays, a distance of twenty miles before noon, when we landed on
+Slate-Clay Point, as the wind had freshened too much to permit us
+to continue the voyage. The whole party went to hunt, but returned
+without success in the evening, drenched with the heavy rain which
+commenced soon after they had set out. Several deer were seen,
+but could not be approached in this naked country; and as our
+stock of pemmican did not admit of serving out two meals, we went
+dinnerless to bed.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Soon after our departure to-day, a sealed tin-case, sufficiently
+buoyant to float, was thrown overboard, containing a short account of
+our proceedings, and the position of the most conspicuous points.
+The wind blew off the land, the water was smooth, and as the sea
+is in this part more free from islands than in any other, there was
+every probability of its being driven off the shore into the current ;
+which, as I have before mentioned, we suppose, from the circumstance
+of Mackenzie's River being the only known stream that
+brings down the wood we have found along the shores, to set to the
+eastward.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 23.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+A severe frost caused us to pass a comfortless night.
+At two P.M. we set sail, and the men voluntarily launched out to
+make a traverse of fifteen miles across Melville Sound, before a
+strong wind and heavy sea. The privation of food, under which
+our voyagers were then labouring, absorbed every other terror;
+otherwise the most powerful persuasion could not have induced
+them to attempt such a traverse. It was with the utmost difficulty
+that the canoes were kept from turning their broadsides to the
+waves, though we sometimes steered with all the paddles. One of
+them narrowly escaped being overset by this accident, happening
+in mid-channel, where the waves were so high that the mast-head
+of our canoe was often hid from the other, though it was sailing
+within hail. The annexed plate, from Mr. Back's sketch, will convey
+to the reader an accurate idea of the peril of our situation.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The traverse, however, was made;we were then near a high
+rocky lee shore, on which a heavy surf was beating. The wind
+being on the beam, the canoes drifted fast to leeward; and, on
+rounding a point, the recoil of the sea from the rocks was so great
+that they were with difficulty kept from foundering. We looked in
+vain for a sheltered bay to land in ; but, at length, being unable to
+weather another point, we were obliged to put ashore on the open
+beach, which, fortunately, was sandy at this spot. The debarkation
+was effected in the manner represented in the plate; and, fortunately,
+without further injury than the splitting of the head of
+the second canoe, which was easily repaired.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Our encampment being near to the place where we killed the deer
+on the 11th, almost the whole party went out to hunt, but they
+returned in the evening without having seen any game. The
+berries, however, were ripe and plentiful, and, with the addition
+of some country tea, furnished a supper. There were some showers
+in the afternoon,and the weather was cold, the thermometer
+being 42 deg, but the evening and night were calm and fine. It may be
+remarked that the mosquitoes disappeared when the late gales
+commenced.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 25.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at three A. M., we stretched across
+the eastern entrance of Bathurst's Inlet, and arrived at an island,
+which I have named after Colonel Barry, of Newton Barry. Some
+deer being seen on the beach, the hunters went in pursuit of
+them, and succeeded in killing three females, which enabled us to
+save our last remaining meal of pemmican. They saw also some
+fresh tracks of musk oxen on the banks of a small stream, which
+flowed into a lake in the centre of the island. These animals must
+have crossed a channel, at least, three miles wide, to reach the nearest
+of these islands. Some specimens of variegated pebbles and jasper
+were found here imbedded in the amygdaloidal rock.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Re-embarking at two P.M., and continuing through what was
+supposed to be a channel between two islands, we found our passage
+barred by a gravelly isthmus of only ten yards in width ; the canoes
+and cargoes were carried across it, and we passed into Bathurst's Inlet
+through another similar channel, bounded on both sides by steep
+rocky hills. The wind then changing from S.E. to N.W. brought
+heavy rain, and we encamped at seven P.M., having advanced
+eighteen miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Starting this morning with a fresh breeze in our favour,
+we soon reached that part of Barry's Island where the canoes were
+detained on the 2d and 3rd of this month, and contrary to what we
+then experienced, the deer were now plentiful. The hunters killed
+two, and we were relieved from all apprehension of an immediate
+want of food. One would suppose the deer were about to retire to
+the main shore from their assembling at this time in such numbers
+on the islands nearest to the coast. Those we saw were generally
+females with their young, and all of them very lean.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind continued in the same direction until we had rounded
+Point Wollaston, and then changed to a quarter, which enabled us
+to steer for Hood's River, which we ascended as high as the first
+rapid and encamped. Here terminated our voyage on the Arctic
+sea, during which we had gone over six hundred and fifty geographical
+miles. Our Canadian voyagers could not restrain their expressions
+of joy at having turned their backs on the sea, and
+they passed the evening talking over their past adventures with
+much humour and no little exaggeration. The consideration that
+the most painful, and certainly the most hazardous, part of the
+journey was yet to come, did not depress their spirits at all. It is
+due to their character to mention that they displayed much courage
+in encountering the dangers of the sea, magnified to them by their
+novelty.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The shores between Cape Barrow and Cape Flinders, including
+the extensive branches of Arctic and Melville Sounds, and Bathurst's
+Inlet, may be comprehended in one great gulf, which I have distinguished
+by the appellation of George IV.'s Coronation Gulf, in
+honour of His Most Gracious Majesty, the latter name being added
+to mark the time of its discovery. The Archipelago of islands which
+fringe the coast from Copper-Mine River to Point Turnagain, I have
+named in honour of His Royal Highness the Duke of York.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+It may be deserving of notice that the extremes in temperature
+of the sea water during our voyage were 53 deg and 35 deg, but its general
+temperature was between 43 deg and 48 deg. Throughout our return from
+Point Turnagain we observed that the sea had risen several feet
+above marks left at our former encampments. This may, perhaps,
+be attributed to the north-west gales.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 26.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Previous to our departure this morning, an assortment
+of iron materials, beads, looking-glasses, and other articles
+were put up in a conspicuous situation for the Esquimaux, and the
+English Union was planted on the loftiest sand-hill, where it might
+be seen by any ships passing in the offing. Here also, was deposited
+in a tin bow a letter containing an outline of our proceedings, the
+latitude and longitude of the principal places, and the course we
+intended to pursue towards Slave Lake.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start"
+      break-after="page" >
+Embarking at eight A.M. we proceeded up the river, which is full
+of sandy shoals, but sufficiently deep for canoes in the channels. It is
+from one hundred to two hundred yards wide, and is bounded by high
+and steep banks of clay. We encamped at a cascade of eighteen or
+twenty feet high, which is produced by a ridge of rock crossing the
+river, and the nets were set. A mile below this cascade Hood's
+River is joined by a stream half its own size, which I have called
+James' Branch. Bear and deer tracks had been numerous on the
+banks of the river when we were here before, but not a single recent
+one was to be seen at this time. Credit, however, killed a small
+deer at some distance inland, which, with the addition of berries,
+furnished a delightful repast this evening. The weather was remarkably
+fine, and the temperature so mild, that the mosquitoes again
+made their appearance, but not in any great numbers. Our distance
+made to-day was not more than six miles.
+        </fo:block>
+</fo:flow>
+</fo:page-sequence>
+
+  <fo:page-sequence master-reference="run2" initial-page-number="7">
+
+    <!-- header -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="start" font-size="10pt"
+            font-family="sans-serif"
+      line-height="10pt" >
+      John Franklin - Journey to the Shores of the Polar Sea
+    </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="sans-serif"
+            line-height="14pt" >
+        p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning the net furnished us with ten white fish
+and trout. Having made a further deposit of iron work for the
+Esquimaux we pursued our voyage up the river, but the shoals and
+rapids in this part were so frequent, that we walked along the banks
+the whole day, and the crews laboured hard in carrying the canoes
+thus lightened over the shoals or dragging them up the rapids, yet
+our journey in a direct line was only about seven miles. In the
+evening we encamped at the lower end of a narrow chasm through
+which the river flows for upwards of a mile. The walls of this
+chasm are upwards of two hundred feet high, quite perpendicular,
+and in some places only a few yards apart. The river precipitates
+itself into it over a rock, forming two magnificent and picturesque
+falls close to each other. The upper fall is about sixty feet high, and
+the lower one at least one hundred, but perhaps considerably more,
+for the narrowness of the chasm into which it fell prevented us from
+seeing its bottom, and we could merely discern the top of the spray
+far beneath our feet. The lower fall is divided into two, by an
+insulated column of rock which rises about forty feet above it. The
+whole descent of the river at this place probably exceeds two
+hundred and fifty feet. The rock is very fine felspathose sandstone.
+It has a smooth surface and a light red colour. I have named these
+magnificent cascades Wilberforce Falls, as a tribute of my respect
+for that distinguished philanthropist and Christian. Messrs. Back and
+Hood took beautiful sketches of this majestic scene, which are
+combined in the annexed plate.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The river being surveyed from the summit of a hill, above these
+falls, appeared so rapid and shallow, that it seemed useless to
+attempt proceeding any farther in the large canoes. I therefore
+determined on constructing out of their materials two smaller ones
+of sufficient size to contain three persons, for the purpose of crossing
+any river that might obstruct our progress. This operation was
+accordingly commenced, and by the 31st both the canoes being
+finished, we prepared for our departure on the following day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The leather which had been preserved for making shoes was
+equally divided among the men, two pairs of flannel socks were given
+to each person, and such articles of warm clothing as remained, were
+issued to those who most required them. They were also furnished
+with one of the officers' tents. This being done, I communicated to
+the men my intention of proceeding in as direct a course as possible
+to the part of Point Lake, opposite to our spring encampment
+which was only distant one hundred and forty-nine miles in a
+straight line. They received the communication cheerfully, considered
+the journey to be short, and left me, in high spirits, to
+arrange their own packages. The stores, books, &amp;c., which were not
+absolutely necessary to be carried, were then put up in boxes to be
+left en cache here, in order that the men's burdens might be as light
+as possible.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning was warm, and very fine. Every one was on
+the alert at an early hour, being anxious to commence the journey.
+Our luggage consisted of ammunition, nets, hatchets, ice chisels,
+astronomical instruments, clothing, blankets, three kettles, and
+the two canoes, which were each carried by one man. The
+officers carried such a portion of their own things as their strength
+would permit;the weight carried by each man was about ninety
+pounds, and with this we advanced at the rate of about a mile an
+hour, including rests. In the evening the hunters killed a lean cow,
+out of a large drove of musk-oxen; but the men were too much
+laden to carry more than a small portion of its flesh. The alluvial
+soil, which towards the mouth of the river spreads into plains,
+covered with grass and willows, was now giving place to a more
+barren and hilly country; so that we could but just collect sufficient
+brush wood to cook our suppers. The part of the river we skirted
+to-day was shallow, and flowed over a bed of sand ; its width about
+one hundred and twenty yards. About midnight our tent was blown
+down by a squall, and we were completely drenched with rain before
+it could be re-pitched.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the morning of the 1st of September a fall of snow took
+place; the canoes became a cause of delay, by the difficulty of
+carrying them in a high wind, and they sustained much damage
+from the falls of those who had charge of them. The face of the
+country was broken by hills of moderate elevation, but the ground
+was plentifully strewed with small stones, which, to men bearing
+heavy burthens, and whose feet were protected only by soft moose
+skin shoes, occasioned great pain. At the end of eleven miles we
+encamped, and sent for a musk-ox and a deer, which St. Germain
+and Augustus had killed. The day was extremely cold, the ther-mometer
+varying between 34 deg and 36 deg. In the afternoon a heavy
+fall of snow took place, on the wind changing from north-west to
+south-west. We found no wood at the encampment, but made a
+fire of moss to cook the supper, and crept under our blankets for
+warmth. At sun-rise the thermometer was at 31 deg, and the wind
+fresh from north-west; but the weather became mild in the course
+of the forenoon, and the snow disappeared from the gravel. The
+afternoon was remarkably fine, and the thermometer rose to 50 deg.
+One of the hunters killed a musk-ox. The hills in this part are
+lower and more round-backed than those we passed yesterday, and
+exhibited but little naked rock; they were covered with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having ascertained from the summit of the highest hill near the
+tents, that the river continued to preserve a west course; and fear-ing
+that by pursuing it further we might lose much time, and un-necessarily
+walk over a great deal of ground, I determined on
+quitting its banks the next day, and making as directly as we could for
+Point Lake. We accordingly followed the river on the 3d, only to
+the place where the musk-ox had been killed last evening, and after
+the meat was procured, crossed the river in our two canoes lashed
+together. We now emerged from the valley of the river, and entered
+a level, but very barren, country, varied only by small lakes and
+marshes, the ground being covered with small stones. Many old tracks
+of rein-deer were seen in the clayey soil, and some more recent
+ones of the musk-ox. We encamped on the borders of Wright's
+River, which flows to the eastward; the direct distance walked to-day
+being ten miles and three-quarters. The next morning was
+very fine, and,as the day advanced, the weather became quite
+warm. We set out at six A. M., and, having forded the river,
+walked over a perfectly level country, interspersed with small lakes,
+which communicated with each other, by streams running in various
+directions. No berry-bearing plants were found in this part, the
+surface of the earth being thinly covered in the moister places with
+a few grasses, and on the drier spots with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having walked twelve miles and a half, we encamped at seven P.M.,
+and distributed our last piece of pemmican, and a little arrow-root
+for supper, which afforded but a scanty meal. This evening was
+warm, but dark clouds overspread the sky. Our men now began to
+find their burdens very oppressive, and were much fatigued by this
+day's march, but did not complain. One of them was lame from an
+inflammation in the knee. Heavy rain commenced at midnight, and
+continued without intermission until five in the morning, when it
+was succeeded by snow on the wind changing to north-west, which
+soon increased to a violent gale. As we had nothing to eat, and
+were destitute of the means of making a fire, we remained in our
+beds all the day ; but the covering of our blankets was insufficient to
+prevent us from feeling the severity of the frost, and suffering in-convenience
+from the drifting of the snow into our tents. There
+was no abatement of the storm next day ; our tents were completely
+frozen, and the snow had drifted around them to a depth of three
+feet, and even in the inside there was a covering of several inches on
+our blankets. Our suffering from cold, in a comfortless canvass tent
+in such weather, with the temperature at 20 deg, and without fire,
+will easily be imagined;it was, however, less than that which we
+felt from hunger.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The morning of the 7th cleared up a little, but the wind was still
+strong, and the weather extremely cold. From the unusual con-tinuance
+of the storm, we feared the winter had set in with all its
+rigour, and that by longer delay we should only be exposed to an
+accumulation of difficulties; we therefore prepared for our journey,
+although we were in a very unfit condition for starting, being weak
+from fasting, and our garments stiffened by the frost. We had no
+means of making a fire to thaw them, the moss, at all times difficult
+to kindle, being now covered with ice and snow. A considerable
+time was consumed in packing up the frozen tents and bed clothes,
+the wind blowing so strong that no one could keep his hands long
+out of his mittens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Just as we were about to commence our march, I was seized with
+a fainting fit, in consequence of exhaustion and sudden exposure to
+the wind; but after eating a morsel of portable soup, I recovered, so
+far as to be able to move on. I was unwilling at first to take this
+morsel of soup, which was diminishing the small and only remaining
+meal for the party; but several of the men urged me to it, with
+much kindness. The ground was covered a foot deep with snow,
+the margin of the lakes was incrusted with ice, and the swamps over
+which we had to pass were entirely frozen; but the ice not being
+sufficiently strong to bear us, we frequently plunged knee-deep in
+water. Those who carried the canoes were repeatedly blown down
+by the violence of the wind, and they often fell, from making an
+insecure step on a slippery stone; on one of these occasions, the
+largest canoe was so much broken as to be rendered utterly unser-viceable.
+This was felt as a serious disaster, as the remaining canoe
+having through mistake been made too small, it was doubtful
+whether it would be sufficient to carry us across a river. Indeed
+we had found it necessary in crossing Hood's River, to lash the two
+canoes together. As there was some suspicion that Benoit, who
+carried the canoe, had broken it intentionally, he having on a former
+occasion been overheard by some of the men to say, that he would
+do so when he got it in charge, we closely examined him on the
+point; he roundly denied having used the expressions attributed to
+him, and insisted that it was broken by his falling accidentally; and
+as he brought men to attest the latter fact, who saw him tumble, we
+did not press the matter further. I may here remark that our
+people had murmured a good deal at having to carry two canoes,
+though they were informed of the necessity of taking both, in case
+it should be deemed advisable to divide the party; which it had
+been thought probable we should be obliged to do, if animals proved
+scarce, in order to give the whole the better chance of procuring
+subsistence, and also for the purpose of sending forward some of the
+best walkers to search for Indians, and to get them to meet us with
+supplies of provision. The power of doing this was now at an end.
+As the accident could not be remedied we turned it to the best
+account by making a fire of the bark and timbers of the broken
+vessel, and cooked the remainder of our portable soup and arrow-root.
+This was a scanty meal after three days' fasting, but it served
+to allay the pangs of hunger, and enabled us to proceed at a quicker
+pace than before. The depth of the snow caused us to march in
+Indian file, that is in each other's steps; the voyagers taking it in
+turn to lead the party. A distant object was pointed out to this
+man in the direction we wished to take, and Mr. Hood followed
+immediately behind him, to renew the bearings, and keep him from
+deviating more than could be helped from the mark. It may be
+here observed, that we proceeded in this manner throughout our
+route across the barren grounds.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the afternoon we got into a more hilly country, where the
+ground was strewed with large stones. The surface of these was
+covered with lichens of the genus gyrophora, which the Canadians
+term tripe de roche. A considerable quantity was gathered, and
+with half a partridge each, (which were shot in the course of the
+day,) furnished us with a slender supper, which we cooked with a
+few willows, dug up from beneath the snow. We passed a comfortless
+night in our damp clothes, but took the precaution of sleeping upon
+our socks and shoes to prevent them from freezing. This plan was
+afterwards adopted throughout the journey.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+At half past five in the morning we proceeded; and after walking
+about two miles, came to Cracroft's River, flowing to the westward,
+with a very rapid current over a rocky channel. We had much diffi-culty
+in crossing this, the canoe being useless, not only from the bot-tom
+of the channel being obstructed by large stones, but also from its
+requiring gumming, an operation which, owing to the want of wood
+and the frost, we were unable to perform. However, after following
+the course of the river some way, we effected a passage by means of a
+range of large rocks that crossed a rapid. As the current was strong,
+and many of the rocks were covered with water to the depth of two
+or three feet, the men were exposed to much danger in carrying their
+heavy burthens across, and several of them actually slipped into the
+stream, but were immediately rescued by the others. Junius went
+farther up the river in search of a better crossing place, and did not
+rejoin us to-day. As several of the party were drenched from head to
+foot, and we were all wet to the middle, our clothes became stiff with
+the frost, and we walked with much pain for the remainder of the day.
+The march was continued to a late hour, being anxious to rejoin the
+hunters who had gone before, but we were obliged to encamp at the
+end of ten miles and a quarter, without seeing them. Our only
+meal to-day consisted of a partridge each, (which the hunters shot,)
+mixed with tripe de roche. This repast although scanty for men,
+with appetites such as our daily fatigue created, proved a cheerful
+one, and was received with thankfulness. Most of the men had to
+sleep in the open air, in consequence of the absence of Credit, who
+carried their tent; but we fortunately found an unusual quantity of
+roots to make a fire, which prevented their suffering much from the
+cold, though the thermometer was at 17 deg.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We started at six on the 9th, and at the end of two miles re-gained
+our hunters, who were halting on the borders of a lake amidst
+a clump of stunted willows. This lake stretched to the westward as
+far as we could see, and its waters were discharged by a rapid stream
+one hundred and fifty yards wide. Being entirely ignorant where
+we might be led by pursuing the course of the lake, and dreading
+the idea of going a mile unnecessarily out of the way, we deter-mined
+on crossing the river if possible; and the canoe was gummed
+for the purpose, the willows furnishing us with fire. But we had to
+await the return of Junius before we could make the traverse. In
+the mean time we gathered a little tripe de roche, and breakfasted
+upon it and a few partridges that were killed in the morning.
+St. Germain and Adam were sent upon some recent tracks of deer.
+Junius arrived in the afternoon, and informed us that he had seen
+a large herd of musk-oxen on the banks of Cracroft's River, and had
+wounded one of them, but it had escaped. He brought about four
+pounds of meat, the remains of a deer that had been devoured by
+the wolves. The poor fellow was much fatigued, having walked
+throughout the night, but as the weather was particularly favourable
+for our crossing the river, we could not allow him to rest. After he
+had taken some refreshment we proceeded to the river. The canoe
+being put into the water was found extremely ticklish, but it was
+managed with much dexterity by St. Germain, Adam, and Peltier,
+who ferried over one passenger at a time, causing him to lie flat in its
+bottom, by no means a pleasant position, owing to its leakiness, but
+there was no alternative. The transport of the whole party was
+effected by five o'clock, and we walked about two miles further, and
+encamped, having come five miles and three quarters on a south-west
+course. Two young alpine hares were shot by St. Germain, which,
+with the small piece of meat brought in by Junius, furnished the
+supper of the whole party. There was no tripe de roche here. The
+country had now become decidedly hilly, and was covered with snow.
+The lake preserved its western direction, as far as I could see from
+the summit of the highest mountain near the encampment. We
+subsequently learned from the Copper Indians, that the part at
+which we had crossed the river was the Congecatha-wha-chaga of
+Hearne, of which I had little idea at the time, not only from the
+difference of latitude, but also from its being so much farther east of
+the mouth of the Copper-Mine River, than his track is laid down.
+He only making one degree and three quarters difference of lon-gitude,
+and we, upwards of four. Had I been aware of the fact,
+several days harassing march, and a disastrous accident would have
+been prevented by keeping on the western side of the lake, instead
+of crossing the river. We were informed also, that this river is
+the Anatessy or River of Strangers, and is supposed to fall into
+Bathurst's Inlet; but although the Indians have visited its mouth,
+their description was not sufficient to identify it with any of the
+rivers whose mouths we had seen. It probably falls in that part of
+the coast which was hid from our view by Goulburn's or Elliot's
+Islands.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 10.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We had a cold north wind, and the atmosphere
+was foggy. The thermometer 18 deg at five A.M. In the course of
+our march this morning, we passed many small lakes; and the
+ground becoming higher and more hilly as we receded from the
+river, was covered to a much greater depth with snow. This ren-dered
+walking not only extremely laborious, but also hazardous in
+the highest degree;for the sides of the hills, as is usual throughout
+the barren grounds, abounding in accumulations of large angular
+stones, it often happened that the men fell into the interstices
+with their loads on their backs, being deceived by the smooth
+appearance of the drifted snow. If any one had broken a limb
+here, his fate would have been melancholy indeed; we could neither
+have remained with him, nor carried him on. We halted at ten to
+gather tripe de roche,but it was so frozen, that we were quite
+benumbed with cold before a sufficiency could be collected even for
+a scanty meal. On proceeding our men were somewhat cheered, by
+observing on the sandy summit of a hill, from whence the snow had
+been blown, the summer track of a man; and afterwards by seeing
+several deer tracks on the snow. About noon the weather cleared
+up a little, and, to our great joy, we saw a herd of musk-oxen
+grazing in a valley below us. The party instantly halted, and the
+best hunters were sent out; they approached the animals with the
+utmost caution, no less than two hours being consumed before they
+got within gun-shot. In the mean time we beheld their proceed-ings
+with extreme anxiety, and many secret prayers were, doubtless,
+offered up for their success. At length they opened their fire, and
+we had the satisfaction of seeing one of the largest cows fall; another
+was wounded, but escaped. This success infused spirit into our
+starving party. To skin and cut up the animal was the work of a
+few minutes. The contents of its stomach were devoured upon
+the spot, and the raw intestines, which were next attacked, were
+pronounced by the most delicate amongst us to be excellent. A few
+willows, whose tops were seen peeping through the snow in the bottom
+of the valley, were quickly grubbed, the tents pitched, and supper
+cooked, and devoured with avidity. This was the sixth day since we
+had had a good meal. The tripe de roche, even where we got
+enough, only serving to allay the pangs of hunger for a short time.
+After supper, two of the hunters went in pursuit of the herd, but
+could not get near them.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were detained all the next day by a strong southerly wind,
+and were much incommoded in the tents by the drift snow. The
+temperature was 20 deg. The average for the last ten days about
+24.5 deg. We restricted ourselves to one meal to-day as we were at
+rest, and there was only meat remaining sufficient for the next day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The gale had not diminished on the 12th, and, as we were
+fearful of its continuance for some time, we determined on going
+forward; our only doubt regarded the preservation of the canoe,
+but the men promised to pay particular attention to it, and the
+most careful persons were appointed to take it in charge. The snow
+was two feet deep, and the ground much broken, which rendered
+the march extremely painful. The whole party complained more of
+faintness and weakness than they had ever done before; their
+strength seemed to have been impaired by the recent supply of
+animal food. In the afternoon the wind abated, and the snow ceased;
+cheered with the change we proceeded forward at a quicker pace,
+and encamped at six P. M., having come eleven miles. Our supper
+consumed the last of our meat.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We set out on the 13th, in thick hazy weather, and, after an hour's
+march, had the extreme mortification to find ourselves on the
+borders of a large lake, which we subsequently learned from the
+Indians was named Contwoy-to, or Rum Lake; neither of its extre-
+mities could be seen, and as the portion which lay to the east
+seemed the widest, we coasted along to the westward portion in
+search of a crossing-place. This lake being bounded by steep and
+lofty hills, our march was very fatiguing. Those sides which were
+exposed to the sun, were free from snow, and we found upon them
+some excellent berries. We encamped at six P. M., having come
+only six miles and a half. Credit was then missing, and he did not
+return during the night. We supped off a single partridge and
+some tripe de roche;this unpalatable weed was now quite nau-seous
+to the whole party, and in several it produced bowel com-plaints.
+Mr. Hood was the greatest sufferer from this cause. This
+evening we were extremely distressed, at discovering that our im-provident
+companions,since we left Hood's River, had thrown
+away three of the fishing-nets, and burnt the floats ; they knew we
+had brought them to procure subsistence for the party, when the
+animals should fail, and we could scarcely believe the fact of their
+having wilfully deprived themselves of this resource, especially
+when we considered that most of them had passed the greater part of
+their servitude in situations where the nets alone had supplied them
+with food. Being thus deprived of our principal resource, that of
+fishing, and the men evidently getting weaker every day, it became
+necessary to lighten their burthens of every thing except ammunition,
+clothing, and the instruments that were required to find our
+way. I, therefore, issued directions to deposit at this encampment
+the dipping needle, azimuth compass, magnet, a large thermometer,
+and a few books we had carried, having torn out of these such parts
+as we should require to work the observations for latitude and
+longitude. I also promised,as an excitement to the efforts in
+hunting, my gun to St. Germain, and an ample compensation to
+Adam, or any of the other men who should kill any animals.
+Mr. Hood, on this occasion, lent his gun to Michel, the Iroquois,
+who was very eager in the chase, and often successful.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 14.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+This morning the officers being assembled round
+a small fire, Perrault presented each of us with a small piece of meat
+which he had saved from his allowance. It was received with great
+thankfulness, and such an act of self-denial and kindness, being
+totally unexpected in a Canadian voyager, filled our eyes with tears.
+In directing our course to a river issuing from the lake, we met
+Credit, who communicated the joyful intelligence of his having
+killed two deer in the morning. We instantly halted, and having
+shared the deer that was nearest to us, prepared breakfast. After
+which, the other deer was sent for, and we went down to the river,
+which was about three hundred yards wide, and flowed with
+great velocity through a broken rocky channel. Having searched
+for a part where the current was most smooth, the canoe was
+placed in the water at the head of a rapid, and St. Germain, Solomon
+Belanger, and I, embarked in order to cross. We went from the
+shore very well, but in mid-channel the canoe became difficult to
+manage under our burden as the breeze was fresh. The current
+drove us to the edge of the rapid, when Belanger unfortunately
+applied his paddle to avert the apparent danger of being forced
+down it, and lost his balance. The canoe was overset in con-sequence
+in the middle of the rapid. We fortunately kept hold of
+it, until we touched a rock where the water did not reach higher
+than our waists; here we kept our footing, notwithstanding the
+strength of the current, until the water was emptied out of the
+canoe. Belanger then held the canoe steady whilst St. Germain
+placed me in it, and afterwards embarked himself in a very dexterous
+manner. It was impossible, however, to embark Belanger,
+as the canoe would have been hurried down the rapid, the moment
+he should have raised his foot from the rock on which he stood.
+We were, therefore, compelled to leave him in his perilous situation.
+We had not gone twenty yards before the canoe, striking on a
+sunken rock, went down. The place being shallow, we were again
+enabled to empty it, and the third attempt brought us to the shore.
+In the mean time Belanger was suffering extremely, immersed to
+his middle in the centre of a rapid, the temperature of which was
+very little above the freezing point, and the upper part of his body
+covered with wet clothes, exposed in a temperature not much above
+zero, to a strong breeze. He called piteously for relief, and
+St. Germain on his return endeavoured to embark him, but in vain.
+The canoe was hurried down the rapid, and when he landed he was
+rendered by the cold incapable of further exertion, and Adam at-tempted
+to embark Belanger, but found it impossible. An attempt
+was next made to carry out to him a line, made of the slings of the
+men's loads. This also failed, the current acting so strongly upon
+it, as to prevent the canoe from steering, and it was finally broken
+and carried down the stream. At length, when Belanger's strength
+seemed almost exhausted, the canoe reached him with a small cord
+belonging to one of the nets, and he was dragged perfectly senseless
+through the rapid. By the direction of Dr. Richardson, he was
+instantly stripped, and being rolled up in blankets, two men un-dressed
+themselves and went to bed with him; but it was some
+hours before he recovered his warmth and sensations. As soon as
+Belanger was placed in his bed, the officers immediately sent over
+my blankets, and a person to make a fire. Augustus brought the
+canoe over, and in returning he was obliged to descend both the
+rapids, before he could get across the stream; which hazardous
+service he performed with the greatest coolness and judgment. It
+is impossible to describe my sensations as I witnessed the various
+unsuccessful attempts to relieve Belanger. The distance prevented
+my seeing distinctly what was going on, and I continued pacing up
+and down upon the rock on which I landed, regardless of the
+coldness of my drenched and stiffening garments. The canoe, in
+every attempt to reach him, was hurried down the rapid, and was
+lost to the view amongst the rocky islets, with a rapidity that
+seemed to threaten certain destruction; once, indeed, I fancied that
+I saw it overwhelmed in the waves. Such an event would have
+been fatal to the whole party. Separated as I was from my com-panions,
+without gun, ammunition, hatchet, or the means of making
+a fire, and in wet clothes, my doom would have been speedily sealed.
+My companions too, driven to the necessity of coasting the lake,
+must have sunk under the fatigue of rounding its innumerable arms
+and bays, which, as we have learned from the Indians, are very
+extensive. By the goodness of Providence, however, we were spared
+at that time, and some of us have been permitted to offer up our
+thanksgivings, in a civilized land, for the signal deliverances we then
+and afterwards experienced.
+        </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/franklin_alt.fo b/examples/fo/pagination/franklin_alt.fo
new file mode 100644 (file)
index 0000000..372f77b
--- /dev/null
@@ -0,0 +1,1053 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+      <fo:simple-page-master master-name="right"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="3.5cm"
+          margin-right="1.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+      <fo:simple-page-master master-name="left"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="1.5cm"
+          margin-right="3.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+      <fo:simple-page-master master-name="center"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+  <fo:page-sequence-master master-name="alternating">
+    <fo:repeatable-page-master-alternatives maximum-repeats="no-limit">
+      <fo:conditional-page-master-reference master-reference="right"
+        odd-or-even="odd" />
+      <fo:conditional-page-master-reference master-reference="left"
+        odd-or-even="even" />
+      <fo:conditional-page-master-reference master-reference="center"/>
+    </fo:repeatable-page-master-alternatives>
+  </fo:page-sequence-master>
+
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="alternating" initial-page-number="1">
+
+    <!-- header -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="start" font-size="10pt"
+            font-family="sans-serif"
+      line-height="10pt" >
+      John Franklin - Journey to the Shores of the Polar Sea
+    </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="sans-serif"
+            line-height="14pt" >
+        p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines local TOC -->
+      <fo:block font-size="10pt"
+            font-family="serif"
+            line-height="12pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="6pt">
+Journey across the barren Grounds - Difficulty and delay in crossing Copper-Mine River -
+Melancholy and fatal Results thereof - Extreme Misery of the whole Party - Murder of
+Mr. Hood - Death of several of the Canadians - Desolate State of Fort Enterprise -
+Distress suffered at that Place - Dr. Richardson's Narrative - Mr. Back's Narrative -
+Conclusion.
+      </fo:block>
+
+      <fo:block font-size="8pt"
+                font-family="serif"
+                font-style="italic"
+                line-height="10pt"
+                space-before.optimum="3pt"
+                space-after.optimum="3pt"
+                text-align="start">1821. August 17.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+MY original intention, whenever the season should
+compel us to relinquish the survey, had been to return by the way
+of the Copper-Mine River, and in pursuance of my arrangement
+with the Hook to travel to Slave Lake through the line of woods
+extending thither by the Great Bear and Marten Lakes, but our
+scanty stock of provision and the length of the voyage rendered it
+necessary to make for a nearer place. We had already found that
+the country, between Cape Barrow and the Copper-Mine River,
+would not supply our wants, and this it seemed probable would now
+be still more the case ; besides, at this advanced season, we expected
+the frequent recurrence of gales, which would cause great detention,
+if not danger in proceeding along that very rocky part of the coast.
+I determined, therefore, to make at once for Arctic Sound, where
+we had found the animals more numerous than at any other place ;
+and entering Hood's River, to advance up that stream as far as it
+was navigable, and then to construct small canoes out of the
+materials of the larger ones, which could be carried in crossing the
+barren grounds to Fort Enterprise.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 19.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were almost beaten out of our comfortless abodes
+by rain during the night, and this morning the gale continued
+without diminution. The thermometer fell to 33 deg. Two men were
+sent with Junius to search for the deer which Augustus had killed.
+Junius returned in the evening bringing part of the meat, but owing
+to the thickness of the weather, his companions parted from him
+and did not make their appearance. Divine service was read. On
+the 20th we were presented with the most chilling prospect, the
+small pools of water being frozen over, the ground being covered
+with snow, and the thermometer at the freezing point at mid-day.
+Flights of geese were passing to the southward. The wind however
+was more moderate, having changed to the eastward. Considerable
+anxiety prevailing respecting Belanger and Michel, the two men
+who strayed from Junius yesterday, the rest were sent out to look
+for them. The search was successful, and they all returned in the
+evening. The stragglers were much fatigued, and had suffered
+severely from the cold, one of them having his thighs frozen, and
+what under our present circumstances was most grievous, they had
+thrown away all the meat. The wind during the night returned to
+the north-west quarter, blew more violently than ever, and raised a
+very turbulent sea. The next day did not improve our condition,
+the snow remained on the ground, and the small pools were frozen.
+Our hunters were sent out, but they returned after a fatiguing
+day's march without having seen any animals. We made a scanty
+meal off a handful of pemmican, after which only half a bag
+remained.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind abated after midnight, and the surf diminished rapidly,
+which caused us to be on the alert at a very early hour on the 22d,
+but we had to wait until six A.M. for the return of Augustus who
+had continued out all night on an unsuccessful pursuit of deer.
+It appears that he had walked a few miles farther along the coast,
+than the party had done on the 18th, and from a sketch he drew on
+the sand, we were confirmed in our former opinion that the shore
+inclined more to the eastward beyond Point Turnagain. He also
+drew a river of considerable size, that discharges its waters into
+Walker's Bay; on the banks of which stream he saw a piece of
+wood, such as the Esquimaux use in producing fire, and other marks
+so fresh that he supposed they had recently visited the spot. We
+therefore left several iron materials for them. Our men, cheered by
+the prospect of returning, embarked with the utmost alacrity; and,
+paddling with unusual vigour, carried us across Riley's and Walker's
+Bays, a distance of twenty miles before noon, when we landed on
+Slate-Clay Point, as the wind had freshened too much to permit us
+to continue the voyage. The whole party went to hunt, but returned
+without success in the evening, drenched with the heavy rain which
+commenced soon after they had set out. Several deer were seen,
+but could not be approached in this naked country; and as our
+stock of pemmican did not admit of serving out two meals, we went
+dinnerless to bed.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Soon after our departure to-day, a sealed tin-case, sufficiently
+buoyant to float, was thrown overboard, containing a short account of
+our proceedings, and the position of the most conspicuous points.
+The wind blew off the land, the water was smooth, and as the sea
+is in this part more free from islands than in any other, there was
+every probability of its being driven off the shore into the current ;
+which, as I have before mentioned, we suppose, from the circumstance
+of Mackenzie's River being the only known stream that
+brings down the wood we have found along the shores, to set to the
+eastward.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 23.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+A severe frost caused us to pass a comfortless night.
+At two P.M. we set sail, and the men voluntarily launched out to
+make a traverse of fifteen miles across Melville Sound, before a
+strong wind and heavy sea. The privation of food, under which
+our voyagers were then labouring, absorbed every other terror;
+otherwise the most powerful persuasion could not have induced
+them to attempt such a traverse. It was with the utmost difficulty
+that the canoes were kept from turning their broadsides to the
+waves, though we sometimes steered with all the paddles. One of
+them narrowly escaped being overset by this accident, happening
+in mid-channel, where the waves were so high that the mast-head
+of our canoe was often hid from the other, though it was sailing
+within hail. The annexed plate, from Mr. Back's sketch, will convey
+to the reader an accurate idea of the peril of our situation.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The traverse, however, was made;we were then near a high
+rocky lee shore, on which a heavy surf was beating. The wind
+being on the beam, the canoes drifted fast to leeward; and, on
+rounding a point, the recoil of the sea from the rocks was so great
+that they were with difficulty kept from foundering. We looked in
+vain for a sheltered bay to land in ; but, at length, being unable to
+weather another point, we were obliged to put ashore on the open
+beach, which, fortunately, was sandy at this spot. The debarkation
+was effected in the manner represented in the plate; and, fortunately,
+without further injury than the splitting of the head of
+the second canoe, which was easily repaired.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Our encampment being near to the place where we killed the deer
+on the 11th, almost the whole party went out to hunt, but they
+returned in the evening without having seen any game. The
+berries, however, were ripe and plentiful, and, with the addition
+of some country tea, furnished a supper. There were some showers
+in the afternoon,and the weather was cold, the thermometer
+being 42 deg, but the evening and night were calm and fine. It may be
+remarked that the mosquitoes disappeared when the late gales
+commenced.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 25.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at three A. M., we stretched across
+the eastern entrance of Bathurst's Inlet, and arrived at an island,
+which I have named after Colonel Barry, of Newton Barry. Some
+deer being seen on the beach, the hunters went in pursuit of
+them, and succeeded in killing three females, which enabled us to
+save our last remaining meal of pemmican. They saw also some
+fresh tracks of musk oxen on the banks of a small stream, which
+flowed into a lake in the centre of the island. These animals must
+have crossed a channel, at least, three miles wide, to reach the nearest
+of these islands. Some specimens of variegated pebbles and jasper
+were found here imbedded in the amygdaloidal rock.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Re-embarking at two P.M., and continuing through what was
+supposed to be a channel between two islands, we found our passage
+barred by a gravelly isthmus of only ten yards in width ; the canoes
+and cargoes were carried across it, and we passed into Bathurst's Inlet
+through another similar channel, bounded on both sides by steep
+rocky hills. The wind then changing from S.E. to N.W. brought
+heavy rain, and we encamped at seven P.M., having advanced
+eighteen miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Starting this morning with a fresh breeze in our favour,
+we soon reached that part of Barry's Island where the canoes were
+detained on the 2d and 3rd of this month, and contrary to what we
+then experienced, the deer were now plentiful. The hunters killed
+two, and we were relieved from all apprehension of an immediate
+want of food. One would suppose the deer were about to retire to
+the main shore from their assembling at this time in such numbers
+on the islands nearest to the coast. Those we saw were generally
+females with their young, and all of them very lean.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind continued in the same direction until we had rounded
+Point Wollaston, and then changed to a quarter, which enabled us
+to steer for Hood's River, which we ascended as high as the first
+rapid and encamped. Here terminated our voyage on the Arctic
+sea, during which we had gone over six hundred and fifty geographical
+miles. Our Canadian voyagers could not restrain their expressions
+of joy at having turned their backs on the sea, and
+they passed the evening talking over their past adventures with
+much humour and no little exaggeration. The consideration that
+the most painful, and certainly the most hazardous, part of the
+journey was yet to come, did not depress their spirits at all. It is
+due to their character to mention that they displayed much courage
+in encountering the dangers of the sea, magnified to them by their
+novelty.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The shores between Cape Barrow and Cape Flinders, including
+the extensive branches of Arctic and Melville Sounds, and Bathurst's
+Inlet, may be comprehended in one great gulf, which I have distinguished
+by the appellation of George IV.'s Coronation Gulf, in
+honour of His Most Gracious Majesty, the latter name being added
+to mark the time of its discovery. The Archipelago of islands which
+fringe the coast from Copper-Mine River to Point Turnagain, I have
+named in honour of His Royal Highness the Duke of York.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+It may be deserving of notice that the extremes in temperature
+of the sea water during our voyage were 53 deg and 35 deg, but its general
+temperature was between 43 deg and 48 deg. Throughout our return from
+Point Turnagain we observed that the sea had risen several feet
+above marks left at our former encampments. This may, perhaps,
+be attributed to the north-west gales.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 26.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Previous to our departure this morning, an assortment
+of iron materials, beads, looking-glasses, and other articles
+were put up in a conspicuous situation for the Esquimaux, and the
+English Union was planted on the loftiest sand-hill, where it might
+be seen by any ships passing in the offing. Here also, was deposited
+in a tin bow a letter containing an outline of our proceedings, the
+latitude and longitude of the principal places, and the course we
+intended to pursue towards Slave Lake.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at eight A.M. we proceeded up the river, which is full
+of sandy shoals, but sufficiently deep for canoes in the channels. It is
+from one hundred to two hundred yards wide, and is bounded by high
+and steep banks of clay. We encamped at a cascade of eighteen or
+twenty feet high, which is produced by a ridge of rock crossing the
+river, and the nets were set. A mile below this cascade Hood's
+River is joined by a stream half its own size, which I have called
+James' Branch. Bear and deer tracks had been numerous on the
+banks of the river when we were here before, but not a single recent
+one was to be seen at this time. Credit, however, killed a small
+deer at some distance inland, which, with the addition of berries,
+furnished a delightful repast this evening. The weather was remarkably
+fine, and the temperature so mild, that the mosquitoes again
+made their appearance, but not in any great numbers. Our distance
+made to-day was not more than six miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning the net furnished us with ten white fish
+and trout. Having made a further deposit of iron work for the
+Esquimaux we pursued our voyage up the river, but the shoals and
+rapids in this part were so frequent, that we walked along the banks
+the whole day, and the crews laboured hard in carrying the canoes
+thus lightened over the shoals or dragging them up the rapids, yet
+our journey in a direct line was only about seven miles. In the
+evening we encamped at the lower end of a narrow chasm through
+which the river flows for upwards of a mile. The walls of this
+chasm are upwards of two hundred feet high, quite perpendicular,
+and in some places only a few yards apart. The river precipitates
+itself into it over a rock, forming two magnificent and picturesque
+falls close to each other. The upper fall is about sixty feet high, and
+the lower one at least one hundred, but perhaps considerably more,
+for the narrowness of the chasm into which it fell prevented us from
+seeing its bottom, and we could merely discern the top of the spray
+far beneath our feet. The lower fall is divided into two, by an
+insulated column of rock which rises about forty feet above it. The
+whole descent of the river at this place probably exceeds two
+hundred and fifty feet. The rock is very fine felspathose sandstone.
+It has a smooth surface and a light red colour. I have named these
+magnificent cascades Wilberforce Falls, as a tribute of my respect
+for that distinguished philanthropist and Christian. Messrs. Back and
+Hood took beautiful sketches of this majestic scene, which are
+combined in the annexed plate.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The river being surveyed from the summit of a hill, above these
+falls, appeared so rapid and shallow, that it seemed useless to
+attempt proceeding any farther in the large canoes. I therefore
+determined on constructing out of their materials two smaller ones
+of sufficient size to contain three persons, for the purpose of crossing
+any river that might obstruct our progress. This operation was
+accordingly commenced, and by the 31st both the canoes being
+finished, we prepared for our departure on the following day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The leather which had been preserved for making shoes was
+equally divided among the men, two pairs of flannel socks were given
+to each person, and such articles of warm clothing as remained, were
+issued to those who most required them. They were also furnished
+with one of the officers' tents. This being done, I communicated to
+the men my intention of proceeding in as direct a course as possible
+to the part of Point Lake, opposite to our spring encampment
+which was only distant one hundred and forty-nine miles in a
+straight line. They received the communication cheerfully, considered
+the journey to be short, and left me, in high spirits, to
+arrange their own packages. The stores, books, &amp;c., which were not
+absolutely necessary to be carried, were then put up in boxes to be
+left en cache here, in order that the men's burdens might be as light
+as possible.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning was warm, and very fine. Every one was on
+the alert at an early hour, being anxious to commence the journey.
+Our luggage consisted of ammunition, nets, hatchets, ice chisels,
+astronomical instruments, clothing, blankets, three kettles, and
+the two canoes, which were each carried by one man. The
+officers carried such a portion of their own things as their strength
+would permit;the weight carried by each man was about ninety
+pounds, and with this we advanced at the rate of about a mile an
+hour, including rests. In the evening the hunters killed a lean cow,
+out of a large drove of musk-oxen; but the men were too much
+laden to carry more than a small portion of its flesh. The alluvial
+soil, which towards the mouth of the river spreads into plains,
+covered with grass and willows, was now giving place to a more
+barren and hilly country; so that we could but just collect sufficient
+brush wood to cook our suppers. The part of the river we skirted
+to-day was shallow, and flowed over a bed of sand ; its width about
+one hundred and twenty yards. About midnight our tent was blown
+down by a squall, and we were completely drenched with rain before
+it could be re-pitched.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the morning of the 1st of September a fall of snow took
+place; the canoes became a cause of delay, by the difficulty of
+carrying them in a high wind, and they sustained much damage
+from the falls of those who had charge of them. The face of the
+country was broken by hills of moderate elevation, but the ground
+was plentifully strewed with small stones, which, to men bearing
+heavy burthens, and whose feet were protected only by soft moose
+skin shoes, occasioned great pain. At the end of eleven miles we
+encamped, and sent for a musk-ox and a deer, which St. Germain
+and Augustus had killed. The day was extremely cold, the ther-mometer
+varying between 34 deg and 36 deg. In the afternoon a heavy
+fall of snow took place, on the wind changing from north-west to
+south-west. We found no wood at the encampment, but made a
+fire of moss to cook the supper, and crept under our blankets for
+warmth. At sun-rise the thermometer was at 31 deg, and the wind
+fresh from north-west; but the weather became mild in the course
+of the forenoon, and the snow disappeared from the gravel. The
+afternoon was remarkably fine, and the thermometer rose to 50 deg.
+One of the hunters killed a musk-ox. The hills in this part are
+lower and more round-backed than those we passed yesterday, and
+exhibited but little naked rock; they were covered with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having ascertained from the summit of the highest hill near the
+tents, that the river continued to preserve a west course; and fear-ing
+that by pursuing it further we might lose much time, and un-necessarily
+walk over a great deal of ground, I determined on
+quitting its banks the next day, and making as directly as we could for
+Point Lake. We accordingly followed the river on the 3d, only to
+the place where the musk-ox had been killed last evening, and after
+the meat was procured, crossed the river in our two canoes lashed
+together. We now emerged from the valley of the river, and entered
+a level, but very barren, country, varied only by small lakes and
+marshes, the ground being covered with small stones. Many old tracks
+of rein-deer were seen in the clayey soil, and some more recent
+ones of the musk-ox. We encamped on the borders of Wright's
+River, which flows to the eastward; the direct distance walked to-day
+being ten miles and three-quarters. The next morning was
+very fine, and,as the day advanced, the weather became quite
+warm. We set out at six A. M., and, having forded the river,
+walked over a perfectly level country, interspersed with small lakes,
+which communicated with each other, by streams running in various
+directions. No berry-bearing plants were found in this part, the
+surface of the earth being thinly covered in the moister places with
+a few grasses, and on the drier spots with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having walked twelve miles and a half, we encamped at seven P.M.,
+and distributed our last piece of pemmican, and a little arrow-root
+for supper, which afforded but a scanty meal. This evening was
+warm, but dark clouds overspread the sky. Our men now began to
+find their burdens very oppressive, and were much fatigued by this
+day's march, but did not complain. One of them was lame from an
+inflammation in the knee. Heavy rain commenced at midnight, and
+continued without intermission until five in the morning, when it
+was succeeded by snow on the wind changing to north-west, which
+soon increased to a violent gale. As we had nothing to eat, and
+were destitute of the means of making a fire, we remained in our
+beds all the day ; but the covering of our blankets was insufficient to
+prevent us from feeling the severity of the frost, and suffering in-convenience
+from the drifting of the snow into our tents. There
+was no abatement of the storm next day ; our tents were completely
+frozen, and the snow had drifted around them to a depth of three
+feet, and even in the inside there was a covering of several inches on
+our blankets. Our suffering from cold, in a comfortless canvass tent
+in such weather, with the temperature at 20 deg, and without fire,
+will easily be imagined;it was, however, less than that which we
+felt from hunger.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The morning of the 7th cleared up a little, but the wind was still
+strong, and the weather extremely cold. From the unusual con-tinuance
+of the storm, we feared the winter had set in with all its
+rigour, and that by longer delay we should only be exposed to an
+accumulation of difficulties; we therefore prepared for our journey,
+although we were in a very unfit condition for starting, being weak
+from fasting, and our garments stiffened by the frost. We had no
+means of making a fire to thaw them, the moss, at all times difficult
+to kindle, being now covered with ice and snow. A considerable
+time was consumed in packing up the frozen tents and bed clothes,
+the wind blowing so strong that no one could keep his hands long
+out of his mittens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Just as we were about to commence our march, I was seized with
+a fainting fit, in consequence of exhaustion and sudden exposure to
+the wind; but after eating a morsel of portable soup, I recovered, so
+far as to be able to move on. I was unwilling at first to take this
+morsel of soup, which was diminishing the small and only remaining
+meal for the party; but several of the men urged me to it, with
+much kindness. The ground was covered a foot deep with snow,
+the margin of the lakes was incrusted with ice, and the swamps over
+which we had to pass were entirely frozen; but the ice not being
+sufficiently strong to bear us, we frequently plunged knee-deep in
+water. Those who carried the canoes were repeatedly blown down
+by the violence of the wind, and they often fell, from making an
+insecure step on a slippery stone; on one of these occasions, the
+largest canoe was so much broken as to be rendered utterly unser-viceable.
+This was felt as a serious disaster, as the remaining canoe
+having through mistake been made too small, it was doubtful
+whether it would be sufficient to carry us across a river. Indeed
+we had found it necessary in crossing Hood's River, to lash the two
+canoes together. As there was some suspicion that Benoit, who
+carried the canoe, had broken it intentionally, he having on a former
+occasion been overheard by some of the men to say, that he would
+do so when he got it in charge, we closely examined him on the
+point; he roundly denied having used the expressions attributed to
+him, and insisted that it was broken by his falling accidentally; and
+as he brought men to attest the latter fact, who saw him tumble, we
+did not press the matter further. I may here remark that our
+people had murmured a good deal at having to carry two canoes,
+though they were informed of the necessity of taking both, in case
+it should be deemed advisable to divide the party; which it had
+been thought probable we should be obliged to do, if animals proved
+scarce, in order to give the whole the better chance of procuring
+subsistence, and also for the purpose of sending forward some of the
+best walkers to search for Indians, and to get them to meet us with
+supplies of provision. The power of doing this was now at an end.
+As the accident could not be remedied we turned it to the best
+account by making a fire of the bark and timbers of the broken
+vessel, and cooked the remainder of our portable soup and arrow-root.
+This was a scanty meal after three days' fasting, but it served
+to allay the pangs of hunger, and enabled us to proceed at a quicker
+pace than before. The depth of the snow caused us to march in
+Indian file, that is in each other's steps; the voyagers taking it in
+turn to lead the party. A distant object was pointed out to this
+man in the direction we wished to take, and Mr. Hood followed
+immediately behind him, to renew the bearings, and keep him from
+deviating more than could be helped from the mark. It may be
+here observed, that we proceeded in this manner throughout our
+route across the barren grounds.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the afternoon we got into a more hilly country, where the
+ground was strewed with large stones. The surface of these was
+covered with lichens of the genus gyrophora, which the Canadians
+term tripe de roche. A considerable quantity was gathered, and
+with half a partridge each, (which were shot in the course of the
+day,) furnished us with a slender supper, which we cooked with a
+few willows, dug up from beneath the snow. We passed a comfortless
+night in our damp clothes, but took the precaution of sleeping upon
+our socks and shoes to prevent them from freezing. This plan was
+afterwards adopted throughout the journey.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+At half past five in the morning we proceeded; and after walking
+about two miles, came to Cracroft's River, flowing to the westward,
+with a very rapid current over a rocky channel. We had much diffi-culty
+in crossing this, the canoe being useless, not only from the bot-tom
+of the channel being obstructed by large stones, but also from its
+requiring gumming, an operation which, owing to the want of wood
+and the frost, we were unable to perform. However, after following
+the course of the river some way, we effected a passage by means of a
+range of large rocks that crossed a rapid. As the current was strong,
+and many of the rocks were covered with water to the depth of two
+or three feet, the men were exposed to much danger in carrying their
+heavy burthens across, and several of them actually slipped into the
+stream, but were immediately rescued by the others. Junius went
+farther up the river in search of a better crossing place, and did not
+rejoin us to-day. As several of the party were drenched from head to
+foot, and we were all wet to the middle, our clothes became stiff with
+the frost, and we walked with much pain for the remainder of the day.
+The march was continued to a late hour, being anxious to rejoin the
+hunters who had gone before, but we were obliged to encamp at the
+end of ten miles and a quarter, without seeing them. Our only
+meal to-day consisted of a partridge each, (which the hunters shot,)
+mixed with tripe de roche. This repast although scanty for men,
+with appetites such as our daily fatigue created, proved a cheerful
+one, and was received with thankfulness. Most of the men had to
+sleep in the open air, in consequence of the absence of Credit, who
+carried their tent; but we fortunately found an unusual quantity of
+roots to make a fire, which prevented their suffering much from the
+cold, though the thermometer was at 17 deg.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We started at six on the 9th, and at the end of two miles re-gained
+our hunters, who were halting on the borders of a lake amidst
+a clump of stunted willows. This lake stretched to the westward as
+far as we could see, and its waters were discharged by a rapid stream
+one hundred and fifty yards wide. Being entirely ignorant where
+we might be led by pursuing the course of the lake, and dreading
+the idea of going a mile unnecessarily out of the way, we deter-mined
+on crossing the river if possible; and the canoe was gummed
+for the purpose, the willows furnishing us with fire. But we had to
+await the return of Junius before we could make the traverse. In
+the mean time we gathered a little tripe de roche, and breakfasted
+upon it and a few partridges that were killed in the morning.
+St. Germain and Adam were sent upon some recent tracks of deer.
+Junius arrived in the afternoon, and informed us that he had seen
+a large herd of musk-oxen on the banks of Cracroft's River, and had
+wounded one of them, but it had escaped. He brought about four
+pounds of meat, the remains of a deer that had been devoured by
+the wolves. The poor fellow was much fatigued, having walked
+throughout the night, but as the weather was particularly favourable
+for our crossing the river, we could not allow him to rest. After he
+had taken some refreshment we proceeded to the river. The canoe
+being put into the water was found extremely ticklish, but it was
+managed with much dexterity by St. Germain, Adam, and Peltier,
+who ferried over one passenger at a time, causing him to lie flat in its
+bottom, by no means a pleasant position, owing to its leakiness, but
+there was no alternative. The transport of the whole party was
+effected by five o'clock, and we walked about two miles further, and
+encamped, having come five miles and three quarters on a south-west
+course. Two young alpine hares were shot by St. Germain, which,
+with the small piece of meat brought in by Junius, furnished the
+supper of the whole party. There was no tripe de roche here. The
+country had now become decidedly hilly, and was covered with snow.
+The lake preserved its western direction, as far as I could see from
+the summit of the highest mountain near the encampment. We
+subsequently learned from the Copper Indians, that the part at
+which we had crossed the river was the Congecatha-wha-chaga of
+Hearne, of which I had little idea at the time, not only from the
+difference of latitude, but also from its being so much farther east of
+the mouth of the Copper-Mine River, than his track is laid down.
+He only making one degree and three quarters difference of lon-gitude,
+and we, upwards of four. Had I been aware of the fact,
+several days harassing march, and a disastrous accident would have
+been prevented by keeping on the western side of the lake, instead
+of crossing the river. We were informed also, that this river is
+the Anatessy or River of Strangers, and is supposed to fall into
+Bathurst's Inlet; but although the Indians have visited its mouth,
+their description was not sufficient to identify it with any of the
+rivers whose mouths we had seen. It probably falls in that part of
+the coast which was hid from our view by Goulburn's or Elliot's
+Islands.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 10.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We had a cold north wind, and the atmosphere
+was foggy. The thermometer 18 deg at five A.M. In the course of
+our march this morning, we passed many small lakes; and the
+ground becoming higher and more hilly as we receded from the
+river, was covered to a much greater depth with snow. This ren-dered
+walking not only extremely laborious, but also hazardous in
+the highest degree;for the sides of the hills, as is usual throughout
+the barren grounds, abounding in accumulations of large angular
+stones, it often happened that the men fell into the interstices
+with their loads on their backs, being deceived by the smooth
+appearance of the drifted snow. If any one had broken a limb
+here, his fate would have been melancholy indeed; we could neither
+have remained with him, nor carried him on. We halted at ten to
+gather tripe de roche,but it was so frozen, that we were quite
+benumbed with cold before a sufficiency could be collected even for
+a scanty meal. On proceeding our men were somewhat cheered, by
+observing on the sandy summit of a hill, from whence the snow had
+been blown, the summer track of a man; and afterwards by seeing
+several deer tracks on the snow. About noon the weather cleared
+up a little, and, to our great joy, we saw a herd of musk-oxen
+grazing in a valley below us. The party instantly halted, and the
+best hunters were sent out; they approached the animals with the
+utmost caution, no less than two hours being consumed before they
+got within gun-shot. In the mean time we beheld their proceed-ings
+with extreme anxiety, and many secret prayers were, doubtless,
+offered up for their success. At length they opened their fire, and
+we had the satisfaction of seeing one of the largest cows fall; another
+was wounded, but escaped. This success infused spirit into our
+starving party. To skin and cut up the animal was the work of a
+few minutes. The contents of its stomach were devoured upon
+the spot, and the raw intestines, which were next attacked, were
+pronounced by the most delicate amongst us to be excellent. A few
+willows, whose tops were seen peeping through the snow in the bottom
+of the valley, were quickly grubbed, the tents pitched, and supper
+cooked, and devoured with avidity. This was the sixth day since we
+had had a good meal. The tripe de roche, even where we got
+enough, only serving to allay the pangs of hunger for a short time.
+After supper, two of the hunters went in pursuit of the herd, but
+could not get near them.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were detained all the next day by a strong southerly wind,
+and were much incommoded in the tents by the drift snow. The
+temperature was 20 deg. The average for the last ten days about
+24.5 deg. We restricted ourselves to one meal to-day as we were at
+rest, and there was only meat remaining sufficient for the next day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The gale had not diminished on the 12th, and, as we were
+fearful of its continuance for some time, we determined on going
+forward; our only doubt regarded the preservation of the canoe,
+but the men promised to pay particular attention to it, and the
+most careful persons were appointed to take it in charge. The snow
+was two feet deep, and the ground much broken, which rendered
+the march extremely painful. The whole party complained more of
+faintness and weakness than they had ever done before; their
+strength seemed to have been impaired by the recent supply of
+animal food. In the afternoon the wind abated, and the snow ceased;
+cheered with the change we proceeded forward at a quicker pace,
+and encamped at six P. M., having come eleven miles. Our supper
+consumed the last of our meat.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We set out on the 13th, in thick hazy weather, and, after an hour's
+march, had the extreme mortification to find ourselves on the
+borders of a large lake, which we subsequently learned from the
+Indians was named Contwoy-to, or Rum Lake; neither of its extre-
+mities could be seen, and as the portion which lay to the east
+seemed the widest, we coasted along to the westward portion in
+search of a crossing-place. This lake being bounded by steep and
+lofty hills, our march was very fatiguing. Those sides which were
+exposed to the sun, were free from snow, and we found upon them
+some excellent berries. We encamped at six P. M., having come
+only six miles and a half. Credit was then missing, and he did not
+return during the night. We supped off a single partridge and
+some tripe de roche;this unpalatable weed was now quite nau-seous
+to the whole party, and in several it produced bowel com-plaints.
+Mr. Hood was the greatest sufferer from this cause. This
+evening we were extremely distressed, at discovering that our im-provident
+companions,since we left Hood's River, had thrown
+away three of the fishing-nets, and burnt the floats ; they knew we
+had brought them to procure subsistence for the party, when the
+animals should fail, and we could scarcely believe the fact of their
+having wilfully deprived themselves of this resource, especially
+when we considered that most of them had passed the greater part of
+their servitude in situations where the nets alone had supplied them
+with food. Being thus deprived of our principal resource, that of
+fishing, and the men evidently getting weaker every day, it became
+necessary to lighten their burthens of every thing except ammunition,
+clothing, and the instruments that were required to find our
+way. I, therefore, issued directions to deposit at this encampment
+the dipping needle, azimuth compass, magnet, a large thermometer,
+and a few books we had carried, having torn out of these such parts
+as we should require to work the observations for latitude and
+longitude. I also promised,as an excitement to the efforts in
+hunting, my gun to St. Germain, and an ample compensation to
+Adam, or any of the other men who should kill any animals.
+Mr. Hood, on this occasion, lent his gun to Michel, the Iroquois,
+who was very eager in the chase, and often successful.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 14.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+This morning the officers being assembled round
+a small fire, Perrault presented each of us with a small piece of meat
+which he had saved from his allowance. It was received with great
+thankfulness, and such an act of self-denial and kindness, being
+totally unexpected in a Canadian voyager, filled our eyes with tears.
+In directing our course to a river issuing from the lake, we met
+Credit, who communicated the joyful intelligence of his having
+killed two deer in the morning. We instantly halted, and having
+shared the deer that was nearest to us, prepared breakfast. After
+which, the other deer was sent for, and we went down to the river,
+which was about three hundred yards wide, and flowed with
+great velocity through a broken rocky channel. Having searched
+for a part where the current was most smooth, the canoe was
+placed in the water at the head of a rapid, and St. Germain, Solomon
+Belanger, and I, embarked in order to cross. We went from the
+shore very well, but in mid-channel the canoe became difficult to
+manage under our burden as the breeze was fresh. The current
+drove us to the edge of the rapid, when Belanger unfortunately
+applied his paddle to avert the apparent danger of being forced
+down it, and lost his balance. The canoe was overset in con-sequence
+in the middle of the rapid. We fortunately kept hold of
+it, until we touched a rock where the water did not reach higher
+than our waists; here we kept our footing, notwithstanding the
+strength of the current, until the water was emptied out of the
+canoe. Belanger then held the canoe steady whilst St. Germain
+placed me in it, and afterwards embarked himself in a very dexterous
+manner. It was impossible, however, to embark Belanger,
+as the canoe would have been hurried down the rapid, the moment
+he should have raised his foot from the rock on which he stood.
+We were, therefore, compelled to leave him in his perilous situation.
+We had not gone twenty yards before the canoe, striking on a
+sunken rock, went down. The place being shallow, we were again
+enabled to empty it, and the third attempt brought us to the shore.
+In the mean time Belanger was suffering extremely, immersed to
+his middle in the centre of a rapid, the temperature of which was
+very little above the freezing point, and the upper part of his body
+covered with wet clothes, exposed in a temperature not much above
+zero, to a strong breeze. He called piteously for relief, and
+St. Germain on his return endeavoured to embark him, but in vain.
+The canoe was hurried down the rapid, and when he landed he was
+rendered by the cold incapable of further exertion, and Adam at-tempted
+to embark Belanger, but found it impossible. An attempt
+was next made to carry out to him a line, made of the slings of the
+men's loads. This also failed, the current acting so strongly upon
+it, as to prevent the canoe from steering, and it was finally broken
+and carried down the stream. At length, when Belanger's strength
+seemed almost exhausted, the canoe reached him with a small cord
+belonging to one of the nets, and he was dragged perfectly senseless
+through the rapid. By the direction of Dr. Richardson, he was
+instantly stripped, and being rolled up in blankets, two men un-dressed
+themselves and went to bed with him; but it was some
+hours before he recovered his warmth and sensations. As soon as
+Belanger was placed in his bed, the officers immediately sent over
+my blankets, and a person to make a fire. Augustus brought the
+canoe over, and in returning he was obliged to descend both the
+rapids, before he could get across the stream; which hazardous
+service he performed with the greatest coolness and judgment. It
+is impossible to describe my sensations as I witnessed the various
+unsuccessful attempts to relieve Belanger. The distance prevented
+my seeing distinctly what was going on, and I continued pacing up
+and down upon the rock on which I landed, regardless of the
+coldness of my drenched and stiffening garments. The canoe, in
+every attempt to reach him, was hurried down the rapid, and was
+lost to the view amongst the rocky islets, with a rapidity that
+seemed to threaten certain destruction; once, indeed, I fancied that
+I saw it overwhelmed in the waves. Such an event would have
+been fatal to the whole party. Separated as I was from my com-panions,
+without gun, ammunition, hatchet, or the means of making
+a fire, and in wet clothes, my doom would have been speedily sealed.
+My companions too, driven to the necessity of coasting the lake,
+must have sunk under the fatigue of rounding its innumerable arms
+and bays, which, as we have learned from the Indians, are very
+extensive. By the goodness of Providence, however, we were spared
+at that time, and some of us have been permitted to offer up our
+thanksgivings, in a civilized land, for the signal deliverances we then
+and afterwards experienced.
+        </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/franklin_rep.fo b/examples/fo/pagination/franklin_rep.fo
new file mode 100644 (file)
index 0000000..166324f
--- /dev/null
@@ -0,0 +1,1022 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+      <fo:simple-page-master master-name="repeating"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+    <fo:page-sequence-master master-name="repeating_pm">
+      <fo:repeatable-page-master-reference master-reference="repeating"/>
+    </fo:page-sequence-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
+
+    <!-- header -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="start" font-size="10pt"
+            font-family="sans-serif"
+      line-height="10pt" >
+      John Franklin - Journey to the Shores of the Polar Sea
+    </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="sans-serif"
+            line-height="14pt" >
+        p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines local TOC -->
+      <fo:block font-size="10pt"
+            font-family="serif"
+            line-height="12pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="6pt">
+Journey across the barren Grounds - Difficulty and delay in crossing Copper-Mine River -
+Melancholy and fatal Results thereof - Extreme Misery of the whole Party - Murder of
+Mr. Hood - Death of several of the Canadians - Desolate State of Fort Enterprise -
+Distress suffered at that Place - Dr. Richardson's Narrative - Mr. Back's Narrative -
+Conclusion.
+      </fo:block>
+
+      <fo:block font-size="8pt"
+                font-family="serif"
+                font-style="italic"
+                line-height="10pt"
+                space-before.optimum="3pt"
+                space-after.optimum="3pt"
+                text-align="start">1821. August 17.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+MY original intention, whenever the season should
+compel us to relinquish the survey, had been to return by the way
+of the Copper-Mine River, and in pursuance of my arrangement
+with the Hook to travel to Slave Lake through the line of woods
+extending thither by the Great Bear and Marten Lakes, but our
+scanty stock of provision and the length of the voyage rendered it
+necessary to make for a nearer place. We had already found that
+the country, between Cape Barrow and the Copper-Mine River,
+would not supply our wants, and this it seemed probable would now
+be still more the case ; besides, at this advanced season, we expected
+the frequent recurrence of gales, which would cause great detention,
+if not danger in proceeding along that very rocky part of the coast.
+I determined, therefore, to make at once for Arctic Sound, where
+we had found the animals more numerous than at any other place ;
+and entering Hood's River, to advance up that stream as far as it
+was navigable, and then to construct small canoes out of the
+materials of the larger ones, which could be carried in crossing the
+barren grounds to Fort Enterprise.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 19.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were almost beaten out of our comfortless abodes
+by rain during the night, and this morning the gale continued
+without diminution. The thermometer fell to 33 deg. Two men were
+sent with Junius to search for the deer which Augustus had killed.
+Junius returned in the evening bringing part of the meat, but owing
+to the thickness of the weather, his companions parted from him
+and did not make their appearance. Divine service was read. On
+the 20th we were presented with the most chilling prospect, the
+small pools of water being frozen over, the ground being covered
+with snow, and the thermometer at the freezing point at mid-day.
+Flights of geese were passing to the southward. The wind however
+was more moderate, having changed to the eastward. Considerable
+anxiety prevailing respecting Belanger and Michel, the two men
+who strayed from Junius yesterday, the rest were sent out to look
+for them. The search was successful, and they all returned in the
+evening. The stragglers were much fatigued, and had suffered
+severely from the cold, one of them having his thighs frozen, and
+what under our present circumstances was most grievous, they had
+thrown away all the meat. The wind during the night returned to
+the north-west quarter, blew more violently than ever, and raised a
+very turbulent sea. The next day did not improve our condition,
+the snow remained on the ground, and the small pools were frozen.
+Our hunters were sent out, but they returned after a fatiguing
+day's march without having seen any animals. We made a scanty
+meal off a handful of pemmican, after which only half a bag
+remained.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind abated after midnight, and the surf diminished rapidly,
+which caused us to be on the alert at a very early hour on the 22d,
+but we had to wait until six A.M. for the return of Augustus who
+had continued out all night on an unsuccessful pursuit of deer.
+It appears that he had walked a few miles farther along the coast,
+than the party had done on the 18th, and from a sketch he drew on
+the sand, we were confirmed in our former opinion that the shore
+inclined more to the eastward beyond Point Turnagain. He also
+drew a river of considerable size, that discharges its waters into
+Walker's Bay; on the banks of which stream he saw a piece of
+wood, such as the Esquimaux use in producing fire, and other marks
+so fresh that he supposed they had recently visited the spot. We
+therefore left several iron materials for them. Our men, cheered by
+the prospect of returning, embarked with the utmost alacrity; and,
+paddling with unusual vigour, carried us across Riley's and Walker's
+Bays, a distance of twenty miles before noon, when we landed on
+Slate-Clay Point, as the wind had freshened too much to permit us
+to continue the voyage. The whole party went to hunt, but returned
+without success in the evening, drenched with the heavy rain which
+commenced soon after they had set out. Several deer were seen,
+but could not be approached in this naked country; and as our
+stock of pemmican did not admit of serving out two meals, we went
+dinnerless to bed.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Soon after our departure to-day, a sealed tin-case, sufficiently
+buoyant to float, was thrown overboard, containing a short account of
+our proceedings, and the position of the most conspicuous points.
+The wind blew off the land, the water was smooth, and as the sea
+is in this part more free from islands than in any other, there was
+every probability of its being driven off the shore into the current ;
+which, as I have before mentioned, we suppose, from the circumstance
+of Mackenzie's River being the only known stream that
+brings down the wood we have found along the shores, to set to the
+eastward.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 23.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+A severe frost caused us to pass a comfortless night.
+At two P.M. we set sail, and the men voluntarily launched out to
+make a traverse of fifteen miles across Melville Sound, before a
+strong wind and heavy sea. The privation of food, under which
+our voyagers were then labouring, absorbed every other terror;
+otherwise the most powerful persuasion could not have induced
+them to attempt such a traverse. It was with the utmost difficulty
+that the canoes were kept from turning their broadsides to the
+waves, though we sometimes steered with all the paddles. One of
+them narrowly escaped being overset by this accident, happening
+in mid-channel, where the waves were so high that the mast-head
+of our canoe was often hid from the other, though it was sailing
+within hail. The annexed plate, from Mr. Back's sketch, will convey
+to the reader an accurate idea of the peril of our situation.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The traverse, however, was made;we were then near a high
+rocky lee shore, on which a heavy surf was beating. The wind
+being on the beam, the canoes drifted fast to leeward; and, on
+rounding a point, the recoil of the sea from the rocks was so great
+that they were with difficulty kept from foundering. We looked in
+vain for a sheltered bay to land in ; but, at length, being unable to
+weather another point, we were obliged to put ashore on the open
+beach, which, fortunately, was sandy at this spot. The debarkation
+was effected in the manner represented in the plate; and, fortunately,
+without further injury than the splitting of the head of
+the second canoe, which was easily repaired.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Our encampment being near to the place where we killed the deer
+on the 11th, almost the whole party went out to hunt, but they
+returned in the evening without having seen any game. The
+berries, however, were ripe and plentiful, and, with the addition
+of some country tea, furnished a supper. There were some showers
+in the afternoon,and the weather was cold, the thermometer
+being 42 deg, but the evening and night were calm and fine. It may be
+remarked that the mosquitoes disappeared when the late gales
+commenced.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 25.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at three A. M., we stretched across
+the eastern entrance of Bathurst's Inlet, and arrived at an island,
+which I have named after Colonel Barry, of Newton Barry. Some
+deer being seen on the beach, the hunters went in pursuit of
+them, and succeeded in killing three females, which enabled us to
+save our last remaining meal of pemmican. They saw also some
+fresh tracks of musk oxen on the banks of a small stream, which
+flowed into a lake in the centre of the island. These animals must
+have crossed a channel, at least, three miles wide, to reach the nearest
+of these islands. Some specimens of variegated pebbles and jasper
+were found here imbedded in the amygdaloidal rock.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Re-embarking at two P.M., and continuing through what was
+supposed to be a channel between two islands, we found our passage
+barred by a gravelly isthmus of only ten yards in width ; the canoes
+and cargoes were carried across it, and we passed into Bathurst's Inlet
+through another similar channel, bounded on both sides by steep
+rocky hills. The wind then changing from S.E. to N.W. brought
+heavy rain, and we encamped at seven P.M., having advanced
+eighteen miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Starting this morning with a fresh breeze in our favour,
+we soon reached that part of Barry's Island where the canoes were
+detained on the 2d and 3rd of this month, and contrary to what we
+then experienced, the deer were now plentiful. The hunters killed
+two, and we were relieved from all apprehension of an immediate
+want of food. One would suppose the deer were about to retire to
+the main shore from their assembling at this time in such numbers
+on the islands nearest to the coast. Those we saw were generally
+females with their young, and all of them very lean.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind continued in the same direction until we had rounded
+Point Wollaston, and then changed to a quarter, which enabled us
+to steer for Hood's River, which we ascended as high as the first
+rapid and encamped. Here terminated our voyage on the Arctic
+sea, during which we had gone over six hundred and fifty geographical
+miles. Our Canadian voyagers could not restrain their expressions
+of joy at having turned their backs on the sea, and
+they passed the evening talking over their past adventures with
+much humour and no little exaggeration. The consideration that
+the most painful, and certainly the most hazardous, part of the
+journey was yet to come, did not depress their spirits at all. It is
+due to their character to mention that they displayed much courage
+in encountering the dangers of the sea, magnified to them by their
+novelty.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The shores between Cape Barrow and Cape Flinders, including
+the extensive branches of Arctic and Melville Sounds, and Bathurst's
+Inlet, may be comprehended in one great gulf, which I have distinguished
+by the appellation of George IV.'s Coronation Gulf, in
+honour of His Most Gracious Majesty, the latter name being added
+to mark the time of its discovery. The Archipelago of islands which
+fringe the coast from Copper-Mine River to Point Turnagain, I have
+named in honour of His Royal Highness the Duke of York.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+It may be deserving of notice that the extremes in temperature
+of the sea water during our voyage were 53 deg and 35 deg, but its general
+temperature was between 43 deg and 48 deg. Throughout our return from
+Point Turnagain we observed that the sea had risen several feet
+above marks left at our former encampments. This may, perhaps,
+be attributed to the north-west gales.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 26.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Previous to our departure this morning, an assortment
+of iron materials, beads, looking-glasses, and other articles
+were put up in a conspicuous situation for the Esquimaux, and the
+English Union was planted on the loftiest sand-hill, where it might
+be seen by any ships passing in the offing. Here also, was deposited
+in a tin bow a letter containing an outline of our proceedings, the
+latitude and longitude of the principal places, and the course we
+intended to pursue towards Slave Lake.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at eight A.M. we proceeded up the river, which is full
+of sandy shoals, but sufficiently deep for canoes in the channels. It is
+from one hundred to two hundred yards wide, and is bounded by high
+and steep banks of clay. We encamped at a cascade of eighteen or
+twenty feet high, which is produced by a ridge of rock crossing the
+river, and the nets were set. A mile below this cascade Hood's
+River is joined by a stream half its own size, which I have called
+James' Branch. Bear and deer tracks had been numerous on the
+banks of the river when we were here before, but not a single recent
+one was to be seen at this time. Credit, however, killed a small
+deer at some distance inland, which, with the addition of berries,
+furnished a delightful repast this evening. The weather was remarkably
+fine, and the temperature so mild, that the mosquitoes again
+made their appearance, but not in any great numbers. Our distance
+made to-day was not more than six miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning the net furnished us with ten white fish
+and trout. Having made a further deposit of iron work for the
+Esquimaux we pursued our voyage up the river, but the shoals and
+rapids in this part were so frequent, that we walked along the banks
+the whole day, and the crews laboured hard in carrying the canoes
+thus lightened over the shoals or dragging them up the rapids, yet
+our journey in a direct line was only about seven miles. In the
+evening we encamped at the lower end of a narrow chasm through
+which the river flows for upwards of a mile. The walls of this
+chasm are upwards of two hundred feet high, quite perpendicular,
+and in some places only a few yards apart. The river precipitates
+itself into it over a rock, forming two magnificent and picturesque
+falls close to each other. The upper fall is about sixty feet high, and
+the lower one at least one hundred, but perhaps considerably more,
+for the narrowness of the chasm into which it fell prevented us from
+seeing its bottom, and we could merely discern the top of the spray
+far beneath our feet. The lower fall is divided into two, by an
+insulated column of rock which rises about forty feet above it. The
+whole descent of the river at this place probably exceeds two
+hundred and fifty feet. The rock is very fine felspathose sandstone.
+It has a smooth surface and a light red colour. I have named these
+magnificent cascades Wilberforce Falls, as a tribute of my respect
+for that distinguished philanthropist and Christian. Messrs. Back and
+Hood took beautiful sketches of this majestic scene, which are
+combined in the annexed plate.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The river being surveyed from the summit of a hill, above these
+falls, appeared so rapid and shallow, that it seemed useless to
+attempt proceeding any farther in the large canoes. I therefore
+determined on constructing out of their materials two smaller ones
+of sufficient size to contain three persons, for the purpose of crossing
+any river that might obstruct our progress. This operation was
+accordingly commenced, and by the 31st both the canoes being
+finished, we prepared for our departure on the following day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The leather which had been preserved for making shoes was
+equally divided among the men, two pairs of flannel socks were given
+to each person, and such articles of warm clothing as remained, were
+issued to those who most required them. They were also furnished
+with one of the officers' tents. This being done, I communicated to
+the men my intention of proceeding in as direct a course as possible
+to the part of Point Lake, opposite to our spring encampment
+which was only distant one hundred and forty-nine miles in a
+straight line. They received the communication cheerfully, considered
+the journey to be short, and left me, in high spirits, to
+arrange their own packages. The stores, books, &amp;c., which were not
+absolutely necessary to be carried, were then put up in boxes to be
+left en cache here, in order that the men's burdens might be as light
+as possible.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning was warm, and very fine. Every one was on
+the alert at an early hour, being anxious to commence the journey.
+Our luggage consisted of ammunition, nets, hatchets, ice chisels,
+astronomical instruments, clothing, blankets, three kettles, and
+the two canoes, which were each carried by one man. The
+officers carried such a portion of their own things as their strength
+would permit;the weight carried by each man was about ninety
+pounds, and with this we advanced at the rate of about a mile an
+hour, including rests. In the evening the hunters killed a lean cow,
+out of a large drove of musk-oxen; but the men were too much
+laden to carry more than a small portion of its flesh. The alluvial
+soil, which towards the mouth of the river spreads into plains,
+covered with grass and willows, was now giving place to a more
+barren and hilly country; so that we could but just collect sufficient
+brush wood to cook our suppers. The part of the river we skirted
+to-day was shallow, and flowed over a bed of sand ; its width about
+one hundred and twenty yards. About midnight our tent was blown
+down by a squall, and we were completely drenched with rain before
+it could be re-pitched.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the morning of the 1st of September a fall of snow took
+place; the canoes became a cause of delay, by the difficulty of
+carrying them in a high wind, and they sustained much damage
+from the falls of those who had charge of them. The face of the
+country was broken by hills of moderate elevation, but the ground
+was plentifully strewed with small stones, which, to men bearing
+heavy burthens, and whose feet were protected only by soft moose
+skin shoes, occasioned great pain. At the end of eleven miles we
+encamped, and sent for a musk-ox and a deer, which St. Germain
+and Augustus had killed. The day was extremely cold, the ther-mometer
+varying between 34 deg and 36 deg. In the afternoon a heavy
+fall of snow took place, on the wind changing from north-west to
+south-west. We found no wood at the encampment, but made a
+fire of moss to cook the supper, and crept under our blankets for
+warmth. At sun-rise the thermometer was at 31 deg, and the wind
+fresh from north-west; but the weather became mild in the course
+of the forenoon, and the snow disappeared from the gravel. The
+afternoon was remarkably fine, and the thermometer rose to 50 deg.
+One of the hunters killed a musk-ox. The hills in this part are
+lower and more round-backed than those we passed yesterday, and
+exhibited but little naked rock; they were covered with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having ascertained from the summit of the highest hill near the
+tents, that the river continued to preserve a west course; and fear-ing
+that by pursuing it further we might lose much time, and un-necessarily
+walk over a great deal of ground, I determined on
+quitting its banks the next day, and making as directly as we could for
+Point Lake. We accordingly followed the river on the 3d, only to
+the place where the musk-ox had been killed last evening, and after
+the meat was procured, crossed the river in our two canoes lashed
+together. We now emerged from the valley of the river, and entered
+a level, but very barren, country, varied only by small lakes and
+marshes, the ground being covered with small stones. Many old tracks
+of rein-deer were seen in the clayey soil, and some more recent
+ones of the musk-ox. We encamped on the borders of Wright's
+River, which flows to the eastward; the direct distance walked to-day
+being ten miles and three-quarters. The next morning was
+very fine, and,as the day advanced, the weather became quite
+warm. We set out at six A. M., and, having forded the river,
+walked over a perfectly level country, interspersed with small lakes,
+which communicated with each other, by streams running in various
+directions. No berry-bearing plants were found in this part, the
+surface of the earth being thinly covered in the moister places with
+a few grasses, and on the drier spots with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having walked twelve miles and a half, we encamped at seven P.M.,
+and distributed our last piece of pemmican, and a little arrow-root
+for supper, which afforded but a scanty meal. This evening was
+warm, but dark clouds overspread the sky. Our men now began to
+find their burdens very oppressive, and were much fatigued by this
+day's march, but did not complain. One of them was lame from an
+inflammation in the knee. Heavy rain commenced at midnight, and
+continued without intermission until five in the morning, when it
+was succeeded by snow on the wind changing to north-west, which
+soon increased to a violent gale. As we had nothing to eat, and
+were destitute of the means of making a fire, we remained in our
+beds all the day ; but the covering of our blankets was insufficient to
+prevent us from feeling the severity of the frost, and suffering in-convenience
+from the drifting of the snow into our tents. There
+was no abatement of the storm next day ; our tents were completely
+frozen, and the snow had drifted around them to a depth of three
+feet, and even in the inside there was a covering of several inches on
+our blankets. Our suffering from cold, in a comfortless canvass tent
+in such weather, with the temperature at 20 deg, and without fire,
+will easily be imagined;it was, however, less than that which we
+felt from hunger.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The morning of the 7th cleared up a little, but the wind was still
+strong, and the weather extremely cold. From the unusual con-tinuance
+of the storm, we feared the winter had set in with all its
+rigour, and that by longer delay we should only be exposed to an
+accumulation of difficulties; we therefore prepared for our journey,
+although we were in a very unfit condition for starting, being weak
+from fasting, and our garments stiffened by the frost. We had no
+means of making a fire to thaw them, the moss, at all times difficult
+to kindle, being now covered with ice and snow. A considerable
+time was consumed in packing up the frozen tents and bed clothes,
+the wind blowing so strong that no one could keep his hands long
+out of his mittens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Just as we were about to commence our march, I was seized with
+a fainting fit, in consequence of exhaustion and sudden exposure to
+the wind; but after eating a morsel of portable soup, I recovered, so
+far as to be able to move on. I was unwilling at first to take this
+morsel of soup, which was diminishing the small and only remaining
+meal for the party; but several of the men urged me to it, with
+much kindness. The ground was covered a foot deep with snow,
+the margin of the lakes was incrusted with ice, and the swamps over
+which we had to pass were entirely frozen; but the ice not being
+sufficiently strong to bear us, we frequently plunged knee-deep in
+water. Those who carried the canoes were repeatedly blown down
+by the violence of the wind, and they often fell, from making an
+insecure step on a slippery stone; on one of these occasions, the
+largest canoe was so much broken as to be rendered utterly unser-viceable.
+This was felt as a serious disaster, as the remaining canoe
+having through mistake been made too small, it was doubtful
+whether it would be sufficient to carry us across a river. Indeed
+we had found it necessary in crossing Hood's River, to lash the two
+canoes together. As there was some suspicion that Benoit, who
+carried the canoe, had broken it intentionally, he having on a former
+occasion been overheard by some of the men to say, that he would
+do so when he got it in charge, we closely examined him on the
+point; he roundly denied having used the expressions attributed to
+him, and insisted that it was broken by his falling accidentally; and
+as he brought men to attest the latter fact, who saw him tumble, we
+did not press the matter further. I may here remark that our
+people had murmured a good deal at having to carry two canoes,
+though they were informed of the necessity of taking both, in case
+it should be deemed advisable to divide the party; which it had
+been thought probable we should be obliged to do, if animals proved
+scarce, in order to give the whole the better chance of procuring
+subsistence, and also for the purpose of sending forward some of the
+best walkers to search for Indians, and to get them to meet us with
+supplies of provision. The power of doing this was now at an end.
+As the accident could not be remedied we turned it to the best
+account by making a fire of the bark and timbers of the broken
+vessel, and cooked the remainder of our portable soup and arrow-root.
+This was a scanty meal after three days' fasting, but it served
+to allay the pangs of hunger, and enabled us to proceed at a quicker
+pace than before. The depth of the snow caused us to march in
+Indian file, that is in each other's steps; the voyagers taking it in
+turn to lead the party. A distant object was pointed out to this
+man in the direction we wished to take, and Mr. Hood followed
+immediately behind him, to renew the bearings, and keep him from
+deviating more than could be helped from the mark. It may be
+here observed, that we proceeded in this manner throughout our
+route across the barren grounds.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the afternoon we got into a more hilly country, where the
+ground was strewed with large stones. The surface of these was
+covered with lichens of the genus gyrophora, which the Canadians
+term tripe de roche. A considerable quantity was gathered, and
+with half a partridge each, (which were shot in the course of the
+day,) furnished us with a slender supper, which we cooked with a
+few willows, dug up from beneath the snow. We passed a comfortless
+night in our damp clothes, but took the precaution of sleeping upon
+our socks and shoes to prevent them from freezing. This plan was
+afterwards adopted throughout the journey.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+At half past five in the morning we proceeded; and after walking
+about two miles, came to Cracroft's River, flowing to the westward,
+with a very rapid current over a rocky channel. We had much diffi-culty
+in crossing this, the canoe being useless, not only from the bot-tom
+of the channel being obstructed by large stones, but also from its
+requiring gumming, an operation which, owing to the want of wood
+and the frost, we were unable to perform. However, after following
+the course of the river some way, we effected a passage by means of a
+range of large rocks that crossed a rapid. As the current was strong,
+and many of the rocks were covered with water to the depth of two
+or three feet, the men were exposed to much danger in carrying their
+heavy burthens across, and several of them actually slipped into the
+stream, but were immediately rescued by the others. Junius went
+farther up the river in search of a better crossing place, and did not
+rejoin us to-day. As several of the party were drenched from head to
+foot, and we were all wet to the middle, our clothes became stiff with
+the frost, and we walked with much pain for the remainder of the day.
+The march was continued to a late hour, being anxious to rejoin the
+hunters who had gone before, but we were obliged to encamp at the
+end of ten miles and a quarter, without seeing them. Our only
+meal to-day consisted of a partridge each, (which the hunters shot,)
+mixed with tripe de roche. This repast although scanty for men,
+with appetites such as our daily fatigue created, proved a cheerful
+one, and was received with thankfulness. Most of the men had to
+sleep in the open air, in consequence of the absence of Credit, who
+carried their tent; but we fortunately found an unusual quantity of
+roots to make a fire, which prevented their suffering much from the
+cold, though the thermometer was at 17 deg.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We started at six on the 9th, and at the end of two miles re-gained
+our hunters, who were halting on the borders of a lake amidst
+a clump of stunted willows. This lake stretched to the westward as
+far as we could see, and its waters were discharged by a rapid stream
+one hundred and fifty yards wide. Being entirely ignorant where
+we might be led by pursuing the course of the lake, and dreading
+the idea of going a mile unnecessarily out of the way, we deter-mined
+on crossing the river if possible; and the canoe was gummed
+for the purpose, the willows furnishing us with fire. But we had to
+await the return of Junius before we could make the traverse. In
+the mean time we gathered a little tripe de roche, and breakfasted
+upon it and a few partridges that were killed in the morning.
+St. Germain and Adam were sent upon some recent tracks of deer.
+Junius arrived in the afternoon, and informed us that he had seen
+a large herd of musk-oxen on the banks of Cracroft's River, and had
+wounded one of them, but it had escaped. He brought about four
+pounds of meat, the remains of a deer that had been devoured by
+the wolves. The poor fellow was much fatigued, having walked
+throughout the night, but as the weather was particularly favourable
+for our crossing the river, we could not allow him to rest. After he
+had taken some refreshment we proceeded to the river. The canoe
+being put into the water was found extremely ticklish, but it was
+managed with much dexterity by St. Germain, Adam, and Peltier,
+who ferried over one passenger at a time, causing him to lie flat in its
+bottom, by no means a pleasant position, owing to its leakiness, but
+there was no alternative. The transport of the whole party was
+effected by five o'clock, and we walked about two miles further, and
+encamped, having come five miles and three quarters on a south-west
+course. Two young alpine hares were shot by St. Germain, which,
+with the small piece of meat brought in by Junius, furnished the
+supper of the whole party. There was no tripe de roche here. The
+country had now become decidedly hilly, and was covered with snow.
+The lake preserved its western direction, as far as I could see from
+the summit of the highest mountain near the encampment. We
+subsequently learned from the Copper Indians, that the part at
+which we had crossed the river was the Congecatha-wha-chaga of
+Hearne, of which I had little idea at the time, not only from the
+difference of latitude, but also from its being so much farther east of
+the mouth of the Copper-Mine River, than his track is laid down.
+He only making one degree and three quarters difference of lon-gitude,
+and we, upwards of four. Had I been aware of the fact,
+several days harassing march, and a disastrous accident would have
+been prevented by keeping on the western side of the lake, instead
+of crossing the river. We were informed also, that this river is
+the Anatessy or River of Strangers, and is supposed to fall into
+Bathurst's Inlet; but although the Indians have visited its mouth,
+their description was not sufficient to identify it with any of the
+rivers whose mouths we had seen. It probably falls in that part of
+the coast which was hid from our view by Goulburn's or Elliot's
+Islands.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 10.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We had a cold north wind, and the atmosphere
+was foggy. The thermometer 18 deg at five A.M. In the course of
+our march this morning, we passed many small lakes; and the
+ground becoming higher and more hilly as we receded from the
+river, was covered to a much greater depth with snow. This ren-dered
+walking not only extremely laborious, but also hazardous in
+the highest degree;for the sides of the hills, as is usual throughout
+the barren grounds, abounding in accumulations of large angular
+stones, it often happened that the men fell into the interstices
+with their loads on their backs, being deceived by the smooth
+appearance of the drifted snow. If any one had broken a limb
+here, his fate would have been melancholy indeed; we could neither
+have remained with him, nor carried him on. We halted at ten to
+gather tripe de roche,but it was so frozen, that we were quite
+benumbed with cold before a sufficiency could be collected even for
+a scanty meal. On proceeding our men were somewhat cheered, by
+observing on the sandy summit of a hill, from whence the snow had
+been blown, the summer track of a man; and afterwards by seeing
+several deer tracks on the snow. About noon the weather cleared
+up a little, and, to our great joy, we saw a herd of musk-oxen
+grazing in a valley below us. The party instantly halted, and the
+best hunters were sent out; they approached the animals with the
+utmost caution, no less than two hours being consumed before they
+got within gun-shot. In the mean time we beheld their proceed-ings
+with extreme anxiety, and many secret prayers were, doubtless,
+offered up for their success. At length they opened their fire, and
+we had the satisfaction of seeing one of the largest cows fall; another
+was wounded, but escaped. This success infused spirit into our
+starving party. To skin and cut up the animal was the work of a
+few minutes. The contents of its stomach were devoured upon
+the spot, and the raw intestines, which were next attacked, were
+pronounced by the most delicate amongst us to be excellent. A few
+willows, whose tops were seen peeping through the snow in the bottom
+of the valley, were quickly grubbed, the tents pitched, and supper
+cooked, and devoured with avidity. This was the sixth day since we
+had had a good meal. The tripe de roche, even where we got
+enough, only serving to allay the pangs of hunger for a short time.
+After supper, two of the hunters went in pursuit of the herd, but
+could not get near them.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were detained all the next day by a strong southerly wind,
+and were much incommoded in the tents by the drift snow. The
+temperature was 20 deg. The average for the last ten days about
+24.5 deg. We restricted ourselves to one meal to-day as we were at
+rest, and there was only meat remaining sufficient for the next day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The gale had not diminished on the 12th, and, as we were
+fearful of its continuance for some time, we determined on going
+forward; our only doubt regarded the preservation of the canoe,
+but the men promised to pay particular attention to it, and the
+most careful persons were appointed to take it in charge. The snow
+was two feet deep, and the ground much broken, which rendered
+the march extremely painful. The whole party complained more of
+faintness and weakness than they had ever done before; their
+strength seemed to have been impaired by the recent supply of
+animal food. In the afternoon the wind abated, and the snow ceased;
+cheered with the change we proceeded forward at a quicker pace,
+and encamped at six P. M., having come eleven miles. Our supper
+consumed the last of our meat.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We set out on the 13th, in thick hazy weather, and, after an hour's
+march, had the extreme mortification to find ourselves on the
+borders of a large lake, which we subsequently learned from the
+Indians was named Contwoy-to, or Rum Lake; neither of its extre-
+mities could be seen, and as the portion which lay to the east
+seemed the widest, we coasted along to the westward portion in
+search of a crossing-place. This lake being bounded by steep and
+lofty hills, our march was very fatiguing. Those sides which were
+exposed to the sun, were free from snow, and we found upon them
+some excellent berries. We encamped at six P. M., having come
+only six miles and a half. Credit was then missing, and he did not
+return during the night. We supped off a single partridge and
+some tripe de roche;this unpalatable weed was now quite nau-seous
+to the whole party, and in several it produced bowel com-plaints.
+Mr. Hood was the greatest sufferer from this cause. This
+evening we were extremely distressed, at discovering that our im-provident
+companions,since we left Hood's River, had thrown
+away three of the fishing-nets, and burnt the floats ; they knew we
+had brought them to procure subsistence for the party, when the
+animals should fail, and we could scarcely believe the fact of their
+having wilfully deprived themselves of this resource, especially
+when we considered that most of them had passed the greater part of
+their servitude in situations where the nets alone had supplied them
+with food. Being thus deprived of our principal resource, that of
+fishing, and the men evidently getting weaker every day, it became
+necessary to lighten their burthens of every thing except ammunition,
+clothing, and the instruments that were required to find our
+way. I, therefore, issued directions to deposit at this encampment
+the dipping needle, azimuth compass, magnet, a large thermometer,
+and a few books we had carried, having torn out of these such parts
+as we should require to work the observations for latitude and
+longitude. I also promised,as an excitement to the efforts in
+hunting, my gun to St. Germain, and an ample compensation to
+Adam, or any of the other men who should kill any animals.
+Mr. Hood, on this occasion, lent his gun to Michel, the Iroquois,
+who was very eager in the chase, and often successful.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 14.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+This morning the officers being assembled round
+a small fire, Perrault presented each of us with a small piece of meat
+which he had saved from his allowance. It was received with great
+thankfulness, and such an act of self-denial and kindness, being
+totally unexpected in a Canadian voyager, filled our eyes with tears.
+In directing our course to a river issuing from the lake, we met
+Credit, who communicated the joyful intelligence of his having
+killed two deer in the morning. We instantly halted, and having
+shared the deer that was nearest to us, prepared breakfast. After
+which, the other deer was sent for, and we went down to the river,
+which was about three hundred yards wide, and flowed with
+great velocity through a broken rocky channel. Having searched
+for a part where the current was most smooth, the canoe was
+placed in the water at the head of a rapid, and St. Germain, Solomon
+Belanger, and I, embarked in order to cross. We went from the
+shore very well, but in mid-channel the canoe became difficult to
+manage under our burden as the breeze was fresh. The current
+drove us to the edge of the rapid, when Belanger unfortunately
+applied his paddle to avert the apparent danger of being forced
+down it, and lost his balance. The canoe was overset in con-sequence
+in the middle of the rapid. We fortunately kept hold of
+it, until we touched a rock where the water did not reach higher
+than our waists; here we kept our footing, notwithstanding the
+strength of the current, until the water was emptied out of the
+canoe. Belanger then held the canoe steady whilst St. Germain
+placed me in it, and afterwards embarked himself in a very dexterous
+manner. It was impossible, however, to embark Belanger,
+as the canoe would have been hurried down the rapid, the moment
+he should have raised his foot from the rock on which he stood.
+We were, therefore, compelled to leave him in his perilous situation.
+We had not gone twenty yards before the canoe, striking on a
+sunken rock, went down. The place being shallow, we were again
+enabled to empty it, and the third attempt brought us to the shore.
+In the mean time Belanger was suffering extremely, immersed to
+his middle in the centre of a rapid, the temperature of which was
+very little above the freezing point, and the upper part of his body
+covered with wet clothes, exposed in a temperature not much above
+zero, to a strong breeze. He called piteously for relief, and
+St. Germain on his return endeavoured to embark him, but in vain.
+The canoe was hurried down the rapid, and when he landed he was
+rendered by the cold incapable of further exertion, and Adam at-tempted
+to embark Belanger, but found it impossible. An attempt
+was next made to carry out to him a line, made of the slings of the
+men's loads. This also failed, the current acting so strongly upon
+it, as to prevent the canoe from steering, and it was finally broken
+and carried down the stream. At length, when Belanger's strength
+seemed almost exhausted, the canoe reached him with a small cord
+belonging to one of the nets, and he was dragged perfectly senseless
+through the rapid. By the direction of Dr. Richardson, he was
+instantly stripped, and being rolled up in blankets, two men un-dressed
+themselves and went to bed with him; but it was some
+hours before he recovered his warmth and sensations. As soon as
+Belanger was placed in his bed, the officers immediately sent over
+my blankets, and a person to make a fire. Augustus brought the
+canoe over, and in returning he was obliged to descend both the
+rapids, before he could get across the stream; which hazardous
+service he performed with the greatest coolness and judgment. It
+is impossible to describe my sensations as I witnessed the various
+unsuccessful attempts to relieve Belanger. The distance prevented
+my seeing distinctly what was going on, and I continued pacing up
+and down upon the rock on which I landed, regardless of the
+coldness of my drenched and stiffening garments. The canoe, in
+every attempt to reach him, was hurried down the rapid, and was
+lost to the view amongst the rocky islets, with a rapidity that
+seemed to threaten certain destruction; once, indeed, I fancied that
+I saw it overwhelmed in the waves. Such an event would have
+been fatal to the whole party. Separated as I was from my com-panions,
+without gun, ammunition, hatchet, or the means of making
+a fire, and in wet clothes, my doom would have been speedily sealed.
+My companions too, driven to the necessity of coasting the lake,
+must have sunk under the fatigue of rounding its innumerable arms
+and bays, which, as we have learned from the Indians, are very
+extensive. By the goodness of Providence, however, we were spared
+at that time, and some of us have been permitted to offer up our
+thanksgivings, in a civilized land, for the signal deliverances we then
+and afterwards experienced.
+        </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/franklin_rep_max_repeats.fo b/examples/fo/pagination/franklin_rep_max_repeats.fo
new file mode 100644 (file)
index 0000000..9fb5f31
--- /dev/null
@@ -0,0 +1,1024 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+      <fo:simple-page-master master-name="repeating"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+    <fo:page-sequence-master master-name="repeating_pm">
+      <fo:repeatable-page-master-reference master-reference="repeating"
+        maximum-repeats="15"/>
+      <fo:single-page-master-reference master-reference="repeating"/>
+    </fo:page-sequence-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
+
+    <!-- header -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="start" font-size="10pt"
+            font-family="sans-serif"
+      line-height="10pt" >
+      John Franklin - Journey to the Shores of the Polar Sea
+    </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="sans-serif"
+            line-height="14pt" >
+        p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines local TOC -->
+      <fo:block font-size="10pt"
+            font-family="serif"
+            line-height="12pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="6pt">
+Journey across the barren Grounds - Difficulty and delay in crossing Copper-Mine River -
+Melancholy and fatal Results thereof - Extreme Misery of the whole Party - Murder of
+Mr. Hood - Death of several of the Canadians - Desolate State of Fort Enterprise -
+Distress suffered at that Place - Dr. Richardson's Narrative - Mr. Back's Narrative -
+Conclusion.
+      </fo:block>
+
+      <fo:block font-size="8pt"
+                font-family="serif"
+                font-style="italic"
+                line-height="10pt"
+                space-before.optimum="3pt"
+                space-after.optimum="3pt"
+                text-align="start">1821. August 17.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+MY original intention, whenever the season should
+compel us to relinquish the survey, had been to return by the way
+of the Copper-Mine River, and in pursuance of my arrangement
+with the Hook to travel to Slave Lake through the line of woods
+extending thither by the Great Bear and Marten Lakes, but our
+scanty stock of provision and the length of the voyage rendered it
+necessary to make for a nearer place. We had already found that
+the country, between Cape Barrow and the Copper-Mine River,
+would not supply our wants, and this it seemed probable would now
+be still more the case ; besides, at this advanced season, we expected
+the frequent recurrence of gales, which would cause great detention,
+if not danger in proceeding along that very rocky part of the coast.
+I determined, therefore, to make at once for Arctic Sound, where
+we had found the animals more numerous than at any other place ;
+and entering Hood's River, to advance up that stream as far as it
+was navigable, and then to construct small canoes out of the
+materials of the larger ones, which could be carried in crossing the
+barren grounds to Fort Enterprise.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 19.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were almost beaten out of our comfortless abodes
+by rain during the night, and this morning the gale continued
+without diminution. The thermometer fell to 33 deg. Two men were
+sent with Junius to search for the deer which Augustus had killed.
+Junius returned in the evening bringing part of the meat, but owing
+to the thickness of the weather, his companions parted from him
+and did not make their appearance. Divine service was read. On
+the 20th we were presented with the most chilling prospect, the
+small pools of water being frozen over, the ground being covered
+with snow, and the thermometer at the freezing point at mid-day.
+Flights of geese were passing to the southward. The wind however
+was more moderate, having changed to the eastward. Considerable
+anxiety prevailing respecting Belanger and Michel, the two men
+who strayed from Junius yesterday, the rest were sent out to look
+for them. The search was successful, and they all returned in the
+evening. The stragglers were much fatigued, and had suffered
+severely from the cold, one of them having his thighs frozen, and
+what under our present circumstances was most grievous, they had
+thrown away all the meat. The wind during the night returned to
+the north-west quarter, blew more violently than ever, and raised a
+very turbulent sea. The next day did not improve our condition,
+the snow remained on the ground, and the small pools were frozen.
+Our hunters were sent out, but they returned after a fatiguing
+day's march without having seen any animals. We made a scanty
+meal off a handful of pemmican, after which only half a bag
+remained.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind abated after midnight, and the surf diminished rapidly,
+which caused us to be on the alert at a very early hour on the 22d,
+but we had to wait until six A.M. for the return of Augustus who
+had continued out all night on an unsuccessful pursuit of deer.
+It appears that he had walked a few miles farther along the coast,
+than the party had done on the 18th, and from a sketch he drew on
+the sand, we were confirmed in our former opinion that the shore
+inclined more to the eastward beyond Point Turnagain. He also
+drew a river of considerable size, that discharges its waters into
+Walker's Bay; on the banks of which stream he saw a piece of
+wood, such as the Esquimaux use in producing fire, and other marks
+so fresh that he supposed they had recently visited the spot. We
+therefore left several iron materials for them. Our men, cheered by
+the prospect of returning, embarked with the utmost alacrity; and,
+paddling with unusual vigour, carried us across Riley's and Walker's
+Bays, a distance of twenty miles before noon, when we landed on
+Slate-Clay Point, as the wind had freshened too much to permit us
+to continue the voyage. The whole party went to hunt, but returned
+without success in the evening, drenched with the heavy rain which
+commenced soon after they had set out. Several deer were seen,
+but could not be approached in this naked country; and as our
+stock of pemmican did not admit of serving out two meals, we went
+dinnerless to bed.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Soon after our departure to-day, a sealed tin-case, sufficiently
+buoyant to float, was thrown overboard, containing a short account of
+our proceedings, and the position of the most conspicuous points.
+The wind blew off the land, the water was smooth, and as the sea
+is in this part more free from islands than in any other, there was
+every probability of its being driven off the shore into the current ;
+which, as I have before mentioned, we suppose, from the circumstance
+of Mackenzie's River being the only known stream that
+brings down the wood we have found along the shores, to set to the
+eastward.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 23.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+A severe frost caused us to pass a comfortless night.
+At two P.M. we set sail, and the men voluntarily launched out to
+make a traverse of fifteen miles across Melville Sound, before a
+strong wind and heavy sea. The privation of food, under which
+our voyagers were then labouring, absorbed every other terror;
+otherwise the most powerful persuasion could not have induced
+them to attempt such a traverse. It was with the utmost difficulty
+that the canoes were kept from turning their broadsides to the
+waves, though we sometimes steered with all the paddles. One of
+them narrowly escaped being overset by this accident, happening
+in mid-channel, where the waves were so high that the mast-head
+of our canoe was often hid from the other, though it was sailing
+within hail. The annexed plate, from Mr. Back's sketch, will convey
+to the reader an accurate idea of the peril of our situation.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The traverse, however, was made;we were then near a high
+rocky lee shore, on which a heavy surf was beating. The wind
+being on the beam, the canoes drifted fast to leeward; and, on
+rounding a point, the recoil of the sea from the rocks was so great
+that they were with difficulty kept from foundering. We looked in
+vain for a sheltered bay to land in ; but, at length, being unable to
+weather another point, we were obliged to put ashore on the open
+beach, which, fortunately, was sandy at this spot. The debarkation
+was effected in the manner represented in the plate; and, fortunately,
+without further injury than the splitting of the head of
+the second canoe, which was easily repaired.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Our encampment being near to the place where we killed the deer
+on the 11th, almost the whole party went out to hunt, but they
+returned in the evening without having seen any game. The
+berries, however, were ripe and plentiful, and, with the addition
+of some country tea, furnished a supper. There were some showers
+in the afternoon,and the weather was cold, the thermometer
+being 42 deg, but the evening and night were calm and fine. It may be
+remarked that the mosquitoes disappeared when the late gales
+commenced.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 25.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at three A. M., we stretched across
+the eastern entrance of Bathurst's Inlet, and arrived at an island,
+which I have named after Colonel Barry, of Newton Barry. Some
+deer being seen on the beach, the hunters went in pursuit of
+them, and succeeded in killing three females, which enabled us to
+save our last remaining meal of pemmican. They saw also some
+fresh tracks of musk oxen on the banks of a small stream, which
+flowed into a lake in the centre of the island. These animals must
+have crossed a channel, at least, three miles wide, to reach the nearest
+of these islands. Some specimens of variegated pebbles and jasper
+were found here imbedded in the amygdaloidal rock.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Re-embarking at two P.M., and continuing through what was
+supposed to be a channel between two islands, we found our passage
+barred by a gravelly isthmus of only ten yards in width ; the canoes
+and cargoes were carried across it, and we passed into Bathurst's Inlet
+through another similar channel, bounded on both sides by steep
+rocky hills. The wind then changing from S.E. to N.W. brought
+heavy rain, and we encamped at seven P.M., having advanced
+eighteen miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Starting this morning with a fresh breeze in our favour,
+we soon reached that part of Barry's Island where the canoes were
+detained on the 2d and 3rd of this month, and contrary to what we
+then experienced, the deer were now plentiful. The hunters killed
+two, and we were relieved from all apprehension of an immediate
+want of food. One would suppose the deer were about to retire to
+the main shore from their assembling at this time in such numbers
+on the islands nearest to the coast. Those we saw were generally
+females with their young, and all of them very lean.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind continued in the same direction until we had rounded
+Point Wollaston, and then changed to a quarter, which enabled us
+to steer for Hood's River, which we ascended as high as the first
+rapid and encamped. Here terminated our voyage on the Arctic
+sea, during which we had gone over six hundred and fifty geographical
+miles. Our Canadian voyagers could not restrain their expressions
+of joy at having turned their backs on the sea, and
+they passed the evening talking over their past adventures with
+much humour and no little exaggeration. The consideration that
+the most painful, and certainly the most hazardous, part of the
+journey was yet to come, did not depress their spirits at all. It is
+due to their character to mention that they displayed much courage
+in encountering the dangers of the sea, magnified to them by their
+novelty.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The shores between Cape Barrow and Cape Flinders, including
+the extensive branches of Arctic and Melville Sounds, and Bathurst's
+Inlet, may be comprehended in one great gulf, which I have distinguished
+by the appellation of George IV.'s Coronation Gulf, in
+honour of His Most Gracious Majesty, the latter name being added
+to mark the time of its discovery. The Archipelago of islands which
+fringe the coast from Copper-Mine River to Point Turnagain, I have
+named in honour of His Royal Highness the Duke of York.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+It may be deserving of notice that the extremes in temperature
+of the sea water during our voyage were 53 deg and 35 deg, but its general
+temperature was between 43 deg and 48 deg. Throughout our return from
+Point Turnagain we observed that the sea had risen several feet
+above marks left at our former encampments. This may, perhaps,
+be attributed to the north-west gales.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 26.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Previous to our departure this morning, an assortment
+of iron materials, beads, looking-glasses, and other articles
+were put up in a conspicuous situation for the Esquimaux, and the
+English Union was planted on the loftiest sand-hill, where it might
+be seen by any ships passing in the offing. Here also, was deposited
+in a tin bow a letter containing an outline of our proceedings, the
+latitude and longitude of the principal places, and the course we
+intended to pursue towards Slave Lake.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at eight A.M. we proceeded up the river, which is full
+of sandy shoals, but sufficiently deep for canoes in the channels. It is
+from one hundred to two hundred yards wide, and is bounded by high
+and steep banks of clay. We encamped at a cascade of eighteen or
+twenty feet high, which is produced by a ridge of rock crossing the
+river, and the nets were set. A mile below this cascade Hood's
+River is joined by a stream half its own size, which I have called
+James' Branch. Bear and deer tracks had been numerous on the
+banks of the river when we were here before, but not a single recent
+one was to be seen at this time. Credit, however, killed a small
+deer at some distance inland, which, with the addition of berries,
+furnished a delightful repast this evening. The weather was remarkably
+fine, and the temperature so mild, that the mosquitoes again
+made their appearance, but not in any great numbers. Our distance
+made to-day was not more than six miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning the net furnished us with ten white fish
+and trout. Having made a further deposit of iron work for the
+Esquimaux we pursued our voyage up the river, but the shoals and
+rapids in this part were so frequent, that we walked along the banks
+the whole day, and the crews laboured hard in carrying the canoes
+thus lightened over the shoals or dragging them up the rapids, yet
+our journey in a direct line was only about seven miles. In the
+evening we encamped at the lower end of a narrow chasm through
+which the river flows for upwards of a mile. The walls of this
+chasm are upwards of two hundred feet high, quite perpendicular,
+and in some places only a few yards apart. The river precipitates
+itself into it over a rock, forming two magnificent and picturesque
+falls close to each other. The upper fall is about sixty feet high, and
+the lower one at least one hundred, but perhaps considerably more,
+for the narrowness of the chasm into which it fell prevented us from
+seeing its bottom, and we could merely discern the top of the spray
+far beneath our feet. The lower fall is divided into two, by an
+insulated column of rock which rises about forty feet above it. The
+whole descent of the river at this place probably exceeds two
+hundred and fifty feet. The rock is very fine felspathose sandstone.
+It has a smooth surface and a light red colour. I have named these
+magnificent cascades Wilberforce Falls, as a tribute of my respect
+for that distinguished philanthropist and Christian. Messrs. Back and
+Hood took beautiful sketches of this majestic scene, which are
+combined in the annexed plate.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The river being surveyed from the summit of a hill, above these
+falls, appeared so rapid and shallow, that it seemed useless to
+attempt proceeding any farther in the large canoes. I therefore
+determined on constructing out of their materials two smaller ones
+of sufficient size to contain three persons, for the purpose of crossing
+any river that might obstruct our progress. This operation was
+accordingly commenced, and by the 31st both the canoes being
+finished, we prepared for our departure on the following day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The leather which had been preserved for making shoes was
+equally divided among the men, two pairs of flannel socks were given
+to each person, and such articles of warm clothing as remained, were
+issued to those who most required them. They were also furnished
+with one of the officers' tents. This being done, I communicated to
+the men my intention of proceeding in as direct a course as possible
+to the part of Point Lake, opposite to our spring encampment
+which was only distant one hundred and forty-nine miles in a
+straight line. They received the communication cheerfully, considered
+the journey to be short, and left me, in high spirits, to
+arrange their own packages. The stores, books, &amp;c., which were not
+absolutely necessary to be carried, were then put up in boxes to be
+left en cache here, in order that the men's burdens might be as light
+as possible.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning was warm, and very fine. Every one was on
+the alert at an early hour, being anxious to commence the journey.
+Our luggage consisted of ammunition, nets, hatchets, ice chisels,
+astronomical instruments, clothing, blankets, three kettles, and
+the two canoes, which were each carried by one man. The
+officers carried such a portion of their own things as their strength
+would permit;the weight carried by each man was about ninety
+pounds, and with this we advanced at the rate of about a mile an
+hour, including rests. In the evening the hunters killed a lean cow,
+out of a large drove of musk-oxen; but the men were too much
+laden to carry more than a small portion of its flesh. The alluvial
+soil, which towards the mouth of the river spreads into plains,
+covered with grass and willows, was now giving place to a more
+barren and hilly country; so that we could but just collect sufficient
+brush wood to cook our suppers. The part of the river we skirted
+to-day was shallow, and flowed over a bed of sand ; its width about
+one hundred and twenty yards. About midnight our tent was blown
+down by a squall, and we were completely drenched with rain before
+it could be re-pitched.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the morning of the 1st of September a fall of snow took
+place; the canoes became a cause of delay, by the difficulty of
+carrying them in a high wind, and they sustained much damage
+from the falls of those who had charge of them. The face of the
+country was broken by hills of moderate elevation, but the ground
+was plentifully strewed with small stones, which, to men bearing
+heavy burthens, and whose feet were protected only by soft moose
+skin shoes, occasioned great pain. At the end of eleven miles we
+encamped, and sent for a musk-ox and a deer, which St. Germain
+and Augustus had killed. The day was extremely cold, the ther-mometer
+varying between 34 deg and 36 deg. In the afternoon a heavy
+fall of snow took place, on the wind changing from north-west to
+south-west. We found no wood at the encampment, but made a
+fire of moss to cook the supper, and crept under our blankets for
+warmth. At sun-rise the thermometer was at 31 deg, and the wind
+fresh from north-west; but the weather became mild in the course
+of the forenoon, and the snow disappeared from the gravel. The
+afternoon was remarkably fine, and the thermometer rose to 50 deg.
+One of the hunters killed a musk-ox. The hills in this part are
+lower and more round-backed than those we passed yesterday, and
+exhibited but little naked rock; they were covered with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having ascertained from the summit of the highest hill near the
+tents, that the river continued to preserve a west course; and fear-ing
+that by pursuing it further we might lose much time, and un-necessarily
+walk over a great deal of ground, I determined on
+quitting its banks the next day, and making as directly as we could for
+Point Lake. We accordingly followed the river on the 3d, only to
+the place where the musk-ox had been killed last evening, and after
+the meat was procured, crossed the river in our two canoes lashed
+together. We now emerged from the valley of the river, and entered
+a level, but very barren, country, varied only by small lakes and
+marshes, the ground being covered with small stones. Many old tracks
+of rein-deer were seen in the clayey soil, and some more recent
+ones of the musk-ox. We encamped on the borders of Wright's
+River, which flows to the eastward; the direct distance walked to-day
+being ten miles and three-quarters. The next morning was
+very fine, and,as the day advanced, the weather became quite
+warm. We set out at six A. M., and, having forded the river,
+walked over a perfectly level country, interspersed with small lakes,
+which communicated with each other, by streams running in various
+directions. No berry-bearing plants were found in this part, the
+surface of the earth being thinly covered in the moister places with
+a few grasses, and on the drier spots with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having walked twelve miles and a half, we encamped at seven P.M.,
+and distributed our last piece of pemmican, and a little arrow-root
+for supper, which afforded but a scanty meal. This evening was
+warm, but dark clouds overspread the sky. Our men now began to
+find their burdens very oppressive, and were much fatigued by this
+day's march, but did not complain. One of them was lame from an
+inflammation in the knee. Heavy rain commenced at midnight, and
+continued without intermission until five in the morning, when it
+was succeeded by snow on the wind changing to north-west, which
+soon increased to a violent gale. As we had nothing to eat, and
+were destitute of the means of making a fire, we remained in our
+beds all the day ; but the covering of our blankets was insufficient to
+prevent us from feeling the severity of the frost, and suffering in-convenience
+from the drifting of the snow into our tents. There
+was no abatement of the storm next day ; our tents were completely
+frozen, and the snow had drifted around them to a depth of three
+feet, and even in the inside there was a covering of several inches on
+our blankets. Our suffering from cold, in a comfortless canvass tent
+in such weather, with the temperature at 20 deg, and without fire,
+will easily be imagined;it was, however, less than that which we
+felt from hunger.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The morning of the 7th cleared up a little, but the wind was still
+strong, and the weather extremely cold. From the unusual con-tinuance
+of the storm, we feared the winter had set in with all its
+rigour, and that by longer delay we should only be exposed to an
+accumulation of difficulties; we therefore prepared for our journey,
+although we were in a very unfit condition for starting, being weak
+from fasting, and our garments stiffened by the frost. We had no
+means of making a fire to thaw them, the moss, at all times difficult
+to kindle, being now covered with ice and snow. A considerable
+time was consumed in packing up the frozen tents and bed clothes,
+the wind blowing so strong that no one could keep his hands long
+out of his mittens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Just as we were about to commence our march, I was seized with
+a fainting fit, in consequence of exhaustion and sudden exposure to
+the wind; but after eating a morsel of portable soup, I recovered, so
+far as to be able to move on. I was unwilling at first to take this
+morsel of soup, which was diminishing the small and only remaining
+meal for the party; but several of the men urged me to it, with
+much kindness. The ground was covered a foot deep with snow,
+the margin of the lakes was incrusted with ice, and the swamps over
+which we had to pass were entirely frozen; but the ice not being
+sufficiently strong to bear us, we frequently plunged knee-deep in
+water. Those who carried the canoes were repeatedly blown down
+by the violence of the wind, and they often fell, from making an
+insecure step on a slippery stone; on one of these occasions, the
+largest canoe was so much broken as to be rendered utterly unser-viceable.
+This was felt as a serious disaster, as the remaining canoe
+having through mistake been made too small, it was doubtful
+whether it would be sufficient to carry us across a river. Indeed
+we had found it necessary in crossing Hood's River, to lash the two
+canoes together. As there was some suspicion that Benoit, who
+carried the canoe, had broken it intentionally, he having on a former
+occasion been overheard by some of the men to say, that he would
+do so when he got it in charge, we closely examined him on the
+point; he roundly denied having used the expressions attributed to
+him, and insisted that it was broken by his falling accidentally; and
+as he brought men to attest the latter fact, who saw him tumble, we
+did not press the matter further. I may here remark that our
+people had murmured a good deal at having to carry two canoes,
+though they were informed of the necessity of taking both, in case
+it should be deemed advisable to divide the party; which it had
+been thought probable we should be obliged to do, if animals proved
+scarce, in order to give the whole the better chance of procuring
+subsistence, and also for the purpose of sending forward some of the
+best walkers to search for Indians, and to get them to meet us with
+supplies of provision. The power of doing this was now at an end.
+As the accident could not be remedied we turned it to the best
+account by making a fire of the bark and timbers of the broken
+vessel, and cooked the remainder of our portable soup and arrow-root.
+This was a scanty meal after three days' fasting, but it served
+to allay the pangs of hunger, and enabled us to proceed at a quicker
+pace than before. The depth of the snow caused us to march in
+Indian file, that is in each other's steps; the voyagers taking it in
+turn to lead the party. A distant object was pointed out to this
+man in the direction we wished to take, and Mr. Hood followed
+immediately behind him, to renew the bearings, and keep him from
+deviating more than could be helped from the mark. It may be
+here observed, that we proceeded in this manner throughout our
+route across the barren grounds.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the afternoon we got into a more hilly country, where the
+ground was strewed with large stones. The surface of these was
+covered with lichens of the genus gyrophora, which the Canadians
+term tripe de roche. A considerable quantity was gathered, and
+with half a partridge each, (which were shot in the course of the
+day,) furnished us with a slender supper, which we cooked with a
+few willows, dug up from beneath the snow. We passed a comfortless
+night in our damp clothes, but took the precaution of sleeping upon
+our socks and shoes to prevent them from freezing. This plan was
+afterwards adopted throughout the journey.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+At half past five in the morning we proceeded; and after walking
+about two miles, came to Cracroft's River, flowing to the westward,
+with a very rapid current over a rocky channel. We had much diffi-culty
+in crossing this, the canoe being useless, not only from the bot-tom
+of the channel being obstructed by large stones, but also from its
+requiring gumming, an operation which, owing to the want of wood
+and the frost, we were unable to perform. However, after following
+the course of the river some way, we effected a passage by means of a
+range of large rocks that crossed a rapid. As the current was strong,
+and many of the rocks were covered with water to the depth of two
+or three feet, the men were exposed to much danger in carrying their
+heavy burthens across, and several of them actually slipped into the
+stream, but were immediately rescued by the others. Junius went
+farther up the river in search of a better crossing place, and did not
+rejoin us to-day. As several of the party were drenched from head to
+foot, and we were all wet to the middle, our clothes became stiff with
+the frost, and we walked with much pain for the remainder of the day.
+The march was continued to a late hour, being anxious to rejoin the
+hunters who had gone before, but we were obliged to encamp at the
+end of ten miles and a quarter, without seeing them. Our only
+meal to-day consisted of a partridge each, (which the hunters shot,)
+mixed with tripe de roche. This repast although scanty for men,
+with appetites such as our daily fatigue created, proved a cheerful
+one, and was received with thankfulness. Most of the men had to
+sleep in the open air, in consequence of the absence of Credit, who
+carried their tent; but we fortunately found an unusual quantity of
+roots to make a fire, which prevented their suffering much from the
+cold, though the thermometer was at 17 deg.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We started at six on the 9th, and at the end of two miles re-gained
+our hunters, who were halting on the borders of a lake amidst
+a clump of stunted willows. This lake stretched to the westward as
+far as we could see, and its waters were discharged by a rapid stream
+one hundred and fifty yards wide. Being entirely ignorant where
+we might be led by pursuing the course of the lake, and dreading
+the idea of going a mile unnecessarily out of the way, we deter-mined
+on crossing the river if possible; and the canoe was gummed
+for the purpose, the willows furnishing us with fire. But we had to
+await the return of Junius before we could make the traverse. In
+the mean time we gathered a little tripe de roche, and breakfasted
+upon it and a few partridges that were killed in the morning.
+St. Germain and Adam were sent upon some recent tracks of deer.
+Junius arrived in the afternoon, and informed us that he had seen
+a large herd of musk-oxen on the banks of Cracroft's River, and had
+wounded one of them, but it had escaped. He brought about four
+pounds of meat, the remains of a deer that had been devoured by
+the wolves. The poor fellow was much fatigued, having walked
+throughout the night, but as the weather was particularly favourable
+for our crossing the river, we could not allow him to rest. After he
+had taken some refreshment we proceeded to the river. The canoe
+being put into the water was found extremely ticklish, but it was
+managed with much dexterity by St. Germain, Adam, and Peltier,
+who ferried over one passenger at a time, causing him to lie flat in its
+bottom, by no means a pleasant position, owing to its leakiness, but
+there was no alternative. The transport of the whole party was
+effected by five o'clock, and we walked about two miles further, and
+encamped, having come five miles and three quarters on a south-west
+course. Two young alpine hares were shot by St. Germain, which,
+with the small piece of meat brought in by Junius, furnished the
+supper of the whole party. There was no tripe de roche here. The
+country had now become decidedly hilly, and was covered with snow.
+The lake preserved its western direction, as far as I could see from
+the summit of the highest mountain near the encampment. We
+subsequently learned from the Copper Indians, that the part at
+which we had crossed the river was the Congecatha-wha-chaga of
+Hearne, of which I had little idea at the time, not only from the
+difference of latitude, but also from its being so much farther east of
+the mouth of the Copper-Mine River, than his track is laid down.
+He only making one degree and three quarters difference of lon-gitude,
+and we, upwards of four. Had I been aware of the fact,
+several days harassing march, and a disastrous accident would have
+been prevented by keeping on the western side of the lake, instead
+of crossing the river. We were informed also, that this river is
+the Anatessy or River of Strangers, and is supposed to fall into
+Bathurst's Inlet; but although the Indians have visited its mouth,
+their description was not sufficient to identify it with any of the
+rivers whose mouths we had seen. It probably falls in that part of
+the coast which was hid from our view by Goulburn's or Elliot's
+Islands.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 10.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We had a cold north wind, and the atmosphere
+was foggy. The thermometer 18 deg at five A.M. In the course of
+our march this morning, we passed many small lakes; and the
+ground becoming higher and more hilly as we receded from the
+river, was covered to a much greater depth with snow. This ren-dered
+walking not only extremely laborious, but also hazardous in
+the highest degree;for the sides of the hills, as is usual throughout
+the barren grounds, abounding in accumulations of large angular
+stones, it often happened that the men fell into the interstices
+with their loads on their backs, being deceived by the smooth
+appearance of the drifted snow. If any one had broken a limb
+here, his fate would have been melancholy indeed; we could neither
+have remained with him, nor carried him on. We halted at ten to
+gather tripe de roche,but it was so frozen, that we were quite
+benumbed with cold before a sufficiency could be collected even for
+a scanty meal. On proceeding our men were somewhat cheered, by
+observing on the sandy summit of a hill, from whence the snow had
+been blown, the summer track of a man; and afterwards by seeing
+several deer tracks on the snow. About noon the weather cleared
+up a little, and, to our great joy, we saw a herd of musk-oxen
+grazing in a valley below us. The party instantly halted, and the
+best hunters were sent out; they approached the animals with the
+utmost caution, no less than two hours being consumed before they
+got within gun-shot. In the mean time we beheld their proceed-ings
+with extreme anxiety, and many secret prayers were, doubtless,
+offered up for their success. At length they opened their fire, and
+we had the satisfaction of seeing one of the largest cows fall; another
+was wounded, but escaped. This success infused spirit into our
+starving party. To skin and cut up the animal was the work of a
+few minutes. The contents of its stomach were devoured upon
+the spot, and the raw intestines, which were next attacked, were
+pronounced by the most delicate amongst us to be excellent. A few
+willows, whose tops were seen peeping through the snow in the bottom
+of the valley, were quickly grubbed, the tents pitched, and supper
+cooked, and devoured with avidity. This was the sixth day since we
+had had a good meal. The tripe de roche, even where we got
+enough, only serving to allay the pangs of hunger for a short time.
+After supper, two of the hunters went in pursuit of the herd, but
+could not get near them.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were detained all the next day by a strong southerly wind,
+and were much incommoded in the tents by the drift snow. The
+temperature was 20 deg. The average for the last ten days about
+24.5 deg. We restricted ourselves to one meal to-day as we were at
+rest, and there was only meat remaining sufficient for the next day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The gale had not diminished on the 12th, and, as we were
+fearful of its continuance for some time, we determined on going
+forward; our only doubt regarded the preservation of the canoe,
+but the men promised to pay particular attention to it, and the
+most careful persons were appointed to take it in charge. The snow
+was two feet deep, and the ground much broken, which rendered
+the march extremely painful. The whole party complained more of
+faintness and weakness than they had ever done before; their
+strength seemed to have been impaired by the recent supply of
+animal food. In the afternoon the wind abated, and the snow ceased;
+cheered with the change we proceeded forward at a quicker pace,
+and encamped at six P. M., having come eleven miles. Our supper
+consumed the last of our meat.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We set out on the 13th, in thick hazy weather, and, after an hour's
+march, had the extreme mortification to find ourselves on the
+borders of a large lake, which we subsequently learned from the
+Indians was named Contwoy-to, or Rum Lake; neither of its extre-
+mities could be seen, and as the portion which lay to the east
+seemed the widest, we coasted along to the westward portion in
+search of a crossing-place. This lake being bounded by steep and
+lofty hills, our march was very fatiguing. Those sides which were
+exposed to the sun, were free from snow, and we found upon them
+some excellent berries. We encamped at six P. M., having come
+only six miles and a half. Credit was then missing, and he did not
+return during the night. We supped off a single partridge and
+some tripe de roche;this unpalatable weed was now quite nau-seous
+to the whole party, and in several it produced bowel com-plaints.
+Mr. Hood was the greatest sufferer from this cause. This
+evening we were extremely distressed, at discovering that our im-provident
+companions,since we left Hood's River, had thrown
+away three of the fishing-nets, and burnt the floats ; they knew we
+had brought them to procure subsistence for the party, when the
+animals should fail, and we could scarcely believe the fact of their
+having wilfully deprived themselves of this resource, especially
+when we considered that most of them had passed the greater part of
+their servitude in situations where the nets alone had supplied them
+with food. Being thus deprived of our principal resource, that of
+fishing, and the men evidently getting weaker every day, it became
+necessary to lighten their burthens of every thing except ammunition,
+clothing, and the instruments that were required to find our
+way. I, therefore, issued directions to deposit at this encampment
+the dipping needle, azimuth compass, magnet, a large thermometer,
+and a few books we had carried, having torn out of these such parts
+as we should require to work the observations for latitude and
+longitude. I also promised,as an excitement to the efforts in
+hunting, my gun to St. Germain, and an ample compensation to
+Adam, or any of the other men who should kill any animals.
+Mr. Hood, on this occasion, lent his gun to Michel, the Iroquois,
+who was very eager in the chase, and often successful.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 14.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+This morning the officers being assembled round
+a small fire, Perrault presented each of us with a small piece of meat
+which he had saved from his allowance. It was received with great
+thankfulness, and such an act of self-denial and kindness, being
+totally unexpected in a Canadian voyager, filled our eyes with tears.
+In directing our course to a river issuing from the lake, we met
+Credit, who communicated the joyful intelligence of his having
+killed two deer in the morning. We instantly halted, and having
+shared the deer that was nearest to us, prepared breakfast. After
+which, the other deer was sent for, and we went down to the river,
+which was about three hundred yards wide, and flowed with
+great velocity through a broken rocky channel. Having searched
+for a part where the current was most smooth, the canoe was
+placed in the water at the head of a rapid, and St. Germain, Solomon
+Belanger, and I, embarked in order to cross. We went from the
+shore very well, but in mid-channel the canoe became difficult to
+manage under our burden as the breeze was fresh. The current
+drove us to the edge of the rapid, when Belanger unfortunately
+applied his paddle to avert the apparent danger of being forced
+down it, and lost his balance. The canoe was overset in con-sequence
+in the middle of the rapid. We fortunately kept hold of
+it, until we touched a rock where the water did not reach higher
+than our waists; here we kept our footing, notwithstanding the
+strength of the current, until the water was emptied out of the
+canoe. Belanger then held the canoe steady whilst St. Germain
+placed me in it, and afterwards embarked himself in a very dexterous
+manner. It was impossible, however, to embark Belanger,
+as the canoe would have been hurried down the rapid, the moment
+he should have raised his foot from the rock on which he stood.
+We were, therefore, compelled to leave him in his perilous situation.
+We had not gone twenty yards before the canoe, striking on a
+sunken rock, went down. The place being shallow, we were again
+enabled to empty it, and the third attempt brought us to the shore.
+In the mean time Belanger was suffering extremely, immersed to
+his middle in the centre of a rapid, the temperature of which was
+very little above the freezing point, and the upper part of his body
+covered with wet clothes, exposed in a temperature not much above
+zero, to a strong breeze. He called piteously for relief, and
+St. Germain on his return endeavoured to embark him, but in vain.
+The canoe was hurried down the rapid, and when he landed he was
+rendered by the cold incapable of further exertion, and Adam at-tempted
+to embark Belanger, but found it impossible. An attempt
+was next made to carry out to him a line, made of the slings of the
+men's loads. This also failed, the current acting so strongly upon
+it, as to prevent the canoe from steering, and it was finally broken
+and carried down the stream. At length, when Belanger's strength
+seemed almost exhausted, the canoe reached him with a small cord
+belonging to one of the nets, and he was dragged perfectly senseless
+through the rapid. By the direction of Dr. Richardson, he was
+instantly stripped, and being rolled up in blankets, two men un-dressed
+themselves and went to bed with him; but it was some
+hours before he recovered his warmth and sensations. As soon as
+Belanger was placed in his bed, the officers immediately sent over
+my blankets, and a person to make a fire. Augustus brought the
+canoe over, and in returning he was obliged to descend both the
+rapids, before he could get across the stream; which hazardous
+service he performed with the greatest coolness and judgment. It
+is impossible to describe my sensations as I witnessed the various
+unsuccessful attempts to relieve Belanger. The distance prevented
+my seeing distinctly what was going on, and I continued pacing up
+and down upon the rock on which I landed, regardless of the
+coldness of my drenched and stiffening garments. The canoe, in
+every attempt to reach him, was hurried down the rapid, and was
+lost to the view amongst the rocky islets, with a rapidity that
+seemed to threaten certain destruction; once, indeed, I fancied that
+I saw it overwhelmed in the waves. Such an event would have
+been fatal to the whole party. Separated as I was from my com-panions,
+without gun, ammunition, hatchet, or the means of making
+a fire, and in wet clothes, my doom would have been speedily sealed.
+My companions too, driven to the necessity of coasting the lake,
+must have sunk under the fatigue of rounding its innumerable arms
+and bays, which, as we have learned from the Indians, are very
+extensive. By the goodness of Providence, however, we were spared
+at that time, and some of us have been permitted to offer up our
+thanksgivings, in a civilized land, for the signal deliverances we then
+and afterwards experienced.
+        </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/franklin_rep_max_repeats_expl.fo b/examples/fo/pagination/franklin_rep_max_repeats_expl.fo
new file mode 100644 (file)
index 0000000..f8df796
--- /dev/null
@@ -0,0 +1,1024 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+      <fo:simple-page-master master-name="repeating"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+    <fo:page-sequence-master master-name="repeating_pm">
+      <fo:repeatable-page-master-reference master-reference="repeating"
+        maximum-repeats="15"/>
+      <fo:single-page-master-reference master-reference="repeating"/>
+    </fo:page-sequence-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
+
+    <!-- header -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="start" font-size="10pt"
+            font-family="sans-serif"
+      line-height="10pt" >
+      John Franklin - Journey to the Shores of the Polar Sea
+    </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="sans-serif"
+            line-height="14pt" >
+        p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines local TOC -->
+      <fo:block font-size="10pt"
+            font-family="serif"
+            line-height="12pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="6pt">
+Journey across the barren Grounds - Difficulty and delay in crossing Copper-Mine River -
+Melancholy and fatal Results thereof - Extreme Misery of the whole Party - Murder of
+Mr. Hood - Death of several of the Canadians - Desolate State of Fort Enterprise -
+Distress suffered at that Place - Dr. Richardson's Narrative - Mr. Back's Narrative -
+Conclusion.
+      </fo:block>
+
+      <fo:block font-size="8pt"
+                font-family="serif"
+                font-style="italic"
+                line-height="10pt"
+                space-before.optimum="3pt"
+                space-after.optimum="3pt"
+                text-align="start">1821. August 17.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+MY original intention, whenever the season should
+compel us to relinquish the survey, had been to return by the way
+of the Copper-Mine River, and in pursuance of my arrangement
+with the Hook to travel to Slave Lake through the line of woods
+extending thither by the Great Bear and Marten Lakes, but our
+scanty stock of provision and the length of the voyage rendered it
+necessary to make for a nearer place. We had already found that
+the country, between Cape Barrow and the Copper-Mine River,
+would not supply our wants, and this it seemed probable would now
+be still more the case ; besides, at this advanced season, we expected
+the frequent recurrence of gales, which would cause great detention,
+if not danger in proceeding along that very rocky part of the coast.
+I determined, therefore, to make at once for Arctic Sound, where
+we had found the animals more numerous than at any other place ;
+and entering Hood's River, to advance up that stream as far as it
+was navigable, and then to construct small canoes out of the
+materials of the larger ones, which could be carried in crossing the
+barren grounds to Fort Enterprise.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 19.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were almost beaten out of our comfortless abodes
+by rain during the night, and this morning the gale continued
+without diminution. The thermometer fell to 33 deg. Two men were
+sent with Junius to search for the deer which Augustus had killed.
+Junius returned in the evening bringing part of the meat, but owing
+to the thickness of the weather, his companions parted from him
+and did not make their appearance. Divine service was read. On
+the 20th we were presented with the most chilling prospect, the
+small pools of water being frozen over, the ground being covered
+with snow, and the thermometer at the freezing point at mid-day.
+Flights of geese were passing to the southward. The wind however
+was more moderate, having changed to the eastward. Considerable
+anxiety prevailing respecting Belanger and Michel, the two men
+who strayed from Junius yesterday, the rest were sent out to look
+for them. The search was successful, and they all returned in the
+evening. The stragglers were much fatigued, and had suffered
+severely from the cold, one of them having his thighs frozen, and
+what under our present circumstances was most grievous, they had
+thrown away all the meat. The wind during the night returned to
+the north-west quarter, blew more violently than ever, and raised a
+very turbulent sea. The next day did not improve our condition,
+the snow remained on the ground, and the small pools were frozen.
+Our hunters were sent out, but they returned after a fatiguing
+day's march without having seen any animals. We made a scanty
+meal off a handful of pemmican, after which only half a bag
+remained.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind abated after midnight, and the surf diminished rapidly,
+which caused us to be on the alert at a very early hour on the 22d,
+but we had to wait until six A.M. for the return of Augustus who
+had continued out all night on an unsuccessful pursuit of deer.
+It appears that he had walked a few miles farther along the coast,
+than the party had done on the 18th, and from a sketch he drew on
+the sand, we were confirmed in our former opinion that the shore
+inclined more to the eastward beyond Point Turnagain. He also
+drew a river of considerable size, that discharges its waters into
+Walker's Bay; on the banks of which stream he saw a piece of
+wood, such as the Esquimaux use in producing fire, and other marks
+so fresh that he supposed they had recently visited the spot. We
+therefore left several iron materials for them. Our men, cheered by
+the prospect of returning, embarked with the utmost alacrity; and,
+paddling with unusual vigour, carried us across Riley's and Walker's
+Bays, a distance of twenty miles before noon, when we landed on
+Slate-Clay Point, as the wind had freshened too much to permit us
+to continue the voyage. The whole party went to hunt, but returned
+without success in the evening, drenched with the heavy rain which
+commenced soon after they had set out. Several deer were seen,
+but could not be approached in this naked country; and as our
+stock of pemmican did not admit of serving out two meals, we went
+dinnerless to bed.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Soon after our departure to-day, a sealed tin-case, sufficiently
+buoyant to float, was thrown overboard, containing a short account of
+our proceedings, and the position of the most conspicuous points.
+The wind blew off the land, the water was smooth, and as the sea
+is in this part more free from islands than in any other, there was
+every probability of its being driven off the shore into the current ;
+which, as I have before mentioned, we suppose, from the circumstance
+of Mackenzie's River being the only known stream that
+brings down the wood we have found along the shores, to set to the
+eastward.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 23.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+A severe frost caused us to pass a comfortless night.
+At two P.M. we set sail, and the men voluntarily launched out to
+make a traverse of fifteen miles across Melville Sound, before a
+strong wind and heavy sea. The privation of food, under which
+our voyagers were then labouring, absorbed every other terror;
+otherwise the most powerful persuasion could not have induced
+them to attempt such a traverse. It was with the utmost difficulty
+that the canoes were kept from turning their broadsides to the
+waves, though we sometimes steered with all the paddles. One of
+them narrowly escaped being overset by this accident, happening
+in mid-channel, where the waves were so high that the mast-head
+of our canoe was often hid from the other, though it was sailing
+within hail. The annexed plate, from Mr. Back's sketch, will convey
+to the reader an accurate idea of the peril of our situation.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The traverse, however, was made;we were then near a high
+rocky lee shore, on which a heavy surf was beating. The wind
+being on the beam, the canoes drifted fast to leeward; and, on
+rounding a point, the recoil of the sea from the rocks was so great
+that they were with difficulty kept from foundering. We looked in
+vain for a sheltered bay to land in ; but, at length, being unable to
+weather another point, we were obliged to put ashore on the open
+beach, which, fortunately, was sandy at this spot. The debarkation
+was effected in the manner represented in the plate; and, fortunately,
+without further injury than the splitting of the head of
+the second canoe, which was easily repaired.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Our encampment being near to the place where we killed the deer
+on the 11th, almost the whole party went out to hunt, but they
+returned in the evening without having seen any game. The
+berries, however, were ripe and plentiful, and, with the addition
+of some country tea, furnished a supper. There were some showers
+in the afternoon,and the weather was cold, the thermometer
+being 42 deg, but the evening and night were calm and fine. It may be
+remarked that the mosquitoes disappeared when the late gales
+commenced.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 25.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at three A. M., we stretched across
+the eastern entrance of Bathurst's Inlet, and arrived at an island,
+which I have named after Colonel Barry, of Newton Barry. Some
+deer being seen on the beach, the hunters went in pursuit of
+them, and succeeded in killing three females, which enabled us to
+save our last remaining meal of pemmican. They saw also some
+fresh tracks of musk oxen on the banks of a small stream, which
+flowed into a lake in the centre of the island. These animals must
+have crossed a channel, at least, three miles wide, to reach the nearest
+of these islands. Some specimens of variegated pebbles and jasper
+were found here imbedded in the amygdaloidal rock.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Re-embarking at two P.M., and continuing through what was
+supposed to be a channel between two islands, we found our passage
+barred by a gravelly isthmus of only ten yards in width ; the canoes
+and cargoes were carried across it, and we passed into Bathurst's Inlet
+through another similar channel, bounded on both sides by steep
+rocky hills. The wind then changing from S.E. to N.W. brought
+heavy rain, and we encamped at seven P.M., having advanced
+eighteen miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Starting this morning with a fresh breeze in our favour,
+we soon reached that part of Barry's Island where the canoes were
+detained on the 2d and 3rd of this month, and contrary to what we
+then experienced, the deer were now plentiful. The hunters killed
+two, and we were relieved from all apprehension of an immediate
+want of food. One would suppose the deer were about to retire to
+the main shore from their assembling at this time in such numbers
+on the islands nearest to the coast. Those we saw were generally
+females with their young, and all of them very lean.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind continued in the same direction until we had rounded
+Point Wollaston, and then changed to a quarter, which enabled us
+to steer for Hood's River, which we ascended as high as the first
+rapid and encamped. Here terminated our voyage on the Arctic
+sea, during which we had gone over six hundred and fifty geographical
+miles. Our Canadian voyagers could not restrain their expressions
+of joy at having turned their backs on the sea, and
+they passed the evening talking over their past adventures with
+much humour and no little exaggeration. The consideration that
+the most painful, and certainly the most hazardous, part of the
+journey was yet to come, did not depress their spirits at all. It is
+due to their character to mention that they displayed much courage
+in encountering the dangers of the sea, magnified to them by their
+novelty.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The shores between Cape Barrow and Cape Flinders, including
+the extensive branches of Arctic and Melville Sounds, and Bathurst's
+Inlet, may be comprehended in one great gulf, which I have distinguished
+by the appellation of George IV.'s Coronation Gulf, in
+honour of His Most Gracious Majesty, the latter name being added
+to mark the time of its discovery. The Archipelago of islands which
+fringe the coast from Copper-Mine River to Point Turnagain, I have
+named in honour of His Royal Highness the Duke of York.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+It may be deserving of notice that the extremes in temperature
+of the sea water during our voyage were 53 deg and 35 deg, but its general
+temperature was between 43 deg and 48 deg. Throughout our return from
+Point Turnagain we observed that the sea had risen several feet
+above marks left at our former encampments. This may, perhaps,
+be attributed to the north-west gales.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+          font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 26.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Previous to our departure this morning, an assortment
+of iron materials, beads, looking-glasses, and other articles
+were put up in a conspicuous situation for the Esquimaux, and the
+English Union was planted on the loftiest sand-hill, where it might
+be seen by any ships passing in the offing. Here also, was deposited
+in a tin bow a letter containing an outline of our proceedings, the
+latitude and longitude of the principal places, and the course we
+intended to pursue towards Slave Lake.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at eight A.M. we proceeded up the river, which is full
+of sandy shoals, but sufficiently deep for canoes in the channels. It is
+from one hundred to two hundred yards wide, and is bounded by high
+and steep banks of clay. We encamped at a cascade of eighteen or
+twenty feet high, which is produced by a ridge of rock crossing the
+river, and the nets were set. A mile below this cascade Hood's
+River is joined by a stream half its own size, which I have called
+James' Branch. Bear and deer tracks had been numerous on the
+banks of the river when we were here before, but not a single recent
+one was to be seen at this time. Credit, however, killed a small
+deer at some distance inland, which, with the addition of berries,
+furnished a delightful repast this evening. The weather was remarkably
+fine, and the temperature so mild, that the mosquitoes again
+made their appearance, but not in any great numbers. Our distance
+made to-day was not more than six miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning the net furnished us with ten white fish
+and trout. Having made a further deposit of iron work for the
+Esquimaux we pursued our voyage up the river, but the shoals and
+rapids in this part were so frequent, that we walked along the banks
+the whole day, and the crews laboured hard in carrying the canoes
+thus lightened over the shoals or dragging them up the rapids, yet
+our journey in a direct line was only about seven miles. In the
+evening we encamped at the lower end of a narrow chasm through
+which the river flows for upwards of a mile. The walls of this
+chasm are upwards of two hundred feet high, quite perpendicular,
+and in some places only a few yards apart. The river precipitates
+itself into it over a rock, forming two magnificent and picturesque
+falls close to each other. The upper fall is about sixty feet high, and
+the lower one at least one hundred, but perhaps considerably more,
+for the narrowness of the chasm into which it fell prevented us from
+seeing its bottom, and we could merely discern the top of the spray
+far beneath our feet. The lower fall is divided into two, by an
+insulated column of rock which rises about forty feet above it. The
+whole descent of the river at this place probably exceeds two
+hundred and fifty feet. The rock is very fine felspathose sandstone.
+It has a smooth surface and a light red colour. I have named these
+magnificent cascades Wilberforce Falls, as a tribute of my respect
+for that distinguished philanthropist and Christian. Messrs. Back and
+Hood took beautiful sketches of this majestic scene, which are
+combined in the annexed plate.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The river being surveyed from the summit of a hill, above these
+falls, appeared so rapid and shallow, that it seemed useless to
+attempt proceeding any farther in the large canoes. I therefore
+determined on constructing out of their materials two smaller ones
+of sufficient size to contain three persons, for the purpose of crossing
+any river that might obstruct our progress. This operation was
+accordingly commenced, and by the 31st both the canoes being
+finished, we prepared for our departure on the following day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The leather which had been preserved for making shoes was
+equally divided among the men, two pairs of flannel socks were given
+to each person, and such articles of warm clothing as remained, were
+issued to those who most required them. They were also furnished
+with one of the officers' tents. This being done, I communicated to
+the men my intention of proceeding in as direct a course as possible
+to the part of Point Lake, opposite to our spring encampment
+which was only distant one hundred and forty-nine miles in a
+straight line. They received the communication cheerfully, considered
+the journey to be short, and left me, in high spirits, to
+arrange their own packages. The stores, books, &amp;c., which were not
+absolutely necessary to be carried, were then put up in boxes to be
+left en cache here, in order that the men's burdens might be as light
+as possible.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning was warm, and very fine. Every one was on
+the alert at an early hour, being anxious to commence the journey.
+Our luggage consisted of ammunition, nets, hatchets, ice chisels,
+astronomical instruments, clothing, blankets, three kettles, and
+the two canoes, which were each carried by one man. The
+officers carried such a portion of their own things as their strength
+would permit;the weight carried by each man was about ninety
+pounds, and with this we advanced at the rate of about a mile an
+hour, including rests. In the evening the hunters killed a lean cow,
+out of a large drove of musk-oxen; but the men were too much
+laden to carry more than a small portion of its flesh. The alluvial
+soil, which towards the mouth of the river spreads into plains,
+covered with grass and willows, was now giving place to a more
+barren and hilly country; so that we could but just collect sufficient
+brush wood to cook our suppers. The part of the river we skirted
+to-day was shallow, and flowed over a bed of sand ; its width about
+one hundred and twenty yards. About midnight our tent was blown
+down by a squall, and we were completely drenched with rain before
+it could be re-pitched.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+          font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the morning of the 1st of September a fall of snow took
+place; the canoes became a cause of delay, by the difficulty of
+carrying them in a high wind, and they sustained much damage
+from the falls of those who had charge of them. The face of the
+country was broken by hills of moderate elevation, but the ground
+was plentifully strewed with small stones, which, to men bearing
+heavy burthens, and whose feet were protected only by soft moose
+skin shoes, occasioned great pain. At the end of eleven miles we
+encamped, and sent for a musk-ox and a deer, which St. Germain
+and Augustus had killed. The day was extremely cold, the ther-mometer
+varying between 34 deg and 36 deg. In the afternoon a heavy
+fall of snow took place, on the wind changing from north-west to
+south-west. We found no wood at the encampment, but made a
+fire of moss to cook the supper, and crept under our blankets for
+warmth. At sun-rise the thermometer was at 31 deg, and the wind
+fresh from north-west; but the weather became mild in the course
+of the forenoon, and the snow disappeared from the gravel. The
+afternoon was remarkably fine, and the thermometer rose to 50 deg.
+One of the hunters killed a musk-ox. The hills in this part are
+lower and more round-backed than those we passed yesterday, and
+exhibited but little naked rock; they were covered with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having ascertained from the summit of the highest hill near the
+tents, that the river continued to preserve a west course; and fear-ing
+that by pursuing it further we might lose much time, and un-necessarily
+walk over a great deal of ground, I determined on
+quitting its banks the next day, and making as directly as we could for
+Point Lake. We accordingly followed the river on the 3d, only to
+the place where the musk-ox had been killed last evening, and after
+the meat was procured, crossed the river in our two canoes lashed
+together. We now emerged from the valley of the river, and entered
+a level, but very barren, country, varied only by small lakes and
+marshes, the ground being covered with small stones. Many old tracks
+of rein-deer were seen in the clayey soil, and some more recent
+ones of the musk-ox. We encamped on the borders of Wright's
+River, which flows to the eastward; the direct distance walked to-day
+being ten miles and three-quarters. The next morning was
+very fine, and,as the day advanced, the weather became quite
+warm. We set out at six A. M., and, having forded the river,
+walked over a perfectly level country, interspersed with small lakes,
+which communicated with each other, by streams running in various
+directions. No berry-bearing plants were found in this part, the
+surface of the earth being thinly covered in the moister places with
+a few grasses, and on the drier spots with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having walked twelve miles and a half, we encamped at seven P.M.,
+and distributed our last piece of pemmican, and a little arrow-root
+for supper, which afforded but a scanty meal. This evening was
+warm, but dark clouds overspread the sky. Our men now began to
+find their burdens very oppressive, and were much fatigued by this
+day's march, but did not complain. One of them was lame from an
+inflammation in the knee. Heavy rain commenced at midnight, and
+continued without intermission until five in the morning, when it
+was succeeded by snow on the wind changing to north-west, which
+soon increased to a violent gale. As we had nothing to eat, and
+were destitute of the means of making a fire, we remained in our
+beds all the day ; but the covering of our blankets was insufficient to
+prevent us from feeling the severity of the frost, and suffering in-convenience
+from the drifting of the snow into our tents. There
+was no abatement of the storm next day ; our tents were completely
+frozen, and the snow had drifted around them to a depth of three
+feet, and even in the inside there was a covering of several inches on
+our blankets. Our suffering from cold, in a comfortless canvass tent
+in such weather, with the temperature at 20 deg, and without fire,
+will easily be imagined;it was, however, less than that which we
+felt from hunger.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The morning of the 7th cleared up a little, but the wind was still
+strong, and the weather extremely cold. From the unusual con-tinuance
+of the storm, we feared the winter had set in with all its
+rigour, and that by longer delay we should only be exposed to an
+accumulation of difficulties; we therefore prepared for our journey,
+although we were in a very unfit condition for starting, being weak
+from fasting, and our garments stiffened by the frost. We had no
+means of making a fire to thaw them, the moss, at all times difficult
+to kindle, being now covered with ice and snow. A considerable
+time was consumed in packing up the frozen tents and bed clothes,
+the wind blowing so strong that no one could keep his hands long
+out of his mittens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Just as we were about to commence our march, I was seized with
+a fainting fit, in consequence of exhaustion and sudden exposure to
+the wind; but after eating a morsel of portable soup, I recovered, so
+far as to be able to move on. I was unwilling at first to take this
+morsel of soup, which was diminishing the small and only remaining
+meal for the party; but several of the men urged me to it, with
+much kindness. The ground was covered a foot deep with snow,
+the margin of the lakes was incrusted with ice, and the swamps over
+which we had to pass were entirely frozen; but the ice not being
+sufficiently strong to bear us, we frequently plunged knee-deep in
+water. Those who carried the canoes were repeatedly blown down
+by the violence of the wind, and they often fell, from making an
+insecure step on a slippery stone; on one of these occasions, the
+largest canoe was so much broken as to be rendered utterly unser-viceable.
+This was felt as a serious disaster, as the remaining canoe
+having through mistake been made too small, it was doubtful
+whether it would be sufficient to carry us across a river. Indeed
+we had found it necessary in crossing Hood's River, to lash the two
+canoes together. As there was some suspicion that Benoit, who
+carried the canoe, had broken it intentionally, he having on a former
+occasion been overheard by some of the men to say, that he would
+do so when he got it in charge, we closely examined him on the
+point; he roundly denied having used the expressions attributed to
+him, and insisted that it was broken by his falling accidentally; and
+as he brought men to attest the latter fact, who saw him tumble, we
+did not press the matter further. I may here remark that our
+people had murmured a good deal at having to carry two canoes,
+though they were informed of the necessity of taking both, in case
+it should be deemed advisable to divide the party; which it had
+been thought probable we should be obliged to do, if animals proved
+scarce, in order to give the whole the better chance of procuring
+subsistence, and also for the purpose of sending forward some of the
+best walkers to search for Indians, and to get them to meet us with
+supplies of provision. The power of doing this was now at an end.
+As the accident could not be remedied we turned it to the best
+account by making a fire of the bark and timbers of the broken
+vessel, and cooked the remainder of our portable soup and arrow-root.
+This was a scanty meal after three days' fasting, but it served
+to allay the pangs of hunger, and enabled us to proceed at a quicker
+pace than before. The depth of the snow caused us to march in
+Indian file, that is in each other's steps; the voyagers taking it in
+turn to lead the party. A distant object was pointed out to this
+man in the direction we wished to take, and Mr. Hood followed
+immediately behind him, to renew the bearings, and keep him from
+deviating more than could be helped from the mark. It may be
+here observed, that we proceeded in this manner throughout our
+route across the barren grounds.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the afternoon we got into a more hilly country, where the
+ground was strewed with large stones. The surface of these was
+covered with lichens of the genus gyrophora, which the Canadians
+term tripe de roche. A considerable quantity was gathered, and
+with half a partridge each, (which were shot in the course of the
+day,) furnished us with a slender supper, which we cooked with a
+few willows, dug up from beneath the snow. We passed a comfortless
+night in our damp clothes, but took the precaution of sleeping upon
+our socks and shoes to prevent them from freezing. This plan was
+afterwards adopted throughout the journey.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+At half past five in the morning we proceeded; and after walking
+about two miles, came to Cracroft's River, flowing to the westward,
+with a very rapid current over a rocky channel. We had much diffi-culty
+in crossing this, the canoe being useless, not only from the bot-tom
+of the channel being obstructed by large stones, but also from its
+requiring gumming, an operation which, owing to the want of wood
+and the frost, we were unable to perform. However, after following
+the course of the river some way, we effected a passage by means of a
+range of large rocks that crossed a rapid. As the current was strong,
+and many of the rocks were covered with water to the depth of two
+or three feet, the men were exposed to much danger in carrying their
+heavy burthens across, and several of them actually slipped into the
+stream, but were immediately rescued by the others. Junius went
+farther up the river in search of a better crossing place, and did not
+rejoin us to-day. As several of the party were drenched from head to
+foot, and we were all wet to the middle, our clothes became stiff with
+the frost, and we walked with much pain for the remainder of the day.
+The march was continued to a late hour, being anxious to rejoin the
+hunters who had gone before, but we were obliged to encamp at the
+end of ten miles and a quarter, without seeing them. Our only
+meal to-day consisted of a partridge each, (which the hunters shot,)
+mixed with tripe de roche. This repast although scanty for men,
+with appetites such as our daily fatigue created, proved a cheerful
+one, and was received with thankfulness. Most of the men had to
+sleep in the open air, in consequence of the absence of Credit, who
+carried their tent; but we fortunately found an unusual quantity of
+roots to make a fire, which prevented their suffering much from the
+cold, though the thermometer was at 17 deg.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We started at six on the 9th, and at the end of two miles re-gained
+our hunters, who were halting on the borders of a lake amidst
+a clump of stunted willows. This lake stretched to the westward as
+far as we could see, and its waters were discharged by a rapid stream
+one hundred and fifty yards wide. Being entirely ignorant where
+we might be led by pursuing the course of the lake, and dreading
+the idea of going a mile unnecessarily out of the way, we deter-mined
+on crossing the river if possible; and the canoe was gummed
+for the purpose, the willows furnishing us with fire. But we had to
+await the return of Junius before we could make the traverse. In
+the mean time we gathered a little tripe de roche, and breakfasted
+upon it and a few partridges that were killed in the morning.
+St. Germain and Adam were sent upon some recent tracks of deer.
+Junius arrived in the afternoon, and informed us that he had seen
+a large herd of musk-oxen on the banks of Cracroft's River, and had
+wounded one of them, but it had escaped. He brought about four
+pounds of meat, the remains of a deer that had been devoured by
+the wolves. The poor fellow was much fatigued, having walked
+throughout the night, but as the weather was particularly favourable
+for our crossing the river, we could not allow him to rest. After he
+had taken some refreshment we proceeded to the river. The canoe
+being put into the water was found extremely ticklish, but it was
+managed with much dexterity by St. Germain, Adam, and Peltier,
+who ferried over one passenger at a time, causing him to lie flat in its
+bottom, by no means a pleasant position, owing to its leakiness, but
+there was no alternative. The transport of the whole party was
+effected by five o'clock, and we walked about two miles further, and
+encamped, having come five miles and three quarters on a south-west
+course. Two young alpine hares were shot by St. Germain, which,
+with the small piece of meat brought in by Junius, furnished the
+supper of the whole party. There was no tripe de roche here. The
+country had now become decidedly hilly, and was covered with snow.
+The lake preserved its western direction, as far as I could see from
+the summit of the highest mountain near the encampment. We
+subsequently learned from the Copper Indians, that the part at
+which we had crossed the river was the Congecatha-wha-chaga of
+Hearne, of which I had little idea at the time, not only from the
+difference of latitude, but also from its being so much farther east of
+the mouth of the Copper-Mine River, than his track is laid down.
+He only making one degree and three quarters difference of lon-gitude,
+and we, upwards of four. Had I been aware of the fact,
+several days harassing march, and a disastrous accident would have
+been prevented by keeping on the western side of the lake, instead
+of crossing the river. We were informed also, that this river is
+the Anatessy or River of Strangers, and is supposed to fall into
+Bathurst's Inlet; but although the Indians have visited its mouth,
+their description was not sufficient to identify it with any of the
+rivers whose mouths we had seen. It probably falls in that part of
+the coast which was hid from our view by Goulburn's or Elliot's
+Islands.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 10.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We had a cold north wind, and the atmosphere
+was foggy. The thermometer 18 deg at five A.M. In the course of
+our march this morning, we passed many small lakes; and the
+ground becoming higher and more hilly as we receded from the
+river, was covered to a much greater depth with snow. This ren-dered
+walking not only extremely laborious, but also hazardous in
+the highest degree;for the sides of the hills, as is usual throughout
+the barren grounds, abounding in accumulations of large angular
+stones, it often happened that the men fell into the interstices
+with their loads on their backs, being deceived by the smooth
+appearance of the drifted snow. If any one had broken a limb
+here, his fate would have been melancholy indeed; we could neither
+have remained with him, nor carried him on. We halted at ten to
+gather tripe de roche,but it was so frozen, that we were quite
+benumbed with cold before a sufficiency could be collected even for
+a scanty meal. On proceeding our men were somewhat cheered, by
+observing on the sandy summit of a hill, from whence the snow had
+been blown, the summer track of a man; and afterwards by seeing
+several deer tracks on the snow. About noon the weather cleared
+up a little, and, to our great joy, we saw a herd of musk-oxen
+grazing in a valley below us. The party instantly halted, and the
+best hunters were sent out; they approached the animals with the
+utmost caution, no less than two hours being consumed before they
+got within gun-shot. In the mean time we beheld their proceed-ings
+with extreme anxiety, and many secret prayers were, doubtless,
+offered up for their success. At length they opened their fire, and
+we had the satisfaction of seeing one of the largest cows fall; another
+was wounded, but escaped. This success infused spirit into our
+starving party. To skin and cut up the animal was the work of a
+few minutes. The contents of its stomach were devoured upon
+the spot, and the raw intestines, which were next attacked, were
+pronounced by the most delicate amongst us to be excellent. A few
+willows, whose tops were seen peeping through the snow in the bottom
+of the valley, were quickly grubbed, the tents pitched, and supper
+cooked, and devoured with avidity. This was the sixth day since we
+had had a good meal. The tripe de roche, even where we got
+enough, only serving to allay the pangs of hunger for a short time.
+After supper, two of the hunters went in pursuit of the herd, but
+could not get near them.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were detained all the next day by a strong southerly wind,
+and were much incommoded in the tents by the drift snow. The
+temperature was 20 deg. The average for the last ten days about
+24.5 deg. We restricted ourselves to one meal to-day as we were at
+rest, and there was only meat remaining sufficient for the next day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The gale had not diminished on the 12th, and, as we were
+fearful of its continuance for some time, we determined on going
+forward; our only doubt regarded the preservation of the canoe,
+but the men promised to pay particular attention to it, and the
+most careful persons were appointed to take it in charge. The snow
+was two feet deep, and the ground much broken, which rendered
+the march extremely painful. The whole party complained more of
+faintness and weakness than they had ever done before; their
+strength seemed to have been impaired by the recent supply of
+animal food. In the afternoon the wind abated, and the snow ceased;
+cheered with the change we proceeded forward at a quicker pace,
+and encamped at six P. M., having come eleven miles. Our supper
+consumed the last of our meat.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We set out on the 13th, in thick hazy weather, and, after an hour's
+march, had the extreme mortification to find ourselves on the
+borders of a large lake, which we subsequently learned from the
+Indians was named Contwoy-to, or Rum Lake; neither of its extre-
+mities could be seen, and as the portion which lay to the east
+seemed the widest, we coasted along to the westward portion in
+search of a crossing-place. This lake being bounded by steep and
+lofty hills, our march was very fatiguing. Those sides which were
+exposed to the sun, were free from snow, and we found upon them
+some excellent berries. We encamped at six P. M., having come
+only six miles and a half. Credit was then missing, and he did not
+return during the night. We supped off a single partridge and
+some tripe de roche;this unpalatable weed was now quite nau-seous
+to the whole party, and in several it produced bowel com-plaints.
+Mr. Hood was the greatest sufferer from this cause. This
+evening we were extremely distressed, at discovering that our im-provident
+companions,since we left Hood's River, had thrown
+away three of the fishing-nets, and burnt the floats ; they knew we
+had brought them to procure subsistence for the party, when the
+animals should fail, and we could scarcely believe the fact of their
+having wilfully deprived themselves of this resource, especially
+when we considered that most of them had passed the greater part of
+their servitude in situations where the nets alone had supplied them
+with food. Being thus deprived of our principal resource, that of
+fishing, and the men evidently getting weaker every day, it became
+necessary to lighten their burthens of every thing except ammunition,
+clothing, and the instruments that were required to find our
+way. I, therefore, issued directions to deposit at this encampment
+the dipping needle, azimuth compass, magnet, a large thermometer,
+and a few books we had carried, having torn out of these such parts
+as we should require to work the observations for latitude and
+longitude. I also promised,as an excitement to the efforts in
+hunting, my gun to St. Germain, and an ample compensation to
+Adam, or any of the other men who should kill any animals.
+Mr. Hood, on this occasion, lent his gun to Michel, the Iroquois,
+who was very eager in the chase, and often successful.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 14.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+This morning the officers being assembled round
+a small fire, Perrault presented each of us with a small piece of meat
+which he had saved from his allowance. It was received with great
+thankfulness, and such an act of self-denial and kindness, being
+totally unexpected in a Canadian voyager, filled our eyes with tears.
+In directing our course to a river issuing from the lake, we met
+Credit, who communicated the joyful intelligence of his having
+killed two deer in the morning. We instantly halted, and having
+shared the deer that was nearest to us, prepared breakfast. After
+which, the other deer was sent for, and we went down to the river,
+which was about three hundred yards wide, and flowed with
+great velocity through a broken rocky channel. Having searched
+for a part where the current was most smooth, the canoe was
+placed in the water at the head of a rapid, and St. Germain, Solomon
+Belanger, and I, embarked in order to cross. We went from the
+shore very well, but in mid-channel the canoe became difficult to
+manage under our burden as the breeze was fresh. The current
+drove us to the edge of the rapid, when Belanger unfortunately
+applied his paddle to avert the apparent danger of being forced
+down it, and lost his balance. The canoe was overset in con-sequence
+in the middle of the rapid. We fortunately kept hold of
+it, until we touched a rock where the water did not reach higher
+than our waists; here we kept our footing, notwithstanding the
+strength of the current, until the water was emptied out of the
+canoe. Belanger then held the canoe steady whilst St. Germain
+placed me in it, and afterwards embarked himself in a very dexterous
+manner. It was impossible, however, to embark Belanger,
+as the canoe would have been hurried down the rapid, the moment
+he should have raised his foot from the rock on which he stood.
+We were, therefore, compelled to leave him in his perilous situation.
+We had not gone twenty yards before the canoe, striking on a
+sunken rock, went down. The place being shallow, we were again
+enabled to empty it, and the third attempt brought us to the shore.
+In the mean time Belanger was suffering extremely, immersed to
+his middle in the centre of a rapid, the temperature of which was
+very little above the freezing point, and the upper part of his body
+covered with wet clothes, exposed in a temperature not much above
+zero, to a strong breeze. He called piteously for relief, and
+St. Germain on his return endeavoured to embark him, but in vain.
+The canoe was hurried down the rapid, and when he landed he was
+rendered by the cold incapable of further exertion, and Adam at-tempted
+to embark Belanger, but found it impossible. An attempt
+was next made to carry out to him a line, made of the slings of the
+men's loads. This also failed, the current acting so strongly upon
+it, as to prevent the canoe from steering, and it was finally broken
+and carried down the stream. At length, when Belanger's strength
+seemed almost exhausted, the canoe reached him with a small cord
+belonging to one of the nets, and he was dragged perfectly senseless
+through the rapid. By the direction of Dr. Richardson, he was
+instantly stripped, and being rolled up in blankets, two men un-dressed
+themselves and went to bed with him; but it was some
+hours before he recovered his warmth and sensations. As soon as
+Belanger was placed in his bed, the officers immediately sent over
+my blankets, and a person to make a fire. Augustus brought the
+canoe over, and in returning he was obliged to descend both the
+rapids, before he could get across the stream; which hazardous
+service he performed with the greatest coolness and judgment. It
+is impossible to describe my sensations as I witnessed the various
+unsuccessful attempts to relieve Belanger. The distance prevented
+my seeing distinctly what was going on, and I continued pacing up
+and down upon the rock on which I landed, regardless of the
+coldness of my drenched and stiffening garments. The canoe, in
+every attempt to reach him, was hurried down the rapid, and was
+lost to the view amongst the rocky islets, with a rapidity that
+seemed to threaten certain destruction; once, indeed, I fancied that
+I saw it overwhelmed in the waves. Such an event would have
+been fatal to the whole party. Separated as I was from my com-panions,
+without gun, ammunition, hatchet, or the means of making
+a fire, and in wet clothes, my doom would have been speedily sealed.
+My companions too, driven to the necessity of coasting the lake,
+must have sunk under the fatigue of rounding its innumerable arms
+and bays, which, as we have learned from the Indians, are very
+extensive. By the goodness of Providence, however, we were spared
+at that time, and some of us have been permitted to offer up our
+thanksgivings, in a civilized land, for the signal deliverances we then
+and afterwards experienced.
+        </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/pagination/franklin_rep_max_repeats_nl.fo b/examples/fo/pagination/franklin_rep_max_repeats_nl.fo
new file mode 100644 (file)
index 0000000..34c35e7
--- /dev/null
@@ -0,0 +1,1024 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+      <fo:simple-page-master master-name="repeating"
+      page-height="21.7cm"
+          page-width="16cm"
+          margin-top="1cm"
+          margin-bottom="1cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm">
+      <fo:region-body margin-top="2cm" margin-bottom="2cm"/>
+      <fo:region-before extent="2cm"/>
+      <fo:region-after extent="2cm"/>
+    </fo:simple-page-master>
+
+    <fo:page-sequence-master master-name="repeating_pm">
+      <fo:repeatable-page-master-reference master-reference="repeating"
+        maximum-repeats="no-limit"/>
+      <fo:single-page-master-reference master-reference="repeating"/>
+    </fo:page-sequence-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="repeating_pm" initial-page-number="1">
+
+    <!-- header -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="start" font-size="10pt"
+            font-family="sans-serif"
+      line-height="10pt" >
+      John Franklin - Journey to the Shores of the Polar Sea
+    </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block text-align="end"
+            font-size="10pt"
+            font-family="sans-serif"
+            line-height="14pt" >
+        p. <fo:page-number/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- defines local TOC -->
+      <fo:block font-size="10pt"
+            font-family="serif"
+            line-height="12pt"
+            space-before.optimum="10pt"
+            space-after.optimum="10pt"
+            text-align="start"
+            padding-top="6pt">
+Journey across the barren Grounds - Difficulty and delay in crossing Copper-Mine River -
+Melancholy and fatal Results thereof - Extreme Misery of the whole Party - Murder of
+Mr. Hood - Death of several of the Canadians - Desolate State of Fort Enterprise -
+Distress suffered at that Place - Dr. Richardson's Narrative - Mr. Back's Narrative -
+Conclusion.
+      </fo:block>
+
+      <fo:block font-size="8pt"
+                font-family="serif"
+                font-style="italic"
+                line-height="10pt"
+                space-before.optimum="3pt"
+                space-after.optimum="3pt"
+                text-align="start">1821. August 17.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+MY original intention, whenever the season should
+compel us to relinquish the survey, had been to return by the way
+of the Copper-Mine River, and in pursuance of my arrangement
+with the Hook to travel to Slave Lake through the line of woods
+extending thither by the Great Bear and Marten Lakes, but our
+scanty stock of provision and the length of the voyage rendered it
+necessary to make for a nearer place. We had already found that
+the country, between Cape Barrow and the Copper-Mine River,
+would not supply our wants, and this it seemed probable would now
+be still more the case ; besides, at this advanced season, we expected
+the frequent recurrence of gales, which would cause great detention,
+if not danger in proceeding along that very rocky part of the coast.
+I determined, therefore, to make at once for Arctic Sound, where
+we had found the animals more numerous than at any other place ;
+and entering Hood's River, to advance up that stream as far as it
+was navigable, and then to construct small canoes out of the
+materials of the larger ones, which could be carried in crossing the
+barren grounds to Fort Enterprise.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 19.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were almost beaten out of our comfortless abodes
+by rain during the night, and this morning the gale continued
+without diminution. The thermometer fell to 33 deg. Two men were
+sent with Junius to search for the deer which Augustus had killed.
+Junius returned in the evening bringing part of the meat, but owing
+to the thickness of the weather, his companions parted from him
+and did not make their appearance. Divine service was read. On
+the 20th we were presented with the most chilling prospect, the
+small pools of water being frozen over, the ground being covered
+with snow, and the thermometer at the freezing point at mid-day.
+Flights of geese were passing to the southward. The wind however
+was more moderate, having changed to the eastward. Considerable
+anxiety prevailing respecting Belanger and Michel, the two men
+who strayed from Junius yesterday, the rest were sent out to look
+for them. The search was successful, and they all returned in the
+evening. The stragglers were much fatigued, and had suffered
+severely from the cold, one of them having his thighs frozen, and
+what under our present circumstances was most grievous, they had
+thrown away all the meat. The wind during the night returned to
+the north-west quarter, blew more violently than ever, and raised a
+very turbulent sea. The next day did not improve our condition,
+the snow remained on the ground, and the small pools were frozen.
+Our hunters were sent out, but they returned after a fatiguing
+day's march without having seen any animals. We made a scanty
+meal off a handful of pemmican, after which only half a bag
+remained.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind abated after midnight, and the surf diminished rapidly,
+which caused us to be on the alert at a very early hour on the 22d,
+but we had to wait until six A.M. for the return of Augustus who
+had continued out all night on an unsuccessful pursuit of deer.
+It appears that he had walked a few miles farther along the coast,
+than the party had done on the 18th, and from a sketch he drew on
+the sand, we were confirmed in our former opinion that the shore
+inclined more to the eastward beyond Point Turnagain. He also
+drew a river of considerable size, that discharges its waters into
+Walker's Bay; on the banks of which stream he saw a piece of
+wood, such as the Esquimaux use in producing fire, and other marks
+so fresh that he supposed they had recently visited the spot. We
+therefore left several iron materials for them. Our men, cheered by
+the prospect of returning, embarked with the utmost alacrity; and,
+paddling with unusual vigour, carried us across Riley's and Walker's
+Bays, a distance of twenty miles before noon, when we landed on
+Slate-Clay Point, as the wind had freshened too much to permit us
+to continue the voyage. The whole party went to hunt, but returned
+without success in the evening, drenched with the heavy rain which
+commenced soon after they had set out. Several deer were seen,
+but could not be approached in this naked country; and as our
+stock of pemmican did not admit of serving out two meals, we went
+dinnerless to bed.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Soon after our departure to-day, a sealed tin-case, sufficiently
+buoyant to float, was thrown overboard, containing a short account of
+our proceedings, and the position of the most conspicuous points.
+The wind blew off the land, the water was smooth, and as the sea
+is in this part more free from islands than in any other, there was
+every probability of its being driven off the shore into the current ;
+which, as I have before mentioned, we suppose, from the circumstance
+of Mackenzie's River being the only known stream that
+brings down the wood we have found along the shores, to set to the
+eastward.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+      space-after.optimum="3pt"
+            text-align="start">August 23.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+A severe frost caused us to pass a comfortless night.
+At two P.M. we set sail, and the men voluntarily launched out to
+make a traverse of fifteen miles across Melville Sound, before a
+strong wind and heavy sea. The privation of food, under which
+our voyagers were then labouring, absorbed every other terror;
+otherwise the most powerful persuasion could not have induced
+them to attempt such a traverse. It was with the utmost difficulty
+that the canoes were kept from turning their broadsides to the
+waves, though we sometimes steered with all the paddles. One of
+them narrowly escaped being overset by this accident, happening
+in mid-channel, where the waves were so high that the mast-head
+of our canoe was often hid from the other, though it was sailing
+within hail. The annexed plate, from Mr. Back's sketch, will convey
+to the reader an accurate idea of the peril of our situation.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The traverse, however, was made;we were then near a high
+rocky lee shore, on which a heavy surf was beating. The wind
+being on the beam, the canoes drifted fast to leeward; and, on
+rounding a point, the recoil of the sea from the rocks was so great
+that they were with difficulty kept from foundering. We looked in
+vain for a sheltered bay to land in ; but, at length, being unable to
+weather another point, we were obliged to put ashore on the open
+beach, which, fortunately, was sandy at this spot. The debarkation
+was effected in the manner represented in the plate; and, fortunately,
+without further injury than the splitting of the head of
+the second canoe, which was easily repaired.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Our encampment being near to the place where we killed the deer
+on the 11th, almost the whole party went out to hunt, but they
+returned in the evening without having seen any game. The
+berries, however, were ripe and plentiful, and, with the addition
+of some country tea, furnished a supper. There were some showers
+in the afternoon,and the weather was cold, the thermometer
+being 42 deg, but the evening and night were calm and fine. It may be
+remarked that the mosquitoes disappeared when the late gales
+commenced.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 25.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at three A. M., we stretched across
+the eastern entrance of Bathurst's Inlet, and arrived at an island,
+which I have named after Colonel Barry, of Newton Barry. Some
+deer being seen on the beach, the hunters went in pursuit of
+them, and succeeded in killing three females, which enabled us to
+save our last remaining meal of pemmican. They saw also some
+fresh tracks of musk oxen on the banks of a small stream, which
+flowed into a lake in the centre of the island. These animals must
+have crossed a channel, at least, three miles wide, to reach the nearest
+of these islands. Some specimens of variegated pebbles and jasper
+were found here imbedded in the amygdaloidal rock.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Re-embarking at two P.M., and continuing through what was
+supposed to be a channel between two islands, we found our passage
+barred by a gravelly isthmus of only ten yards in width ; the canoes
+and cargoes were carried across it, and we passed into Bathurst's Inlet
+through another similar channel, bounded on both sides by steep
+rocky hills. The wind then changing from S.E. to N.W. brought
+heavy rain, and we encamped at seven P.M., having advanced
+eighteen miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Starting this morning with a fresh breeze in our favour,
+we soon reached that part of Barry's Island where the canoes were
+detained on the 2d and 3rd of this month, and contrary to what we
+then experienced, the deer were now plentiful. The hunters killed
+two, and we were relieved from all apprehension of an immediate
+want of food. One would suppose the deer were about to retire to
+the main shore from their assembling at this time in such numbers
+on the islands nearest to the coast. Those we saw were generally
+females with their young, and all of them very lean.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The wind continued in the same direction until we had rounded
+Point Wollaston, and then changed to a quarter, which enabled us
+to steer for Hood's River, which we ascended as high as the first
+rapid and encamped. Here terminated our voyage on the Arctic
+sea, during which we had gone over six hundred and fifty geographical
+miles. Our Canadian voyagers could not restrain their expressions
+of joy at having turned their backs on the sea, and
+they passed the evening talking over their past adventures with
+much humour and no little exaggeration. The consideration that
+the most painful, and certainly the most hazardous, part of the
+journey was yet to come, did not depress their spirits at all. It is
+due to their character to mention that they displayed much courage
+in encountering the dangers of the sea, magnified to them by their
+novelty.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The shores between Cape Barrow and Cape Flinders, including
+the extensive branches of Arctic and Melville Sounds, and Bathurst's
+Inlet, may be comprehended in one great gulf, which I have distinguished
+by the appellation of George IV.'s Coronation Gulf, in
+honour of His Most Gracious Majesty, the latter name being added
+to mark the time of its discovery. The Archipelago of islands which
+fringe the coast from Copper-Mine River to Point Turnagain, I have
+named in honour of His Royal Highness the Duke of York.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+It may be deserving of notice that the extremes in temperature
+of the sea water during our voyage were 53 deg and 35 deg, but its general
+temperature was between 43 deg and 48 deg. Throughout our return from
+Point Turnagain we observed that the sea had risen several feet
+above marks left at our former encampments. This may, perhaps,
+be attributed to the north-west gales.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">August 26.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Previous to our departure this morning, an assortment
+of iron materials, beads, looking-glasses, and other articles
+were put up in a conspicuous situation for the Esquimaux, and the
+English Union was planted on the loftiest sand-hill, where it might
+be seen by any ships passing in the offing. Here also, was deposited
+in a tin bow a letter containing an outline of our proceedings, the
+latitude and longitude of the principal places, and the course we
+intended to pursue towards Slave Lake.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Embarking at eight A.M. we proceeded up the river, which is full
+of sandy shoals, but sufficiently deep for canoes in the channels. It is
+from one hundred to two hundred yards wide, and is bounded by high
+and steep banks of clay. We encamped at a cascade of eighteen or
+twenty feet high, which is produced by a ridge of rock crossing the
+river, and the nets were set. A mile below this cascade Hood's
+River is joined by a stream half its own size, which I have called
+James' Branch. Bear and deer tracks had been numerous on the
+banks of the river when we were here before, but not a single recent
+one was to be seen at this time. Credit, however, killed a small
+deer at some distance inland, which, with the addition of berries,
+furnished a delightful repast this evening. The weather was remarkably
+fine, and the temperature so mild, that the mosquitoes again
+made their appearance, but not in any great numbers. Our distance
+made to-day was not more than six miles.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning the net furnished us with ten white fish
+and trout. Having made a further deposit of iron work for the
+Esquimaux we pursued our voyage up the river, but the shoals and
+rapids in this part were so frequent, that we walked along the banks
+the whole day, and the crews laboured hard in carrying the canoes
+thus lightened over the shoals or dragging them up the rapids, yet
+our journey in a direct line was only about seven miles. In the
+evening we encamped at the lower end of a narrow chasm through
+which the river flows for upwards of a mile. The walls of this
+chasm are upwards of two hundred feet high, quite perpendicular,
+and in some places only a few yards apart. The river precipitates
+itself into it over a rock, forming two magnificent and picturesque
+falls close to each other. The upper fall is about sixty feet high, and
+the lower one at least one hundred, but perhaps considerably more,
+for the narrowness of the chasm into which it fell prevented us from
+seeing its bottom, and we could merely discern the top of the spray
+far beneath our feet. The lower fall is divided into two, by an
+insulated column of rock which rises about forty feet above it. The
+whole descent of the river at this place probably exceeds two
+hundred and fifty feet. The rock is very fine felspathose sandstone.
+It has a smooth surface and a light red colour. I have named these
+magnificent cascades Wilberforce Falls, as a tribute of my respect
+for that distinguished philanthropist and Christian. Messrs. Back and
+Hood took beautiful sketches of this majestic scene, which are
+combined in the annexed plate.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The river being surveyed from the summit of a hill, above these
+falls, appeared so rapid and shallow, that it seemed useless to
+attempt proceeding any farther in the large canoes. I therefore
+determined on constructing out of their materials two smaller ones
+of sufficient size to contain three persons, for the purpose of crossing
+any river that might obstruct our progress. This operation was
+accordingly commenced, and by the 31st both the canoes being
+finished, we prepared for our departure on the following day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The leather which had been preserved for making shoes was
+equally divided among the men, two pairs of flannel socks were given
+to each person, and such articles of warm clothing as remained, were
+issued to those who most required them. They were also furnished
+with one of the officers' tents. This being done, I communicated to
+the men my intention of proceeding in as direct a course as possible
+to the part of Point Lake, opposite to our spring encampment
+which was only distant one hundred and forty-nine miles in a
+straight line. They received the communication cheerfully, considered
+the journey to be short, and left me, in high spirits, to
+arrange their own packages. The stores, books, &amp;c., which were not
+absolutely necessary to be carried, were then put up in boxes to be
+left en cache here, in order that the men's burdens might be as light
+as possible.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The next morning was warm, and very fine. Every one was on
+the alert at an early hour, being anxious to commence the journey.
+Our luggage consisted of ammunition, nets, hatchets, ice chisels,
+astronomical instruments, clothing, blankets, three kettles, and
+the two canoes, which were each carried by one man. The
+officers carried such a portion of their own things as their strength
+would permit;the weight carried by each man was about ninety
+pounds, and with this we advanced at the rate of about a mile an
+hour, including rests. In the evening the hunters killed a lean cow,
+out of a large drove of musk-oxen; but the men were too much
+laden to carry more than a small portion of its flesh. The alluvial
+soil, which towards the mouth of the river spreads into plains,
+covered with grass and willows, was now giving place to a more
+barren and hilly country; so that we could but just collect sufficient
+brush wood to cook our suppers. The part of the river we skirted
+to-day was shallow, and flowed over a bed of sand ; its width about
+one hundred and twenty yards. About midnight our tent was blown
+down by a squall, and we were completely drenched with rain before
+it could be re-pitched.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the morning of the 1st of September a fall of snow took
+place; the canoes became a cause of delay, by the difficulty of
+carrying them in a high wind, and they sustained much damage
+from the falls of those who had charge of them. The face of the
+country was broken by hills of moderate elevation, but the ground
+was plentifully strewed with small stones, which, to men bearing
+heavy burthens, and whose feet were protected only by soft moose
+skin shoes, occasioned great pain. At the end of eleven miles we
+encamped, and sent for a musk-ox and a deer, which St. Germain
+and Augustus had killed. The day was extremely cold, the ther-mometer
+varying between 34 deg and 36 deg. In the afternoon a heavy
+fall of snow took place, on the wind changing from north-west to
+south-west. We found no wood at the encampment, but made a
+fire of moss to cook the supper, and crept under our blankets for
+warmth. At sun-rise the thermometer was at 31 deg, and the wind
+fresh from north-west; but the weather became mild in the course
+of the forenoon, and the snow disappeared from the gravel. The
+afternoon was remarkably fine, and the thermometer rose to 50 deg.
+One of the hunters killed a musk-ox. The hills in this part are
+lower and more round-backed than those we passed yesterday, and
+exhibited but little naked rock; they were covered with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having ascertained from the summit of the highest hill near the
+tents, that the river continued to preserve a west course; and fear-ing
+that by pursuing it further we might lose much time, and un-necessarily
+walk over a great deal of ground, I determined on
+quitting its banks the next day, and making as directly as we could for
+Point Lake. We accordingly followed the river on the 3d, only to
+the place where the musk-ox had been killed last evening, and after
+the meat was procured, crossed the river in our two canoes lashed
+together. We now emerged from the valley of the river, and entered
+a level, but very barren, country, varied only by small lakes and
+marshes, the ground being covered with small stones. Many old tracks
+of rein-deer were seen in the clayey soil, and some more recent
+ones of the musk-ox. We encamped on the borders of Wright's
+River, which flows to the eastward; the direct distance walked to-day
+being ten miles and three-quarters. The next morning was
+very fine, and,as the day advanced, the weather became quite
+warm. We set out at six A. M., and, having forded the river,
+walked over a perfectly level country, interspersed with small lakes,
+which communicated with each other, by streams running in various
+directions. No berry-bearing plants were found in this part, the
+surface of the earth being thinly covered in the moister places with
+a few grasses, and on the drier spots with lichens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Having walked twelve miles and a half, we encamped at seven P.M.,
+and distributed our last piece of pemmican, and a little arrow-root
+for supper, which afforded but a scanty meal. This evening was
+warm, but dark clouds overspread the sky. Our men now began to
+find their burdens very oppressive, and were much fatigued by this
+day's march, but did not complain. One of them was lame from an
+inflammation in the knee. Heavy rain commenced at midnight, and
+continued without intermission until five in the morning, when it
+was succeeded by snow on the wind changing to north-west, which
+soon increased to a violent gale. As we had nothing to eat, and
+were destitute of the means of making a fire, we remained in our
+beds all the day ; but the covering of our blankets was insufficient to
+prevent us from feeling the severity of the frost, and suffering in-convenience
+from the drifting of the snow into our tents. There
+was no abatement of the storm next day ; our tents were completely
+frozen, and the snow had drifted around them to a depth of three
+feet, and even in the inside there was a covering of several inches on
+our blankets. Our suffering from cold, in a comfortless canvass tent
+in such weather, with the temperature at 20 deg, and without fire,
+will easily be imagined;it was, however, less than that which we
+felt from hunger.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The morning of the 7th cleared up a little, but the wind was still
+strong, and the weather extremely cold. From the unusual con-tinuance
+of the storm, we feared the winter had set in with all its
+rigour, and that by longer delay we should only be exposed to an
+accumulation of difficulties; we therefore prepared for our journey,
+although we were in a very unfit condition for starting, being weak
+from fasting, and our garments stiffened by the frost. We had no
+means of making a fire to thaw them, the moss, at all times difficult
+to kindle, being now covered with ice and snow. A considerable
+time was consumed in packing up the frozen tents and bed clothes,
+the wind blowing so strong that no one could keep his hands long
+out of his mittens.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+Just as we were about to commence our march, I was seized with
+a fainting fit, in consequence of exhaustion and sudden exposure to
+the wind; but after eating a morsel of portable soup, I recovered, so
+far as to be able to move on. I was unwilling at first to take this
+morsel of soup, which was diminishing the small and only remaining
+meal for the party; but several of the men urged me to it, with
+much kindness. The ground was covered a foot deep with snow,
+the margin of the lakes was incrusted with ice, and the swamps over
+which we had to pass were entirely frozen; but the ice not being
+sufficiently strong to bear us, we frequently plunged knee-deep in
+water. Those who carried the canoes were repeatedly blown down
+by the violence of the wind, and they often fell, from making an
+insecure step on a slippery stone; on one of these occasions, the
+largest canoe was so much broken as to be rendered utterly unser-viceable.
+This was felt as a serious disaster, as the remaining canoe
+having through mistake been made too small, it was doubtful
+whether it would be sufficient to carry us across a river. Indeed
+we had found it necessary in crossing Hood's River, to lash the two
+canoes together. As there was some suspicion that Benoit, who
+carried the canoe, had broken it intentionally, he having on a former
+occasion been overheard by some of the men to say, that he would
+do so when he got it in charge, we closely examined him on the
+point; he roundly denied having used the expressions attributed to
+him, and insisted that it was broken by his falling accidentally; and
+as he brought men to attest the latter fact, who saw him tumble, we
+did not press the matter further. I may here remark that our
+people had murmured a good deal at having to carry two canoes,
+though they were informed of the necessity of taking both, in case
+it should be deemed advisable to divide the party; which it had
+been thought probable we should be obliged to do, if animals proved
+scarce, in order to give the whole the better chance of procuring
+subsistence, and also for the purpose of sending forward some of the
+best walkers to search for Indians, and to get them to meet us with
+supplies of provision. The power of doing this was now at an end.
+As the accident could not be remedied we turned it to the best
+account by making a fire of the bark and timbers of the broken
+vessel, and cooked the remainder of our portable soup and arrow-root.
+This was a scanty meal after three days' fasting, but it served
+to allay the pangs of hunger, and enabled us to proceed at a quicker
+pace than before. The depth of the snow caused us to march in
+Indian file, that is in each other's steps; the voyagers taking it in
+turn to lead the party. A distant object was pointed out to this
+man in the direction we wished to take, and Mr. Hood followed
+immediately behind him, to renew the bearings, and keep him from
+deviating more than could be helped from the mark. It may be
+here observed, that we proceeded in this manner throughout our
+route across the barren grounds.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+In the afternoon we got into a more hilly country, where the
+ground was strewed with large stones. The surface of these was
+covered with lichens of the genus gyrophora, which the Canadians
+term tripe de roche. A considerable quantity was gathered, and
+with half a partridge each, (which were shot in the course of the
+day,) furnished us with a slender supper, which we cooked with a
+few willows, dug up from beneath the snow. We passed a comfortless
+night in our damp clothes, but took the precaution of sleeping upon
+our socks and shoes to prevent them from freezing. This plan was
+afterwards adopted throughout the journey.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+At half past five in the morning we proceeded; and after walking
+about two miles, came to Cracroft's River, flowing to the westward,
+with a very rapid current over a rocky channel. We had much diffi-culty
+in crossing this, the canoe being useless, not only from the bot-tom
+of the channel being obstructed by large stones, but also from its
+requiring gumming, an operation which, owing to the want of wood
+and the frost, we were unable to perform. However, after following
+the course of the river some way, we effected a passage by means of a
+range of large rocks that crossed a rapid. As the current was strong,
+and many of the rocks were covered with water to the depth of two
+or three feet, the men were exposed to much danger in carrying their
+heavy burthens across, and several of them actually slipped into the
+stream, but were immediately rescued by the others. Junius went
+farther up the river in search of a better crossing place, and did not
+rejoin us to-day. As several of the party were drenched from head to
+foot, and we were all wet to the middle, our clothes became stiff with
+the frost, and we walked with much pain for the remainder of the day.
+The march was continued to a late hour, being anxious to rejoin the
+hunters who had gone before, but we were obliged to encamp at the
+end of ten miles and a quarter, without seeing them. Our only
+meal to-day consisted of a partridge each, (which the hunters shot,)
+mixed with tripe de roche. This repast although scanty for men,
+with appetites such as our daily fatigue created, proved a cheerful
+one, and was received with thankfulness. Most of the men had to
+sleep in the open air, in consequence of the absence of Credit, who
+carried their tent; but we fortunately found an unusual quantity of
+roots to make a fire, which prevented their suffering much from the
+cold, though the thermometer was at 17 deg.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We started at six on the 9th, and at the end of two miles re-gained
+our hunters, who were halting on the borders of a lake amidst
+a clump of stunted willows. This lake stretched to the westward as
+far as we could see, and its waters were discharged by a rapid stream
+one hundred and fifty yards wide. Being entirely ignorant where
+we might be led by pursuing the course of the lake, and dreading
+the idea of going a mile unnecessarily out of the way, we deter-mined
+on crossing the river if possible; and the canoe was gummed
+for the purpose, the willows furnishing us with fire. But we had to
+await the return of Junius before we could make the traverse. In
+the mean time we gathered a little tripe de roche, and breakfasted
+upon it and a few partridges that were killed in the morning.
+St. Germain and Adam were sent upon some recent tracks of deer.
+Junius arrived in the afternoon, and informed us that he had seen
+a large herd of musk-oxen on the banks of Cracroft's River, and had
+wounded one of them, but it had escaped. He brought about four
+pounds of meat, the remains of a deer that had been devoured by
+the wolves. The poor fellow was much fatigued, having walked
+throughout the night, but as the weather was particularly favourable
+for our crossing the river, we could not allow him to rest. After he
+had taken some refreshment we proceeded to the river. The canoe
+being put into the water was found extremely ticklish, but it was
+managed with much dexterity by St. Germain, Adam, and Peltier,
+who ferried over one passenger at a time, causing him to lie flat in its
+bottom, by no means a pleasant position, owing to its leakiness, but
+there was no alternative. The transport of the whole party was
+effected by five o'clock, and we walked about two miles further, and
+encamped, having come five miles and three quarters on a south-west
+course. Two young alpine hares were shot by St. Germain, which,
+with the small piece of meat brought in by Junius, furnished the
+supper of the whole party. There was no tripe de roche here. The
+country had now become decidedly hilly, and was covered with snow.
+The lake preserved its western direction, as far as I could see from
+the summit of the highest mountain near the encampment. We
+subsequently learned from the Copper Indians, that the part at
+which we had crossed the river was the Congecatha-wha-chaga of
+Hearne, of which I had little idea at the time, not only from the
+difference of latitude, but also from its being so much farther east of
+the mouth of the Copper-Mine River, than his track is laid down.
+He only making one degree and three quarters difference of lon-gitude,
+and we, upwards of four. Had I been aware of the fact,
+several days harassing march, and a disastrous accident would have
+been prevented by keeping on the western side of the lake, instead
+of crossing the river. We were informed also, that this river is
+the Anatessy or River of Strangers, and is supposed to fall into
+Bathurst's Inlet; but although the Indians have visited its mouth,
+their description was not sufficient to identify it with any of the
+rivers whose mouths we had seen. It probably falls in that part of
+the coast which was hid from our view by Goulburn's or Elliot's
+Islands.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 10.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We had a cold north wind, and the atmosphere
+was foggy. The thermometer 18 deg at five A.M. In the course of
+our march this morning, we passed many small lakes; and the
+ground becoming higher and more hilly as we receded from the
+river, was covered to a much greater depth with snow. This ren-dered
+walking not only extremely laborious, but also hazardous in
+the highest degree;for the sides of the hills, as is usual throughout
+the barren grounds, abounding in accumulations of large angular
+stones, it often happened that the men fell into the interstices
+with their loads on their backs, being deceived by the smooth
+appearance of the drifted snow. If any one had broken a limb
+here, his fate would have been melancholy indeed; we could neither
+have remained with him, nor carried him on. We halted at ten to
+gather tripe de roche,but it was so frozen, that we were quite
+benumbed with cold before a sufficiency could be collected even for
+a scanty meal. On proceeding our men were somewhat cheered, by
+observing on the sandy summit of a hill, from whence the snow had
+been blown, the summer track of a man; and afterwards by seeing
+several deer tracks on the snow. About noon the weather cleared
+up a little, and, to our great joy, we saw a herd of musk-oxen
+grazing in a valley below us. The party instantly halted, and the
+best hunters were sent out; they approached the animals with the
+utmost caution, no less than two hours being consumed before they
+got within gun-shot. In the mean time we beheld their proceed-ings
+with extreme anxiety, and many secret prayers were, doubtless,
+offered up for their success. At length they opened their fire, and
+we had the satisfaction of seeing one of the largest cows fall; another
+was wounded, but escaped. This success infused spirit into our
+starving party. To skin and cut up the animal was the work of a
+few minutes. The contents of its stomach were devoured upon
+the spot, and the raw intestines, which were next attacked, were
+pronounced by the most delicate amongst us to be excellent. A few
+willows, whose tops were seen peeping through the snow in the bottom
+of the valley, were quickly grubbed, the tents pitched, and supper
+cooked, and devoured with avidity. This was the sixth day since we
+had had a good meal. The tripe de roche, even where we got
+enough, only serving to allay the pangs of hunger for a short time.
+After supper, two of the hunters went in pursuit of the herd, but
+could not get near them.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We were detained all the next day by a strong southerly wind,
+and were much incommoded in the tents by the drift snow. The
+temperature was 20 deg. The average for the last ten days about
+24.5 deg. We restricted ourselves to one meal to-day as we were at
+rest, and there was only meat remaining sufficient for the next day.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+The gale had not diminished on the 12th, and, as we were
+fearful of its continuance for some time, we determined on going
+forward; our only doubt regarded the preservation of the canoe,
+but the men promised to pay particular attention to it, and the
+most careful persons were appointed to take it in charge. The snow
+was two feet deep, and the ground much broken, which rendered
+the march extremely painful. The whole party complained more of
+faintness and weakness than they had ever done before; their
+strength seemed to have been impaired by the recent supply of
+animal food. In the afternoon the wind abated, and the snow ceased;
+cheered with the change we proceeded forward at a quicker pace,
+and encamped at six P. M., having come eleven miles. Our supper
+consumed the last of our meat.
+        </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+We set out on the 13th, in thick hazy weather, and, after an hour's
+march, had the extreme mortification to find ourselves on the
+borders of a large lake, which we subsequently learned from the
+Indians was named Contwoy-to, or Rum Lake; neither of its extre-
+mities could be seen, and as the portion which lay to the east
+seemed the widest, we coasted along to the westward portion in
+search of a crossing-place. This lake being bounded by steep and
+lofty hills, our march was very fatiguing. Those sides which were
+exposed to the sun, were free from snow, and we found upon them
+some excellent berries. We encamped at six P. M., having come
+only six miles and a half. Credit was then missing, and he did not
+return during the night. We supped off a single partridge and
+some tripe de roche;this unpalatable weed was now quite nau-seous
+to the whole party, and in several it produced bowel com-plaints.
+Mr. Hood was the greatest sufferer from this cause. This
+evening we were extremely distressed, at discovering that our im-provident
+companions,since we left Hood's River, had thrown
+away three of the fishing-nets, and burnt the floats ; they knew we
+had brought them to procure subsistence for the party, when the
+animals should fail, and we could scarcely believe the fact of their
+having wilfully deprived themselves of this resource, especially
+when we considered that most of them had passed the greater part of
+their servitude in situations where the nets alone had supplied them
+with food. Being thus deprived of our principal resource, that of
+fishing, and the men evidently getting weaker every day, it became
+necessary to lighten their burthens of every thing except ammunition,
+clothing, and the instruments that were required to find our
+way. I, therefore, issued directions to deposit at this encampment
+the dipping needle, azimuth compass, magnet, a large thermometer,
+and a few books we had carried, having torn out of these such parts
+as we should require to work the observations for latitude and
+longitude. I also promised,as an excitement to the efforts in
+hunting, my gun to St. Germain, and an ample compensation to
+Adam, or any of the other men who should kill any animals.
+Mr. Hood, on this occasion, lent his gun to Michel, the Iroquois,
+who was very eager in the chase, and often successful.
+        </fo:block>
+
+    <fo:block font-size="8pt"
+            font-family="serif"
+            font-style="italic"
+            line-height="10pt"
+            space-before.optimum="3pt"
+            space-after.optimum="3pt"
+            text-align="start">September 14.
+      </fo:block>
+
+    <!-- Normal text -->
+    <fo:block font-size="11pt"
+            font-family="serif"
+            line-height="12pt"
+            space-after.optimum="0pt"
+            text-align="start">
+This morning the officers being assembled round
+a small fire, Perrault presented each of us with a small piece of meat
+which he had saved from his allowance. It was received with great
+thankfulness, and such an act of self-denial and kindness, being
+totally unexpected in a Canadian voyager, filled our eyes with tears.
+In directing our course to a river issuing from the lake, we met
+Credit, who communicated the joyful intelligence of his having
+killed two deer in the morning. We instantly halted, and having
+shared the deer that was nearest to us, prepared breakfast. After
+which, the other deer was sent for, and we went down to the river,
+which was about three hundred yards wide, and flowed with
+great velocity through a broken rocky channel. Having searched
+for a part where the current was most smooth, the canoe was
+placed in the water at the head of a rapid, and St. Germain, Solomon
+Belanger, and I, embarked in order to cross. We went from the
+shore very well, but in mid-channel the canoe became difficult to
+manage under our burden as the breeze was fresh. The current
+drove us to the edge of the rapid, when Belanger unfortunately
+applied his paddle to avert the apparent danger of being forced
+down it, and lost his balance. The canoe was overset in con-sequence
+in the middle of the rapid. We fortunately kept hold of
+it, until we touched a rock where the water did not reach higher
+than our waists; here we kept our footing, notwithstanding the
+strength of the current, until the water was emptied out of the
+canoe. Belanger then held the canoe steady whilst St. Germain
+placed me in it, and afterwards embarked himself in a very dexterous
+manner. It was impossible, however, to embark Belanger,
+as the canoe would have been hurried down the rapid, the moment
+he should have raised his foot from the rock on which he stood.
+We were, therefore, compelled to leave him in his perilous situation.
+We had not gone twenty yards before the canoe, striking on a
+sunken rock, went down. The place being shallow, we were again
+enabled to empty it, and the third attempt brought us to the shore.
+In the mean time Belanger was suffering extremely, immersed to
+his middle in the centre of a rapid, the temperature of which was
+very little above the freezing point, and the upper part of his body
+covered with wet clothes, exposed in a temperature not much above
+zero, to a strong breeze. He called piteously for relief, and
+St. Germain on his return endeavoured to embark him, but in vain.
+The canoe was hurried down the rapid, and when he landed he was
+rendered by the cold incapable of further exertion, and Adam at-tempted
+to embark Belanger, but found it impossible. An attempt
+was next made to carry out to him a line, made of the slings of the
+men's loads. This also failed, the current acting so strongly upon
+it, as to prevent the canoe from steering, and it was finally broken
+and carried down the stream. At length, when Belanger's strength
+seemed almost exhausted, the canoe reached him with a small cord
+belonging to one of the nets, and he was dragged perfectly senseless
+through the rapid. By the direction of Dr. Richardson, he was
+instantly stripped, and being rolled up in blankets, two men un-dressed
+themselves and went to bed with him; but it was some
+hours before he recovered his warmth and sensations. As soon as
+Belanger was placed in his bed, the officers immediately sent over
+my blankets, and a person to make a fire. Augustus brought the
+canoe over, and in returning he was obliged to descend both the
+rapids, before he could get across the stream; which hazardous
+service he performed with the greatest coolness and judgment. It
+is impossible to describe my sensations as I witnessed the various
+unsuccessful attempts to relieve Belanger. The distance prevented
+my seeing distinctly what was going on, and I continued pacing up
+and down upon the rock on which I landed, regardless of the
+coldness of my drenched and stiffening garments. The canoe, in
+every attempt to reach him, was hurried down the rapid, and was
+lost to the view amongst the rocky islets, with a rapidity that
+seemed to threaten certain destruction; once, indeed, I fancied that
+I saw it overwhelmed in the waves. Such an event would have
+been fatal to the whole party. Separated as I was from my com-panions,
+without gun, ammunition, hatchet, or the means of making
+a fire, and in wet clothes, my doom would have been speedily sealed.
+My companions too, driven to the necessity of coasting the lake,
+must have sunk under the fatigue of rounding its innumerable arms
+and bays, which, as we have learned from the Indians, are very
+extensive. By the goodness of Providence, however, we were spared
+at that time, and some of us have been permitted to offer up our
+thanksgivings, in a civilized land, for the signal deliverances we then
+and afterwards experienced.
+        </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/region_body/simplecol.fo b/examples/fo/region_body/simplecol.fo
new file mode 100644 (file)
index 0000000..b8e508a
--- /dev/null
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="only"
+                  page-height="11in"
+                  page-width="8.5in"
+                  margin-top="1in"
+                  margin-bottom="1in"
+                  margin-left="0.75in"
+                  margin-right="0.75in">
+      <fo:region-body
+      margin-top="1in" margin-bottom="1in"
+    column-count="2" column-gap="0.25in"/>
+      <fo:region-before extent="1in"/>
+      <fo:region-after extent="1in"/>
+    </fo:simple-page-master>
+
+  </fo:layout-master-set>
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="only">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block font-size="16pt"
+                font-family="sans-serif"
+                line-height="normal"
+                text-align="start"
+        color="blue">Columns in FOP</fo:block>
+  </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block font-size="10pt"
+                font-family="sans-serif"
+                line-height="12pt"
+        space-before.optimum="6pt"
+                text-align="end"
+        color="blue">Page #</fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <!-- Block 0 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 0:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 1 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 1:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 2 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 2:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 3 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 3:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 4 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="all">
+    <fo:inline color="red">Block 4:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 5 -->
+          <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 5:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 6 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 6:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/region_body/simplecol2.fo b/examples/fo/region_body/simplecol2.fo
new file mode 100644 (file)
index 0000000..2e0bf0f
--- /dev/null
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" >
+
+  <!-- defines page layout -->
+  <fo:layout-master-set >
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="only"
+                  page-height="11in"
+                  page-width="8.5in"
+                  margin-top="1in"
+                  margin-bottom="1in"
+                  margin-left="0.75in"
+                  margin-right="0.75in">
+      <fo:region-body
+      margin-top="1in" margin-bottom="1in"
+    column-count="2" column-gap="0.25in"/>
+      <fo:region-before extent="1in" />
+      <fo:region-after extent="1in" />
+    </fo:simple-page-master>
+
+  </fo:layout-master-set>
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="only" >
+    <fo:static-content flow-name="xsl-region-before" >
+      <fo:block  font-size="16pt"
+                font-family="sans-serif"
+                line-height="normal"
+                text-align="start"
+        color="blue">Columns in FOP</fo:block>
+  </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after" >
+      <fo:block  font-size="10pt"
+                font-family="sans-serif"
+                line-height="12pt"
+        space-before.optimum="6pt"
+                text-align="end"
+        color="blue">Page #</fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body" >
+      <!-- Block 0 -->
+      <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green" >Block 0:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
+    Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
+    number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
+    specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
+    intended for high-quality, precision layout-driven formatting.
+      </fo:block>
+
+      <!-- Block 1 -->
+      <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green" >Block 1:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
+    Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
+    number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
+    specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
+    intended for high-quality, precision layout-driven formatting.
+      </fo:block>
+
+      <!-- Block 2 -->
+      <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green" >Block 2:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 3 -->
+      <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green" >Block 3:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 4 -->
+      <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="all">
+    <fo:inline color="red" >Block 4:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 5 -->
+          <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green" >Block 5:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 6 -->
+      <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green" >Block 6:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
+    Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
+    number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
+    specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
+    intended for high-quality, precision layout-driven formatting.
+      </fo:block>
+
+      <!-- Block 7 -->
+      <fo:block  font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="all">
+    <fo:inline color="red" >Block 7:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
+    Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
+    number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
+    specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
+    intended for high-quality, precision layout-driven formatting.
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/region_body/simplecol3.fo b/examples/fo/region_body/simplecol3.fo
new file mode 100644 (file)
index 0000000..995174d
--- /dev/null
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="only"
+                  page-height="11in"
+                  page-width="8.5in"
+                  margin-top="1in"
+                  margin-bottom="1in"
+                  margin-left="0.75in"
+                  margin-right="0.75in">
+      <fo:region-body
+      margin-top="1in" margin-bottom="1in"
+    column-count="2" column-gap="0.25in"/>
+      <fo:region-before extent="1in"/>
+      <fo:region-after extent="1in"/>
+    </fo:simple-page-master>
+
+  </fo:layout-master-set>
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="only">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block font-size="16pt"
+                font-family="sans-serif"
+                line-height="normal"
+                text-align="start"
+        color="blue">Columns in FOP</fo:block>
+  </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block font-size="10pt"
+                font-family="sans-serif"
+                line-height="12pt"
+        space-before.optimum="6pt"
+                text-align="end"
+        color="blue">Page #</fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <!-- Block 0 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 0:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 1 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 1:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 2 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 2:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 3 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 3:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 4 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="all">
+    <fo:inline color="red">Block 4:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 5 -->
+          <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 5:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 6 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 6:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 7 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 7:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 8 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 8:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 9 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="all">
+    <fo:inline color="red">Block 9:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/region_body/simplecol4.fo b/examples/fo/region_body/simplecol4.fo
new file mode 100644 (file)
index 0000000..6e73fa4
--- /dev/null
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <!-- defines page layout -->
+  <fo:layout-master-set>
+
+    <!-- layout for the first page -->
+    <fo:simple-page-master master-name="only"
+                  page-height="11in"
+                  page-width="8.5in"
+                  margin-top="1in"
+                  margin-bottom="1in"
+                  margin-left="0.75in"
+                  margin-right="0.75in">
+      <fo:region-body
+      margin-top="1in" margin-bottom="1in"
+    column-count="3" column-gap="0.15in"/>
+      <fo:region-before extent="1in"/>
+      <fo:region-after extent="1in"/>
+    </fo:simple-page-master>
+
+  </fo:layout-master-set>
+
+  <!-- actual layout -->
+  <fo:page-sequence master-reference="only">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block font-size="16pt"
+                font-family="sans-serif"
+                line-height="normal"
+                text-align="start"
+        color="blue">Columns in FOP</fo:block>
+  </fo:static-content>
+
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block font-size="10pt"
+                font-family="sans-serif"
+                line-height="12pt"
+        space-before.optimum="6pt"
+                text-align="end"
+        color="blue">Page #</fo:block>
+  </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <!-- Block 0 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 0:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 1 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 1:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 2 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 2:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 3 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 3:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 4 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="all">
+    <fo:inline color="red">Block 4:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 5 -->
+          <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 5:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 6 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 6:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 7 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 7:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 8 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="none">
+    <fo:inline color="green">Block 8:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+      <!-- Block 9 -->
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="start"
+        background-color="yellow"
+        span="all">
+    <fo:inline color="red">Block 9:</fo:inline>
+        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
+        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
+        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
+        read normal.pdf.
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/runtests.bat b/examples/fo/runtests.bat
new file mode 100755 (executable)
index 0000000..77e3fdc
--- /dev/null
@@ -0,0 +1,33 @@
+@echo off
+
+echo Fop Test
+echo ----------------
+
+if "%JAVA_HOME%" == "" goto error
+
+
+set LIBDIR=..\..\lib
+set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\ant.jar
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xml-apis.jar
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xercesImpl-2.2.1.jar
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.4.1.jar
+set ANT_HOME=%LIBDIR%
+
+echo Starting Tests ...
+echo %LOCALCLASSPATH%
+
+%JAVA_HOME%\bin\java.exe -Dant.home=%ANT_HOME% -classpath "%LOCALCLASSPATH%;%CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5
+
+goto end
+
+:error
+
+echo ERROR: JAVA_HOME not found in your environment.
+echo Please, set the JAVA_HOME variable in your environment to match the
+echo location of the Java Virtual Machine you want to use.
+
+:end
+
+rem set LOCALCLASSPATH=
+
diff --git a/examples/fo/runtests.sh b/examples/fo/runtests.sh
new file mode 100644 (file)
index 0000000..c3eb862
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+echo
+echo "Fop Test"
+echo "----------------"
+echo
+
+if [ "$JAVA_HOME" = "" ] ; then
+  echo "ERROR: JAVA_HOME not found in your environment."
+  echo
+  echo "Please, set the JAVA_HOME variable in your environment to match the"
+  echo "location of the Java Virtual Machine you want to use."
+  exit 1
+fi
+LIBDIR=../../lib
+LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip
+LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/ant.jar
+LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xml-apis.jar
+LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xercesImpl-2.2.1.jar
+LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xalan-2.4.1.jar
+
+ANT_HOME=$LIBDIR
+
+echo Building with classpath $CLASSPATH:$LOCALCLASSPATH
+echo
+
+echo Starting Tests...
+echo
+
+$JAVA_HOME/bin/java -Dant.home=$ANT_HOME -classpath "$LOCALCLASSPATH:$CLASSPATH" org.apache.tools.ant.Main $*
diff --git a/examples/fo/svg/boxes.svg b/examples/fo/svg/boxes.svg
new file mode 100644 (file)
index 0000000..b86c9b8
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
+"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">
+
+<svg width="20" height="20" xml:space="preserve">
+  <g style="fill:red; stroke:#000000">
+     <rect x="0" y="0" width="15" height="15"/>
+     <rect x="5" y="5" width="15" height="15"/>
+  </g>
+</svg>
+
diff --git a/examples/fo/svg/embedding.fo b/examples/fo/svg/embedding.fo
new file mode 100644 (file)
index 0000000..4cd7b2b
--- /dev/null
@@ -0,0 +1,1082 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Embedding SVG examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block text-align="center" font-weight="bold" font-size="14pt" space-before.optimum="3pt" space-after.optimum="15pt">
+      Embedding SVG
+      </fo:block>
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="20pt">
+
+<fo:instream-foreign-object>
+<svg:svg xmlns:svg="http://www.w3.org/2000/svg" width = "542px" height="505px">
+<svg:title>A less cute tiger
+</svg:title>
+<svg:g transform="translate(190, 170)">
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-122.304 84.285C-122.304 84.285 -122.203 86.179 -123.027 86.16C-123.851 86.141 -140.305 38.066 -160.833 40.309C-160.833 40.309 -143.05 32.956 -122.304 84.285z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-118.774 81.262C-118.774 81.262 -119.323 83.078 -120.092 82.779C-120.86 82.481 -119.977 31.675 -140.043 26.801C-140.043 26.801 -120.82 25.937 -118.774 81.262z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-91.284 123.59C-91.284 123.59 -89.648 124.55 -90.118 125.227C-90.589 125.904 -139.763 113.102 -149.218 131.459C-149.218 131.459 -145.539 112.572 -91.284 123.59z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-94.093 133.801C-94.093 133.801 -92.237 134.197 -92.471 134.988C-92.704 135.779 -143.407 139.121 -146.597 159.522C-146.597 159.522 -149.055 140.437 -94.093 133.801z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-98.304 128.276C-98.304 128.276 -96.526 128.939 -96.872 129.687C-97.218 130.435 -147.866 126.346 -153.998 146.064C-153.998 146.064 -153.646 126.825 -98.304 128.276z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-109.009 110.072C-109.009 110.072 -107.701 111.446 -108.34 111.967C-108.979 112.488 -152.722 86.634 -166.869 101.676C-166.869 101.676 -158.128 84.533 -109.009 110.072z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-116.554 114.263C-116.554 114.263 -115.098 115.48 -115.674 116.071C-116.25 116.661 -162.638 95.922 -174.992 112.469C-174.992 112.469 -168.247 94.447 -116.554 114.263z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-119.154 118.335C-119.154 118.335 -117.546 119.343 -118.036 120.006C-118.526 120.669 -167.308 106.446 -177.291 124.522C-177.291 124.522 -173.066 105.749 -119.154 118.335z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-108.42 118.949C-108.42 118.949 -107.298 120.48 -107.999 120.915C-108.7 121.35 -148.769 90.102 -164.727 103.207C-164.727 103.207 -153.862 87.326 -108.42 118.949z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-128.2 90C-128.2 90 -127.6 91.8 -128.4 92C-129.2 92.2 -157.8 50.2 -177.001 57.8C-177.001 57.8 -161.8 46 -128.2 90z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-127.505 96.979C-127.505 96.979 -126.53 98.608 -127.269 98.975C-128.007 99.343 -164.992 64.499 -182.101 76.061C-182.101 76.061 -169.804 61.261 -127.505 96.979z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.172">
+  <svg:path d="M-127.62 101.349C-127.62 101.349 -126.498 102.88 -127.199 103.315C-127.9 103.749 -167.969 72.502 -183.927 85.607C-183.927 85.607 -173.062 69.726 -127.62 101.349z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000">
+  <svg:path d="M-129.83 103.065C-129.327 109.113 -128.339 115.682 -126.6 118.801C-126.6 118.801 -130.2 131.201 -121.4 144.401C-121.4 144.401 -121.8 151.601 -120.2 154.801C-120.2 154.801 -116.2 163.201 -111.4 164.001C-107.516 164.648 -98.793 167.717 -88.932 169.121C-88.932 169.121 -71.8 183.201 -75 196.001C-75 196.001 -75.4 212.401 -79 214.001C-79 214.001 -67.4 202.801 -77 219.601L-81.4 238.401C-81.4 238.401 -55.8 216.801 -71.4 235.201L-81.4 261.201C-81.4 261.201 -61.8 242.801 -69 251.201L-72.2 260.001C-72.2 260.001 -29 232.801 -59.8 262.401C-59.8 262.401 -51.8 258.801 -47.4 261.601C-47.4 261.601 -40.6 260.401 -41.4 262.001C-41.4 262.001 -62.2 272.401 -65.8 290.801C-65.8 290.801 -57.4 280.801 -60.6 291.601L-60.2 303.201C-60.2 303.201 -56.2 281.601 -56.6 319.201C-56.6 319.201 -37.4 301.201 -49 322.001L-49 338.801C-49 338.801 -33.8 322.401 -40.2 335.201C-40.2 335.201 -30.2 326.401 -34.2 341.601C-34.2 341.601 -35 352.001 -30.6 340.801C-30.6 340.801 -14.6 310.201 -20.6 336.401C-20.6 336.401 -21.4 355.601 -16.6 340.801C-16.6 340.801 -16.2 351.201 -7 358.401C-7 358.401 -8.2 307.601 4.6 343.601L8.6 360.001C8.6 360.001 11.4 350.801 11 345.601C11 345.601 25.8 329.201 19 353.601C19 353.601 34.2 330.801 31 344.001C31 344.001 23.4 360.001 25 364.801C25 364.801 41.8 330.001 43 328.401C43 328.401 41 370.802 51.8 334.801C51.8 334.801 57.4 346.801 54.6 351.201C54.6 351.201 62.6 343.201 61.8 340.001C61.8 340.001 66.4 331.801 69.2 345.401C69.2 345.401 71 354.801 72.6 351.601C72.6 351.601 76.6 375.602 77.8 352.801C77.8 352.801 79.4 339.201 72.2 327.601C72.2 327.601 73 324.401 70.2 320.401C70.2 320.401 83.8 342.001 76.6 313.201C76.6 313.201 87.801 321.201 89.001 321.201C89.001 321.201 75.4 298.001 84.2 302.801C84.2 302.801 79 292.401 97.001 304.401C97.001 304.401 81 288.401 98.601 298.001C98.601 298.001 106.601 304.401 99.001 294.401C99.001 294.401 84.6 278.401 106.601 296.401C106.601 296.401 118.201 312.801 119.001 315.601C119.001 315.601 109.001 286.401 104.601 283.601C104.601 283.601 113.001 247.201 154.201 262.801C154.201 262.801 161.001 280.001 165.401 261.601C165.401 261.601 178.201 255.201 189.401 282.801C189.401 282.801 193.401 269.201 192.601 266.401C192.601 266.401 199.401 267.601 198.601 266.401C198.601 266.401 211.801 270.801 213.001 270.001C213.001 270.001 219.801 276.801 220.201 273.201C220.201 273.201 229.401 276.001 227.401 272.401C227.401 272.401 236.201 288.001 236.601 291.601L239.001 277.601L241.001 280.401C241.001 280.401 242.601 272.801 241.801 271.601C241.001 270.401 261.801 278.401 266.601 299.201L268.601 307.601C268.601 307.601 274.601 292.801 273.001 288.801C273.001 288.801 278.201 289.601 278.601 294.001C278.601 294.001 282.601 270.801 277.801 264.801C277.801 264.801 282.201 264.001 283.401 267.601L283.401 260.401C283.401 260.401 290.601 261.201 290.601 258.801C290.601 258.801 295.001 254.801 297.001 259.601C297.001 259.601 284.601 224.401 303.001 243.601C303.001 243.601 310.201 254.401 306.601 235.601C303.001 216.801 299.001 215.201 303.801 214.801C303.801 214.801 304.601 211.201 302.601 209.601C300.601 208.001 303.801 209.601 303.801 209.601C303.801 209.601 308.601 213.601 303.401 191.601C303.401 191.601 309.801 193.201 297.801 164.001C297.801 164.001 300.601 161.601 296.601 153.201C296.601 153.201 304.601 157.601 307.401 156.001C307.401 156.001 307.001 154.401 303.801 150.401C303.801 150.401 282.201 95.6 302.601 117.601C302.601 117.601 314.451 131.151 308.051 108.351C308.051 108.351 298.94 84.341 299.717 80.045L-129.83 103.065z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226; stroke:#000000">
+  <svg:path d="M299.717 80.245C300.345 80.426 302.551 81.55 303.801 83.2C303.801 83.2 310.601 94 305.401 75.6C305.401 75.6 296.201 46.8 305.001 58C305.001 58 311.001 65.2 307.801 51.6C303.936 35.173 301.401 28.8 301.401 28.8C301.401 28.8 313.001 33.6 286.201 -6L295.001 -2.4C295.001 -2.4 275.401 -42 253.801 -47.2L245.801 -53.2C245.801 -53.2 284.201 -91.2 271.401 -128C271.401 -128 264.601 -133.2 255.001 -124C255.001 -124 248.601 -119.2 242.601 -120.8C242.601 -120.8 211.801 -119.6 209.801 -119.6C207.801 -119.6 173.001 -156.8 107.401 -139.2C107.401 -139.2 102.201 -137.2 97.801 -138.4C97.801 -138.4 79.4 -154.4 30.6 -131.6C30.6 -131.6 20.6 -129.6 19 -129.6C17.4 -129.6 14.6 -129.6 6.6 -123.2C-1.4 -116.8 -1.8 -116 -3.8 -114.4C-3.8 -114.4 -20.2 -103.2 -25 -102.4C-25 -102.4 -36.6 -96 -41 -86L-44.6 -84.8C-44.6 -84.8 -46.2 -77.6 -46.6 -76.4C-46.6 -76.4 -51.4 -72.8 -52.2 -67.2C-52.2 -67.2 -61 -61.2 -60.6 -56.8C-60.6 -56.8 -62.2 -51.6 -63 -46.8C-63 -46.8 -70.2 -42 -69.4 -39.2C-69.4 -39.2 -77 -25.2 -75.8 -18.4C-75.8 -18.4 -82.2 -18.8 -85 -16.4C-85 -16.4 -85.8 -11.6 -87.4 -11.2C-87.4 -11.2 -90.2 -10 -87.8 -6C-87.8 -6 -89.4 -3.2 -89.8 -1.6C-89.8 -1.6 -89 1.2 -93.4 6.8C-93.4 6.8 -99.8 25.6 -97.8 30.8C-97.8 30.8 -97.4 35.6 -100.2 37.2C-100.2 37.2 -103.8 36.8 -95.4 48.8C-95.4 48.8 -94.6 50 -97.8 52.4C-97.8 52.4 -115 56 -117.4 72.4C-117.4 72.4 -131 87.2 -131 92.4C-131 94.705 -130.729 97.852 -130.03 102.465C-130.03 102.465 -130.6 110.801 -103 111.601C-75.4 112.401 299.717 80.245 299.717 80.245z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M-115.6 102.6C-140.6 63.2 -126.2 119.601 -126.2 119.601C-117.4 154.001 12.2 116.401 12.2 116.401C12.2 116.401 181.001 86 192.201 82C203.401 78 298.601 84.4 298.601 84.4L293.001 67.6C228.201 21.2 209.001 44.4 195.401 40.4C181.801 36.4 184.201 46 181.001 46.8C177.801 47.6 138.601 22.8 132.201 23.6C125.801 24.4 100.459 0.649 115.401 32.4C131.401 66.4 57 71.6 40.2 60.4C23.4 49.2 47.4 78.8 47.4 78.8C65.8 98.8 31.4 82 31.4 82C-3 69.2 -27 94.8 -30.2 95.6C-33.4 96.4 -38.2 99.6 -39 93.2C-39.8 86.8 -47.31 70.099 -79 96.4C-99 113.001 -112.8 91 -112.8 91L-115.6 102.6z"/>
+ </svg:g>
+ <svg:g style="fill: #e87f3a">
+  <svg:path d="M133.51 25.346C127.11 26.146 101.743 2.407 116.71 34.146C133.31 69.346 58.31 73.346 41.51 62.146C24.709 50.946 48.71 80.546 48.71 80.546C67.11 100.546 32.709 83.746 32.709 83.746C-1.691 70.946 -25.691 96.546 -28.891 97.346C-32.091 98.146 -36.891 101.346 -37.691 94.946C-38.491 88.546 -45.87 72.012 -77.691 98.146C-98.927 115.492 -112.418 94.037 -112.418 94.037L-115.618 104.146C-140.618 64.346 -125.546 122.655 -125.546 122.655C-116.745 157.056 13.509 118.146 13.509 118.146C13.509 118.146 182.31 87.746 193.51 83.746C204.71 79.746 299.038 86.073 299.038 86.073L293.51 68.764C228.71 22.364 210.31 46.146 196.71 42.146C183.11 38.146 185.51 47.746 182.31 48.546C179.11 49.346 139.91 24.546 133.51 25.346z"/>
+ </svg:g>
+ <svg:g style="fill: #ea8c4d">
+  <svg:path d="M134.819 27.091C128.419 27.891 103.685 3.862 118.019 35.891C134.219 72.092 59.619 75.092 42.819 63.892C26.019 52.692 50.019 82.292 50.019 82.292C68.419 102.292 34.019 85.492 34.019 85.492C-0.381 72.692 -24.382 98.292 -27.582 99.092C-30.782 99.892 -35.582 103.092 -36.382 96.692C-37.182 90.292 -44.43 73.925 -76.382 99.892C-98.855 117.983 -112.036 97.074 -112.036 97.074L-115.636 105.692C-139.436 66.692 -124.891 125.71 -124.891 125.71C-116.091 160.11 14.819 119.892 14.819 119.892C14.819 119.892 183.619 89.492 194.819 85.492C206.019 81.492 299.474 87.746 299.474 87.746L294.02 69.928C229.219 23.528 211.619 47.891 198.019 43.891C184.419 39.891 186.819 49.491 183.619 50.292C180.419 51.092 141.219 26.291 134.819 27.091z"/>
+ </svg:g>
+ <svg:g style="fill: #ec9961">
+  <svg:path d="M136.128 28.837C129.728 29.637 104.999 5.605 119.328 37.637C136.128 75.193 60.394 76.482 44.128 65.637C27.328 54.437 51.328 84.037 51.328 84.037C69.728 104.037 35.328 87.237 35.328 87.237C0.928 74.437 -23.072 100.037 -26.272 100.837C-29.472 101.637 -34.272 104.837 -35.072 98.437C-35.872 92.037 -42.989 75.839 -75.073 101.637C-98.782 120.474 -111.655 100.11 -111.655 100.11L-115.655 107.237C-137.455 70.437 -124.236 128.765 -124.236 128.765C-115.436 163.165 16.128 121.637 16.128 121.637C16.128 121.637 184.928 91.237 196.129 87.237C207.329 83.237 299.911 89.419 299.911 89.419L294.529 71.092C229.729 24.691 212.929 49.637 199.329 45.637C185.728 41.637 188.128 51.237 184.928 52.037C181.728 52.837 142.528 28.037 136.128 28.837z"/>
+ </svg:g>
+ <svg:g style="fill: #eea575">
+  <svg:path d="M137.438 30.583C131.037 31.383 106.814 7.129 120.637 39.383C137.438 78.583 62.237 78.583 45.437 67.383C28.637 56.183 52.637 85.783 52.637 85.783C71.037 105.783 36.637 88.983 36.637 88.983C2.237 76.183 -21.763 101.783 -24.963 102.583C-28.163 103.383 -32.963 106.583 -33.763 100.183C-34.563 93.783 -41.548 77.752 -73.763 103.383C-98.709 122.965 -111.273 103.146 -111.273 103.146L-115.673 108.783C-135.473 73.982 -123.582 131.819 -123.582 131.819C-114.782 166.22 17.437 123.383 17.437 123.383C17.437 123.383 186.238 92.983 197.438 88.983C208.638 84.983 300.347 91.092 300.347 91.092L295.038 72.255C230.238 25.855 214.238 51.383 200.638 47.383C187.038 43.383 189.438 52.983 186.238 53.783C183.038 54.583 143.838 29.783 137.438 30.583z"/>
+ </svg:g>
+ <svg:g style="fill: #f1b288">
+  <svg:path d="M138.747 32.328C132.347 33.128 106.383 9.677 121.947 41.128C141.147 79.928 63.546 80.328 46.746 69.128C29.946 57.928 53.946 87.528 53.946 87.528C72.346 107.528 37.946 90.728 37.946 90.728C3.546 77.928 -20.454 103.528 -23.654 104.328C-26.854 105.128 -31.654 108.328 -32.454 101.928C-33.254 95.528 -40.108 79.665 -72.454 105.128C-98.636 125.456 -110.891 106.183 -110.891 106.183L-115.691 110.328C-133.691 77.128 -122.927 134.874 -122.927 134.874C-114.127 169.274 18.746 125.128 18.746 125.128C18.746 125.128 187.547 94.728 198.747 90.728C209.947 86.728 300.783 92.764 300.783 92.764L295.547 73.419C230.747 27.019 215.547 53.128 201.947 49.128C188.347 45.128 190.747 54.728 187.547 55.528C184.347 56.328 145.147 31.528 138.747 32.328z"/>
+ </svg:g>
+ <svg:g style="fill: #f3bf9c">
+  <svg:path d="M140.056 34.073C133.655 34.873 107.313 11.613 123.255 42.873C143.656 82.874 64.855 82.074 48.055 70.874C31.255 59.674 55.255 89.274 55.255 89.274C73.655 109.274 39.255 92.474 39.255 92.474C4.855 79.674 -19.145 105.274 -22.345 106.074C-25.545 106.874 -30.345 110.074 -31.145 103.674C-31.945 97.274 -38.668 81.578 -71.145 106.874C-98.564 127.947 -110.509 109.219 -110.509 109.219L-115.709 111.874C-131.709 81.674 -122.273 137.929 -122.273 137.929C-113.473 172.329 20.055 126.874 20.055 126.874C20.055 126.874 188.856 96.474 200.056 92.474C211.256 88.474 301.22 94.437 301.22 94.437L296.056 74.583C231.256 28.183 216.856 54.874 203.256 50.874C189.656 46.873 192.056 56.474 188.856 57.274C185.656 58.074 146.456 33.273 140.056 34.073z"/>
+ </svg:g>
+ <svg:g style="fill: #f5ccb0">
+  <svg:path d="M141.365 35.819C134.965 36.619 107.523 13.944 124.565 44.619C146.565 84.219 66.164 83.819 49.364 72.619C32.564 61.419 56.564 91.019 56.564 91.019C74.964 111.019 40.564 94.219 40.564 94.219C6.164 81.419 -17.836 107.019 -21.036 107.819C-24.236 108.619 -29.036 111.819 -29.836 105.419C-30.636 99.019 -37.227 83.492 -69.836 108.619C-98.491 130.438 -110.127 112.256 -110.127 112.256L-115.727 113.419C-130.128 85.019 -121.618 140.983 -121.618 140.983C-112.818 175.384 21.364 128.619 21.364 128.619C21.364 128.619 190.165 98.219 201.365 94.219C212.565 90.219 301.656 96.11 301.656 96.11L296.565 75.746C231.765 29.346 218.165 56.619 204.565 52.619C190.965 48.619 193.365 58.219 190.165 59.019C186.965 59.819 147.765 35.019 141.365 35.819z"/>
+ </svg:g>
+ <svg:g style="fill: #f8d8c4">
+  <svg:path d="M142.674 37.565C136.274 38.365 108.832 15.689 125.874 46.365C147.874 85.965 67.474 85.565 50.674 74.365C33.874 63.165 57.874 92.765 57.874 92.765C76.274 112.765 41.874 95.965 41.874 95.965C7.473 83.165 -16.527 108.765 -19.727 109.565C-22.927 110.365 -27.727 113.565 -28.527 107.165C-29.327 100.765 -35.786 85.405 -68.527 110.365C-98.418 132.929 -109.745 115.293 -109.745 115.293L-115.745 114.965C-129.346 88.564 -120.963 144.038 -120.963 144.038C-112.163 178.438 22.673 130.365 22.673 130.365C22.673 130.365 191.474 99.965 202.674 95.965C213.874 91.965 302.093 97.783 302.093 97.783L297.075 76.91C232.274 30.51 219.474 58.365 205.874 54.365C192.274 50.365 194.674 59.965 191.474 60.765C188.274 61.565 149.074 36.765 142.674 37.565z"/>
+ </svg:g>
+ <svg:g style="fill: #fae5d7">
+  <svg:path d="M143.983 39.31C137.583 40.11 110.529 17.223 127.183 48.11C149.183 88.91 68.783 87.31 51.983 76.11C35.183 64.91 59.183 94.51 59.183 94.51C77.583 114.51 43.183 97.71 43.183 97.71C8.783 84.91 -15.217 110.51 -18.417 111.31C-21.618 112.11 -26.418 115.31 -27.218 108.91C-28.018 102.51 -34.346 87.318 -67.218 112.11C-98.345 135.42 -109.363 118.329 -109.363 118.329L-115.764 116.51C-128.764 92.51 -120.309 147.093 -120.309 147.093C-111.509 181.493 23.983 132.11 23.983 132.11C23.983 132.11 192.783 101.71 203.983 97.71C215.183 93.71 302.529 99.456 302.529 99.456L297.583 78.074C232.783 31.673 220.783 60.11 207.183 56.11C193.583 52.11 195.983 61.71 192.783 62.51C189.583 63.31 150.383 38.51 143.983 39.31z"/>
+ </svg:g>
+ <svg:g style="fill: #fcf2eb">
+  <svg:path d="M145.292 41.055C138.892 41.855 112.917 18.411 128.492 49.855C149.692 92.656 70.092 89.056 53.292 77.856C36.492 66.656 60.492 96.256 60.492 96.256C78.892 116.256 44.492 99.456 44.492 99.456C10.092 86.656 -13.908 112.256 -17.108 113.056C-20.308 113.856 -25.108 117.056 -25.908 110.656C-26.708 104.256 -32.905 89.232 -65.908 113.856C-98.273 137.911 -108.982 121.365 -108.982 121.365L-115.782 118.056C-128.582 94.856 -119.654 150.147 -119.654 150.147C-110.854 184.547 25.292 133.856 25.292 133.856C25.292 133.856 194.093 103.456 205.293 99.456C216.493 95.456 302.965 101.128 302.965 101.128L298.093 79.237C233.292 32.837 222.093 61.856 208.493 57.856C194.893 53.855 197.293 63.456 194.093 64.256C190.892 65.056 151.692 40.255 145.292 41.055z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M-115.8 119.601C-128.6 97.6 -119 153.201 -119 153.201C-110.2 187.601 26.6 135.601 26.6 135.601C26.6 135.601 195.401 105.2 206.601 101.2C217.801 97.2 303.401 102.8 303.401 102.8L298.601 80.4C233.801 34 223.401 63.6 209.801 59.6C196.201 55.6 198.601 65.2 195.401 66C192.201 66.8 153.001 42 146.601 42.8C140.201 43.6 114.981 19.793 129.801 51.6C152.028 99.307 69.041 89.227 54.6 79.6C37.8 68.4 61.8 98 61.8 98C80.2 118.001 45.8 101.2 45.8 101.2C11.4 88.4 -12.6 114.001 -15.8 114.801C-19 115.601 -23.8 118.801 -24.6 112.401C-25.4 106 -31.465 91.144 -64.6 115.601C-98.2 140.401 -108.6 124.401 -108.6 124.401L-115.8 119.601z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-74.2 149.601C-74.2 149.601 -81.4 161.201 -60.6 174.401C-60.6 174.401 -59.2 175.801 -77.2 171.601C-77.2 171.601 -83.4 169.601 -85 159.201C-85 159.201 -89.8 154.801 -94.6 149.201C-99.4 143.601 -74.2 149.601 -74.2 149.601z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M65.8 102C65.8 102 83.498 128.821 82.9 133.601C81.6 144.001 81.4 153.601 84.6 157.601C87.801 161.601 96.601 194.801 96.601 194.801C96.601 194.801 96.201 196.001 108.601 158.001C108.601 158.001 120.201 142.001 100.201 123.601C100.201 123.601 65 94.8 65.8 102z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-54.2 176.401C-54.2 176.401 -43 183.601 -57.4 214.801L-51 212.401C-51 212.401 -51.8 223.601 -55 226.001L-47.8 222.801C-47.8 222.801 -43 230.801 -47 235.601C-47 235.601 -30.2 243.601 -31 250.001C-31 250.001 -24.6 242.001 -28.6 235.601C-32.6 229.201 -39.8 233.201 -39 214.801L-47.8 218.001C-47.8 218.001 -42.2 209.201 -42.2 202.801L-50.2 205.201C-50.2 205.201 -34.731 178.623 -45.4 177.201C-51.4 176.401 -54.2 176.401 -54.2 176.401z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-21.8 193.201C-21.8 193.201 -19 188.801 -21.8 189.601C-24.6 190.401 -55.8 205.201 -61.8 214.801C-61.8 214.801 -27.4 190.401 -21.8 193.201z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-11.4 201.201C-11.4 201.201 -8.6 196.801 -11.4 197.601C-14.2 198.401 -45.4 213.201 -51.4 222.801C-51.4 222.801 -17 198.401 -11.4 201.201z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M1.8 186.001C1.8 186.001 4.6 181.601 1.8 182.401C-1 183.201 -32.2 198.001 -38.2 207.601C-38.2 207.601 -3.8 183.201 1.8 186.001z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-21.4 229.601C-21.4 229.601 -21.4 223.601 -24.2 224.401C-27 225.201 -63 242.801 -69 252.401C-69 252.401 -27 226.801 -21.4 229.601z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-20.2 218.801C-20.2 218.801 -19 214.001 -21.8 214.801C-23.8 214.801 -50.2 226.401 -56.2 236.001C-56.2 236.001 -26.6 214.401 -20.2 218.801z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-34.6 266.401L-44.6 274.001C-44.6 274.001 -34.2 266.401 -30.6 267.601C-30.6 267.601 -37.4 278.801 -38.2 284.001C-38.2 284.001 -27.8 271.201 -22.2 271.601C-22.2 271.601 -14.6 272.001 -14.6 282.801C-14.6 282.801 -9 272.401 -5.8 272.801C-5.8 272.801 -4.6 279.201 -5.8 286.001C-5.8 286.001 -1.8 278.401 2.2 280.001C2.2 280.001 8.6 278.001 7.8 289.601C7.8 289.601 7.8 300.001 7 302.801C7 302.801 12.6 276.401 15 276.001C15 276.001 23 274.801 27.8 283.601C27.8 283.601 23.8 276.001 28.6 278.001C28.6 278.001 39.4 279.601 42.6 286.401C42.6 286.401 35.8 274.401 41.4 277.601C41.4 277.601 48.2 277.601 49.4 284.001C49.4 284.001 57.8 305.201 59.8 306.801C59.8 306.801 52.2 285.201 53.8 285.201C53.8 285.201 51.8 273.201 57 288.001C57 288.001 53.8 274.001 59.4 274.801C65 275.601 69.4 285.601 77.8 283.201C77.8 283.201 87.401 288.801 89.401 219.601L-34.6 266.401z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-29.8 173.601C-29.8 173.601 -15 167.601 25 173.601C25 173.601 32.2 174.001 39 165.201C45.8 156.401 72.6 149.201 79 151.201L88.601 157.601L89.401 158.801C89.401 158.801 101.801 169.201 102.201 176.801C102.601 184.401 87.801 232.401 78.2 248.401C68.6 264.401 59 276.801 39.8 274.401C39.8 274.401 19 270.401 -6.6 274.401C-6.6 274.401 -35.8 272.801 -38.6 264.801C-41.4 256.801 -27.4 241.601 -27.4 241.601C-27.4 241.601 -23 233.201 -24.2 218.801C-25.4 204.401 -25 176.401 -29.8 173.601z"/>
+ </svg:g>
+ <svg:g style="fill: #e5668c">
+  <svg:path d="M-7.8 175.601C0.6 194.001 -29 259.201 -29 259.201C-31 260.801 -16.34 266.846 -6.2 264.401C4.746 261.763 45 266.001 45 266.001C68.6 250.401 81.4 206.001 81.4 206.001C81.4 206.001 91.801 182.001 74.2 178.801C56.6 175.601 -7.8 175.601 -7.8 175.601z"/>
+ </svg:g>
+ <svg:g style="fill: #b23259">
+  <svg:path d="M-9.831 206.497C-6.505 193.707 -4.921 181.906 -7.8 175.601C-7.8 175.601 54.6 182.001 65.8 161.201C70.041 153.326 84.801 184.001 84.4 193.601C84.4 193.601 21.4 208.001 6.6 196.801L-9.831 206.497z"/>
+ </svg:g>
+ <svg:g style="fill: #a5264c">
+  <svg:path d="M-5.4 222.801C-5.4 222.801 -3.4 230.001 -5.8 234.001C-5.8 234.001 -7.4 234.801 -8.6 235.201C-8.6 235.201 -7.4 238.801 -1.4 240.401C-1.4 240.401 0.6 244.801 3 245.201C5.4 245.601 10.2 251.201 14.2 250.001C18.2 248.801 29.4 244.801 29.4 244.801C29.4 244.801 35 241.601 43.8 245.201C43.8 245.201 46.175 244.399 46.6 240.401C47.1 235.701 50.2 232.001 52.2 230.001C54.2 228.001 63.8 215.201 62.6 214.801C61.4 214.401 -5.4 222.801 -5.4 222.801z"/>
+ </svg:g>
+ <svg:g style="fill: #ff727f; stroke:#000000">
+  <svg:path d="M-9.8 174.401C-9.8 174.401 -12.6 196.801 -9.4 205.201C-6.2 213.601 -7 215.601 -7.8 219.601C-8.6 223.601 -4.2 233.601 1.4 239.601L13.4 241.201C13.4 241.201 28.6 237.601 37.8 240.401C37.8 240.401 46.794 241.744 50.2 226.801C50.2 226.801 55 220.401 62.2 217.601C69.4 214.801 76.6 173.201 72.6 165.201C68.6 157.201 54.2 152.801 38.2 168.401C22.2 184.001 20.2 167.201 -9.8 174.401z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-8.2 249.201C-8.2 249.201 -9 247.201 -13.4 246.801C-13.4 246.801 -35.8 243.201 -44.2 230.801C-44.2 230.801 -51 225.201 -46.6 236.801C-46.6 236.801 -36.2 257.201 -29.4 260.001C-29.4 260.001 -13 264.001 -8.2 249.201z"/>
+ </svg:g>
+ <svg:g style="fill: #cc3f4c">
+  <svg:path d="M71.742 185.229C72.401 177.323 74.354 168.709 72.6 165.201C66.154 152.307 49.181 157.695 38.2 168.401C22.2 184.001 20.2 167.201 -9.8 174.401C-9.8 174.401 -11.545 188.364 -10.705 198.376C-10.705 198.376 26.6 186.801 27.4 192.401C27.4 192.401 29 189.201 38.2 189.201C47.4 189.201 70.142 188.029 71.742 185.229z"/>
+ </svg:g>
+ <svg:g style="stroke:#a51926; stroke-width:2">
+  <svg:path d="M28.6 175.201C28.6 175.201 33.4 180.001 29.8 189.601C29.8 189.601 15.4 205.601 17.4 219.601"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-19.4 260.001C-19.4 260.001 -23.8 247.201 -15 254.001C-15 254.001 -10.2 256.001 -11.4 257.601C-12.6 259.201 -18.2 263.201 -19.4 260.001z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-14.36 261.201C-14.36 261.201 -17.88 250.961 -10.84 256.401C-10.84 256.401 -6.419 258.849 -7.96 259.281C-12.52 260.561 -7.96 263.121 -14.36 261.201z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-9.56 261.201C-9.56 261.201 -13.08 250.961 -6.04 256.401C-6.04 256.401 -1.665 258.711 -3.16 259.281C-6.52 260.561 -3.16 263.121 -9.56 261.201z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-2.96 261.401C-2.96 261.401 -6.48 251.161 0.56 256.601C0.56 256.601 4.943 258.933 3.441 259.481C0.48 260.561 3.441 263.321 -2.96 261.401z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M3.52 261.321C3.52 261.321 0 251.081 7.041 256.521C7.041 256.521 10.881 258.121 9.921 259.401C8.961 260.681 9.921 263.241 3.52 261.321z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M10.2 262.001C10.2 262.001 5.4 249.601 14.6 256.001C14.6 256.001 19.4 258.001 18.2 259.601C17 261.201 18.2 264.401 10.2 262.001z"/>
+ </svg:g>
+ <svg:g style="stroke:#a5264c; stroke-width:2">
+  <svg:path d="M-18.2 244.801C-18.2 244.801 -5 242.001 1 245.201C1 245.201 7 246.401 8.2 246.001C9.4 245.601 12.6 245.201 12.6 245.201"/>
+ </svg:g>
+ <svg:g style="stroke:#a5264c; stroke-width:2">
+  <svg:path d="M15.8 253.601C15.8 253.601 27.8 240.001 39.8 244.401C46.816 246.974 45.8 243.601 46.6 240.801C47.4 238.001 47.6 233.801 52.6 230.801"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M33 237.601C33 237.601 29 226.801 26.2 239.601C23.4 252.401 20.2 256.001 18.6 258.801C18.6 258.801 18.6 264.001 27 263.601C27 263.601 37.8 263.201 38.2 260.401C38.6 257.601 37 246.001 33 237.601z"/>
+ </svg:g>
+ <svg:g style="stroke:#a5264c; stroke-width:2">
+  <svg:path d="M47 244.801C47 244.801 50.6 242.401 53 243.601"/>
+ </svg:g>
+ <svg:g style="stroke:#a5264c; stroke-width:2">
+  <svg:path d="M53.5 228.401C53.5 228.401 56.4 223.501 61.2 222.701"/>
+ </svg:g>
+ <svg:g style="fill: #b2b2b2">
+  <svg:path d="M-25.8 265.201C-25.8 265.201 -7.8 268.401 -3.4 266.801C-3.4 266.801 5.4 266.801 -3 268.801C-3 268.801 -15.8 268.801 -23.8 267.601C-23.8 267.601 -35.4 262.001 -25.8 265.201z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-11.8 172.001C-11.8 172.001 5.8 172.001 7.8 172.801C7.8 172.801 15 203.601 11.4 211.201C11.4 211.201 10.2 214.001 7.4 208.401C7.4 208.401 -11 175.601 -14.2 173.601C-17.4 171.601 -13 172.001 -11.8 172.001z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-88.9 169.301C-88.9 169.301 -80 171.001 -67.4 173.601C-67.4 173.601 -62.6 196.001 -59.4 200.801C-56.2 205.601 -59.8 205.601 -63.4 202.801C-67 200.001 -81.8 186.001 -83.8 181.601C-85.8 177.201 -88.9 169.301 -88.9 169.301z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-67.039 173.818C-67.039 173.818 -61.239 175.366 -60.23 177.581C-59.222 179.795 -61.432 183.092 -61.432 183.092C-61.432 183.092 -62.432 186.397 -63.634 184.235C-64.836 182.072 -67.708 174.412 -67.039 173.818z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-67 173.601C-67 173.601 -63.4 178.801 -59.8 178.801C-56.2 178.801 -55.818 178.388 -53 179.001C-48.4 180.001 -48.8 178.001 -42.2 179.201C-39.56 179.681 -37 178.801 -34.2 180.001C-31.4 181.201 -28.2 180.401 -27 178.401C-25.8 176.401 -21 172.201 -21 172.201C-21 172.201 -33.8 174.001 -36.6 174.801C-36.6 174.801 -59 176.001 -67 173.601z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-22.4 173.801C-22.4 173.801 -28.85 177.301 -29.25 179.701C-29.65 182.101 -24 185.801 -24 185.801C-24 185.801 -21.25 190.401 -20.65 188.001C-20.05 185.601 -21.6 174.201 -22.4 173.801z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-59.885 179.265C-59.885 179.265 -52.878 190.453 -52.661 179.242C-52.661 179.242 -52.104 177.984 -53.864 177.962C-59.939 177.886 -58.418 173.784 -59.885 179.265z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-52.707 179.514C-52.707 179.514 -44.786 190.701 -45.422 179.421C-45.422 179.421 -45.415 179.089 -47.168 178.936C-51.915 178.522 -51.57 174.004 -52.707 179.514z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-45.494 179.522C-45.494 179.522 -37.534 190.15 -38.203 180.484C-38.203 180.484 -38.084 179.251 -39.738 178.95C-43.63 178.244 -43.841 174.995 -45.494 179.522z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffcc; stroke:#000000; stroke-width:0.5">
+  <svg:path d="M-38.618 179.602C-38.618 179.602 -30.718 191.163 -30.37 181.382C-30.37 181.382 -28.726 180.004 -30.472 179.782C-36.29 179.042 -35.492 174.588 -38.618 179.602z"/>
+ </svg:g>
+ <svg:g style="fill: #e5e5b2">
+  <svg:path d="M-74.792 183.132L-82.45 181.601C-85.05 176.601 -87.15 170.451 -87.15 170.451C-87.15 170.451 -80.8 171.451 -68.3 174.251C-68.3 174.251 -67.424 177.569 -65.952 183.364L-74.792 183.132z"/>
+ </svg:g>
+ <svg:g style="fill: #e5e5b2">
+  <svg:path d="M-9.724 178.47C-11.39 175.964 -12.707 174.206 -13.357 173.8C-16.37 171.917 -12.227 172.294 -11.098 172.294C-11.098 172.294 5.473 172.294 7.356 173.047C7.356 173.047 7.88 175.289 8.564 178.68C8.564 178.68 -1.524 176.67 -9.724 178.47z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M43.88 40.321C71.601 44.281 97.121 8.641 98.881 -1.04C100.641 -10.72 90.521 -22.6 90.521 -22.6C91.841 -25.68 87.001 -39.76 81.721 -49C76.441 -58.24 60.54 -57.266 43 -58.24C27.16 -59.12 8.68 -35.8 7.36 -34.04C6.04 -32.28 12.2 6.001 13.52 11.721C14.84 17.441 12.2 43.841 12.2 43.841C46.44 34.741 16.16 36.361 43.88 40.321z"/>
+ </svg:g>
+ <svg:g style="fill: #ea8e51">
+  <svg:path d="M8.088 -33.392C6.792 -31.664 12.84 5.921 14.136 11.537C15.432 17.153 12.84 43.073 12.84 43.073C45.512 34.193 16.728 35.729 43.944 39.617C71.161 43.505 96.217 8.513 97.945 -0.992C99.673 -10.496 89.737 -22.16 89.737 -22.16C91.033 -25.184 86.281 -39.008 81.097 -48.08C75.913 -57.152 60.302 -56.195 43.08 -57.152C27.528 -58.016 9.384 -35.12 8.088 -33.392z"/>
+ </svg:g>
+ <svg:g style="fill: #efaa7c">
+  <svg:path d="M8.816 -32.744C7.544 -31.048 13.48 5.841 14.752 11.353C16.024 16.865 13.48 42.305 13.48 42.305C44.884 33.145 17.296 35.097 44.008 38.913C70.721 42.729 95.313 8.385 97.009 -0.944C98.705 -10.272 88.953 -21.72 88.953 -21.72C90.225 -24.688 85.561 -38.256 80.473 -47.16C75.385 -56.064 60.063 -55.125 43.16 -56.064C27.896 -56.912 10.088 -34.44 8.816 -32.744z"/>
+ </svg:g>
+ <svg:g style="fill: #f4c6a8">
+  <svg:path d="M9.544 -32.096C8.296 -30.432 14.12 5.761 15.368 11.169C16.616 16.577 14.12 41.537 14.12 41.537C43.556 32.497 17.864 34.465 44.072 38.209C70.281 41.953 94.409 8.257 96.073 -0.895C97.737 -10.048 88.169 -21.28 88.169 -21.28C89.417 -24.192 84.841 -37.504 79.849 -46.24C74.857 -54.976 59.824 -54.055 43.24 -54.976C28.264 -55.808 10.792 -33.76 9.544 -32.096z"/>
+ </svg:g>
+ <svg:g style="fill: #f9e2d3">
+  <svg:path d="M10.272 -31.448C9.048 -29.816 14.76 5.681 15.984 10.985C17.208 16.289 14.76 40.769 14.76 40.769C42.628 31.849 18.432 33.833 44.136 37.505C69.841 41.177 93.505 8.129 95.137 -0.848C96.769 -9.824 87.385 -20.84 87.385 -20.84C88.609 -23.696 84.121 -36.752 79.225 -45.32C74.329 -53.888 59.585 -52.985 43.32 -53.888C28.632 -54.704 11.496 -33.08 10.272 -31.448z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M44.2 36.8C69.4 40.4 92.601 8 94.201 -0.8C95.801 -9.6 86.601 -20.4 86.601 -20.4C87.801 -23.2 83.4 -36 78.6 -44.4C73.8 -52.8 59.346 -51.914 43.4 -52.8C29 -53.6 12.2 -32.4 11 -30.8C9.8 -29.2 15.4 5.6 16.6 10.8C17.8 16 15.4 40 15.4 40C40.9 31.4 19 33.2 44.2 36.8z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M90.601 2.8C90.601 2.8 62.8 10.4 51.2 8.8C51.2 8.8 35.4 2.2 26.6 24C26.6 24 23 31.2 21 33.2C19 35.2 90.601 2.8 90.601 2.8z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M94.401 0.6C94.401 0.6 65.4 12.8 55.4 12.4C55.4 12.4 39 7.8 30.6 22.4C30.6 22.4 22.2 31.6 19 33.2C19 33.2 18.6 34.8 25 30.8L35.4 36C35.4 36 50.2 45.6 59.8 29.6C59.8 29.6 63.8 18.4 63.8 16.4C63.8 14.4 85 8.8 86.601 8.4C88.201 8 94.801 3.8 94.401 0.6z"/>
+ </svg:g>
+ <svg:g style="fill: #99cc32">
+  <svg:path d="M47 36.514C40.128 36.514 31.755 32.649 31.755 26.4C31.755 20.152 40.128 13.887 47 13.887C53.874 13.887 59.446 18.952 59.446 25.2C59.446 31.449 53.874 36.514 47 36.514z"/>
+ </svg:g>
+ <svg:g style="fill: #659900">
+  <svg:path d="M43.377 19.83C38.531 20.552 33.442 22.055 33.514 21.839C35.054 17.22 41.415 13.887 47 13.887C51.296 13.887 55.084 15.865 57.32 18.875C57.32 18.875 52.004 18.545 43.377 19.83z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M55.4 19.6C55.4 19.6 51 16.4 51 18.6C51 18.6 54.6 23 55.4 19.6z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M45.4 27.726C42.901 27.726 40.875 25.7 40.875 23.2C40.875 20.701 42.901 18.675 45.4 18.675C47.9 18.675 49.926 20.701 49.926 23.2C49.926 25.7 47.9 27.726 45.4 27.726z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M-58.6 14.4C-58.6 14.4 -61.8 -6.8 -59.4 -11.2C-59.4 -11.2 -48.6 -21.2 -49 -24.8C-49 -24.8 -49.4 -42.8 -50.6 -43.6C-51.8 -44.4 -59.4 -50.4 -65.4 -44C-65.4 -44 -75.8 -26 -75 -19.6L-75 -17.6C-75 -17.6 -82.6 -18 -84.2 -16C-84.2 -16 -85.4 -10.8 -86.6 -10.4C-86.6 -10.4 -89.4 -8 -87.4 -5.2C-87.4 -5.2 -89.4 -2.8 -89 1.2L-81.4 5.2C-81.4 5.2 -79.4 19.6 -68.6 24.8C-63.764 27.129 -60.6 20.4 -58.6 14.4z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M-59.6 12.56C-59.6 12.56 -62.48 -6.52 -60.32 -10.48C-60.32 -10.48 -50.6 -19.48 -50.96 -22.72C-50.96 -22.72 -51.32 -38.92 -52.4 -39.64C-53.48 -40.36 -60.32 -45.76 -65.72 -40C-65.72 -40 -75.08 -23.8 -74.36 -18.04L-74.36 -16.24C-74.36 -16.24 -81.2 -16.6 -82.64 -14.8C-82.64 -14.8 -83.72 -10.12 -84.8 -9.76C-84.8 -9.76 -87.32 -7.6 -85.52 -5.08C-85.52 -5.08 -87.32 -2.92 -86.96 0.68L-80.12 4.28C-80.12 4.28 -78.32 17.24 -68.6 21.92C-64.248 24.015 -61.4 17.96 -59.6 12.56z"/>
+ </svg:g>
+ <svg:g style="fill: #eb955c">
+  <svg:path d="M-51.05 -42.61C-52.14 -43.47 -59.63 -49.24 -65.48 -43C-65.48 -43 -75.62 -25.45 -74.84 -19.21L-74.84 -17.26C-74.84 -17.26 -82.25 -17.65 -83.81 -15.7C-83.81 -15.7 -84.98 -10.63 -86.15 -10.24C-86.15 -10.24 -88.88 -7.9 -86.93 -5.17C-86.93 -5.17 -88.88 -2.83 -88.49 1.07L-81.08 4.97C-81.08 4.97 -79.13 19.01 -68.6 24.08C-63.886 26.35 -60.8 19.79 -58.85 13.94C-58.85 13.94 -61.97 -6.73 -59.63 -11.02C-59.63 -11.02 -49.1 -20.77 -49.49 -24.28C-49.49 -24.28 -49.88 -41.83 -51.05 -42.61z"/>
+ </svg:g>
+ <svg:g style="fill: #f2b892">
+  <svg:path d="M-51.5 -41.62C-52.48 -42.54 -59.86 -48.08 -65.56 -42C-65.56 -42 -75.44 -24.9 -74.68 -18.82L-74.68 -16.92C-74.68 -16.92 -81.9 -17.3 -83.42 -15.4C-83.42 -15.4 -84.56 -10.46 -85.7 -10.08C-85.7 -10.08 -88.36 -7.8 -86.46 -5.14C-86.46 -5.14 -88.36 -2.86 -87.98 0.94L-80.76 4.74C-80.76 4.74 -78.86 18.42 -68.6 23.36C-64.006 25.572 -61 19.18 -59.1 13.48C-59.1 13.48 -62.14 -6.66 -59.86 -10.84C-59.86 -10.84 -49.6 -20.34 -49.98 -23.76C-49.98 -23.76 -50.36 -40.86 -51.5 -41.62z"/>
+ </svg:g>
+ <svg:g style="fill: #f8dcc8">
+  <svg:path d="M-51.95 -40.63C-52.82 -41.61 -60.09 -46.92 -65.64 -41C-65.64 -41 -75.26 -24.35 -74.52 -18.43L-74.52 -16.58C-74.52 -16.58 -81.55 -16.95 -83.03 -15.1C-83.03 -15.1 -84.14 -10.29 -85.25 -9.92C-85.25 -9.92 -87.84 -7.7 -85.99 -5.11C-85.99 -5.11 -87.84 -2.89 -87.47 0.81L-80.44 4.51C-80.44 4.51 -78.59 17.83 -68.6 22.64C-64.127 24.794 -61.2 18.57 -59.35 13.02C-59.35 13.02 -62.31 -6.59 -60.09 -10.66C-60.09 -10.66 -50.1 -19.91 -50.47 -23.24C-50.47 -23.24 -50.84 -39.89 -51.95 -40.63z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M-59.6 12.46C-59.6 12.46 -62.48 -6.52 -60.32 -10.48C-60.32 -10.48 -50.6 -19.48 -50.96 -22.72C-50.96 -22.72 -51.32 -38.92 -52.4 -39.64C-53.16 -40.68 -60.32 -45.76 -65.72 -40C-65.72 -40 -75.08 -23.8 -74.36 -18.04L-74.36 -16.24C-74.36 -16.24 -81.2 -16.6 -82.64 -14.8C-82.64 -14.8 -83.72 -10.12 -84.8 -9.76C-84.8 -9.76 -87.32 -7.6 -85.52 -5.08C-85.52 -5.08 -87.32 -2.92 -86.96 0.68L-80.12 4.28C-80.12 4.28 -78.32 17.24 -68.6 21.92C-64.248 24.015 -61.4 17.86 -59.6 12.46z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-62.7 6.2C-62.7 6.2 -84.3 -4 -85.2 -4.8C-85.2 -4.8 -76.1 3.4 -75.3 3.4C-74.5 3.4 -62.7 6.2 -62.7 6.2z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-79.8 0C-79.8 0 -61.4 3.6 -61.4 8C-61.4 10.912 -61.643 24.331 -67 22.8C-75.4 20.4 -71.8 6 -79.8 0z"/>
+ </svg:g>
+ <svg:g style="fill: #99cc32">
+  <svg:path d="M-71.4 3.8C-71.4 3.8 -62.422 5.274 -61.4 8C-60.8 9.6 -60.137 17.908 -65.6 19C-70.152 19.911 -72.382 9.69 -71.4 3.8z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M14.595 46.349C14.098 44.607 15.409 44.738 17.2 44.2C19.2 43.6 31.4 39.8 32.2 37.2C33 34.6 46.2 39 46.2 39C48 39.8 52.4 42.4 52.4 42.4C57.2 43.6 63.8 44 63.8 44C66.2 45 69.6 47.8 69.6 47.8C84.2 58 96.601 50.8 96.601 50.8C116.601 44.2 110.601 27 110.601 27C107.601 18 110.801 14.6 110.801 14.6C111.001 10.8 118.201 17.2 118.201 17.2C120.801 21.4 121.601 26.4 121.601 26.4C129.601 37.6 126.201 19.8 126.201 19.8C126.401 18.8 123.601 15.2 123.601 14C123.601 12.8 121.801 9.4 121.801 9.4C118.801 6 121.201 -1 121.201 -1C123.001 -14.8 120.801 -13 120.801 -13C119.601 -14.8 110.401 -4.8 110.401 -4.8C108.201 -1.4 102.201 0.2 102.201 0.2C99.401 2 96.001 0.6 96.001 0.6C93.401 0.2 87.801 7.2 87.801 7.2C90.601 7 93.001 11.4 95.401 11.6C97.801 11.8 99.601 9.2 101.201 8.6C102.801 8 105.601 13.8 105.601 13.8C106.001 16.4 100.401 21.2 100.401 21.2C100.001 25.8 98.401 24.2 98.401 24.2C95.401 23.6 94.201 27.4 93.201 32C92.201 36.6 88.001 37 88.001 37C86.401 44.4 85.2 41.4 85.2 41.4C85 35.8 79 41.6 79 41.6C77.8 43.6 73.2 41.4 73.2 41.4C66.4 39.4 68.8 37.4 68.8 37.4C70.6 35.2 81.8 37.4 81.8 37.4C84 35.8 76 31.8 76 31.8C75.4 30 76.4 25.6 76.4 25.6C77.6 22.4 84.4 16.8 84.4 16.8C93.801 15.6 91.001 14 91.001 14C84.801 8.8 79 16.4 79 16.4C76.8 22.6 59.4 37.6 59.4 37.6C54.6 41 57.2 34.2 53.2 37.6C49.2 41 28.6 32 28.6 32C17.038 30.807 14.306 46.549 10.777 43.429C10.777 43.429 16.195 51.949 14.595 46.349z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M209.401 -120C209.401 -120 183.801 -112 181.001 -93.2C181.001 -93.2 178.601 -70.4 199.001 -52.8C199.001 -52.8 199.401 -46.4 201.401 -43.2C201.401 -43.2 199.801 -38.4 218.601 -46L245.801 -54.4C245.801 -54.4 252.201 -56.8 257.401 -65.6C262.601 -74.4 277.801 -93.2 274.201 -118.4C274.201 -118.4 275.401 -129.6 269.401 -130C269.401 -130 261.001 -131.6 253.801 -124C253.801 -124 247.001 -120.8 244.601 -121.2L209.401 -120z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M264.022 -120.99C264.022 -120.99 266.122 -129.92 261.282 -125.08C261.282 -125.08 254.242 -119.36 246.761 -119.36C246.761 -119.36 232.241 -117.16 227.841 -103.96C227.841 -103.96 223.881 -77.12 231.801 -71.4C231.801 -71.4 236.641 -63.92 243.681 -70.52C250.722 -77.12 266.222 -107.35 264.022 -120.99z"/>
+ </svg:g>
+ <svg:g style="fill: #323232">
+  <svg:path d="M263.648 -120.632C263.648 -120.632 265.738 -129.376 260.986 -124.624C260.986 -124.624 254.074 -119.008 246.729 -119.008C246.729 -119.008 232.473 -116.848 228.153 -103.888C228.153 -103.888 224.265 -77.536 232.041 -71.92C232.041 -71.92 236.793 -64.576 243.705 -71.056C250.618 -77.536 265.808 -107.24 263.648 -120.632z"/>
+ </svg:g>
+ <svg:g style="fill: #666666">
+  <svg:path d="M263.274 -120.274C263.274 -120.274 265.354 -128.832 260.69 -124.168C260.69 -124.168 253.906 -118.656 246.697 -118.656C246.697 -118.656 232.705 -116.536 228.465 -103.816C228.465 -103.816 224.649 -77.952 232.281 -72.44C232.281 -72.44 236.945 -65.232 243.729 -71.592C250.514 -77.952 265.394 -107.13 263.274 -120.274z"/>
+ </svg:g>
+ <svg:g style="fill: #999999">
+  <svg:path d="M262.9 -119.916C262.9 -119.916 264.97 -128.288 260.394 -123.712C260.394 -123.712 253.738 -118.304 246.665 -118.304C246.665 -118.304 232.937 -116.224 228.777 -103.744C228.777 -103.744 225.033 -78.368 232.521 -72.96C232.521 -72.96 237.097 -65.888 243.753 -72.128C250.41 -78.368 264.98 -107.02 262.9 -119.916z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M262.526 -119.558C262.526 -119.558 264.586 -127.744 260.098 -123.256C260.098 -123.256 253.569 -117.952 246.633 -117.952C246.633 -117.952 233.169 -115.912 229.089 -103.672C229.089 -103.672 225.417 -78.784 232.761 -73.48C232.761 -73.48 237.249 -66.544 243.777 -72.664C250.305 -78.784 264.566 -106.91 262.526 -119.558z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M262.151 -119.2C262.151 -119.2 264.201 -127.2 259.801 -122.8C259.801 -122.8 253.401 -117.6 246.601 -117.6C246.601 -117.6 233.401 -115.6 229.401 -103.6C229.401 -103.6 225.801 -79.2 233.001 -74C233.001 -74 237.401 -67.2 243.801 -73.2C250.201 -79.2 264.151 -106.8 262.151 -119.2z"/>
+ </svg:g>
+ <svg:g style="fill: #992600">
+  <svg:path d="M50.6 84C50.6 84 30.2 64.8 22.2 64C22.2 64 -12.2 60 -27 78C-27 78 -9.4 57.6 18.2 63.2C18.2 63.2 -3.4 58.8 -15.8 62C-15.8 62 -32.6 62 -42.2 76L-45 80.8C-45 80.8 -41 66 -22.6 60C-22.6 60 0.2 55.2 11 60C11 60 -10.6 53.2 -20.6 55.2C-20.6 55.2 -51 52.8 -63.8 79.2C-63.8 79.2 -59.8 64.8 -45 57.6C-45 57.6 -31.4 48.8 -11 51.6C-11 51.6 3.4 54.8 8.6 57.2C13.8 59.6 12.6 56.8 4.2 52C4.2 52 -1.4 42 -15.4 42.4C-15.4 42.4 -58.2 46 -68.6 58C-68.6 58 -55 46.8 -44.6 44C-44.6 44 -22.2 36 -13.8 36.8C-13.8 36.8 11 37.8 18.6 33.8C18.6 33.8 7.4 38.8 10.6 42C13.8 45.2 20.6 52.8 20.6 54C20.6 55.2 44.8 77.3 48.4 81.7L50.6 84z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M189 278C189 278 173.5 241.5 161 232C161 232 187 248 190.5 266C190.5 266 190.5 276 189 278z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M236 285.5C236 285.5 209.5 230.5 191 206.5C191 206.5 234.5 244 239.5 270.5L240 276L237 273.5C237 273.5 236.5 282.5 236 285.5z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M292.5 237C292.5 237 230 177.5 228.5 175C228.5 175 289 241 292 248.5C292 248.5 290 239.5 292.5 237z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M104 280.5C104 280.5 123.5 228.5 142.5 251C142.5 251 157.5 261 157 264C157 264 153 257.5 135 258C135 258 116 255 104 280.5z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M294.5 153C294.5 153 249.5 124.5 242 123C230.193 120.639 291.5 152 296.5 162.5C296.5 162.5 298.5 160 294.5 153z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M143.801 259.601C143.801 259.601 164.201 257.601 171.001 250.801L175.401 254.401L193.001 216.001L196.601 221.201C196.601 221.201 211.001 206.401 210.201 198.401C209.401 190.401 223.001 204.401 223.001 204.401C223.001 204.401 222.201 192.801 229.401 199.601C229.401 199.601 227.001 184.001 235.401 192.001C235.401 192.001 224.864 161.844 247.401 187.601C253.001 194.001 248.601 187.201 248.601 187.201C248.601 187.201 222.601 139.201 244.201 153.601C244.201 153.601 246.201 130.801 245.001 126.401C243.801 122.001 241.801 99.6 237.001 94.4C232.201 89.2 237.401 87.6 243.001 92.8C243.001 92.8 231.801 68.8 245.001 80.8C245.001 80.8 241.401 65.6 237.001 62.8C237.001 62.8 231.401 45.6 246.601 56.4C246.601 56.4 242.201 44 239.001 40.8C239.001 40.8 227.401 13.2 234.601 18L239.001 21.6C239.001 21.6 232.201 7.6 238.601 12C245.001 16.4 245.001 16 245.001 16C245.001 16 223.801 -17.2 244.201 0.4C244.201 0.4 236.042 -13.518 232.601 -20.4C232.601 -20.4 213.801 -40.8 228.201 -34.4L233.001 -32.8C233.001 -32.8 224.201 -42.8 216.201 -44.4C208.201 -46 218.601 -52.4 225.001 -50.4C231.401 -48.4 247.001 -40.8 247.001 -40.8C247.001 -40.8 259.801 -22 263.801 -21.6C263.801 -21.6 243.801 -29.2 249.801 -21.2C249.801 -21.2 264.201 -7.2 257.001 -7.6C257.001 -7.6 251.001 -0.4 255.801 8.4C255.801 8.4 237.342 -9.991 252.201 15.6L259.001 32C259.001 32 234.601 7.2 245.801 29.2C245.801 29.2 263.001 52.8 265.001 53.2C267.001 53.6 271.401 62.4 271.401 62.4L267.001 60.4L272.201 69.2C272.201 69.2 261.001 57.2 267.001 70.4L272.601 84.8C272.601 84.8 252.201 62.8 265.801 92.4C265.801 92.4 249.401 87.2 258.201 104.4C258.201 104.4 256.601 120.401 257.001 125.601C257.401 130.801 258.601 159.201 254.201 167.201C249.801 175.201 260.201 194.401 262.201 198.401C264.201 202.401 267.801 213.201 259.001 204.001C250.201 194.801 254.601 200.401 256.601 209.201C258.601 218.001 264.601 233.601 263.801 239.201C263.801 239.201 262.601 240.401 259.401 236.801C259.401 236.801 244.601 214.001 246.201 228.401C246.201 228.401 245.001 236.401 241.801 245.201C241.801 245.201 238.601 256.001 238.601 247.201C238.601 247.201 235.401 230.401 232.601 238.001C229.801 245.601 226.201 251.601 223.401 254.001C220.601 256.401 215.401 233.601 214.201 244.001C214.201 244.001 202.201 231.601 197.401 248.001L185.801 264.401C185.801 264.401 185.401 252.001 184.201 258.001C184.201 258.001 154.201 264.001 143.801 259.601z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M109.401 -97.2C109.401 -97.2 97.801 -105.2 93.801 -104.8C89.801 -104.4 121.401 -113.6 162.601 -86C162.601 -86 167.401 -83.2 171.001 -83.6C171.001 -83.6 174.201 -81.2 171.401 -77.6C171.401 -77.6 162.601 -68 173.801 -56.8C173.801 -56.8 192.201 -50 186.601 -58.8C186.601 -58.8 197.401 -54.8 199.801 -50.8C202.201 -46.8 201.001 -50.8 201.001 -50.8C201.001 -50.8 194.601 -58 188.601 -63.2C188.601 -63.2 183.401 -65.2 180.601 -73.6C177.801 -82 175.401 -92 179.801 -95.2C179.801 -95.2 175.801 -90.8 176.601 -94.8C177.401 -98.8 181.001 -102.4 182.601 -102.8C184.201 -103.2 200.601 -119 207.401 -119.4C207.401 -119.4 198.201 -118 195.201 -119C192.201 -120 165.601 -131.4 159.601 -132.6C159.601 -132.6 142.801 -139.2 154.801 -137.2C154.801 -137.2 190.601 -133.4 208.801 -120.2C208.801 -120.2 201.601 -128.6 183.201 -135.6C183.201 -135.6 161.001 -148.2 125.801 -143.2C125.801 -143.2 108.001 -140 100.201 -138.2C100.201 -138.2 97.601 -138.8 97.001 -139.2C96.401 -139.6 84.6 -148.6 57 -141.6C57 -141.6 40 -137 31.4 -132.2C31.4 -132.2 16.2 -131 12.6 -127.8C12.6 -127.8 -6 -113.2 -8 -112.4C-10 -111.6 -21.4 -104 -22.2 -103.6C-22.2 -103.6 2.4 -110.2 4.8 -112.6C7.2 -115 24.6 -117.6 27 -116.2C29.4 -114.8 37.8 -115.4 28.2 -114.8C28.2 -114.8 103.801 -100 104.601 -98C105.401 -96 109.401 -97.2 109.401 -97.2z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M180.801 -106.4C180.801 -106.4 170.601 -113.8 168.601 -113.8C166.601 -113.8 154.201 -124 150.001 -123.6C145.801 -123.2 133.601 -133.2 106.201 -125C106.201 -125 105.601 -127 109.201 -127.8C109.201 -127.8 115.601 -130 116.001 -130.6C116.001 -130.6 136.201 -134.8 143.401 -131.2C143.401 -131.2 152.601 -128.6 158.801 -122.4C158.801 -122.4 170.001 -119.2 173.201 -120.2C173.201 -120.2 182.001 -118 182.401 -116.2C182.401 -116.2 188.201 -113.2 186.401 -110.6C186.401 -110.6 186.801 -109 180.801 -106.4z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M168.33 -108.509C169.137 -107.877 170.156 -107.779 170.761 -106.97C170.995 -106.656 170.706 -106.33 170.391 -106.233C169.348 -105.916 168.292 -106.486 167.15 -105.898C166.748 -105.691 166.106 -105.873 165.553 -106.022C163.921 -106.463 162.092 -106.488 160.401 -105.8C158.416 -106.929 156.056 -106.345 153.975 -107.346C153.917 -107.373 153.695 -107.027 153.621 -107.054C150.575 -108.199 146.832 -107.916 144.401 -110.2C141.973 -110.612 139.616 -111.074 137.188 -111.754C135.37 -112.263 133.961 -113.252 132.341 -114.084C130.964 -114.792 129.507 -115.314 127.973 -115.686C126.11 -116.138 124.279 -116.026 122.386 -116.546C122.293 -116.571 122.101 -116.227 122.019 -116.254C121.695 -116.362 121.405 -116.945 121.234 -116.892C119.553 -116.37 118.065 -117.342 116.401 -117C115.223 -118.224 113.495 -117.979 111.949 -118.421C108.985 -119.269 105.831 -117.999 102.801 -119C106.914 -120.842 111.601 -119.61 115.663 -121.679C117.991 -122.865 120.653 -121.763 123.223 -122.523C123.71 -122.667 124.401 -122.869 124.801 -122.2C124.935 -122.335 125.117 -122.574 125.175 -122.546C127.625 -121.389 129.94 -120.115 132.422 -119.049C132.763 -118.903 133.295 -119.135 133.547 -118.933C135.067 -117.717 137.01 -117.82 138.401 -116.6C140.099 -117.102 141.892 -116.722 143.621 -117.346C143.698 -117.373 143.932 -117.032 143.965 -117.054C145.095 -117.802 146.25 -117.531 147.142 -117.227C147.48 -117.112 148.143 -116.865 148.448 -116.791C149.574 -116.515 150.43 -116.035 151.609 -115.852C151.723 -115.834 151.908 -116.174 151.98 -116.146C153.103 -115.708 154.145 -115.764 154.801 -114.6C154.936 -114.735 155.101 -114.973 155.183 -114.946C156.21 -114.608 156.859 -113.853 157.96 -113.612C158.445 -113.506 159.057 -112.88 159.633 -112.704C162.025 -111.973 163.868 -110.444 166.062 -109.549C166.821 -109.239 167.697 -109.005 168.33 -108.509z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M91.696 -122.739C89.178 -124.464 86.81 -125.57 84.368 -127.356C84.187 -127.489 83.827 -127.319 83.625 -127.441C82.618 -128.05 81.73 -128.631 80.748 -129.327C80.209 -129.709 79.388 -129.698 78.88 -129.956C76.336 -131.248 73.707 -131.806 71.2 -133C71.882 -133.638 73.004 -133.394 73.6 -134.2C73.795 -133.92 74.033 -133.636 74.386 -133.827C76.064 -134.731 77.914 -134.884 79.59 -134.794C81.294 -134.702 83.014 -134.397 84.789 -134.125C85.096 -134.078 85.295 -133.555 85.618 -133.458C87.846 -132.795 90.235 -133.32 92.354 -132.482C93.945 -131.853 95.515 -131.03 96.754 -129.755C97.006 -129.495 96.681 -129.194 96.401 -129C96.789 -129.109 97.062 -128.903 97.173 -128.59C97.257 -128.351 97.257 -128.049 97.173 -127.81C97.061 -127.498 96.782 -127.397 96.408 -127.346C95.001 -127.156 96.773 -128.536 96.073 -128.088C94.8 -127.274 95.546 -125.868 94.801 -124.6C94.521 -124.794 94.291 -125.012 94.401 -125.4C94.635 -124.878 94.033 -124.588 93.865 -124.272C93.48 -123.547 92.581 -122.132 91.696 -122.739z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M59.198 -115.391C56.044 -116.185 52.994 -116.07 49.978 -117.346C49.911 -117.374 49.688 -117.027 49.624 -117.054C48.258 -117.648 47.34 -118.614 46.264 -119.66C45.351 -120.548 43.693 -120.161 42.419 -120.648C42.095 -120.772 41.892 -121.284 41.591 -121.323C40.372 -121.48 39.445 -122.429 38.4 -123C40.736 -123.795 43.147 -123.764 45.609 -124.148C45.722 -124.166 45.867 -123.845 46 -123.845C46.136 -123.845 46.266 -124.066 46.4 -124.2C46.595 -123.92 46.897 -123.594 47.154 -123.848C47.702 -124.388 48.258 -124.198 48.798 -124.158C48.942 -124.148 49.067 -123.845 49.2 -123.845C49.336 -123.845 49.467 -124.156 49.6 -124.156C49.736 -124.155 49.867 -123.845 50 -123.845C50.136 -123.845 50.266 -124.066 50.4 -124.2C51.092 -123.418 51.977 -123.972 52.799 -123.793C53.837 -123.566 54.104 -122.418 55.178 -122.12C59.893 -120.816 64.03 -118.671 68.393 -116.584C68.7 -116.437 68.91 -116.189 68.8 -115.8C69.067 -115.8 69.38 -115.888 69.57 -115.756C70.628 -115.024 71.669 -114.476 72.366 -113.378C72.582 -113.039 72.253 -112.632 72.02 -112.684C67.591 -113.679 63.585 -114.287 59.198 -115.391z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M45.338 -71.179C43.746 -72.398 43.162 -74.429 42.034 -76.221C41.82 -76.561 42.094 -76.875 42.411 -76.964C42.971 -77.123 43.514 -76.645 43.923 -76.443C45.668 -75.581 47.203 -74.339 49.2 -74.2C51.19 -71.966 55.45 -71.581 55.457 -68.2C55.458 -67.341 54.03 -68.259 53.6 -67.4C51.149 -68.403 48.76 -68.3 46.38 -69.767C45.763 -70.148 46.093 -70.601 45.338 -71.179z"/>
+ </svg:g>
+ <svg:g style="fill: #cc7226">
+  <svg:path d="M17.8 -123.756C17.935 -123.755 24.966 -123.522 24.949 -123.408C24.904 -123.099 17.174 -122.05 16.81 -122.22C16.646 -122.296 9.134 -119.866 9 -120C9.268 -120.135 17.534 -123.756 17.8 -123.756z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M33.2 -114C33.2 -114 18.4 -112.2 14 -111C9.6 -109.8 -9 -102.2 -12 -100.2C-12 -100.2 -25.4 -94.8 -42.4 -74.8C-42.4 -74.8 -34.8 -78.2 -32.6 -81C-32.6 -81 -19 -93.6 -19.2 -91C-19.2 -91 -7 -99.6 -7.6 -97.4C-7.6 -97.4 16.8 -108.6 14.8 -105.4C14.8 -105.4 36.4 -110 35.4 -108C35.4 -108 54.2 -103.6 51.4 -103.4C51.4 -103.4 45.6 -102.2 52 -98.6C52 -98.6 48.6 -94.2 43.2 -98.2C37.8 -102.2 40.8 -100 35.8 -99C35.8 -99 33.2 -98.2 28.6 -102.2C28.6 -102.2 23 -106.8 14.2 -103.2C14.2 -103.2 -16.4 -90.6 -18.4 -90C-18.4 -90 -22 -87.2 -24.4 -83.6C-24.4 -83.6 -30.2 -79.2 -33.2 -77.8C-33.2 -77.8 -46 -66.2 -47.2 -64.8C-47.2 -64.8 -50.6 -59.6 -51.4 -59.2C-51.4 -59.2 -45 -63 -43 -65C-43 -65 -29 -75 -23.6 -75.8C-23.6 -75.8 -19.2 -78.8 -18.4 -80.2C-18.4 -80.2 -4 -89.4 0.2 -89.4C0.2 -89.4 9.4 -84.2 11.8 -91.2C11.8 -91.2 17.6 -93 23.2 -91.8C23.2 -91.8 26.4 -94.4 25.6 -96.6C25.6 -96.6 27.2 -98.4 28.2 -94.6C28.2 -94.6 31.6 -91 36.4 -93C36.4 -93 40.4 -93.2 38.4 -90.8C38.4 -90.8 34 -87 22.2 -86.8C22.2 -86.8 9.8 -86.2 -6.6 -78.6C-6.6 -78.6 -36.4 -68.2 -45.6 -57.8C-45.6 -57.8 -52 -49 -57.4 -47.8C-57.4 -47.8 -63.2 -47 -69.2 -39.6C-69.2 -39.6 -59.4 -45.4 -50.4 -45.4C-50.4 -45.4 -46.4 -47.8 -50.2 -44.2C-50.2 -44.2 -53.8 -36.6 -52.2 -31.2C-52.2 -31.2 -52.8 -26 -53.6 -24.4C-53.6 -24.4 -61.4 -11.6 -61.4 -9.2C-61.4 -6.8 -60.2 3 -59.8 3.6C-59.4 4.2 -60.8 2 -57 4.4C-53.2 6.8 -50.4 8.4 -49.6 11.2C-48.8 14 -51.6 5.8 -51.8 4C-52 2.2 -56.2 -5 -55.4 -7.4C-55.4 -7.4 -54.4 -6.4 -53.6 -5C-53.6 -5 -54.2 -5.6 -53.6 -9.2C-53.6 -9.2 -52.8 -14.4 -51.4 -17.6C-50 -20.8 -48 -24.6 -47.6 -25.4C-47.2 -26.2 -47.2 -32 -45.8 -29.4L-42.4 -26.8C-42.4 -26.8 -45.2 -29.4 -43 -31.6C-43 -31.6 -44 -37.2 -42.2 -39.8C-42.2 -39.8 -35.2 -48.2 -33.6 -49.2C-32 -50.2 -33.4 -49.8 -33.4 -49.8C-33.4 -49.8 -27.4 -54 -33.2 -52.4C-33.2 -52.4 -37.2 -50.8 -40.2 -50.8C-40.2 -50.8 -47.8 -48.8 -43.8 -53C-39.8 -57.2 -29.8 -62.6 -26 -62.4L-25.2 -60.8L-14 -63.2L-15.2 -62.4C-15.2 -62.4 -15.4 -62.6 -11.2 -63C-7 -63.4 -1.2 -62 0.2 -63.8C1.6 -65.6 5 -66.6 4.6 -65.2C4.2 -63.8 4 -61.8 4 -61.8C4 -61.8 9 -67.6 8.4 -65.4C7.8 -63.2 -0.4 -58 -1.8 -51.8L8.6 -60L12.2 -63C12.2 -63 15.8 -60.8 16 -62.4C16.2 -64 20.8 -69.8 22 -69.6C23.2 -69.4 25.2 -72.2 25 -69.6C24.8 -67 32.4 -61.6 32.4 -61.6C32.4 -61.6 35.6 -63.4 37 -62C38.4 -60.6 42.6 -81.8 42.6 -81.8L67.6 -92.4L111.201 -95.8L94.201 -102.6L33.2 -114z"/>
+ </svg:g>
+ <svg:g style="stroke:#4c0000; stroke-width:2">
+  <svg:path d="M51.4 85C51.4 85 36.4 68.2 28 65.6C28 65.6 14.6 58.8 -10 66.6"/>
+ </svg:g>
+ <svg:g style="stroke:#4c0000; stroke-width:2">
+  <svg:path d="M24.8 64.2C24.8 64.2 -0.4 56.2 -15.8 60.4C-15.8 60.4 -34.2 62.4 -42.6 76.2"/>
+ </svg:g>
+ <svg:g style="stroke:#4c0000; stroke-width:2">
+  <svg:path d="M21.2 63C21.2 63 4.2 55.8 -10.6 53.6C-10.6 53.6 -27.2 51 -43.8 58.2C-43.8 58.2 -56 64.2 -61.4 74.4"/>
+ </svg:g>
+ <svg:g style="stroke:#4c0000; stroke-width:2">
+  <svg:path d="M22.2 63.4C22.2 63.4 6.8 52.4 5.8 51C5.8 51 -1.2 40 -14.2 39.6C-14.2 39.6 -35.6 40.4 -52.8 48.4"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M20.895 54.407C22.437 55.87 49.4 84.8 49.4 84.8C84.6 121.401 56.6 87.2 56.6 87.2C49 82.4 39.8 63.6 39.8 63.6C38.6 60.8 53.8 70.8 53.8 70.8C57.8 71.6 71.4 90.8 71.4 90.8C64.6 88.4 69.4 95.6 69.4 95.6C72.2 97.6 92.601 113.201 92.601 113.201C96.201 117.201 100.201 118.801 100.201 118.801C114.201 113.601 107.801 126.801 107.801 126.801C110.201 133.601 115.801 122.001 115.801 122.001C127.001 105.2 110.601 107.601 110.601 107.601C80.6 110.401 73.8 94.4 73.8 94.4C71.4 92 80.2 94.4 80.2 94.4C88.601 96.4 73 82 73 82C75.4 82 84.6 88.8 84.6 88.8C95.001 98 97.001 96 97.001 96C115.001 87.2 125.401 94.8 125.401 94.8C127.401 96.4 121.801 103.2 123.401 108.401C125.001 113.601 129.801 126.001 129.801 126.001C127.401 127.601 127.801 138.401 127.801 138.401C144.601 161.601 135.001 159.601 135.001 159.601C119.401 159.201 134.201 166.801 134.201 166.801C137.401 168.801 146.201 176.001 146.201 176.001C143.401 174.801 141.801 180.001 141.801 180.001C146.601 184.001 143.801 188.801 143.801 188.801C137.801 190.001 136.601 194.001 136.601 194.001C143.401 202.001 133.401 202.401 133.401 202.401C137.001 206.801 132.201 218.801 132.201 218.801C127.401 218.801 121.001 224.401 121.001 224.401C123.401 229.201 113.001 234.801 113.001 234.801C104.601 236.401 107.401 243.201 107.401 243.201C99.401 249.201 97.001 265.201 97.001 265.201C96.201 275.601 93.801 278.801 99.001 276.801C104.201 274.801 103.401 262.401 103.401 262.401C98.601 246.801 141.401 230.801 141.401 230.801C145.401 229.201 146.201 224.001 146.201 224.001C148.201 224.401 157.001 232.001 157.001 232.001C164.601 243.201 165.001 234.001 165.001 234.001C166.201 230.401 164.601 224.401 164.601 224.401C170.601 202.801 156.601 196.401 156.601 196.401C146.601 162.801 160.601 171.201 160.601 171.201C163.401 176.801 174.201 182.001 174.201 182.001L177.801 179.601C176.201 174.801 184.601 168.801 184.601 168.801C187.401 175.201 193.401 167.201 193.401 167.201C197.001 142.801 209.401 157.201 209.401 157.201C213.401 158.401 214.601 151.601 214.601 151.601C218.201 141.201 214.601 127.601 214.601 127.601C218.201 127.201 227.801 133.201 227.801 133.201C230.601 129.601 221.401 112.801 225.401 115.201C229.401 117.601 233.801 119.201 233.801 119.201C234.601 117.201 224.601 104.801 224.601 104.801C220.201 102 215.001 81.6 215.001 81.6C222.201 85.2 212.201 70 212.201 70C212.201 66.8 218.201 55.6 218.201 55.6C217.401 48.8 218.201 49.2 218.201 49.2C221.001 50.4 229.001 52 222.201 45.6C215.401 39.2 223.001 34.4 223.001 34.4C227.401 31.6 213.801 32 213.801 32C208.601 27.6 209.001 23.6 209.001 23.6C217.001 25.6 202.601 11.2 200.201 7.6C197.801 4 207.401 -1.2 207.401 -1.2C220.601 -4.8 209.001 -8 209.001 -8C189.401 -7.6 200.201 -18.4 200.201 -18.4C206.201 -18 204.601 -20.4 204.601 -20.4C199.401 -21.6 189.801 -28 189.801 -28C185.801 -31.6 189.401 -30.8 189.401 -30.8C206.201 -29.6 177.401 -40.8 177.401 -40.8C185.401 -40.8 167.401 -51.2 167.401 -51.2C165.401 -52.8 162.201 -60.4 162.201 -60.4C156.201 -65.6 151.401 -72.4 151.401 -72.4C151.001 -76.8 146.201 -81.6 146.201 -81.6C134.601 -95.2 129.001 -94.8 129.001 -94.8C114.201 -98.4 109.001 -97.6 109.001 -97.6L56.2 -93.2C29.8 -80.4 37.6 -59.4 37.6 -59.4C44 -51 53.2 -54.8 53.2 -54.8C57.8 -61 69.4 -58.8 69.4 -58.8C89.801 -55.6 87.201 -59.2 87.201 -59.2C84.801 -63.8 68.6 -70 68.4 -70.6C68.2 -71.2 59.4 -74.6 59.4 -74.6C56.4 -75.8 52 -85 52 -85C48.8 -88.4 64.6 -82.6 64.6 -82.6C63.4 -81.6 70.8 -77.6 70.8 -77.6C88.201 -78.6 98.801 -67.8 98.801 -67.8C109.601 -51.2 109.801 -59.4 109.801 -59.4C112.601 -68.8 100.801 -90 100.801 -90C101.201 -92 109.401 -85.4 109.401 -85.4C110.801 -87.4 111.601 -81.6 111.601 -81.6C111.801 -79.2 115.601 -71.2 115.601 -71.2C118.401 -58.2 122.001 -65.6 122.001 -65.6L126.601 -56.2C128.001 -53.6 122.001 -46 122.001 -46C121.801 -43.2 122.601 -43.4 117.001 -35.8C111.401 -28.2 114.801 -23.8 114.801 -23.8C113.401 -17.2 122.201 -17.6 122.201 -17.6C124.801 -15.4 128.201 -15.4 128.201 -15.4C130.001 -13.4 132.401 -14 132.401 -14C134.001 -17.8 140.201 -15.8 140.201 -15.8C141.601 -18.2 149.801 -18.6 149.801 -18.6C150.801 -21.2 151.201 -22.8 154.601 -23.4C158.001 -24 133.401 -67 133.401 -67C139.801 -67.8 131.601 -80.2 131.601 -80.2C129.401 -86.8 140.801 -72.2 143.001 -70.8C145.201 -69.4 146.201 -67.2 144.601 -67.4C143.001 -67.6 141.201 -65.4 142.601 -65.2C144.001 -65 157.001 -50 160.401 -39.8C163.801 -29.6 169.801 -25.6 176.001 -19.6C182.201 -13.6 181.401 10.6 181.401 10.6C181.001 19.4 187.001 30 187.001 30C189.001 33.8 184.801 52 184.801 52C182.801 54.2 184.201 55 184.201 55C185.201 56.2 192.001 69.4 192.001 69.4C190.201 69.2 193.801 72.8 193.801 72.8C199.001 78.8 192.601 75.8 192.601 75.8C186.601 74.2 193.601 84 193.601 84C194.801 85.8 185.801 81.2 185.801 81.2C176.601 80.6 188.201 87.8 188.201 87.8C196.801 95 185.401 90.6 185.401 90.6C180.801 88.8 184.001 95.6 184.001 95.6C187.201 97.2 204.401 104.2 204.401 104.2C204.801 108.001 201.801 113.001 201.801 113.001C202.201 117.001 200.001 120.401 200.001 120.401C198.801 128.601 198.201 129.401 198.201 129.401C194.001 129.601 186.601 143.401 186.601 143.401C184.801 146.001 174.601 158.001 174.601 158.001C172.601 165.001 154.601 157.801 154.601 157.801C148.001 161.201 150.001 157.801 150.001 157.801C149.601 155.601 154.401 149.601 154.401 149.601C161.401 147.001 158.801 136.201 158.801 136.201C162.801 134.801 151.601 132.001 151.801 130.801C152.001 129.601 157.801 128.201 157.801 128.201C165.801 126.201 161.401 123.801 161.401 123.801C160.801 119.801 163.801 114.201 163.801 114.201C175.401 113.401 163.801 97.2 163.801 97.2C153.001 89.6 152.001 83.8 152.001 83.8C164.601 75.6 156.401 63.2 156.601 59.6C156.801 56 158.001 34.4 158.001 34.4C156.001 28.2 153.001 14.6 153.001 14.6C155.201 9.4 162.601 -3.2 162.601 -3.2C165.401 -7.4 174.201 -12.2 172.001 -15.2C169.801 -18.2 162.001 -16.4 162.001 -16.4C154.201 -17.8 154.801 -12.6 154.801 -12.6C153.201 -11.6 152.401 -6.6 152.401 -6.6C151.68 1.333 142.801 7.6 142.801 7.6C131.601 13.8 140.801 17.8 140.801 17.8C146.801 24.4 137.001 24.6 137.001 24.6C126.001 22.8 134.201 33 134.201 33C145.001 45.8 142.001 48.6 142.001 48.6C131.801 49.6 144.401 58.8 144.401 58.8C144.401 58.8 143.601 56.8 143.801 58.6C144.001 60.4 147.001 64.6 147.801 66.6C148.601 68.6 144.601 68.8 144.601 68.8C145.201 78.4 129.801 74.2 129.801 74.2C129.801 74.2 129.801 74.2 128.201 74.4C126.601 74.6 115.401 73.8 109.601 71.6C103.801 69.4 97.001 69.4 97.001 69.4C97.001 69.4 93.001 71.2 85.4 71C77.8 70.8 69.8 73.6 69.8 73.6C65.4 73.2 74 68.8 74.2 69C74.4 69.2 80 63.6 72 64.2C50.203 65.835 39.4 55.6 39.4 55.6C37.4 54.2 34.8 51.4 34.8 51.4C24.8 49.4 36.2 63.8 36.2 63.8C37.4 65.2 36 66.2 36 66.2C35.2 64.6 27.4 59.2 27.4 59.2C24.589 58.227 23.226 56.893 20.895 54.407z"/>
+ </svg:g>
+ <svg:g style="fill: #4c0000">
+  <svg:path d="M-3 42.8C-3 42.8 8.6 48.4 11.2 51.2C13.8 54 27.8 65.4 27.8 65.4C27.8 65.4 22.4 63.4 19.8 61.6C17.2 59.8 6.4 51.6 6.4 51.6C6.4 51.6 2.6 45.6 -3 42.8z"/>
+ </svg:g>
+ <svg:g style="fill: #99cc32">
+  <svg:path d="M-61.009 11.603C-60.672 11.455 -61.196 8.743 -61.4 8.2C-62.422 5.474 -71.4 4 -71.4 4C-71.627 5.365 -71.682 6.961 -71.576 8.599C-71.576 8.599 -66.708 14.118 -61.009 11.603z"/>
+ </svg:g>
+ <svg:g style="fill: #659900">
+  <svg:path d="M-61.009 11.403C-61.458 11.561 -61.024 8.669 -61.2 8.2C-62.222 5.474 -71.4 3.9 -71.4 3.9C-71.627 5.265 -71.682 6.861 -71.576 8.499C-71.576 8.499 -67.308 13.618 -61.009 11.403z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-65.4 11.546C-66.025 11.546 -66.531 10.406 -66.531 9C-66.531 7.595 -66.025 6.455 -65.4 6.455C-64.775 6.455 -64.268 7.595 -64.268 9C-64.268 10.406 -64.775 11.546 -65.4 11.546z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-65.4 9z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-111 109.601C-111 109.601 -116.6 119.601 -91.8 113.601C-91.8 113.601 -77.8 112.401 -75.4 110.001C-74.2 110.801 -65.834 113.734 -63 114.401C-56.2 116.001 -47.8 106 -47.8 106C-47.8 106 -43.2 95.5 -40.4 95.5C-37.6 95.5 -40.8 97.1 -40.8 97.1C-40.8 97.1 -47.4 107.201 -47 108.801C-47 108.801 -52.2 128.801 -68.2 129.601C-68.2 129.601 -84.35 130.551 -83 136.401C-83 136.401 -74.2 134.001 -71.8 136.401C-71.8 136.401 -61 136.001 -69 142.401L-75.8 154.001C-75.8 154.001 -75.66 157.919 -85.8 154.401C-95.6 151.001 -105.9 138.101 -105.9 138.101C-105.9 138.101 -121.85 123.551 -111 109.601z"/>
+ </svg:g>
+ <svg:g style="fill: #e59999">
+  <svg:path d="M-112.2 113.601C-112.2 113.601 -114.2 123.201 -77.4 112.801C-77.4 112.801 -73 112.801 -70.6 113.601C-68.2 114.401 -56.2 117.201 -54.2 116.001C-54.2 116.001 -61.4 129.601 -73 128.001C-73 128.001 -86.2 129.601 -85.8 134.401C-85.8 134.401 -81.8 141.601 -77 144.001C-77 144.001 -74.2 146.401 -74.6 149.601C-75 152.801 -77.8 154.401 -79.8 155.201C-81.8 156.001 -85 152.801 -86.6 152.801C-88.2 152.801 -96.6 146.401 -101 141.601C-105.4 136.801 -113.8 124.801 -113.4 122.001C-113 119.201 -112.2 113.601 -112.2 113.601z"/>
+ </svg:g>
+ <svg:g style="fill: #b26565">
+  <svg:path d="M-109 131.051C-106.4 135.001 -103.2 139.201 -101 141.601C-96.6 146.401 -88.2 152.801 -86.6 152.801C-85 152.801 -81.8 156.001 -79.8 155.201C-77.8 154.401 -75 152.801 -74.6 149.601C-74.2 146.401 -77 144.001 -77 144.001C-80.066 142.468 -82.806 138.976 -84.385 136.653C-84.385 136.653 -84.2 139.201 -89.4 138.401C-94.6 137.601 -99.8 134.801 -101.4 131.601C-103 128.401 -105.4 126.001 -103.8 129.601C-102.2 133.201 -99.8 136.801 -98.2 137.201C-96.6 137.601 -97 138.801 -99.4 138.401C-101.8 138.001 -104.6 137.601 -109 132.401z"/>
+ </svg:g>
+ <svg:g style="fill: #992600">
+  <svg:path d="M-111.6 110.001C-111.6 110.001 -109.8 96.4 -108.6 92.4C-108.6 92.4 -109.4 85.6 -107 81.4C-104.6 77.2 -102.6 71 -99.6 65.6C-96.6 60.2 -96.4 56.2 -92.4 54.6C-88.4 53 -82.4 44.4 -79.6 43.4C-76.8 42.4 -77 43.2 -77 43.2C-77 43.2 -70.2 28.4 -56.6 32.4C-56.6 32.4 -72.8 29.6 -57 20.2C-57 20.2 -61.8 21.3 -58.5 14.3C-56.299 9.632 -56.8 16.4 -67.8 28.2C-67.8 28.2 -72.8 36.8 -78 39.8C-83.2 42.8 -95.2 49.8 -96.4 53.6C-97.6 57.4 -100.8 63.2 -102.8 64.8C-104.8 66.4 -107.6 70.6 -108 74C-108 74 -109.2 78 -110.6 79.2C-112 80.4 -112.2 83.6 -112.2 85.6C-112.2 87.6 -114.2 90.4 -114 92.8C-114 92.8 -113.2 111.801 -113.6 113.801L-111.6 110.001z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M-120.2 114.601C-120.2 114.601 -122.2 113.201 -126.6 119.201C-126.6 119.201 -119.3 152.201 -119.3 153.601C-119.3 153.601 -118.2 151.501 -119.5 144.301C-120.8 137.101 -121.7 124.401 -121.7 124.401L-120.2 114.601z"/>
+ </svg:g>
+ <svg:g style="fill: #992600">
+  <svg:path d="M-98.6 54C-98.6 54 -116.2 57.2 -115.8 86.4L-116.6 111.201C-116.6 111.201 -117.8 85.6 -119 84C-120.2 82.4 -116.2 71.2 -119.4 77.2C-119.4 77.2 -133.4 91.2 -125.4 112.401C-125.4 112.401 -123.9 115.701 -126.9 111.101C-126.9 111.101 -131.5 98.5 -130.4 92.1C-130.4 92.1 -130.2 89.9 -128.3 87.1C-128.3 87.1 -119.7 75.4 -117 73.1C-117 73.1 -115.2 58.7 -99.8 53.5C-99.8 53.5 -94.1 51.2 -98.6 54z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M40.8 -12.2C41.46 -12.554 41.451 -13.524 42.031 -13.697C43.18 -14.041 43.344 -15.108 43.862 -15.892C44.735 -17.211 44.928 -18.744 45.51 -20.235C45.782 -20.935 45.809 -21.89 45.496 -22.55C44.322 -25.031 43.62 -27.48 42.178 -29.906C41.91 -30.356 41.648 -31.15 41.447 -31.748C40.984 -33.132 39.727 -34.123 38.867 -35.443C38.579 -35.884 39.104 -36.809 38.388 -36.893C37.491 -36.998 36.042 -37.578 35.809 -36.552C35.221 -33.965 36.232 -31.442 37.2 -29C36.418 -28.308 36.752 -27.387 36.904 -26.62C37.614 -23.014 36.416 -19.662 35.655 -16.188C35.632 -16.084 35.974 -15.886 35.946 -15.824C34.724 -13.138 33.272 -10.693 31.453 -8.312C30.695 -7.32 29.823 -6.404 29.326 -5.341C28.958 -4.554 28.55 -3.588 28.8 -2.6C25.365 0.18 23.115 4.025 20.504 7.871C20.042 8.551 20.333 9.76 20.884 10.029C21.697 10.427 22.653 9.403 23.123 8.557C23.512 7.859 23.865 7.209 24.356 6.566C24.489 6.391 24.31 5.972 24.445 5.851C27.078 3.504 28.747 0.568 31.2 -1.8C33.15 -2.129 34.687 -3.127 36.435 -4.14C36.743 -4.319 37.267 -4.07 37.557 -4.265C39.31 -5.442 39.308 -7.478 39.414 -9.388C39.464 -10.272 39.66 -11.589 40.8 -12.2z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M31.959 -16.666C32.083 -16.743 31.928 -17.166 32.037 -17.382C32.199 -17.706 32.602 -17.894 32.764 -18.218C32.873 -18.434 32.71 -18.814 32.846 -18.956C35.179 -21.403 35.436 -24.427 34.4 -27.4C35.424 -28.02 35.485 -29.282 35.06 -30.129C34.207 -31.829 34.014 -33.755 33.039 -35.298C32.237 -36.567 30.659 -37.811 29.288 -36.508C28.867 -36.108 28.546 -35.321 28.824 -34.609C28.888 -34.446 29.173 -34.3 29.146 -34.218C29.039 -33.894 28.493 -33.67 28.487 -33.398C28.457 -31.902 27.503 -30.391 28.133 -29.062C28.905 -27.433 29.724 -25.576 30.4 -23.8C29.166 -21.684 30.199 -19.235 28.446 -17.358C28.31 -17.212 28.319 -16.826 28.441 -16.624C28.733 -16.138 29.139 -15.732 29.625 -15.44C29.827 -15.319 30.175 -15.317 30.375 -15.441C30.953 -15.803 31.351 -16.29 31.959 -16.666z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M94.771 -26.977C96.16 -25.185 96.45 -22.39 94.401 -21C94.951 -17.691 98.302 -19.67 100.401 -20.2C100.292 -20.588 100.519 -20.932 100.802 -20.937C101.859 -20.952 102.539 -21.984 103.601 -21.8C104.035 -23.357 105.673 -24.059 106.317 -25.439C108.043 -29.134 107.452 -33.407 104.868 -36.653C104.666 -36.907 104.883 -37.424 104.759 -37.786C104.003 -39.997 101.935 -40.312 100.001 -41C98.824 -44.875 98.163 -48.906 96.401 -52.6C94.787 -52.85 94.089 -54.589 92.752 -55.309C91.419 -56.028 90.851 -54.449 90.892 -53.403C90.899 -53.198 91.351 -52.974 91.181 -52.609C91.105 -52.445 90.845 -52.334 90.845 -52.2C90.846 -52.065 91.067 -51.934 91.201 -51.8C90.283 -50.98 88.86 -50.503 88.565 -49.358C87.611 -45.648 90.184 -42.523 91.852 -39.322C92.443 -38.187 91.707 -36.916 90.947 -35.708C90.509 -35.013 90.617 -33.886 90.893 -33.03C91.645 -30.699 93.236 -28.96 94.771 -26.977z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M57.611 -8.591C56.124 -6.74 52.712 -4.171 55.629 -2.243C55.823 -2.114 56.193 -2.11 56.366 -2.244C58.387 -3.809 60.39 -4.712 62.826 -5.294C62.95 -5.323 63.224 -4.856 63.593 -5.017C65.206 -5.72 67.216 -5.662 68.4 -7C72.167 -6.776 75.732 -7.892 79.123 -9.2C80.284 -9.648 81.554 -10.207 82.755 -10.709C84.131 -11.285 85.335 -12.213 86.447 -13.354C86.58 -13.49 86.934 -13.4 87.201 -13.4C87.161 -14.263 88.123 -14.39 88.37 -15.012C88.462 -15.244 88.312 -15.64 88.445 -15.742C90.583 -17.372 91.503 -19.39 90.334 -21.767C90.049 -22.345 89.8 -22.963 89.234 -23.439C88.149 -24.35 87.047 -23.496 86 -23.8C85.841 -23.172 85.112 -23.344 84.726 -23.146C83.867 -22.707 82.534 -23.292 81.675 -22.854C80.313 -22.159 79.072 -21.99 77.65 -21.613C77.338 -21.531 76.56 -21.627 76.4 -21C76.266 -21.134 76.118 -21.368 76.012 -21.346C74.104 -20.95 72.844 -20.736 71.543 -19.044C71.44 -18.911 70.998 -19.09 70.839 -18.955C69.882 -18.147 69.477 -16.913 68.376 -16.241C68.175 -16.118 67.823 -16.286 67.629 -16.157C66.983 -15.726 66.616 -15.085 65.974 -14.638C65.645 -14.409 65.245 -14.734 65.277 -14.99C65.522 -16.937 66.175 -18.724 65.6 -20.6C67.677 -23.12 70.194 -25.069 72 -27.8C72.015 -29.966 72.707 -32.112 72.594 -34.189C72.584 -34.382 72.296 -35.115 72.17 -35.462C71.858 -36.316 72.764 -37.382 71.92 -38.106C70.516 -39.309 69.224 -38.433 68.4 -37C66.562 -36.61 64.496 -35.917 62.918 -37.151C61.911 -37.938 61.333 -38.844 60.534 -39.9C59.549 -41.202 59.884 -42.638 59.954 -44.202C59.96 -44.33 59.645 -44.466 59.645 -44.6C59.646 -44.735 59.866 -44.866 60 -45C59.294 -45.626 59.019 -46.684 58 -47C58.305 -48.092 57.629 -48.976 56.758 -49.278C54.763 -49.969 53.086 -48.057 51.194 -47.984C50.68 -47.965 50.213 -49.003 49.564 -49.328C49.132 -49.544 48.428 -49.577 48.066 -49.311C47.378 -48.807 46.789 -48.693 46.031 -48.488C44.414 -48.052 43.136 -46.958 41.656 -46.103C40.171 -45.246 39.216 -43.809 38.136 -42.489C37.195 -41.337 37.059 -38.923 38.479 -38.423C40.322 -37.773 41.626 -40.476 43.592 -40.15C43.904 -40.099 44.11 -39.788 44 -39.4C44.389 -39.291 44.607 -39.52 44.8 -39.8C45.658 -38.781 46.822 -38.444 47.76 -37.571C48.73 -36.667 50.476 -37.085 51.491 -36.088C53.02 -34.586 52.461 -31.905 54.4 -30.6C53.814 -29.287 53.207 -28.01 52.872 -26.583C52.59 -25.377 53.584 -24.18 54.795 -24.271C56.053 -24.365 56.315 -25.124 56.8 -26.2C57.067 -25.933 57.536 -25.636 57.495 -25.42C57.038 -23.033 56.011 -21.04 55.553 -18.609C55.494 -18.292 55.189 -18.09 54.8 -18.2C54.332 -14.051 50.28 -11.657 47.735 -8.492C47.332 -7.99 47.328 -6.741 47.737 -6.338C49.14 -4.951 51.1 -6.497 52.8 -7C53.013 -8.206 53.872 -9.148 55.204 -9.092C55.46 -9.082 55.695 -9.624 56.019 -9.754C56.367 -9.892 56.869 -9.668 57.155 -9.866C58.884 -11.061 60.292 -12.167 62.03 -13.356C62.222 -13.487 62.566 -13.328 62.782 -13.436C63.107 -13.598 63.294 -13.985 63.617 -14.17C63.965 -14.37 64.207 -14.08 64.4 -13.8C63.754 -13.451 63.75 -12.494 63.168 -12.292C62.393 -12.024 61.832 -11.511 61.158 -11.064C60.866 -10.871 60.207 -11.119 60.103 -10.94C59.505 -9.912 58.321 -9.474 57.611 -8.591z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M2.2 -58C2.2 -58 -7.038 -60.872 -18.2 -35.2C-18.2 -35.2 -20.6 -30 -23 -28C-25.4 -26 -36.6 -22.4 -38.6 -18.4L-49 -2.4C-49 -2.4 -34.2 -18.4 -31 -20.8C-31 -20.8 -23 -29.2 -26.2 -22.4C-26.2 -22.4 -40.2 -11.6 -39 -2.4C-39 -2.4 -44.6 12 -45.4 14C-45.4 14 -29.4 -18 -27 -19.2C-24.6 -20.4 -23.4 -20.4 -24.6 -16.8C-25.8 -13.2 -26.2 3.2 -29 5.2C-29 5.2 -21 -15.2 -21.8 -18.4C-21.8 -18.4 -18.6 -22 -16.2 -16.8L-17.4 -0.8L-13 11.2C-13 11.2 -15.4 0 -13.8 -15.6C-13.8 -15.6 -15.8 -26 -11.8 -20.4C-7.8 -14.8 1.8 -8.8 1.8 -4C1.8 -4 -3.4 -21.6 -12.6 -26.4L-16.6 -20.4L-17.8 -22.4C-17.8 -22.4 -21.4 -23.2 -17 -30C-12.6 -36.8 -13 -37.6 -13 -37.6C-13 -37.6 -6.6 -30.4 -5 -30.4C-5 -30.4 8.2 -38 9.4 -13.6C9.4 -13.6 16.2 -28 7 -34.8C7 -34.8 -7.8 -36.8 -6.6 -42L0.6 -54.4C4.2 -59.6 2.6 -56.8 2.6 -56.8z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-17.8 -41.6C-17.8 -41.6 -30.6 -41.6 -33.8 -36.4L-41 -26.8C-41 -26.8 -23.8 -36.8 -19.8 -38C-15.8 -39.2 -17.8 -41.6 -17.8 -41.6z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-57.8 -35.2C-57.8 -35.2 -59.8 -34 -60.2 -31.2C-60.6 -28.4 -63 -28 -62.2 -25.2C-61.4 -22.4 -59.4 -20 -59.4 -24C-59.4 -28 -57.8 -30 -57 -31.2C-56.2 -32.4 -54.6 -36.8 -57.8 -35.2z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-66.6 26C-66.6 26 -75 22 -78.2 18.4C-81.4 14.8 -80.948 19.966 -85.8 19.6C-91.647 19.159 -90.6 3.2 -90.6 3.2L-94.6 10.8C-94.6 10.8 -95.8 25.2 -87.8 22.8C-83.893 21.628 -82.6 23.2 -84.2 24C-85.8 24.8 -78.6 25.2 -81.4 26.8C-84.2 28.4 -69.8 23.2 -72.2 33.6L-66.6 26z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-79.2 40.4C-79.2 40.4 -94.6 44.8 -98.2 35.2C-98.2 35.2 -103 37.6 -100.8 40.6C-98.6 43.6 -97.4 44 -97.4 44C-97.4 44 -92 45.2 -92.6 46C-93.2 46.8 -95.6 50.2 -95.6 50.2C-95.6 50.2 -85.4 44.2 -79.2 40.4z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M149.201 118.601C148.774 120.735 147.103 121.536 145.201 122.201C143.284 121.243 140.686 118.137 138.801 120.201C138.327 119.721 137.548 119.661 137.204 118.999C136.739 118.101 137.011 117.055 136.669 116.257C136.124 114.985 135.415 113.619 135.601 112.201C137.407 111.489 138.002 109.583 137.528 107.82C137.459 107.563 137.03 107.366 137.23 107.017C137.416 106.694 137.734 106.467 138.001 106.2C137.866 106.335 137.721 106.568 137.61 106.548C137 106.442 137.124 105.805 137.254 105.418C137.839 103.672 139.853 103.408 141.201 104.6C141.457 104.035 141.966 104.229 142.401 104.2C142.351 103.621 142.759 103.094 142.957 102.674C143.475 101.576 145.104 102.682 145.901 102.07C146.977 101.245 148.04 100.546 149.118 101.149C150.927 102.162 152.636 103.374 153.835 105.115C154.41 105.949 154.65 107.23 154.592 108.188C154.554 108.835 153.173 108.483 152.83 109.412C152.185 111.16 154.016 111.679 154.772 113.017C154.97 113.366 154.706 113.67 154.391 113.768C153.98 113.896 153.196 113.707 153.334 114.16C154.306 117.353 151.55 118.031 149.201 118.601z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff">
+  <svg:path d="M139.6 138.201C139.593 136.463 137.992 134.707 139.201 133.001C139.336 133.135 139.467 133.356 139.601 133.356C139.736 133.356 139.867 133.135 140.001 133.001C141.496 135.217 145.148 136.145 145.006 138.991C144.984 139.438 143.897 140.356 144.801 141.001C142.988 142.349 142.933 144.719 142.001 146.601C140.763 146.315 139.551 145.952 138.401 145.401C138.753 143.915 138.636 142.231 139.456 140.911C139.89 140.213 139.603 139.134 139.6 138.201z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-26.6 129.201C-26.6 129.201 -43.458 139.337 -29.4 124.001C-20.6 114.401 -10.6 108.801 -10.6 108.801C-10.6 108.801 -0.2 104.4 3.4 103.2C7 102 22.2 96.8 25.4 96.4C28.6 96 38.2 92 45 96C51.8 100 59.8 104.4 59.8 104.4C59.8 104.4 43.4 96 39.8 98.4C36.2 100.8 29 100.4 23 103.6C23 103.6 8.2 108.001 5 110.001C1.8 112.001 -8.6 123.601 -10.2 122.801C-11.8 122.001 -9.8 121.601 -8.6 118.801C-7.4 116.001 -9.4 114.401 -17.4 120.801C-25.4 127.201 -26.6 129.201 -26.6 129.201z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-19.195 123.234C-19.195 123.234 -17.785 110.194 -9.307 111.859C-9.307 111.859 -1.081 107.689 1.641 105.721C1.641 105.721 9.78 104.019 11.09 103.402C29.569 94.702 44.288 99.221 44.835 98.101C45.381 96.982 65.006 104.099 68.615 108.185C69.006 108.628 58.384 102.588 48.686 100.697C40.413 99.083 18.811 100.944 7.905 106.48C4.932 107.989 -4.013 113.773 -6.544 113.662C-9.075 113.55 -19.195 123.234 -19.195 123.234z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-23 148.801C-23 148.801 -38.2 146.401 -21.4 144.801C-21.4 144.801 -3.4 142.801 0.6 137.601C0.6 137.601 14.2 128.401 17 128.001C19.8 127.601 49.8 120.401 50.2 118.001C50.6 115.601 56.2 115.601 57.8 116.401C59.4 117.201 58.6 118.401 55.8 119.201C53 120.001 21.8 136.401 15.4 137.601C9 138.801 -2.6 146.401 -7.4 147.601C-12.2 148.801 -23 148.801 -23 148.801z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-3.48 141.403C-3.48 141.403 -12.062 140.574 -3.461 139.755C-3.461 139.755 5.355 136.331 7.403 133.668C7.403 133.668 14.367 128.957 15.8 128.753C17.234 128.548 31.194 124.861 31.399 123.633C31.604 122.404 65.67 109.823 70.09 113.013C73.001 115.114 63.1 113.437 53.466 117.847C52.111 118.467 18.258 133.054 14.981 133.668C11.704 134.283 5.765 138.174 3.307 138.788C0.85 139.403 -3.48 141.403 -3.48 141.403z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-11.4 143.601C-11.4 143.601 -6.2 143.201 -7.4 144.801C-8.6 146.401 -11 145.601 -11 145.601L-11.4 143.601z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-18.6 145.201C-18.6 145.201 -13.4 144.801 -14.6 146.401C-15.8 148.001 -18.2 147.201 -18.2 147.201L-18.6 145.201z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-29 146.801C-29 146.801 -23.8 146.401 -25 148.001C-26.2 149.601 -28.6 148.801 -28.6 148.801L-29 146.801z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-36.6 147.601C-36.6 147.601 -31.4 147.201 -32.6 148.801C-33.8 150.401 -36.2 149.601 -36.2 149.601L-36.6 147.601z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M1.8 108.001C1.8 108.001 6.2 108.001 5 109.601C3.8 111.201 0.6 110.801 0.6 110.801L1.8 108.001z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-8.2 113.601C-8.2 113.601 -1.694 111.46 -4.2 114.801C-5.4 116.401 -7.8 115.601 -7.8 115.601L-8.2 113.601z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-19.4 118.401C-19.4 118.401 -14.2 118.001 -15.4 119.601C-16.6 121.201 -19 120.401 -19 120.401L-19.4 118.401z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-27 124.401C-27 124.401 -21.8 124.001 -23 125.601C-24.2 127.201 -26.6 126.401 -26.6 126.401L-27 124.401z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-33.8 129.201C-33.8 129.201 -28.6 128.801 -29.8 130.401C-31 132.001 -33.4 131.201 -33.4 131.201L-33.8 129.201z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M5.282 135.598C5.282 135.598 12.203 135.066 10.606 137.195C9.009 139.325 5.814 138.26 5.814 138.26L5.282 135.598z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M15.682 130.798C15.682 130.798 22.603 130.266 21.006 132.395C19.409 134.525 16.214 133.46 16.214 133.46L15.682 130.798z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M26.482 126.398C26.482 126.398 33.403 125.866 31.806 127.995C30.209 130.125 27.014 129.06 27.014 129.06L26.482 126.398z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M36.882 121.598C36.882 121.598 43.803 121.066 42.206 123.195C40.609 125.325 37.414 124.26 37.414 124.26L36.882 121.598z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M9.282 103.598C9.282 103.598 16.203 103.066 14.606 105.195C13.009 107.325 9.014 107.06 9.014 107.06L9.282 103.598z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M19.282 100.398C19.282 100.398 26.203 99.866 24.606 101.995C23.009 104.125 18.614 103.86 18.614 103.86L19.282 100.398z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-3.4 140.401C-3.4 140.401 1.8 140.001 0.6 141.601C-0.6 143.201 -3 142.401 -3 142.401L-3.4 140.401z"/>
+ </svg:g>
+ <svg:g style="fill: #992600">
+  <svg:path d="M-76.6 41.2C-76.6 41.2 -81 50 -81.4 53.2C-81.4 53.2 -80.6 44.4 -79.4 42.4C-78.2 40.4 -76.6 41.2 -76.6 41.2z"/>
+ </svg:g>
+ <svg:g style="fill: #992600">
+  <svg:path d="M-95 55.2C-95 55.2 -98.2 69.6 -97.8 72.4C-97.8 72.4 -99 60.8 -98.6 59.6C-98.2 58.4 -95 55.2 -95 55.2z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-74.2 -19.4L-74.4 -16.2L-76.6 -16C-76.6 -16 -62.4 -3.4 -61.8 4.2C-61.8 4.2 -61 -4 -74.2 -19.4z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-70.216 -18.135C-70.647 -18.551 -70.428 -19.296 -70.836 -19.556C-71.645 -20.072 -69.538 -20.129 -69.766 -20.845C-70.149 -22.051 -69.962 -22.072 -70.084 -23.348C-70.141 -23.946 -69.553 -25.486 -69.168 -25.926C-67.722 -27.578 -69.046 -30.51 -67.406 -32.061C-67.102 -32.35 -66.726 -32.902 -66.441 -33.32C-65.782 -34.283 -64.598 -34.771 -63.648 -35.599C-63.33 -35.875 -63.531 -36.702 -62.962 -36.61C-62.248 -36.495 -61.007 -36.625 -61.052 -35.784C-61.165 -33.664 -62.494 -31.944 -63.774 -30.276C-63.323 -29.572 -63.781 -28.937 -64.065 -28.38C-65.4 -25.76 -65.211 -22.919 -65.385 -20.079C-65.39 -19.994 -65.697 -19.916 -65.689 -19.863C-65.336 -17.528 -64.752 -15.329 -63.873 -13.1C-63.507 -12.17 -63.036 -11.275 -62.886 -10.348C-62.775 -9.662 -62.672 -8.829 -63.08 -8.124C-61.045 -5.234 -62.354 -2.583 -61.185 0.948C-60.978 1.573 -59.286 3.487 -59.749 3.326C-62.262 2.455 -62.374 2.057 -62.551 1.304C-62.697 0.681 -63.027 -0.696 -63.264 -1.298C-63.328 -1.462 -63.499 -3.346 -63.577 -3.468C-65.09 -5.85 -63.732 -5.674 -65.102 -8.032C-66.53 -8.712 -67.496 -9.816 -68.619 -10.978C-68.817 -11.182 -67.674 -11.906 -67.855 -12.119C-68.947 -13.408 -70.1 -14.175 -69.764 -15.668C-69.609 -16.358 -69.472 -17.415 -70.216 -18.135z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-73.8 -16.4C-73.8 -16.4 -73.4 -9.6 -71 -8C-68.6 -6.4 -69.8 -7.2 -73 -8.4C-76.2 -9.6 -75 -10.4 -75 -10.4C-75 -10.4 -77.8 -10 -75.4 -8C-73 -6 -69.4 -3.6 -71 -3.6C-72.6 -3.6 -80.2 -7.6 -80.2 -10.4C-80.2 -13.2 -81.2 -17.3 -81.2 -17.3C-81.2 -17.3 -80.1 -18.1 -75.3 -18C-75.3 -18 -73.9 -17.3 -73.8 -16.4z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-74.6 2.2C-74.6 2.2 -83.12 -0.591 -101.6 2.8C-101.6 2.8 -92.569 0.722 -73.8 3C-63.5 4.25 -74.6 2.2 -74.6 2.2z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-72.502 2.129C-72.502 2.129 -80.748 -1.389 -99.453 0.392C-99.453 0.392 -90.275 -0.897 -71.774 2.995C-61.62 5.131 -72.502 2.129 -72.502 2.129z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-70.714 2.222C-70.714 2.222 -78.676 -1.899 -97.461 -1.514C-97.461 -1.514 -88.213 -2.118 -70.052 3.14C-60.086 6.025 -70.714 2.222 -70.714 2.222z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-69.444 2.445C-69.444 2.445 -76.268 -1.862 -93.142 -2.96C-93.142 -2.96 -84.803 -2.79 -68.922 3.319C-60.206 6.672 -69.444 2.445 -69.444 2.445z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M45.84 12.961C45.84 12.961 44.91 13.605 45.124 12.424C45.339 11.243 73.547 -1.927 77.161 -1.677C77.161 -1.677 46.913 11.529 45.84 12.961z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M42.446 13.6C42.446 13.6 41.57 14.315 41.691 13.121C41.812 11.927 68.899 -3.418 72.521 -3.452C72.521 -3.452 43.404 12.089 42.446 13.6z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M39.16 14.975C39.16 14.975 38.332 15.747 38.374 14.547C38.416 13.348 58.233 -2.149 68.045 -4.023C68.045 -4.023 50.015 4.104 39.16 14.975z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M36.284 16.838C36.284 16.838 35.539 17.532 35.577 16.453C35.615 15.373 53.449 1.426 62.28 -0.26C62.28 -0.26 46.054 7.054 36.284 16.838z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M4.6 164.801C4.6 164.801 -10.6 162.401 6.2 160.801C6.2 160.801 24.2 158.801 28.2 153.601C28.2 153.601 41.8 144.401 44.6 144.001C47.4 143.601 63.8 140.001 64.2 137.601C64.6 135.201 70.6 132.801 72.2 133.601C73.8 134.401 73.8 143.601 71 144.401C68.2 145.201 49.4 152.401 43 153.601C36.6 154.801 25 162.401 20.2 163.601C15.4 164.801 4.6 164.801 4.6 164.801z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M77.6 127.401C77.6 127.401 74.6 129.001 73.4 131.601C73.4 131.601 67 142.201 52.8 145.401C52.8 145.401 29.8 154.401 22 156.401C22 156.401 8.6 161.401 1.2 160.601C1.2 160.601 -5.8 160.801 0.4 162.401C0.4 162.401 20.6 160.401 24 158.601C24 158.601 39.6 153.401 42.6 150.801C45.6 148.201 63.8 143.201 66 141.201C68.2 139.201 78 130.801 77.6 127.401z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M18.882 158.911C18.882 158.911 24.111 158.685 22.958 160.234C21.805 161.784 19.357 160.91 19.357 160.91L18.882 158.911z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M11.68 160.263C11.68 160.263 16.908 160.037 15.756 161.586C14.603 163.136 12.155 162.263 12.155 162.263L11.68 160.263z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M1.251 161.511C1.251 161.511 6.48 161.284 5.327 162.834C4.174 164.383 1.726 163.51 1.726 163.51L1.251 161.511z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-6.383 162.055C-6.383 162.055 -1.154 161.829 -2.307 163.378C-3.46 164.928 -5.908 164.054 -5.908 164.054L-6.383 162.055z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M35.415 151.513C35.415 151.513 42.375 151.212 40.84 153.274C39.306 155.336 36.047 154.174 36.047 154.174L35.415 151.513z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M45.73 147.088C45.73 147.088 51.689 143.787 51.155 148.849C50.885 151.405 46.362 149.749 46.362 149.749L45.73 147.088z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M54.862 144.274C54.862 144.274 62.021 140.573 60.287 146.035C59.509 148.485 55.493 146.935 55.493 146.935L54.862 144.274z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M64.376 139.449C64.376 139.449 68.735 134.548 69.801 141.21C70.207 143.748 65.008 142.11 65.008 142.11L64.376 139.449z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M26.834 155.997C26.834 155.997 32.062 155.77 30.91 157.32C29.757 158.869 27.308 157.996 27.308 157.996L26.834 155.997z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M62.434 34.603C62.434 34.603 61.708 35.268 61.707 34.197C61.707 33.127 79.191 19.863 88.034 18.479C88.034 18.479 71.935 25.208 62.434 34.603z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M65.4 98.4C65.4 98.4 87.401 120.801 96.601 124.401C96.601 124.401 105.801 135.601 101.801 161.601C101.801 161.601 98.601 169.201 95.401 148.401C95.401 148.401 98.601 123.201 87.401 139.201C87.401 139.201 79 129.301 85.4 129.601C85.4 129.601 88.601 131.601 89.001 130.001C89.401 128.401 81.4 114.801 64.2 100.4C47 86 65.4 98.4 65.4 98.4z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M7 137.201C7 137.201 6.8 135.401 8.6 136.201C10.4 137.001 104.601 143.201 136.201 167.201C136.201 167.201 91.001 144.001 7 137.201z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M17.4 132.801C17.4 132.801 17.2 131.001 19 131.801C20.8 132.601 157.401 131.601 181.001 164.001C181.001 164.001 159.001 138.801 17.4 132.801z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M29 128.801C29 128.801 28.8 127.001 30.6 127.801C32.4 128.601 205.801 115.601 229.401 148.001C229.401 148.001 219.801 122.401 29 128.801z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M39 124.001C39 124.001 38.8 122.201 40.6 123.001C42.4 123.801 164.601 85.2 188.201 117.601C188.201 117.601 174.801 93 39 124.001z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-19 146.801C-19 146.801 -19.2 145.001 -17.4 145.801C-15.6 146.601 2.2 148.801 4.2 187.601C4.2 187.601 -3 145.601 -19 146.801z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-27.8 148.401C-27.8 148.401 -28 146.601 -26.2 147.401C-24.4 148.201 -10.2 143.601 -13 182.401C-13 182.401 -11.8 147.201 -27.8 148.401z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-35.8 148.801C-35.8 148.801 -36 147.001 -34.2 147.801C-32.4 148.601 -17 149.201 -29.4 171.601C-29.4 171.601 -19.8 147.601 -35.8 148.801z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M11.526 104.465C11.526 104.465 11.082 106.464 12.631 105.247C28.699 92.622 61.141 33.72 116.826 28.086C116.826 28.086 78.518 15.976 11.526 104.465z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M22.726 102.665C22.726 102.665 21.363 101.472 23.231 100.847C25.099 100.222 137.541 27.72 176.826 35.686C176.826 35.686 149.719 28.176 22.726 102.665z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M1.885 108.767C1.885 108.767 1.376 110.366 3.087 109.39C12.062 104.27 15.677 47.059 59.254 45.804C59.254 45.804 26.843 31.09 1.885 108.767z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-18.038 119.793C-18.038 119.793 -19.115 121.079 -17.162 120.825C-6.916 119.493 14.489 78.222 58.928 83.301C58.928 83.301 26.962 68.955 -18.038 119.793z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-6.8 113.667C-6.8 113.667 -7.611 115.136 -5.742 114.511C4.057 111.237 17.141 66.625 61.729 63.078C61.729 63.078 27.603 55.135 -6.8 113.667z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-25.078 124.912C-25.078 124.912 -25.951 125.954 -24.369 125.748C-16.07 124.669 1.268 91.24 37.264 95.354C37.264 95.354 11.371 83.734 -25.078 124.912z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-32.677 130.821C-32.677 130.821 -33.682 131.866 -32.091 131.748C-27.923 131.439 2.715 98.36 21.183 113.862C21.183 113.862 9.168 95.139 -32.677 130.821z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M36.855 98.898C36.855 98.898 35.654 97.543 37.586 97.158C39.518 96.774 160.221 39.061 198.184 51.927C198.184 51.927 172.243 41.053 36.855 98.898z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M3.4 163.201C3.4 163.201 3.2 161.401 5 162.201C6.8 163.001 22.2 163.601 9.8 186.001C9.8 186.001 19.4 162.001 3.4 163.201z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M13.8 161.601C13.8 161.601 13.6 159.801 15.4 160.601C17.2 161.401 35 163.601 37 202.401C37 202.401 29.8 160.401 13.8 161.601z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M20.6 160.001C20.6 160.001 20.4 158.201 22.2 159.001C24 159.801 48.6 163.201 72.2 195.601C72.2 195.601 36.6 158.801 20.6 160.001z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M28.225 157.972C28.225 157.972 27.788 156.214 29.678 156.768C31.568 157.322 52.002 155.423 90.099 189.599C90.099 189.599 43.924 154.656 28.225 157.972z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M38.625 153.572C38.625 153.572 38.188 151.814 40.078 152.368C41.968 152.922 76.802 157.423 128.499 192.399C128.499 192.399 54.324 150.256 38.625 153.572z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-1.8 142.001C-1.8 142.001 -2 140.201 -0.2 141.001C1.6 141.801 55 144.401 85.4 171.201C85.4 171.201 50.499 146.426 -1.8 142.001z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M-11.8 146.001C-11.8 146.001 -12 144.201 -10.2 145.001C-8.4 145.801 16.2 149.201 39.8 181.601C39.8 181.601 4.2 144.801 -11.8 146.001z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M49.503 148.962C49.503 148.962 48.938 147.241 50.864 147.655C52.79 148.068 87.86 150.004 141.981 181.098C141.981 181.098 64.317 146.704 49.503 148.962z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M57.903 146.562C57.903 146.562 57.338 144.841 59.264 145.255C61.19 145.668 96.26 147.604 150.381 178.698C150.381 178.698 73.317 143.904 57.903 146.562z"/>
+ </svg:g>
+ <svg:g style="fill: #ffffff; stroke:#000000; stroke-width:0.1">
+  <svg:path d="M67.503 141.562C67.503 141.562 66.938 139.841 68.864 140.255C70.79 140.668 113.86 145.004 203.582 179.298C203.582 179.298 82.917 138.904 67.503 141.562z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-43.8 148.401C-43.8 148.401 -38.6 148.001 -39.8 149.601C-41 151.201 -43.4 150.401 -43.4 150.401L-43.8 148.401z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-13 162.401C-13 162.401 -7.8 162.001 -9 163.601C-10.2 165.201 -12.6 164.401 -12.6 164.401L-13 162.401z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-21.8 162.001C-21.8 162.001 -16.6 161.601 -17.8 163.201C-19 164.801 -21.4 164.001 -21.4 164.001L-21.8 162.001z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-117.169 150.182C-117.169 150.182 -112.124 151.505 -113.782 152.624C-115.439 153.744 -117.446 152.202 -117.446 152.202L-117.169 150.182z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-115.169 140.582C-115.169 140.582 -110.124 141.905 -111.782 143.024C-113.439 144.144 -115.446 142.602 -115.446 142.602L-115.169 140.582z"/>
+ </svg:g>
+ <svg:g style="fill: #000000">
+  <svg:path d="M-122.369 136.182C-122.369 136.182 -117.324 137.505 -118.982 138.624C-120.639 139.744 -122.646 138.202 -122.646 138.202L-122.369 136.182z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-42.6 211.201C-42.6 211.201 -44.2 211.201 -48.2 213.201C-50.2 213.201 -61.4 216.801 -67 226.801C-67 226.801 -54.6 217.201 -42.6 211.201z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M45.116 303.847C45.257 304.105 45.312 304.525 45.604 304.542C46.262 304.582 47.495 304.883 47.37 304.247C46.522 299.941 45.648 295.004 41.515 293.197C40.876 292.918 39.434 293.331 39.36 294.215C39.233 295.739 39.116 297.088 39.425 298.554C39.725 299.975 41.883 299.985 42.8 298.601C43.736 300.273 44.168 302.116 45.116 303.847z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M34.038 308.581C34.786 309.994 34.659 311.853 36.074 312.416C36.814 312.71 38.664 311.735 38.246 310.661C37.444 308.6 37.056 306.361 35.667 304.55C35.467 304.288 35.707 303.755 35.547 303.427C34.953 302.207 33.808 301.472 32.4 301.801C31.285 304.004 32.433 306.133 33.955 307.842C34.091 307.994 33.925 308.37 34.038 308.581z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-5.564 303.391C-5.672 303.014 -5.71 302.551 -5.545 302.23C-5.014 301.197 -4.221 300.075 -4.558 299.053C-4.906 297.997 -6.022 298.179 -6.672 298.748C-7.807 299.742 -7.856 301.568 -8.547 302.927C-8.743 303.313 -8.692 303.886 -9.133 304.277C-9.607 304.698 -10.047 306.222 -9.951 306.793C-9.898 307.106 -10.081 317.014 -9.859 316.751C-9.24 316.018 -6.19 306.284 -6.121 305.392C-6.064 304.661 -5.332 304.196 -5.564 303.391z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-31.202 296.599C-28.568 294.1 -25.778 291.139 -26.22 287.427C-26.336 286.451 -28.111 286.978 -28.298 287.824C-29.1 291.449 -31.139 294.11 -33.707 296.502C-35.903 298.549 -37.765 304.893 -38 305.401C-34.303 300.145 -32.046 297.399 -31.202 296.599z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-44.776 290.635C-44.253 290.265 -44.555 289.774 -44.338 289.442C-43.385 287.984 -42.084 286.738 -42.066 285C-42.063 284.723 -42.441 284.414 -42.776 284.638C-43.053 284.822 -43.395 284.952 -43.503 285.082C-45.533 287.531 -46.933 290.202 -48.376 293.014C-48.559 293.371 -49.703 297.862 -49.39 297.973C-49.151 298.058 -47.431 293.877 -47.221 293.763C-45.958 293.077 -45.946 291.462 -44.776 290.635z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-28.043 310.179C-27.599 309.31 -26.023 308.108 -26.136 307.219C-26.254 306.291 -25.786 304.848 -26.698 305.536C-27.955 306.484 -31.404 307.833 -31.674 313.641C-31.7 314.212 -28.726 311.519 -28.043 310.179z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-13.6 293.001C-13.2 292.333 -12.492 292.806 -12.033 292.543C-11.385 292.171 -10.774 291.613 -10.482 290.964C-9.512 288.815 -7.743 286.995 -7.6 284.601C-9.091 283.196 -9.77 285.236 -10.4 286.201C-11.723 284.554 -12.722 286.428 -14.022 286.947C-14.092 286.975 -14.305 286.628 -14.38 286.655C-15.557 287.095 -16.237 288.176 -17.235 288.957C-17.406 289.091 -17.811 288.911 -17.958 289.047C-18.61 289.65 -19.583 289.975 -19.863 290.657C-20.973 293.364 -24.113 295.459 -26 303.001C-25.619 303.91 -21.488 296.359 -21.001 295.661C-20.165 294.465 -20.047 297.322 -18.771 296.656C-18.72 296.629 -18.534 296.867 -18.4 297.001C-18.206 296.721 -17.988 296.492 -17.6 296.601C-17.6 296.201 -17.734 295.645 -17.533 295.486C-16.296 294.509 -16.38 293.441 -15.6 292.201C-15.142 292.99 -14.081 292.271 -13.6 293.001z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M46.2 347.401C46.2 347.401 53.6 327.001 49.2 315.801C49.2 315.801 60.6 337.401 56 348.601C56 348.601 55.6 338.201 51.6 333.201C51.6 333.201 47.6 346.001 46.2 347.401z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M31.4 344.801C31.4 344.801 36.8 336.001 28.8 317.601C28.8 317.601 28 338.001 21.2 349.001C21.2 349.001 35.4 328.801 31.4 344.801z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M21.4 342.801C21.4 342.801 21.2 322.801 21.6 319.801C21.6 319.801 17.8 336.401 7.6 346.001C7.6 346.001 22 334.001 21.4 342.801z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M11.8 310.801C11.8 310.801 17.8 324.401 7.8 342.801C7.8 342.801 14.2 330.601 9.4 323.601C9.4 323.601 12 320.201 11.8 310.801z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-7.4 342.401C-7.4 342.401 -8.4 326.801 -6.6 324.601C-6.6 324.601 -6.4 318.201 -6.8 317.201C-6.8 317.201 -2.8 311.001 -2.6 318.401C-2.6 318.401 -1.2 326.201 1.6 330.801C1.6 330.801 5.2 336.201 5 342.601C5 342.601 -5 312.401 -7.4 342.401z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-11 314.801C-11 314.801 -17.6 325.601 -19.4 344.601C-19.4 344.601 -20.8 338.401 -17 324.001C-17 324.001 -12.8 308.601 -11 314.801z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-32.8 334.601C-32.8 334.601 -27.8 329.201 -26.4 324.201C-26.4 324.201 -22.8 308.401 -29.2 317.001C-29.2 317.001 -29 325.001 -37.2 332.401C-37.2 332.401 -32.4 330.001 -32.8 334.601z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-38.6 329.601C-38.6 329.601 -35.2 312.201 -34.4 311.401C-34.4 311.401 -32.6 308.001 -35.4 311.201C-35.4 311.201 -44.2 330.401 -48.2 337.001C-48.2 337.001 -40.2 327.801 -38.6 329.601z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-44.4 313.001C-44.4 313.001 -32.8 290.601 -54.6 316.401C-54.6 316.401 -43.6 306.601 -44.4 313.001z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M-59.8 298.401C-59.8 298.401 -55 279.601 -52.4 279.801C-52.4 279.801 -44.2 270.801 -50.8 281.401C-50.8 281.401 -56.8 291.001 -56.2 300.801C-56.2 300.801 -56.8 291.201 -59.8 298.401z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M270.5 287C270.5 287 258.5 277 256 273.5C256 273.5 269.5 292 269.5 299C269.5 299 272 291.5 270.5 287z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M276 265C276 265 255 250 251.5 242.5C251.5 242.5 278 272 278 276.5C278 276.5 278.5 267.5 276 265z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M293 111C293 111 281 103 279.5 105C279.5 105 290 111.5 292.5 120C292.5 120 291 111 293 111z"/>
+ </svg:g>
+ <svg:g style="fill: #cccccc">
+  <svg:path d="M301.5 191.5L284 179.5C284 179.5 303 196.5 303.5 200.5L301.5 191.5z"/>
+ </svg:g>
+ <svg:g style="stroke:#000000">
+  <svg:path d="M-89.25 169L-67.25 173.75"/>
+ </svg:g>
+ <svg:g style="stroke:#000000">
+  <svg:path d="M-39 331C-39 331 -39.5 327.5 -48.5 338"/>
+ </svg:g>
+ <svg:g style="stroke:#000000">
+  <svg:path d="M-33.5 336C-33.5 336 -31.5 329.5 -38 334"/>
+ </svg:g>
+ <svg:g style="stroke:#000000">
+  <svg:path d="M20.5 344.5C20.5 344.5 22 333.5 10.5 346.5"/>
+ </svg:g>
+</svg:g>
+</svg:svg>
+
+</fo:instream-foreign-object>
+
+      </fo:block>
+
+      <fo:block text-align="center">
+Some examples of how to embed an SVG image inside your FO documents
+      </fo:block>
+
+      <fo:block break-before="page" space-after.optimum="10pt" font-weight="bold" font-size="12pt">
+Introduction
+      </fo:block>
+
+      <fo:block>
+This document shows some examples of how an SVG document can be embedded directly in
+an fo document and how FOP will render it.
+      </fo:block>
+
+      <fo:block>
+There are a couple of ways to specify the XML for embedding.
+There are a number of factors which specify exactly how the SVG image will be rendered, such as size, clipping etc.
+      </fo:block>
+
+      <fo:block>
+Note: if you want to know about SVG itself you should consult the appropriate SVG resource. The <fo:inline color="blue"><fo:basic-link external-destination="http://xml.apache.org/batik">Batik Project</fo:basic-link></fo:inline> is a good resource for information about SVG and samples etc.
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" space-after.optimum="5pt" font-weight="bold" font-size="12pt">
+XML Syntax
+      </fo:block>
+
+      <fo:block>
+Here we have some examples of how the XML can be specified in the fo document.
+      <fo:block>
+          <fo:table>
+              <fo:table-column column-width="350pt"/>
+              <fo:table-column column-width="150pt"/>
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell number-columns-spanned="2">
+        <fo:block space-before.optimum="5pt">
+This first example specifies the name space on the instream-foreign-object using the xmlns:svg attribute.
+Then all the svg elements start with the svg: namespace prefix. It can be specified on any element
+above where the svg:svg tag appears (eg. fo:root).
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-size="8pt" white-space-collapse="false" space-before.optimum="5pt">
+<![CDATA[
+<fo:instream-foreign-object xmlns:svg="http://www.w3.org/2000/svg">
+<svg:svg width="20" height="20">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+]]>
+
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block space-before.optimum="15pt">
+<fo:instream-foreign-object xmlns:svg="http://www.w3.org/2000/svg">
+<svg:svg width="20" height="20">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell number-columns-spanned="2">
+        <fo:block space-before.optimum="5pt">
+This example specifies the name space on the svg:svg element using the xmlns:svg attribute.
+Then all the svg elements start with the svg: namespace prefix.
+It is able to determine the namespace for the current element.
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-size="8pt" white-space-collapse="false" space-before.optimum="5pt">
+<![CDATA[
+<fo:instream-foreign-object>
+<svg:svg xmlns:svg="http://www.w3.org/2000/svg" width="20" height="20">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+]]>
+
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block space-before.optimum="15pt">
+<fo:instream-foreign-object>
+<svg:svg xmlns:svg="http://www.w3.org/2000/svg" width="20" height="20">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell number-columns-spanned="2">
+        <fo:block space-before.optimum="5pt">
+This example specifies the namespace for the current element, rather than for the svg: prefix.
+This means that all elements under this one are assumed to have the same namespace.
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-size="8pt" white-space-collapse="false" space-before.optimum="5pt">
+<![CDATA[
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+  <g style="fill:red; stroke:#000000">
+     <rect x="0" y="0" width="15" height="15"/>
+     <rect x="5" y="5" width="15" height="15"/>
+  </g>
+</svg>
+</fo:instream-foreign-object>
+]]>
+
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block space-before.optimum="15pt">
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+  <g style="fill:red; stroke:#000000">
+     <rect x="0" y="0" width="15" height="15"/>
+     <rect x="5" y="5" width="15" height="15"/>
+  </g>
+</svg>
+</fo:instream-foreign-object>
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+  </fo:table-body>
+
+          </fo:table>
+      </fo:block>
+
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" space-after.optimum="5pt" font-weight="bold" font-size="12pt">
+Sizing
+      </fo:block>
+
+      <fo:block>
+      The size of the instream-foreign-object is obtained in a number of ways.
+
+      <fo:block>
+          <fo:table xmlns:svg="http://www.w3.org/2000/svg">
+              <fo:table-column column-width="350pt"/>
+              <fo:table-column column-width="150pt"/>
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell number-columns-spanned="2">
+        <fo:block space-before.optimum="5pt">
+Specify the size on the instream-foreign-object element.
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-size="8pt" white-space-collapse="false" space-before.optimum="5pt">
+<![CDATA[
+<fo:instream-foreign-object content-width="20pt" content-height="20pt">
+<svg:svg>
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+]]>
+
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block space-before.optimum="15pt">
+
+<fo:instream-foreign-object content-width="20pt" content-height="20pt">
+<svg:svg>
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row keep-with-next="always">
+      <fo:table-cell number-columns-spanned="2">
+        <fo:block space-before.optimum="5pt">
+Specify the size on the svg document element.
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-size="8pt" white-space-collapse="false" space-before.optimum="5pt">
+<![CDATA[
+<fo:instream-foreign-object>
+<svg:svg width="20pt" height="20pt">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+]]>
+
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block space-before.optimum="15pt">
+<fo:instream-foreign-object>
+<svg:svg width="20pt" height="20pt">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row keep-with-next="always">
+      <fo:table-cell number-columns-spanned="2">
+        <fo:block space-before.optimum="5pt">
+Specify the size on the svg document element and for the content size on the instream-foreign-object.
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-size="8pt" white-space-collapse="false" space-before.optimum="5pt">
+<![CDATA[
+<fo:instream-foreign-object content-width="40pt" content-height="40pt">
+<svg:svg width="20pt" height="20pt">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+]]>
+
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block space-before.optimum="15pt">
+<fo:instream-foreign-object content-width="40pt" content-height="40pt">
+<svg:svg width="20pt" height="20pt">
+  <svg:g style="fill:red; stroke:#000000">
+     <svg:rect x="0" y="0" width="15" height="15"/>
+     <svg:rect x="5" y="5" width="15" height="15"/>
+  </svg:g>
+</svg:svg>
+</fo:instream-foreign-object>
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+
+  </fo:table-body>
+
+          </fo:table>
+      </fo:block>
+
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" space-after.optimum="5pt" font-weight="bold" font-size="12pt">
+Clipping
+      </fo:block>
+
+      <fo:block>
+
+      </fo:block>
+
+      <fo:block space-before.optimum="5pt" space-after.optimum="5pt" font-weight="bold" font-size="12pt">
+Interesting Functionality
+      </fo:block>
+
+      <fo:block>
+
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/svg/external.fo b/examples/fo/svg/external.fo
new file mode 100644 (file)
index 0000000..e96ef47
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">External SVG examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block text-align="center" font-weight="bold" font-size="14pt" space-before.optimum="3pt" space-after.optimum="15pt">
+      External SVG
+      </fo:block>
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="20pt">
+
+
+      </fo:block>
+
+      <fo:block text-align="center">
+Some examples of how to reference external SVG images in your FO documents
+      </fo:block>
+
+      <fo:block break-before="page" space-after.optimum="10pt" font-weight="bold" font-size="12pt">
+Introduction
+      </fo:block>
+
+      <fo:block>
+This document shows some examples of how an SVG document can be in an external svg file
+which is referenced using the fo:external-graphic.
+      </fo:block>
+
+      <fo:block>
+      </fo:block>
+
+      <fo:block space-after.optimum="10pt" font-weight="bold" font-size="12pt">
+Examples
+      </fo:block>
+
+      <fo:block>
+The following svg document is obtained from an external file using the fo:external-graphic.
+      </fo:block>
+
+      <fo:block>
+<fo:external-graphic src="file:boxes.svg"/>
+      </fo:block>
+
+      <fo:block>
+This svg document (<fo:external-graphic src="file:multi.svg"/>) is also obtained from
+an external file using the fo:external-graphic. It has another svg image inside and references
+part of another svg image.
+      </fo:block>
+
+      <fo:block>
+This inline svg document (
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="60" height="40" xml:space="preserve">
+  <g style="fill:none;stroke:yellow">
+     <rect x="0" y="0" width="25" height="25"/>
+     <image xlink:href="file:boxes.svg" x="10" y="10" width="20" height="20"/>
+  </g>
+  <g>
+    <use xlink:href="file:ref.svg#FOP" transform="scale(1.5)" x="12" y="25"/>
+  </g>
+</svg>
+</fo:instream-foreign-object>
+) has an external svg image inside and references part of another svg image.
+      </fo:block>
+
+      <fo:block>
+Apart from this external svg images should behave in the same way that other types of
+external graphics do.
+      </fo:block>
+
+      <fo:block space-before.optimum="10pt">
+The following example shows how you could scale an external svg file.
+      </fo:block>
+
+      <fo:block>
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="20mm" height="20mm" xml:space="preserve">
+  <svg viewBox="0 0 20 20" preserveAspectRatio="none">
+     <image xlink:href="file:boxes.svg" x="0" y="0" width="20mm" height="20mm"/>
+  </svg>
+</svg>
+</fo:instream-foreign-object>
+and
+<fo:instream-foreign-object>
+<svg xmlns="http://www.w3.org/2000/svg" width="20mm" height="20mm" xml:space="preserve">
+  <g transform="scale(3.7)">
+     <image xlink:href="file:boxes.svg" x="0" y="0" width="20mm" height="20mm"/>
+  </g>
+</svg>
+</fo:instream-foreign-object>
+and
+<fo:instream-foreign-object>
+<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" width="20mm" height="20mm" xml:space="preserve">
+   <image preserveAspectRatio="xMidYMid" xlink:href="file:boxes.svg" x="0" y="0" width="10mm" height="10mm"/>
+</svg>
+</fo:instream-foreign-object>
+
+      </fo:block>
+
+      <fo:block space-before.optimum="10pt">
+This example is an svg from an external image:
+<fo:external-graphic src="file:view.svg"/>
+it has a viewbox that resizes the contents.
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
diff --git a/examples/fo/svg/multi.svg b/examples/fo/svg/multi.svg
new file mode 100644 (file)
index 0000000..bf49280
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
+"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">
+
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="60" height="40" xml:space="preserve">
+  <g style="fill:none;stroke:yellow">
+     <rect x="0" y="0" width="25" height="25"/>
+     <image xlink:href="file:boxes.svg" x="10" y="10" width="20" height="20"/>
+  </g>
+  <g>
+    <use xlink:href="file:ref.svg#FOP" transform="scale(1.5)" x="12" y="25"/>
+  </g>
+</svg>
+
diff --git a/examples/fo/svg/ref.svg b/examples/fo/svg/ref.svg
new file mode 100644 (file)
index 0000000..e3f75c6
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
+"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">
+
+<svg width="20" height="20" xml:space="preserve">
+  <g id="FOP">
+    <text x="0" y="0" style="fill:black;font-weight:bold;font-size:14"><tspan style="fill:red">F</tspan><tspan style="fill:purple">O</tspan><tspan style="fill:blue">P</tspan></text>
+  </g>
+</svg>
+
diff --git a/examples/fo/svg/view.svg b/examples/fo/svg/view.svg
new file mode 100644 (file)
index 0000000..4704ec9
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
+"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">
+
+<svg viewBox="0 0 10 10" width="20" height="20" xml:space="preserve">
+  <g style="fill:red; stroke:#000000">
+     <rect x="0" y="0" width="15" height="15"/>
+     <rect x="5" y="5" width="15" height="15"/>
+  </g>
+</svg>
+
diff --git a/examples/fo/tables/background.fo b/examples/fo/tables/background.fo
new file mode 100644 (file)
index 0000000..b5b9ef1
--- /dev/null
@@ -0,0 +1,789 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Table 1: cell background
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell background-color="green">
+        <fo:block text-align="center">
+        green cell
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="red">
+        <fo:block text-align="center">
+        red cell
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="blue">
+        <fo:block text-align="center">
+        blue cell
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="yellow">
+        <fo:block text-align="center">
+        yellow cell
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: row background
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row background-color="green">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        green
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row background-color="red">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        red
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row background-color="blue">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        blue
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: column background
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="3cm" background-color="green"/>
+  <fo:table-column column-width="3cm" background-color="red"/>
+  <fo:table-column column-width="3cm" background-color="blue"/>
+  <fo:table-column column-width="3cm" background-color="yellow"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table columns
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        different
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        backgrounds
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        extra
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="260pt" space-after.optimum="15pt">
+      Table 1: column backgrounds over page
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="3cm" background-color="green"/>
+  <fo:table-column column-width="3cm" background-color="red"/>
+  <fo:table-column column-width="3cm" background-color="blue"/>
+  <fo:table-column column-width="3cm" background-color="orange"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table columns
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        different
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        backgrounds
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        extra
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: body background
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body background-color="green" border-left-width="0.5pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        green
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body background-color="red">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        red
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body background-color="blue">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        blue
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body background-color="yellow">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        yellow
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: table background
+      </fo:block>
+
+      <fo:table background-color="green">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        green
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table background-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        red
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        background
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: combinations
+      </fo:block>
+
+      <fo:table background-color="green">
+  <fo:table-column column-width="2.5cm"/>
+  <fo:table-column column-width="2.5cm" background-color="green"/>
+  <fo:table-column column-width="2.5cm" background-color="red"/>
+  <fo:table-column column-width="2.5cm" background-color="blue"/>
+  <fo:table-column column-width="2.5cm" background-color="yellow"/>
+  <fo:table-column column-width="2.5cm"/>
+
+    <fo:table-body background-color="aqua">
+    <fo:table-row background-color="green">
+      <fo:table-cell background-color="green">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="red">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="blue">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="yellow">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row background-color="red">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="red">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="blue">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="yellow">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="orange">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row background-color="blue">
+      <fo:table-cell background-color="green">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="blue">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="yellow">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="orange">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row background-color="yellow">
+      <fo:table-cell background-color="green">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="red">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="yellow">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="orange">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row background-color="orange">
+      <fo:table-cell background-color="green">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="red">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="blue">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="yellow">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="orange">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell background-color="green">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="red">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="blue">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="yellow">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell background-color="orange">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+    <fo:table-body space-before.optimum="10pt" space-after.optimum="10pt">
+    <fo:table-row background-color="blue">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        blue
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/tables/borders.fo b/examples/fo/tables/borders.fo
new file mode 100644 (file)
index 0000000..d1c119c
--- /dev/null
@@ -0,0 +1,1023 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Table 1: cell borders
+      </fo:block>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+        <fo:block text-align="center">
+        green left
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+        <fo:block text-align="center">
+        red top
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+        <fo:block text-align="center">
+        blue right
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        yellow bottom
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell
+          border-left-color="green" border-left-width="0.5pt" border-left-style="solid"
+          border-top-color="red" border-top-width="0.5pt" border-top-style="solid"
+          border-right-color="blue" border-right-width="0.5pt" border-right-style="solid"
+          border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        all
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell border-color="green" border-left-width="2pt" border-style="solid">
+        <fo:block text-align="center">
+        2pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="2pt" border-top-style="dashed">
+        <fo:block text-align="center">
+        2pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="2pt" border-right-style="dotted">
+        <fo:block text-align="center">
+        2pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="2pt" border-bottom-style="double">
+        <fo:block text-align="center">
+        2pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell
+          border-left-color="green" border-left-width="2pt" border-left-style="solid"
+          border-top-color="red" border-top-width="2pt" border-top-style="dashed"
+          border-right-color="blue" border-right-width="2pt" border-right-style="double"
+          border-bottom-color="yellow" border-bottom-width="2pt" border-bottom-style="dotted">
+        <fo:block text-align="center">
+        2pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell border-left-color="green" border-left-width="10pt" border-left-style="solid">
+        <fo:block text-align="center">
+        10pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="10pt" border-top-style="solid">
+        <fo:block text-align="center">
+        10pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="10pt" border-right-style="solid">
+        <fo:block text-align="center">
+        10pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="10pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        10pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell
+          border-left-color="green" border-left-width="2pt" border-left-style="solid"
+          border-top-color="red" border-top-width="4pt" border-top-style="solid"
+          border-right-color="blue" border-right-width="8pt" border-right-style="solid"
+          border-bottom-color="yellow" border-bottom-width="10pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        2pt - 10pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell border-color="green" border-width="0.5pt" border-style="solid">
+        <fo:block text-align="center">
+        0.5pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="red" border-width="1pt" border-style="solid">
+        <fo:block text-align="center">
+        1pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="blue" border-width="2pt" border-style="solid">
+        <fo:block text-align="center">
+        2pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="yellow" border-width="10pt" border-style="solid">
+        <fo:block text-align="center">
+        10pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="yellow" border-width="20pt" border-style="solid">
+        <fo:block text-align="center">
+        20pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: row borders
+      </fo:block>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        green left
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        red top
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        blue right
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        yellow bottom
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-color="purple" border-width="0.5pt" border-style="solid">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        all
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: column borders
+      </fo:block>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm" border-left-color="green" border-left-width="0.5pt" border-left-style="solid"/>
+  <fo:table-column column-width="3cm" border-top-color="red" border-top-width="0.5pt" border-top-style="solid"/>
+  <fo:table-column column-width="3cm" border-right-color="blue" border-right-width="0.5pt" border-right-style="solid"/>
+  <fo:table-column column-width="3cm" border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid"/>
+  <fo:table-column column-width="3cm" border-color="orange" border-width="0.5pt" border-style="solid"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table columns
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        different
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        borders
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        extra
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: column borders over page
+      </fo:block>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm" border-left-color="green" border-left-width="0.5pt" border-left-style="solid"/>
+  <fo:table-column column-width="3cm" border-top-color="red" border-top-width="0.5pt" border-top-style="solid"/>
+  <fo:table-column column-width="3cm" border-right-color="blue" border-right-width="0.5pt" border-right-style="solid"/>
+  <fo:table-column column-width="3cm" border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid"/>
+  <fo:table-column column-width="3cm" border-color="orange" border-width="0.5pt" border-style="solid"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table columns
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        different
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        borders
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        extra
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: body borders
+      </fo:block>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        left border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        top border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        right border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        bottom border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body border-color="orange" border-width="0.5pt" border-style="solid">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        all border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: table borders
+      </fo:block>
+
+      <fo:table border-left-color="green" border-left-width="0.5pt" border-left-style="solid"
+ border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        left border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-top-color="red" border-top-width="0.5pt" border-top-style="solid" border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        top border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-right-color="blue" border-right-width="0.5pt" border-right-style="solid" border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        right border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid" border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        bottom border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:table border-color="orange" border-width="0.5pt" border-style="solid" border-collapse="separate">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        all border
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15pt" space-after.optimum="15pt">
+      Table 1: combinations
+      </fo:block>
+
+      <fo:table border-left-color="green" border-left-width="0.5pt" border-left-style="solid" border-collapse="separate">
+  <fo:table-column column-width="2.5cm"/>
+  <fo:table-column column-width="2.5cm" border-left-color="green" border-left-width="0.5pt" border-left-style="solid"/>
+  <fo:table-column column-width="2.5cm" border-top-color="red" border-top-width="0.5pt" border-top-style="solid"/>
+  <fo:table-column column-width="2.5cm" border-right-color="blue" border-right-width="0.5pt" border-right-style="solid"/>
+  <fo:table-column column-width="2.5cm" border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid"/>
+  <fo:table-column column-width="2.5cm" border-color="orange" border-width="0.5pt" border-style="solid"/>
+
+    <fo:table-body border-color="aqua" border-width="0.5pt" border-style="solid">
+    <fo:table-row border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+      <fo:table-cell border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="orange" border-width="0.5pt" border-style="solid">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+      <fo:table-cell border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="orange" border-width="0.5pt" border-style="solid">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+      <fo:table-cell border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="orange" border-width="0.5pt" border-style="solid">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+      <fo:table-cell border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+        <fo:table-cell border-color="orange" border-width="0.5pt" border-style="solid">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-color="orange" border-width="0.5pt" border-style="solid">
+      <fo:table-cell border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="orange" border-width="0.5pt" border-style="solid">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell border-left-color="green" border-left-width="0.5pt" border-left-style="solid">
+        <fo:block text-align="center">
+        a
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-top-color="red" border-top-width="0.5pt" border-top-style="solid">
+        <fo:block text-align="center">
+        b
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-right-color="blue" border-right-width="0.5pt" border-right-style="solid">
+        <fo:block text-align="center">
+        c
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-bottom-color="yellow" border-bottom-width="0.5pt" border-bottom-style="solid">
+        <fo:block text-align="center">
+        d
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-color="orange" border-width="0.5pt"  border-style="solid">
+        <fo:block text-align="center">
+        e
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        text for an extra line in the table row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/tables/break.fo b/examples/fo/tables/break.fo
new file mode 100644 (file)
index 0000000..13f3160
--- /dev/null
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="17cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Tests for breaks on table rows.
+      </fo:block>
+
+      <fo:block space-before.optimum="80pt" space-after.optimum="15pt">
+      Table 1: basic break after with next
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt" break-after="page">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        first row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        new page
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        for next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        second row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="80pt" space-after.optimum="15pt">
+      Table 2: basic break before with next
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        first row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        new page
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        for next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" break-before="page">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        second row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        break before
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="80pt" space-after.optimum="15pt">
+      Table 3: basic break before a keep with next
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        first row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        new page
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        for next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" break-before="page">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        second row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        break before
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="80pt" space-after.optimum="15pt">
+      Table 4: basic break after a keep with previous
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt" break-after="page">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        first row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        new page
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        for next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-previous="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        second row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        break before
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="80pt" space-after.optimum="15pt">
+      Table 5: basic break after a keep with previous
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with text
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with text
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with text
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always" break-after="page">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        break after
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        and
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/tables/headfoot.fo b/examples/fo/tables/headfoot.fo
new file mode 100644 (file)
index 0000000..641d331
--- /dev/null
@@ -0,0 +1,1432 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="7cm"/>
+      <fo:region-body margin-top="7cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="15cm">
+      Table 1: with header
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-header>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-header>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15cm">
+      Table 2: with footer
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-footer>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-footer>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15cm">
+      Table 3: with header and footer and keeps
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-header>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-header>
+
+  <fo:table-footer>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-footer>
+
+  <fo:table-body>
+    <fo:table-row keep-with-next="always">
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        Row 1:
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        keep
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        together
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        row 2:
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        always
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        Row 2:
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        is always
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        kept
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        together
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        row 1
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle"
+      line-height="16cm">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="2cm">
+      Table 4: cells spanning columns
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+      text-align="center" vertical-align="middle"
+      number-columns-spanned="1" background-color="#FF6AC0">
+        <fo:block> 1 to 1</fo:block>
+      </fo:table-cell>
+      <fo:table-cell
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+      text-align="center" vertical-align="middle"
+      number-columns-spanned="5" background-color="#9BF2E9">
+        <fo:block> 2 to 6</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+      text-align="center" vertical-align="middle"
+      number-columns-spanned="2" background-color="#FF6AC0">
+        <fo:block> 1 to 2</fo:block>
+      </fo:table-cell>
+      <fo:table-cell
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+      text-align="center" vertical-align="middle"
+      number-columns-spanned="4" background-color="#9BF2E9">
+        <fo:block> 3 to 6</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+
+      <fo:block space-before.optimum="2cm">
+      Table 5: cells spanning rows
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="48pt"/>
+  <fo:table-column column-width="48pt"/>
+  <fo:table-column column-width="48pt"/>
+  <fo:table-column column-width="48pt"/>
+  <fo:table-column column-width="48pt"/>
+  <fo:table-column column-width="48pt"/>
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell><fo:block>1</fo:block></fo:table-cell>
+      <fo:table-cell number-rows-spanned="1"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#FF6AC0">
+        <fo:block> 1 - 1</fo:block>
+      </fo:table-cell>
+      <fo:table-cell number-rows-spanned="2"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#FF6AC0">
+        <fo:block> 1 - 2</fo:block>
+      </fo:table-cell>
+      <fo:table-cell number-rows-spanned="3"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#FF6AC0"><fo:block> 1 - 3</fo:block>
+      </fo:table-cell>
+
+      <fo:table-cell number-rows-spanned="4"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#FF6AC0"><fo:block> 1 - 4</fo:block>
+      </fo:table-cell>
+
+      <fo:table-cell number-rows-spanned="5"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#FF6AC0"><fo:block> 1 - 5</fo:block>
+            </fo:table-cell>
+    </fo:table-row>
+
+
+    <fo:table-row>
+      <fo:table-cell><fo:block>2</fo:block></fo:table-cell>
+      <fo:table-cell number-rows-spanned="5"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#9BF2E9"><fo:block> 2 - 6</fo:block>
+            </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell><fo:block>3</fo:block></fo:table-cell>
+      <fo:table-cell number-rows-spanned="4"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#9BF2E9"><fo:block> 3 - 6</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell><fo:block>4</fo:block></fo:table-cell>
+      <fo:table-cell number-rows-spanned="3"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#9BF2E9"><fo:block> 4 - 6</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell><fo:block>5</fo:block></fo:table-cell>
+      <fo:table-cell number-rows-spanned="2"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#9BF2E9"><fo:block> 5 - 6</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+    <fo:table-row>
+      <fo:table-cell><fo:block>6</fo:block></fo:table-cell>
+      <fo:table-cell number-rows-spanned="1"
+    border-width="0.5pt"
+    border-style="solid"
+    border-color="black"
+    text-align="center" vertical-align="middle"
+    background-color="#9BF2E9"><fo:block> 6 - 6</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="2cm">
+      Table 6: table with header and multiple body's
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-header>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-header>
+
+  <fo:table-body space-after.optimum="10pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="2cm">
+      Table 6: table with footer and multiple body's
+      </fo:block>
+
+      <fo:table>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-footer>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-footer>
+
+  <fo:table-body space-after.optimum="10pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/tables/keep.fo b/examples/fo/tables/keep.fo
new file mode 100644 (file)
index 0000000..c28b1f7
--- /dev/null
@@ -0,0 +1,590 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="17cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Tests for keeps on table rows and the occurance of page breaks.
+      </fo:block>
+
+      <fo:block space-before.optimum="280pt" space-after.optimum="15pt">
+      Table 1: basic keep with next
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        first row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        second row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="280pt" space-after.optimum="15pt">
+      Table 1: basic keep with previous
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        first row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-previous="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        second row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        previous
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="270pt" space-after.optimum="15pt">
+      Table 1: basic keep with next and keep with previous
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        first row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        second row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-previous="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        third row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        previous
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="200pt" space-after.optimum="15pt">
+      Table 1: basic multiple keep with next after normal row
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="160pt" space-after.optimum="15pt">
+      Table 1: basic multiple keep (next and previous) after normal row
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="6cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always" keep-with-previous="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next and previous
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="160pt" space-after.optimum="15pt">
+      Table 1: basic multiple keep with next after normal row with normal row in middle
+      </fo:block>
+
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="6cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt" keep-with-next="always">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        keep with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        next
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        normal
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/tables/omit.fo b/examples/fo/tables/omit.fo
new file mode 100644 (file)
index 0000000..b935950
--- /dev/null
@@ -0,0 +1,1265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="7cm"/>
+      <fo:region-body margin-top="7cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="15cm">
+      Table 1: with header
+      </fo:block>
+
+      <fo:table table-omit-header-at-break="true">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-header>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-header>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15cm">
+      Table 2: with footer
+      </fo:block>
+
+      <fo:table table-omit-footer-at-break="true">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-footer>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-footer>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="15cm">
+      Table 3: with header and footer and keeps
+      </fo:block>
+
+      <fo:table table-omit-header-at-break="true" table-omit-footer-at-break="true">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-header>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-header>
+
+  <fo:table-footer>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-footer>
+
+  <fo:table-body>
+    <fo:table-row keep-with-next="always">
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        Row 1:
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        keep
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        together
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        row 2:
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        always
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        Row 2:
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        is always
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        kept
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        together
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        with
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        row 1
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle"
+      line-height="16cm">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle"
+      line-height="16cm">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block break-before="page" space-before.optimum="490pt">
+      Table 6: table with multiple body's
+      </fo:block>
+
+      <fo:table table-omit-header-at-break="true">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-header>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-header>
+
+  <fo:table-body space-after.optimum="10pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="460pt">
+      Table 6: table with multiple body's
+      </fo:block>
+
+      <fo:table table-omit-footer-at-break="true">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+  <fo:table-footer>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block font-weight="bold" text-align="center" vertical-align="middle"
+      border-width="1pt" border-color="black" background-color="#F7F24D">
+        Col.6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-footer>
+
+  <fo:table-body space-after.optimum="10pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        1
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        2
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        3
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        4
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block border-right-width="0.5pt" text-align="center" vertical-align="middle">
+        5
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center" vertical-align="middle">
+        6
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/tables/space.fo b/examples/fo/tables/space.fo
new file mode 100644 (file)
index 0000000..a0ce778
--- /dev/null
@@ -0,0 +1,532 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="29.7cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Table 1: spaces around cells
+      </fo:block>
+
+      <fo:table border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        first
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell padding-left="5pt" border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        left 5pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell space-before.optimum="5pt" border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        before 5pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell padding-right="5pt" border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        right 5pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell space-after.optimum="5pt" border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        after 5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        last
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell border-style="solid" border-width="0.5pt">
+        <fo:block text-align="center">
+        row
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Table 2: spaces around rows
+      </fo:block>
+
+      <fo:table border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-style="solid" border-width="0.5pt" padding-left="5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        padding
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        left
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-style="solid" border-width="0.5pt" space-before.optimum="5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        space
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        before
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-style="solid" border-width="0.5pt" space-after.optimum="5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        space
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-style="solid" border-width="0.5pt" padding-right="5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">
+        padding
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        right
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Table 3: spaces around body
+      </fo:block>
+
+      <fo:table border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body border-style="solid" border-width="0.5pt" padding-left="5pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        padding
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        left
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+    <fo:table-body border-style="solid" border-width="0.5pt" space-before.optimum="5pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        space
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        before
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+    <fo:table-body border-style="solid" border-width="0.5pt" space-after.optimum="5pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        space
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+    <fo:table-body border-style="solid" border-width="0.5pt" padding-right="5pt">
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        padding
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        right
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Table 4: spaces around table
+      </fo:block>
+
+    <fo:block border-style="solid" border-width="0.5pt">
+      <fo:table space-before.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        space before
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+    </fo:block>
+
+    <fo:block border-style="solid" border-width="0.5pt">
+      <fo:table padding-left="5pt" border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        padding left
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+    </fo:block>
+
+    <fo:block border-style="solid" border-width="0.5pt">
+      <fo:table padding-right="5pt" border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        padding right
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+    </fo:block>
+
+    <fo:block border-style="solid" border-width="0.5pt">
+      <fo:table space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        space after
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+    </fo:block>
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Table 5: combinations
+      </fo:block>
+
+    <fo:block border-style="solid" border-width="0.5pt">
+      <fo:table space-after.optimum="20pt" border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body space-after.optimum="15pt" border-style="solid" border-width="0.5pt" border-color="green">
+    <fo:table-row space-after.optimum="10pt" border-style="solid" border-width="0.5pt" border-color="blue">
+      <fo:table-cell space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="yellow">
+        <fo:block text-align="center">
+        after 5pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        and row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after 10pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        and
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after 15pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        and
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after 20pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+    </fo:block>
+
+    <fo:block border-style="solid" border-width="0.5pt">
+      <fo:table space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+  <fo:table-column column-width="3cm"/>
+
+    <fo:table-body space-after.optimum="10pt" border-style="solid" border-width="0.5pt" border-color="green">
+    <fo:table-row space-after.optimum="15pt" border-style="solid" border-width="0.5pt" border-color="blue">
+      <fo:table-cell space-after.optimum="20pt" border-style="solid" border-width="0.5pt" border-color="yellow">
+        <fo:block text-align="center">
+        after 20pt
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        and row
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after 15pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        and
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        body
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after 10pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+
+    <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        and
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        table
+        </fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">
+        after 5pt
+        </fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+    </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
diff --git a/examples/fo/tables/widowsorphans.fo b/examples/fo/tables/widowsorphans.fo
new file mode 100644 (file)
index 0000000..33fae44
--- /dev/null
@@ -0,0 +1,522 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master
+  margin-right="1.5cm"
+  margin-left="1.5cm"
+  margin-bottom="2cm"
+  margin-top="1cm"
+  page-width="21cm"
+  page-height="17cm"
+  master-name="first">
+      <fo:region-before extent="1cm"/>
+      <fo:region-body column-count="3" margin-top="1cm"/>
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+
+  <fo:page-sequence master-reference="first">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">table examples</fo:block>
+    </fo:static-content>
+    <fo:static-content flow-name="xsl-region-after">
+      <fo:block line-height="14pt" font-size="10pt"
+    text-align="end">Page <fo:page-number/></fo:block>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+
+      <fo:block space-before.optimum="3pt" space-after.optimum="15pt">
+      Tests for widows and orphans on a table.
+      </fo:block>
+
+      <fo:block space-before.optimum="240pt" space-after.optimum="15pt">
+      Table 1: normal table with widows of 1
+      </fo:block>
+
+    <fo:block widows="1">
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+      </fo:block>
+
+      <fo:block space-before.optimum="225pt" space-after.optimum="15pt">
+      Table 2: normal table with widows of 3
+      </fo:block>
+
+    <fo:block widows="3">
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+      </fo:block>
+
+      <fo:block break-before="page" space-before.optimum="240pt" space-after.optimum="15pt">
+      Table 3: normal table with orphans of 1
+      </fo:block>
+
+    <fo:block orphans="1">
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+      </fo:block>
+
+      <fo:block space-before.optimum="225pt" space-after.optimum="15pt">
+      Table 4: normal table with orphans of 3
+      </fo:block>
+
+    <fo:block orphans="3">
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+      </fo:block>
+
+      <fo:block break-before="page" space-before.optimum="240pt" space-after.optimum="15pt">
+      Table 3: normal table with widows 4 orphans of 3
+      </fo:block>
+
+    <fo:block widows="4" orphans="3">
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+      </fo:block>
+
+      <fo:block space-before.optimum="180pt" space-after.optimum="15pt">
+      Table 4: normal table with orphans of 4 (and default widows 2)
+      </fo:block>
+
+    <fo:block orphans="4">
+      <fo:table border-width="0.5pt" border-color="red">
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+  <fo:table-column column-width="2cm"/>
+
+    <fo:table-body>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+    <fo:table-row border-width="0.5pt">
+      <fo:table-cell>
+        <fo:block text-align="center">A</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">B</fo:block>
+      </fo:table-cell>
+      <fo:table-cell>
+        <fo:block text-align="center">C</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body>
+      </fo:table>
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>