]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
put bugtests back in here
authorKeiron Liddle <keiron@apache.org>
Tue, 22 May 2001 13:05:25 +0000 (13:05 +0000)
committerKeiron Liddle <keiron@apache.org>
Tue, 22 May 2001 13:05:25 +0000 (13:05 +0000)
still needs catagorisation and cleanup
now all these can be part of the build test target

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194267 13f79535-47bb-0310-9956-ffa450edef68

37 files changed:
test/.cvsignore
test/bugtests.xml [new file with mode: 0644]
test/createpdf.sh
test/xml/bugtests/background_color.fo [new file with mode: 0644]
test/xml/bugtests/background_transparent.fo [new file with mode: 0644]
test/xml/bugtests/block-container.fo [new file with mode: 0644]
test/xml/bugtests/block.fo [new file with mode: 0644]
test/xml/bugtests/border.fo [new file with mode: 0644]
test/xml/bugtests/break-before.fo [new file with mode: 0644]
test/xml/bugtests/charwidth.fo [new file with mode: 0644]
test/xml/bugtests/color.fo [new file with mode: 0644]
test/xml/bugtests/external-graphic.fo [new file with mode: 0644]
test/xml/bugtests/font-family.fo [new file with mode: 0644]
test/xml/bugtests/font-size.fo [new file with mode: 0644]
test/xml/bugtests/font.fo [new file with mode: 0644]
test/xml/bugtests/header_footer.fo [new file with mode: 0644]
test/xml/bugtests/image.fo [new file with mode: 0644]
test/xml/bugtests/indent.fo [new file with mode: 0644]
test/xml/bugtests/inline.fo [new file with mode: 0644]
test/xml/bugtests/keep-with-next.fo [new file with mode: 0644]
test/xml/bugtests/leader.fo [new file with mode: 0644]
test/xml/bugtests/letter-spacing.fo [new file with mode: 0644]
test/xml/bugtests/line-height.fo [new file with mode: 0644]
test/xml/bugtests/list-mountjoy.fo [new file with mode: 0644]
test/xml/bugtests/list-nested-breaks.fo [new file with mode: 0644]
test/xml/bugtests/list-nested.fo [new file with mode: 0644]
test/xml/bugtests/padding.fo [new file with mode: 0644]
test/xml/bugtests/page-number.fo [new file with mode: 0644]
test/xml/bugtests/rule.fo [new file with mode: 0644]
test/xml/bugtests/simple-link.fo [new file with mode: 0644]
test/xml/bugtests/space-treatment.fo [new file with mode: 0644]
test/xml/bugtests/space.fo [new file with mode: 0644]
test/xml/bugtests/text-align.fo [new file with mode: 0644]
test/xml/bugtests/text-decoration.fo [new file with mode: 0644]
test/xml/bugtests/text-indent.fo [new file with mode: 0644]
test/xml/bugtests/word-spacing.fo [new file with mode: 0644]
test/xml/bugtests/wrap.fo [new file with mode: 0644]

index cfe67f584590fe8cc85d9fa34ff9fa22354b8e99..a4b72afc3f1acc4fe9ab1a7c30dd4379799c4bd4 100644 (file)
@@ -1,2 +1,3 @@
 reference
 areatree
+results
diff --git a/test/bugtests.xml b/test/bugtests.xml
new file mode 100644 (file)
index 0000000..a853e78
--- /dev/null
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE testsuite  SYSTEM "testsuite.dtd">
+<testsuite profile="Basic Conformance Tests">
+  <testcases profile="Characters">
+    <testcases profile="sizes" > 
+      <test id="1" interaction="none" fo="block" xml="xml/bugtests/charwidth.fo" xsl="xsl/copy.xsl" level="basic">
+Checks the width of all the defined characters
+      </test>
+      <testresult id="1" agreement="issues">
+      </testresult>
+    </testcases>
+  </testcases>
+  <testcases profile="List Objects">
+    <testcases profile="general" >
+      <test id="log1" interaction="none" fo="list" xml="xml/bugtests/list-mountjoy.fo" xsl="xsl/copy.xsl" level="basic">
+Some lists with nested list and large list item bodies.
+      </test>
+      <testresult id="log1" agreement="full">
+      </testresult>
+      <test id="log2" interaction="none" fo="list" xml="xml/bugtests/list-nested-breaks.fo" xsl="xsl/copy.xsl" level="basic">
+Nested lists with page breaks inside list items. Used to show that it correctly places the list items and labels.
+      </test>
+      <testresult id="log2" agreement="issues">
+The break before does not put the list item label on the correct page.
+      </testresult>
+      <test id="log3" interaction="none" fo="list" xml="xml/bugtests/list-nested.fo" xsl="xsl/copy.xsl" level="basic">
+Nested lists used to show that the indentation is correct for lists inside lists.
+      </test>
+      <testresult id="log3" agreement="full">
+      </testresult>
+    </testcases>
+  </testcases>
+
+  <testcases profile="Block Objects">
+    <testcases profile="breaks" >
+      <test id="bbo1a1" interaction="none" fo="block" xml="xml/bugtests/background_color.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1a1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/background_transparent.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/block-container.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/block.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>  
+      <testresult id="bbo1b1" agreement="issues">  
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/border.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>  
+      <testresult id="bbo1b1" agreement="issues">  
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/break-before.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>      
+      <testresult id="bbo1b1" agreement="issues">      
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/color.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>          
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/external-graphic.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/font-family.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/font-size.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/font.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/header_footer.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/image.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/indent.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/inline.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/keep-with-next.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/leader.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/letter-spacing.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/line-height.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/padding.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/page-number.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/rule.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/simple-link.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/space-treatment.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/space.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/text-align.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/text-decoration.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/text-indent.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/word-spacing.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+      <test id="bbo1b1" interaction="none" fo="list" xml="xml/bugtests/wrap.fo" xsl="xsl/copy.xsl" level="basic">
+
+      </test>
+      <testresult id="bbo1b1" agreement="issues">
+      </testresult>
+
+    </testcases>
+
+  </testcases>
+</testsuite>
+
index eb33d1100b0967f3e1c5d2487dbba59c2f92a761..119f123b6e1952f394a5367875b6f35eebc44ff6 100755 (executable)
@@ -1,3 +1,7 @@
 # this can be used to create pdf output of the testsuite files
 
 $JAVA_HOME/bin/java -cp ../build/fop.jar:../lib/batik.jar:../lib/xalan-2.0.0.jar:../lib/xerces-1.2.3.jar:../lib/jimi-1.0.jar org.apache.fop.tools.TestConverter -pdf -b ./ basictests.xml
+
+$JAVA_HOME/bin/java -cp ../build/fop.jar:../lib/batik.jar:../lib/xalan-2.0.0.jar:../lib/xerces-1.2.3.jar:../lib/jimi-1.0.jar org.apache.fop.tools.TestConverter -pdf -b ./ bugtests.xml
+
+
diff --git a/test/xml/bugtests/background_color.fo b/test/xml/bugtests/background_color.fo
new file mode 100644 (file)
index 0000000..feef6e9
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+               <fo:block background-color="#FF0000">
+                               <fo:block>
+                                       This is a simple fo block with red background.
+                               </fo:block>
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/background_transparent.fo b/test/xml/bugtests/background_transparent.fo
new file mode 100644 (file)
index 0000000..3f6c474
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is a simple fo block with transparent background.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/block-container.fo b/test/xml/bugtests/block-container.fo
new file mode 100644 (file)
index 0000000..f9e49d6
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:static-content flow-name="xsl-region-before">
+            <fo:block-container border-color="black" border-style="solid" border-width="1pt" height="2.5cm" width="4cm" padding="8pt" position="absolute">
+                <fo:block text-align="start" line-height="2cm" font-family="sans-serif" font-size="12pt">
+                                   SOLD TO
+                               </fo:block>
+                <fo:block text-align="start" line-height="1cm" font-family="sans-serif" font-size="12pt">
+                                   Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+                                   Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+                                   Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+                                   Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+                                   Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+                                   Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+                                   Akf;lhdsaf;paesifhe;oifhqewf;oiewfhefdf;lhdsfadslhkfhdsafdshSOLDTO
+                               </fo:block>
+                   </fo:block-container>
+           </fo:static-content>
+           <fo:flow flow-name="xsl-region-body">
+                <fo:block text-align="start" line-height="1cm" font-family="sans-serif" font-size="12pt">
+                                       BBBBBBBBBBBBBBB
+                               </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/block.fo b/test/xml/bugtests/block.fo
new file mode 100644 (file)
index 0000000..f77dc17
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is a simple fo block.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/border.fo b/test/xml/bugtests/border.fo
new file mode 100644 (file)
index 0000000..0a55fde
--- /dev/null
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is a simple fo block.
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm" border-color="blue" border-style="solid" border-width="2pt">
+                               This is a simple fo block with borders.
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm" 
+                                       border-left-color="blue" border-left-style="solid" border-left-width="2pt"
+                                       border-right-color="blue" border-right-style="solid" border-right-width="2pt"
+                                       border-top-color="blue" border-top-style="solid" border-top-width="2pt"
+                                       border-bottom-color="blue" border-bottom-style="solid" border-bottom-width="2pt">
+                               This is a simple fo block with borders.
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm" border-left-color="black" border-left-style="solid" border-left-width="2pt"
+                                       border-right-color="black" border-right-style="dotted" border-right-width="1cm"
+                                       border-top-color="black" border-top-style="dashed" border-top-width="5pt"
+                                       border-bottom-color="black" border-bottom-style="double" border-bottom-width="1in">
+                               This is a simple fo block with different borders viz;
+                               border-left-color="black" 
+                               border-left-style="solid" 
+                               border-left-width="2pt"
+                               border-right-color="black" 
+                               border-right-style="dotted" 
+                               border-right-width="1cm"
+                               border-top-color="black" 
+                               border-top-style="dashed" 
+                               border-top-width="5pt"
+                               border-bottom-color="black" 
+                               border-bottom-style="double" 
+                               border-bottom-width="1in"
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm" 
+                               border-top="2pt solid blue"
+                               border-bottom="2pt solid blue"
+                               border-left="2pt solid blue"
+                               border-right="2pt solid blue">
+                               This is a simple fo block with borders.
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm" 
+                               border-top="2pt || solid || blue"
+                               border-bottom="2pt || solid || blue"
+                               border-left="2pt || solid || blue"
+                               border-right="2pt || solid || blue">
+                               This is a simple fo block with borders.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/break-before.fo b/test/xml/bugtests/break-before.fo
new file mode 100644 (file)
index 0000000..45ff156
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block break-before="page">
+                               This is a simple fo block on a new page due to page-break using break-before="page".
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/charwidth.fo b/test/xml/bugtests/charwidth.fo
new file mode 100644 (file)
index 0000000..15772a4
--- /dev/null
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+<fo:layout-master-set>
+       <fo:simple-page-master margin-right="40pt" margin-left="40pt" master-name="one">
+               <fo:region-body margin-bottom="30pt" margin-top="30pt"/>
+               </fo:simple-page-master>
+       </fo:layout-master-set>
+       <fo:page-sequence master-name="one">
+               <fo:flow font-size="12pt" flow-name="xsl-region-body">
+                       <fo:block>
+                               This file contains a list of many characters in various fonts. The text is
+                               aligned with the end in order to check that all the characters have their
+                               correct width set in FOP.
+                       </fo:block>
+                       <fo:block>
+                           If the right hand edge is left of the other lines in the same font then
+                           this indicates it expects one (or more) of the characters to be wider
+                           than it really is. Also if the end is to the right of the other lines
+                           then FOP expects a character to be smaller than it really is or the
+                           character is missing from the lookup.
+                       </fo:block>
+                       <fo:block font-size="12pt" font-family="Helvetica" text-align="end">
+                               <fo:block>
+                                       1
+                               </fo:block>
+                               <fo:block>
+                                       abcdefghijklmnopqrstuvwxyz1
+                               </fo:block>
+                               <fo:block>
+                                       ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+                               </fo:block>
+                               <fo:block>
+                                       12345678901
+                               </fo:block>
+                               <fo:block>
+                                       `~!@#$%^&amp;*()-_=+1
+                               </fo:block>
+                               <fo:block>
+                                       [{]}\|;:'1
+                               </fo:block>
+                               <fo:block>
+                                       ",&lt;.&gt;/?1
+                               </fo:block>
+                               <fo:block>
+&#33;&#34;&#35;&#36;&#37;&#38;&#39;&#40;&#41;&#42;&#43;&#44;&#45;&#46;&#47;&#48;&#49;&#50;&#51;&#52;&#53;&#54;&#55;&#56;&#57;&#58;&#59;&#60;1
+                               </fo:block>
+                               <fo:block>
+&#61;&#62;&#63;&#64;&#65;&#66;&#67;&#68;&#69;&#70;&#71;&#72;&#73;&#74;&#75;&#76;&#77;&#78;&#79;&#80;&#81;&#82;&#83;&#84;&#85;&#86;&#87;&#88;1
+                               </fo:block>
+                               <fo:block>
+&#89;&#90;&#91;&#92;&#93;&#94;&#95;&#96;&#97;&#98;&#99;&#100;&#101;&#102;&#103;&#104;&#105;&#106;&#107;&#108;&#109;&#110;&#111;&#112;&#113;1
+                               </fo:block>
+                               <fo:block>
+&#114;&#115;&#116;&#117;&#118;&#119;&#120;&#121;&#122;&#123;&#124;&#125;&#126;&#127;&#160;&#161;&#162;&#163;&#164;&#165;&#166;&#167;&#168;1
+                               </fo:block>
+                               <fo:block>
+&#169;&#170;&#171;&#172;&#174;&#175;&#176;&#177;&#178;&#179;&#180;&#181;&#182;&#183;&#184;&#185;&#186;&#187;&#188;&#189;&#190;&#191;&#192;&#193;1
+                               </fo:block>
+                               <fo:block>
+&#194;&#195;&#196;&#197;&#198;&#199;&#200;&#201;&#202;&#203;&#204;&#205;&#206;&#207;&#208;&#209;&#210;&#211;&#212;&#213;&#214;&#215;&#216;&#217;1
+                               </fo:block>
+                               <fo:block>
+&#218;&#219;&#220;&#221;&#222;&#223;&#224;&#225;&#226;&#227;&#228;&#229;&#230;&#231;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#240;&#241;1
+                               </fo:block>
+                               <fo:block>
+&#242;&#243;&#244;&#245;&#246;&#247;&#248;&#249;&#250;&#251;&#252;&#253;&#254;1
+                               </fo:block>
+                       </fo:block>
+                       <fo:block font-size="12pt" font-family="Times Roman" text-align="end">
+                               <fo:block>
+                                       1
+                               </fo:block>
+                               <fo:block>
+                                       abcdefghijklmnopqrstuvwxyz1
+                               </fo:block>
+                               <fo:block>
+                                       ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+                               </fo:block>
+                               <fo:block>
+                                       12345678901
+                               </fo:block>
+                               <fo:block>
+                                       `~!@#$%^&amp;*()-_=+1
+                               </fo:block>
+                               <fo:block>
+                                       [{]}\|;:'1
+                               </fo:block>
+                               <fo:block>
+                                       ",&lt;.&gt;/?1
+                               </fo:block>
+                               <fo:block>
+&#33;&#34;&#35;&#36;&#37;&#38;&#39;&#40;&#41;&#42;&#43;&#44;&#45;&#46;&#47;&#48;&#49;&#50;&#51;&#52;&#53;&#54;&#55;&#56;&#57;&#58;&#59;&#60;1
+                               </fo:block>
+                               <fo:block>
+&#61;&#62;&#63;&#64;&#65;&#66;&#67;&#68;&#69;&#70;&#71;&#72;&#73;&#74;&#75;&#76;&#77;&#78;&#79;&#80;&#81;&#82;&#83;&#84;&#85;&#86;&#87;&#88;1
+                               </fo:block>
+                               <fo:block>
+&#89;&#90;&#91;&#92;&#93;&#94;&#95;&#96;&#97;&#98;&#99;&#100;&#101;&#102;&#103;&#104;&#105;&#106;&#107;&#108;&#109;&#110;&#111;&#112;&#113;1
+                               </fo:block>
+                               <fo:block>
+&#114;&#115;&#116;&#117;&#118;&#119;&#120;&#121;&#122;&#123;&#124;&#125;&#126;&#127;&#160;&#161;&#162;&#163;&#164;&#165;&#166;&#167;&#168;1
+                               </fo:block>
+                               <fo:block>
+&#169;&#170;&#171;&#172;&#174;&#175;&#176;&#177;&#178;&#179;&#180;&#181;&#182;&#183;&#184;&#185;&#186;&#187;&#188;&#189;&#190;&#191;&#192;&#193;1
+                               </fo:block>
+                               <fo:block>
+&#194;&#195;&#196;&#197;&#198;&#199;&#200;&#201;&#202;&#203;&#204;&#205;&#206;&#207;&#208;&#209;&#210;&#211;&#212;&#213;&#214;&#215;&#216;&#217;1
+                               </fo:block>
+                               <fo:block>
+&#218;&#219;&#220;&#221;&#222;&#223;&#224;&#225;&#226;&#227;&#228;&#229;&#230;&#231;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#240;&#241;1
+                               </fo:block>
+                               <fo:block>
+&#242;&#243;&#244;&#245;&#246;&#247;&#248;&#249;&#250;&#251;&#252;&#253;&#254;1
+                               </fo:block>
+                       </fo:block>
+                       <fo:block font-family="Courier" text-align="end">
+                               <fo:block>
+                                       1
+                               </fo:block>
+                               <fo:block>
+                                       abcdefghijklmnopqrstuvwxyz1
+                               </fo:block>
+                               <fo:block>
+                                       ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+                               </fo:block>
+                               <fo:block>
+                                       12345678901
+                               </fo:block>
+                               <fo:block>
+                                       `~!@#$%^&amp;*()-_=+1
+                               </fo:block>
+                               <fo:block>
+                                       [{]}\|;:'1
+                               </fo:block>
+                               <fo:block>
+                                       ",&lt;.&gt;/?1
+                               </fo:block>
+                               <fo:block>
+&#33;&#34;&#35;&#36;&#37;&#38;&#39;&#40;&#41;&#42;&#43;&#44;&#45;&#46;&#47;&#48;&#49;&#50;&#51;&#52;&#53;&#54;&#55;&#56;&#57;&#58;&#59;&#60;1
+                               </fo:block>
+                               <fo:block>
+&#61;&#62;&#63;&#64;&#65;&#66;&#67;&#68;&#69;&#70;&#71;&#72;&#73;&#74;&#75;&#76;&#77;&#78;&#79;&#80;&#81;&#82;&#83;&#84;&#85;&#86;&#87;&#88;1
+                               </fo:block>
+                               <fo:block>
+&#89;&#90;&#91;&#92;&#93;&#94;&#95;&#96;&#97;&#98;&#99;&#100;&#101;&#102;&#103;&#104;&#105;&#106;&#107;&#108;&#109;&#110;&#111;&#112;&#113;1
+                               </fo:block>
+                               <fo:block>
+&#114;&#115;&#116;&#117;&#118;&#119;&#120;&#121;&#122;&#123;&#124;&#125;&#126;&#127;&#160;&#161;&#162;&#163;&#164;&#165;&#166;&#167;&#168;1
+                               </fo:block>
+                               <fo:block>
+&#169;&#170;&#171;&#172;&#174;&#175;&#176;&#177;&#178;&#179;&#180;&#181;&#182;&#183;&#184;&#185;&#186;&#187;&#188;&#189;&#190;&#191;&#192;&#193;1
+                               </fo:block>
+                               <fo:block>
+&#194;&#195;&#196;&#197;&#198;&#199;&#200;&#201;&#202;&#203;&#204;&#205;&#206;&#207;&#208;&#209;&#210;&#211;&#212;&#213;&#214;&#215;&#216;&#217;1
+                               </fo:block>
+                               <fo:block>
+&#218;&#219;&#220;&#221;&#222;&#223;&#224;&#225;&#226;&#227;&#228;&#229;&#230;&#231;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#240;&#241;1
+                               </fo:block>
+                               <fo:block>
+&#242;&#243;&#244;&#245;&#246;&#247;&#248;&#249;&#250;&#251;&#252;&#253;&#254;1
+                               </fo:block>
+                       </fo:block>
+                       <fo:block font-family="ZapfDingbats" text-align="end">
+                               <fo:block>
+                                       1
+                               </fo:block>
+                               <fo:block>
+                                       abcdefghijklmnopqrstuvwxyz1
+                               </fo:block>
+                               <fo:block>
+                                       ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+                               </fo:block>
+                               <fo:block>
+                                       12345678901
+                               </fo:block>
+                               <fo:block>
+                                       `~!@#$%^&amp;*()-_=+1
+                               </fo:block>
+                               <fo:block>
+                                       [{]}\|;:'1
+                               </fo:block>
+                               <fo:block>
+                                       ",&lt;.&gt;/?1
+                               </fo:block>
+                               <fo:block>
+&#33;&#34;&#35;&#36;&#37;&#38;&#39;&#40;&#41;&#42;&#43;&#44;&#45;&#46;&#47;&#48;&#49;&#50;&#51;&#52;&#53;&#54;&#55;&#56;&#57;&#58;&#59;&#60;1
+                               </fo:block>
+                               <fo:block>
+&#61;&#62;&#63;&#64;&#65;&#66;&#67;&#68;&#69;&#70;&#71;&#72;&#73;&#74;&#75;&#76;&#77;&#78;&#79;&#80;&#81;&#82;&#83;&#84;&#85;&#86;&#87;&#88;1
+                               </fo:block>
+                               <fo:block>
+&#89;&#90;&#91;&#92;&#93;&#94;&#95;&#96;&#97;&#98;&#99;&#100;&#101;&#102;&#103;&#104;&#105;&#106;&#107;&#108;&#109;&#110;&#111;&#112;&#113;1
+                               </fo:block>
+                               <fo:block>
+&#114;&#115;&#116;&#117;&#118;&#119;&#120;&#121;&#122;&#123;&#124;&#125;&#126;&#127;&#160;&#161;&#162;&#163;&#164;&#165;&#166;&#167;&#168;1
+                               </fo:block>
+                               <fo:block>
+&#169;&#170;&#171;&#172;&#174;&#175;&#176;&#177;&#178;&#179;&#180;&#181;&#182;&#183;&#184;&#185;&#186;&#187;&#188;&#189;&#190;&#191;&#192;&#193;1
+                               </fo:block>
+                               <fo:block>
+&#194;&#195;&#196;&#197;&#198;&#199;&#200;&#201;&#202;&#203;&#204;&#205;&#206;&#207;&#208;&#209;&#210;&#211;&#212;&#213;&#214;&#215;&#216;&#217;1
+                               </fo:block>
+                               <fo:block>
+&#218;&#219;&#220;&#221;&#222;&#223;&#224;&#225;&#226;&#227;&#228;&#229;&#230;&#231;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#240;&#241;1
+                               </fo:block>
+                               <fo:block>
+&#242;&#243;&#244;&#245;&#246;&#247;&#248;&#249;&#250;&#251;&#252;&#253;&#254;1
+                               </fo:block>
+                       </fo:block>
+                       <fo:block font-family="Symbol" text-align="end">
+                               <fo:block>
+                                       1
+                               </fo:block>
+                               <fo:block>
+                                       abcdefghijklmnopqrstuvwxyz1
+                               </fo:block>
+                               <fo:block>
+                                       ABCDEFGHIJKLMNOPQRSTUVWXYZ1
+                               </fo:block>
+                               <fo:block>
+                                       12345678901
+                               </fo:block>
+                               <fo:block>
+                                       `~!@#$%^&amp;*()-_=+1
+                               </fo:block>
+                               <fo:block>
+                                       [{]}\|;:'1
+                               </fo:block>
+                               <fo:block>
+                                       ",&lt;.&gt;/?1
+                               </fo:block>
+                               <fo:block>
+&#33;&#34;&#35;&#36;&#37;&#38;&#39;&#40;&#41;&#42;&#43;&#44;&#45;&#46;&#47;&#48;&#49;&#50;&#51;&#52;&#53;&#54;&#55;&#56;&#57;&#58;&#59;&#60;1
+                               </fo:block>
+                               <fo:block>
+&#61;&#62;&#63;&#64;&#65;&#66;&#67;&#68;&#69;&#70;&#71;&#72;&#73;&#74;&#75;&#76;&#77;&#78;&#79;&#80;&#81;&#82;&#83;&#84;&#85;&#86;&#87;&#88;1
+                               </fo:block>
+                               <fo:block>
+&#89;&#90;&#91;&#92;&#93;&#94;&#95;&#96;&#97;&#98;&#99;&#100;&#101;&#102;&#103;&#104;&#105;&#106;&#107;&#108;&#109;&#110;&#111;&#112;&#113;1
+                               </fo:block>
+                               <fo:block>
+&#114;&#115;&#116;&#117;&#118;&#119;&#120;&#121;&#122;&#123;&#124;&#125;&#126;&#127;&#160;&#161;&#162;&#163;&#164;&#165;&#166;&#167;&#168;1
+                               </fo:block>
+                               <fo:block>
+&#169;&#170;&#171;&#172;&#174;&#175;&#176;&#177;&#178;&#179;&#180;&#181;&#182;&#183;&#184;&#185;&#186;&#187;&#188;&#189;&#190;&#191;&#192;&#193;1
+                               </fo:block>
+                               <fo:block>
+&#194;&#195;&#196;&#197;&#198;&#199;&#200;&#201;&#202;&#203;&#204;&#205;&#206;&#207;&#208;&#209;&#210;&#211;&#212;&#213;&#214;&#215;&#216;&#217;1
+                               </fo:block>
+                               <fo:block>
+&#218;&#219;&#220;&#221;&#222;&#223;&#224;&#225;&#226;&#227;&#228;&#229;&#230;&#231;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#240;&#241;1
+                               </fo:block>
+                               <fo:block>
+&#242;&#243;&#244;&#245;&#246;&#247;&#248;&#249;&#250;&#251;&#252;&#253;&#254;1
+                               </fo:block>
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/color.fo b/test/xml/bugtests/color.fo
new file mode 100644 (file)
index 0000000..8538aa3
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block color="#C00000">
+                               This is a simple fo text in red color.
+                           <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>                 
+                       </fo:block>
+
+                       <fo:block color="#00C000">
+                               This is a simple fo text in green color followed by black line.
+                           <fo:leader color="#000000" leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>                 
+                       </fo:block>
+
+                       <fo:block color="#0000C0">
+                               This is a simple fo text in blue color.
+                               <fo:inline color="#C055C0">This is in</fo:inline>
+                               <fo:inline color="#550055">the same sentence</fo:inline>
+                               This is text in blue again
+                           <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>                 
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/external-graphic.fo b/test/xml/bugtests/external-graphic.fo
new file mode 100644 (file)
index 0000000..ec7e1d1
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-body/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               <fo:external-graphic src="file:../graphics/page.gif"/>
+                       </fo:block>
+
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/font-family.fo b/test/xml/bugtests/font-family.fo
new file mode 100644 (file)
index 0000000..4b46449
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               default:
+                       </fo:block>
+                       <fo:block text-align="center">
+                               This is a simple fo text in FOP default font.
+                       </fo:block>
+                       <fo:block>
+                               sans-serif:
+                       </fo:block>
+                       <fo:block text-align="center" font-family="sans-serif">
+                               This is a simple fo text in sans-serif font.
+                       </fo:block>
+
+                       <fo:block>
+                               monospace:
+                       </fo:block>
+                       <fo:block text-align="center" font-family="monospace">
+                               This is a simple fo text in monospace font.
+                       </fo:block>
+
+                       <fo:block>
+                               Courier:
+                       </fo:block>
+                       <fo:block text-align="center" font-family="Courier">
+                               This is a simple fo text in Courier font.
+                       </fo:block>
+
+                       <fo:block>
+                               Helvetica:
+                       </fo:block>
+                       <fo:block text-align="center" font-family="Helvetica">
+                               This is a simple fo text in Helvetica font.
+                       </fo:block>
+
+                       <fo:block>
+                               Symbol:
+                       </fo:block>
+                       <fo:block text-align="center" font-family="Symbol">
+                               This is a simple fo text in Symbol font.
+                       </fo:block>
+
+                       <fo:block>
+                               Times Roman:
+                       </fo:block>
+                       <fo:block text-align="center" font-family="Times Roman">
+                               This is a simple fo text in Times Roman font.
+                       </fo:block>
+
+                       <fo:block>
+                               ZapfDingbats:
+                       </fo:block>
+                       <fo:block text-align="center" font-family="ZapfDingbats">
+                               This is a simple fo text in ZapfDingBats font.
+                       </fo:block>
+                       
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/font-size.fo b/test/xml/bugtests/font-size.fo
new file mode 100644 (file)
index 0000000..1ba4bb1
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is a simple fo text in FOP default font size and default font.
+                       </fo:block>
+
+                       <fo:block font-family="Courier" font-size="8pt">
+                               This is a simple fo text in 8pt font Courier.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="10pt">
+                               This is a simple fo text in 10pt font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="12pt">
+                               This is a simple fo text in 12pt font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="14pt">
+                               This is a simple fo text in 14pt font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="16pt">
+                               This is a simple fo text in 16pt font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="18pt">
+                               This is a simple fo text in 18pt font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="20pt">
+                               This is a simple fo text in 20pt font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="24pt">
+                               This is a simple fo text in 24pt font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="32pt">
+                               This is a simple fo text in 32pt font.
+                       </fo:block>
+                       
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/font.fo b/test/xml/bugtests/font.fo
new file mode 100644 (file)
index 0000000..d9ab2da
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block font-family="Courier" font-size="12pt">
+                               This is a simple fo text in Courier font.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="12pt" 
+                                       font-weight="bold">
+                               This is a simple fo text in bold.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="12pt" 
+                                       font-style="italic">
+                               This is a simple fo text in italic.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="12pt" 
+                                       font-style="italic" font-weight="bold">
+                               This is a simple fo text in italic and bold.
+                       </fo:block>
+                       <fo:block font-family="Courier" font-size="12pt" 
+                                       font-variant="small-caps">
+                               This is a simple fo text in small caps.
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm"></fo:block>
+                       
+                       <fo:block font-family="Times" font-size="12pt">
+                               This is a simple fo text in Times font.
+                       </fo:block>
+                       <fo:block font-family="Times" font-size="12pt" 
+                                       font-weight="bold">
+                               This is a simple fo text in bold.
+                       </fo:block>
+                       <fo:block font-family="Times" font-size="12pt" 
+                                       font-style="italic">
+                               This is a simple fo text in italic.
+                       </fo:block>
+                       <fo:block font-family="Times" font-size="12pt" 
+                                       font-style="italic" font-weight="bold">
+                               This is a simple fo text in italic and bold.
+                       </fo:block>
+                       <fo:block font-family="Times" font-size="12pt" 
+                                       font-variant="small-caps">
+                               This is a simple fo text in small caps.
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm"></fo:block>
+
+                       <fo:block font-family="Helvetica" font-size="12pt">
+                               This is a simple fo text in Helvetica font.
+                       </fo:block>
+                       <fo:block font-family="Helvetica" font-size="12pt" 
+                                       font-weight="bold">
+                               This is a simple fo text in bold.
+                       </fo:block>
+                       <fo:block font-family="Helvetica" font-size="12pt" 
+                                       font-style="italic">
+                               This is a simple fo text in italic.
+                       </fo:block>
+                       <fo:block font-family="Helvetica" font-size="12pt" 
+                                       font-style="italic" font-weight="bold">
+                               This is a simple fo text in italic and bold.
+                       </fo:block>
+                       <fo:block font-family="Helvetica" font-size="12pt" 
+                                       font-variant="small-caps">
+                               This is a simple fo text in small caps.
+                       </fo:block>
+                       
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/header_footer.fo b/test/xml/bugtests/header_footer.fo
new file mode 100644 (file)
index 0000000..22dc945
--- /dev/null
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="18cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="3cm"/>
+             <fo:region-body margin-top="4cm" margin-bottom="3cm"/>
+             <fo:region-after extent="3cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <!-- header -->
+           <fo:static-content flow-name="xsl-region-before">
+             <fo:block-container width="5cm" height="3cm" position="absolute" background-color="#22CC55">
+                     <fo:block text-align="start">
+                       Left
+                     </fo:block>
+             </fo:block-container>
+             <fo:block-container width="5cm" height="3cm" left="5cm" position="absolute" background-color="#55AA55">
+                     <fo:block text-align="center">
+                       Center
+                     </fo:block>
+             </fo:block-container>
+             <fo:block-container width="5cm" height="3cm" left="10cm" position="absolute" background-color="#FFCCFF">
+                     <fo:block text-align="end">
+                       Right
+                     </fo:block>
+             </fo:block-container>
+             
+           </fo:static-content> 
+          
+           <!-- footer -->
+           <fo:static-content flow-name="xsl-region-after">
+             <fo:block-container width="5cm" height="3cm" position="absolute">
+                     <fo:block text-align="start">
+                       Left
+                     </fo:block>
+             </fo:block-container>
+             <fo:block-container width="5cm" height="3cm" left="5cm" position="absolute">
+                     <fo:block text-align="center">
+                       Center
+                     </fo:block>
+             </fo:block-container>
+             <fo:block-container width="5cm" height="3cm" left="10cm" position="absolute">
+                     <fo:block text-align="end">
+                       Right
+                     </fo:block>
+             </fo:block-container>
+             
+           </fo:static-content>
+
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               There is top-margin for body region.This is bcos margin-top for body is greater than extent of region-before.
+                       </fo:block>
+                       <fo:block>
+                               There is NO bottom-margin for body region. Bcos margin-bottom for body = extent for region-after.                       
+                       </fo:block>
+                       <fo:block>
+                       </fo:block>
+                       <fo:block>
+               The fo:static-content formatting object holds a sequence or a tree of formatting objects that is to be presented in a single region or repeated in like-named regions on one or more pages in the page-sequence. Its common use is for repeating or running headers and footers. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+               This content is repeated, in its entirety, on every page to which it is assigned. 
+                       </fo:block>
+                       <fo:block>
+The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content. 
+                       </fo:block>
+                       <fo:block>
+The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content. 
+                       </fo:block>
+                       <fo:block>
+The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content. 
+                       </fo:block>
+                       <fo:block>
+The fo:static-content formatting object does not generate any areas. The fo:static-content formatting object returns the sequence of areas created by concatenating the sequences of areas returned by each of the children of the fo:static-content. The order of concatenation is the same order as the children are ordered under the fo:static-content. 
+                       </fo:block>
+
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/image.fo b/test/xml/bugtests/image.fo
new file mode 100644 (file)
index 0000000..8c5b3c7
--- /dev/null
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="10cm"
+                         margin-top="3cm" 
+                         margin-bottom="2cm" 
+                         margin-left="3cm" 
+                         margin-right="2cm">
+             <fo:region-body/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               <fo:external-graphic src="file:../graphics/page.gif"/>
+                       </fo:block>
+
+                       <fo:block>
+                               <fo:external-graphic height="3in" width="3in" src="file:../graphics/page.gif"/>
+                               height=3in width=3in
+                       </fo:block>
+
+                       <fo:block>
+                               <fo:external-graphic height="3in" src="file:../graphics/page.gif"/>
+                               height="3in"
+                       </fo:block>
+                       
+                       <fo:block>
+                               <fo:external-graphic width="1.5in" src="file:../graphics/page.gif"/>
+                               width="1.5in" 
+                       </fo:block>
+
+                       <fo:block>
+                               <fo:external-graphic height="6in" width="4in" src="file:../graphics/page.gif"/>
+                               height="6in" width="4in"
+                       </fo:block>
+
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/indent.fo b/test/xml/bugtests/indent.fo
new file mode 100644 (file)
index 0000000..e415f81
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block text-align="justify" start-indent="1in">
+                               This is a simple fo block with justify indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                       </fo:block>
+                       <fo:block text-align="justify" end-indent="1in">
+                               This is a simple fo block with justify indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                       </fo:block>
+                       <fo:block start-indent="1in">
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                               This is a simple fo block indented in the start.
+                       </fo:block>
+                       <fo:block end-indent="1in">
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                               This is a simple fo block indented in the end.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/inline.fo b/test/xml/bugtests/inline.fo
new file mode 100644 (file)
index 0000000..3b1e921
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               <fo:inline>The sentence is</fo:inline>
+                               <fo:inline>in the same line.</fo:inline>
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/keep-with-next.fo b/test/xml/bugtests/keep-with-next.fo
new file mode 100644 (file)
index 0000000..b17d0ed
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="11in" 
+                         page-width="8.5in"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1in" 
+                         margin-right="0.75in">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block space-before.optimum="1cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
+ F I N A L    C A L C U L A T I O N                      AUD $      AUD $
+   ----------------------------------
+   L A B O U R            TIME BASIS   10 WU = 1 HR
+     TOTAL                33 WU  X   20.00AUD $/WU        660.00
+   TOTAL LABOUR.................................................     660.00
+   P A I N T   W O R K
+     LABOUR COST                                          210.00
+     MATERIAL COST                                        163.20
+   TOTAL PAINT..................................................     373.20
+   P A R T S                                              425.00
+     SUNDRY PARTS     (  2.0%)                              8.50
+   TOTAL PARTS..................................................     433.50
+   R E P A I R  C O S T S.......................................   1 466.70
+   ----------------------
+C O M M E N T S :
+E-PART PRICES = MANUFACTURERS RRP.             *-POSITION = USER SUPPLIED DATA
+E-PART NUMBER IS NOT ORDER NUMBER              NN = NO MANUFACTURERS CODE EXISTS
+SKEZAX=WORKING UNITS AS PER AUDATEX       )=WU PARTIAL INCL IN OTHER POSITIONS
+C O N T R O L  -  I N F O R M A T I O N   NO         666          25.08.2000
+OWNER       MRS                         SARAH
+            SCHAER                      GUNDELDINGERSTRASSE 131
+            4053 BASEL
+REFER. NO.  999
+MAKE        AUDI                  S4                    QUATTRO
+REG. NO     BS 66961                                    SHEET NO    00 33 03
+FIRST REG.  08.2000               NAECH HU 08.2000
+INSP DATE   24.08.2000            ACC DATE 24.08.2000
+REPAIRER    ZICK ZACK                   061/ 361 76 06
+            MR. MEIER                   ZOLLSTRASSE 62
+            8000 ZUERICH
+REP TIME    .     DAYS
+CU-NO / CUSTOMER-CODE    : 004001             ZATEST01  CLASSDIRECT  REL 2.9
+QUOTE DATE               : 25.08.2000
+MO-CODE
+- MODEL-OPTIONS          : E3 F3 I4 I7 J6 K2 M8 P8 Q6 Q7 V3 V6 W4 Z8
+PARTS / PAINTING
+- REP-METHOD/CODE-NO     : N  0741 LO
+                       </fo:block>
+                       
+               <fo:block keep-with-next="true" font-family="Helvetica" font-size="10pt">
+                       The following is the control page for the Repair Assessment. It includes the 
+                       <fo:inline font-weight="bold">Owner</fo:inline><fo:inline>, Reference No, Make, Reg No, and Options.</fo:inline>
+               </fo:block>
+
+                       <fo:block space-before.optimum="2cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
+R E P A I R /-/ A S S E S S M E N T   NO         666              25.08.2000
+OWNER       MRS                         SARAH
+            SCHAER                      GUNDELDINGERSTRASSE 131
+            4053 BASEL
+REFER. NO.  999
+
+MAKE        AUDI                  S4                    QUATTRO
+REG. NO     BS 66961                                    SHEET NO    00 33 03
+FIRST REG.  08.2000               NAECH HU 08.2000
+INSP DATE   24.08.2000            ACC DATE 24.08.2000
+REPAIRER    ZICK ZACK                   061/ 361 76 06
+            MR. MEIER                   ZOLLSTRASSE 62
+            8000 ZUERICH
+REP TIME    .     DAYS
+
+OPTIONS     FROM VIN X_200001     LUGGAGE NET           ELECTRIC FRONT SEATS
+            AUTO HEADLAMP LEVEL   SPORT SEATS           TRIM-JACQUARD GRAPH
+            ALTERNATOR 120 AMP    4-SPEED AUTOMATIC     SPORTS SUSPENSION
+            ANTI-LOCK BRAKES      ELECT STABILITY PROG  SUNROOF (ACCESSORY)
+            2.7 LTR V6
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/leader.fo b/test/xml/bugtests/leader.fo
new file mode 100644 (file)
index 0000000..b7507e9
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                           <fo:leader leader-pattern="rule" rule-thickness="3.0pt"></fo:leader>                 
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/letter-spacing.fo b/test/xml/bugtests/letter-spacing.fo
new file mode 100644 (file)
index 0000000..f871ee7
--- /dev/null
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block letter-spacing="normal"> 
+                               This text is normally spaced.
+                               This text is normally spaced. 
+                               This text is normally spaced. 
+                               This text is normally spaced. 
+                               This text is normally spaced. 
+                       </fo:block>
+
+      
+                       <fo:block letter-spacing="1pt">  
+                               This text has inter-character intervals increased by 1pt.  
+                               This text has inter-character intervals increased by 1pt. 
+                               This text has inter-character intervals increased by 1pt.  
+                               This text has inter-character intervals increased by 1pt.
+                       </fo:block>
+
+
+                       <fo:block letter-spacing="8pt">  
+                               This text has inter-character intervals increased by 8pt.  
+                               This text has inter-character intervals increased by 8pt.  
+                               This text has inter-character intervals increased by 8pt.  
+                               This text has inter-character intervals increased by 8pt.
+                       </fo:block>
+      
+                       <fo:block letter-spacing="0pt">  
+                               This text has inter-character intervals increased by 0pt (i.e. normally spaced).  
+                               This text has inter-character intervals increased by 0pt (i.e. normally spaced).  
+                               This text has inter-character intervals increased by 0pt (i.e. normally spaced).  
+                               This text has inter-character intervals increased by 0pt (i.e. normally spaced).
+                       </fo:block>
+
+                       <fo:block letter-spacing="-1pt">  
+                               This text has inter-character intervals increased by reduced by -1pt.
+                               This text has inter-character intervals increased by reduced by -1pt.
+                               This text has inter-character intervals increased by reduced by -1pt.
+                               This text has inter-character intervals increased by reduced by -1pt.
+                       </fo:block>
+
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/line-height.fo b/test/xml/bugtests/line-height.fo
new file mode 100644 (file)
index 0000000..eeb29bc
--- /dev/null
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block font-weight="bold" text-align="center">
+                               <fo:inline text-decoration="underline">
+                                       Absolute Values
+                               </fo:inline>
+                       </fo:block>
+
+
+                       <fo:block line-height="12pt" font-size="8pt"> 
+                         This text has a fixed line height of 12pt and its font size is 8pt.
+                         This text has a fixed line height of 12pt and its font size is 8pt.
+                         This text has a fixed line height of 12pt and its font size is 8pt.
+                         This text has a fixed line height of 12pt and its font size is 8pt.
+                         This text has a fixed line height of 12pt and its font size is 8pt.
+                       </fo:block>
+
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="12pt" font-size="12pt"> 
+                         This text has a fixed line height of 12pt and its font size is 12pt.
+                         This text has a fixed line height of 12pt and its font size is 12pt.
+                         This text has a fixed line height of 12pt and its font size is 12pt.
+                         This text has a fixed line height of 12pt and its font size is 12pt.
+                         This text has a fixed line height of 12pt and its font size is 12pt.
+                       </fo:block>
+
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="12pt" font-size="16pt"> 
+                         This text has a fixed line height of 12pt and its font size is 16pt.
+                         This text has a fixed line height of 12pt and its font size is 16pt.
+                         This text has a fixed line height of 12pt and its font size is 16pt.
+                         This text has a fixed line height of 12pt and its font size is 16pt.
+                         This text has a fixed line height of 12pt and its font size is 16pt.
+                       </fo:block>
+
+                       <fo:block font-weight="bold" text-align="center">
+                               <fo:inline text-decoration="underline">
+                                       Relative Values
+                               </fo:inline>
+                       </fo:block>
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="normal" font-size="10pt"> 
+                         This text has a normal line height at font size of 10pt.
+                         This text has a normal line height at font size of 10pt.
+                         This text has a normal line height at font size of 10pt.
+                         This text has a normal line height at font size of 10pt.
+                         This text has a normal line height at font size of 10pt.
+                       </fo:block>
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="normal" font-size="14pt"> 
+                         This text has a normal line height at font size of 14pt.
+                         This text has a normal line height at font size of 14pt.
+                         This text has a normal line height at font size of 14pt.
+                         This text has a normal line height at font size of 14pt.
+                         This text has a normal line height at font size of 14pt.
+                       </fo:block>
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="1.0" font-size="10pt"> 
+                         This text is single-spaced at font size of 10pt.
+                         This text is single-spaced at font size of 10pt.
+                         This text is single-spaced at font size of 10pt.
+                         This text is single-spaced at font size of 10pt.
+                         This text is single-spaced at font size of 10pt.
+                       </fo:block>
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="1.0" font-size="14pt"> 
+                         This text is single-spaced at font size of 14pt.
+                         This text is single-spaced at font size of 14pt.
+                         This text is single-spaced at font size of 14pt.
+                         This text is single-spaced at font size of 14pt.
+                         This text is single-spaced at font size of 14pt.
+                       </fo:block>
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="2.0" font-size="10pt"> 
+                         This text is double-spaced at font size of 10pt.
+                         This text is double-spaced at font size of 10pt.
+                         This text is double-spaced at font size of 10pt.
+                         This text is double-spaced at font size of 10pt.
+                         This text is double-spaced at font size of 10pt.
+                       </fo:block>
+
+                       <fo:block text-align="start" space-before.optimum="6pt" line-height="2.0" font-size="14pt"> 
+                         This text is double-spaced at font size of 14pt.
+                         This text is double-spaced at font size of 14pt.
+                         This text is double-spaced at font size of 14pt.
+                         This text is double-spaced at font size of 14pt.
+                         This text is double-spaced at font size of 14pt.
+                       </fo:block>
+    
+           </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/list-mountjoy.fo b/test/xml/bugtests/list-mountjoy.fo
new file mode 100644 (file)
index 0000000..6ee1fa5
--- /dev/null
@@ -0,0 +1,244 @@
+<?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-name="first">
+
+  <!-- Inserts a header with the page number -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="end" font-size="10pt" font-family="serif" line-height="14pt">
+          XSL-FO Example: simple list - p. <fo:page-number/>
+    </fo:block>
+  </fo:static-content>
+
+  <fo:flow flow-name="xsl-region-body">
+
+      <!-- title -->
+      <fo:block font-size="14pt" 
+                font-family="sans-serif" 
+                line-height="18pt" 
+                space-before.optimum="3pt" 
+                space-after.optimum="3pt" 
+                font-weight="bold" 
+                start-indent="15pt">
+          Validity Constraint: Standalone Document Declaration
+      </fo:block>
+
+      <!-- normal text -->
+      <fo:block font-size="12pt" 
+                font-family="sans-serif" 
+                line-height="15pt" 
+                space-after.optimum="3pt" >
+          The standalone document declaration must have the value "no" if 
+          any external markup declarations contain declarations of:
+      </fo:block>
+
+      <!-- list -->
+      <fo:list-block>
+        
+        <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with values subject to normalization, where the attribute appears in the document with a value which will
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              change as a result of normalization, or 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+
+              element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white spaceadsfadsfsssssssssssssss thin any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white spaceadsfadsfssssssssthin any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white spaceadsfadsfssssssssthin any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white spaceadsfadsfssssssssthin any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white spaceadsfadsfssssssss
+              element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. elementtance of those types. sfg sfd gdg d d 
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+
+
+
+ <fo:list-item>
+  <fo:list-item-label end-indent="label-end()"> <fo:block/></fo:list-item-label>  
+   <fo:list-item-body start-indent="body-start()">
+   <fo:list-block>
+        
+         <!-- list item -->
+        <fo:list-item>
+          <!-- insert a bullet -->
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or 
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+      </fo:list-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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. elementtance of those types. 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. elementtance of those types. 
+            </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>&#x2022;</fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. element types with element content, if white space occurs directly within any instance of those types. elementtance of those types. 
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+
+
+
+
+
+
+    
+      </fo:list-block>
+
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
+
diff --git a/test/xml/bugtests/list-nested-breaks.fo b/test/xml/bugtests/list-nested-breaks.fo
new file mode 100644 (file)
index 0000000..1e7742d
--- /dev/null
@@ -0,0 +1,196 @@
+<?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-name="first">
+
+  <!-- Inserts a header with the page number -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="end" font-size="10pt" font-family="serif" line-height="14pt">
+          XSL-FO Example: simple list - p. <fo:page-number/>
+    </fo:block>
+  </fo:static-content>
+
+  <fo:flow flow-name="xsl-region-body">
+
+      <!-- title -->
+      <fo:block font-size="14pt" 
+                font-family="sans-serif" 
+                line-height="18pt" 
+                space-before.optimum="3pt" 
+                space-after.optimum="3pt" 
+                font-weight="bold" 
+                start-indent="15pt">
+          Validity Constraint: Standalone Document Declaration
+      </fo:block>
+
+      <!-- normal text -->
+      <fo:block font-size="12pt" 
+                font-family="sans-serif" 
+                line-height="15pt" 
+                space-after.optimum="3pt" >
+          The standalone document declaration must have the value "no" if 
+          any external markup declarations contain declarations of:
+      </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or 
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or 
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with values subject to normalization, where the attribute appears in the document with a value which will
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              change as a result of normalization, or 
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              element types with element content, if white space occurs directly within any instance of those types. 
+               <fo:list-block>
+                 <fo:list-item>
+                   <fo:list-item-label end-indent="label-end()">
+                     <fo:block><fo:inline font-family="Symbol">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the first item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the second item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the third item of a nested list. The next list item's block will have a page 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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block break-after="page">This is the fourth item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the fifth item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the sixth item of a nested list. The next list-item-body's block contains a page 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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block break-before="page">This is the seventh item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the eigth item of a nested list</fo:block>
+                   </fo:list-item-body>
+                 </fo:list-item>
+               </fo:list-block>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
+
diff --git a/test/xml/bugtests/list-nested.fo b/test/xml/bugtests/list-nested.fo
new file mode 100644 (file)
index 0000000..c7f5c70
--- /dev/null
@@ -0,0 +1,172 @@
+<?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-name="first">
+
+  <!-- Inserts a header with the page number -->
+  <fo:static-content flow-name="xsl-region-before">
+    <fo:block text-align="end" font-size="10pt" font-family="serif" line-height="14pt">
+          XSL-FO Example: simple list - p. <fo:page-number/>
+    </fo:block>
+  </fo:static-content>
+
+  <fo:flow flow-name="xsl-region-body">
+
+      <!-- title -->
+      <fo:block font-size="14pt" 
+                font-family="sans-serif" 
+                line-height="18pt" 
+                space-before.optimum="3pt" 
+                space-after.optimum="3pt" 
+                font-weight="bold" 
+                start-indent="15pt">
+          Validity Constraint: Standalone Document Declaration
+      </fo:block>
+
+      <!-- normal text -->
+      <fo:block font-size="12pt" 
+                font-family="sans-serif" 
+                line-height="15pt" 
+                space-after.optimum="3pt" >
+          The standalone document declaration must have the value "no" if 
+          any external markup declarations contain declarations of:
+      </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or 
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or 
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              attributes with values subject to normalization, where the attribute appears in the document with a value which will
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              change as a result of normalization, or 
+            </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">&#183;</fo:inline></fo:block>
+          </fo:list-item-label>
+          <!-- list text --> 
+          <fo:list-item-body start-indent="body-start()">
+            <fo:block>
+              element types with element content, if white space occurs directly within any instance of those types. 
+               <fo:list-block>
+                 <fo:list-item>
+                   <fo:list-item-label end-indent="label-end()">
+                     <fo:block><fo:inline font-family="Symbol">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the first item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the second item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the third item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the fourth item of a nested list</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">&#183;</fo:inline></fo:block>
+                   </fo:list-item-label>
+                   <fo:list-item-body start-indent="body-start()">
+                     <fo:block>This is the fifth item of a nested list</fo:block>
+                   </fo:list-item-body>
+                 </fo:list-item>
+               </fo:list-block>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+
+      </fo:list-block>
+      <!-- end list -->
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+
+
diff --git a/test/xml/bugtests/padding.fo b/test/xml/bugtests/padding.fo
new file mode 100644 (file)
index 0000000..8475a53
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+
+             <fo:block font-size="18pt" 
+                   font-family="sans-serif" 
+                   line-height="24pt"
+                   space-after.optimum="15pt"
+                   background-color="blue"
+                   color="white"
+                   padding-top="6pt">
+               Extensible Markup Language (XML) 1.0 with padding
+             </fo:block>
+
+             <fo:block font-size="18pt" 
+                   font-family="sans-serif" 
+                   line-height="24pt"
+                   space-after.optimum="15pt"
+                   background-color="blue"
+                   color="white">
+               Extensible Markup Language (XML) 1.0 without padding
+             </fo:block>
+             
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-top="1cm">
+               <fo:block>
+                       This block-container has a top padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-bottom="1cm">
+               <fo:block>
+                       bottom padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-left="1cm">
+               <fo:block>
+                       left padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-right="1cm">
+               <fo:block>
+                       right padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+             
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-before="1cm">
+               <fo:block>
+                       This block-container has a before padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-after="1cm">
+               <fo:block>
+                       after padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-start="1cm">
+               <fo:block>
+                       start padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+
+             <fo:block-container border-width="1pt" height="5cm" width="5cm" padding-end="1cm">
+               <fo:block>
+                       end padding of 1 cm.
+               </fo:block>
+             </fo:block-container>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/page-number.fo b/test/xml/bugtests/page-number.fo
new file mode 100644 (file)
index 0000000..13fb110
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is Page Number <fo:page-number/>.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/rule.fo b/test/xml/bugtests/rule.fo
new file mode 100644 (file)
index 0000000..c0a3032
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block space-before.optimum="1cm">
+                               leader-pattern="rule" rule-style="solid" rule-thickness="0.5pt"
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="0.5pt"></fo:leader>
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="1pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="3pt"></fo:leader>
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="solid" rule-thickness="3mm"></fo:leader>                 
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm">
+                               leader-pattern="rule" rule-style="dotted" rule-thickness="0.5pt"
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="0.5pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="1pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="3pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dotted" rule-thickness="5mm"></fo:leader>                 
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm">
+                               leader-pattern="rule" rule-dashed="dotted" rule-thickness="0.5pt"
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="0.5pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="1pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="3pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="dashed" rule-thickness="1mm"></fo:leader>                 
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm">
+                               leader-pattern="rule" rule-style="double" rule-thickness="0.5pt"
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="0.5pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="1pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="3pt"></fo:leader>                 
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                           <fo:leader leader-pattern="rule" rule-style="double" rule-thickness="1mm"></fo:leader>                 
+                       </fo:block>
+
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/simple-link.fo b/test/xml/bugtests/simple-link.fo
new file mode 100644 (file)
index 0000000..75f22ee
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block text-align="start">
+                               <fo:basic-link external-destination="font.pdf">Link to font.pdf</fo:basic-link>
+                       </fo:block>
+
+                       <fo:block text-align="start">
+                               <fo:basic-link external-destination="http://www.wilco-int.com">Link to Wilco International</fo:basic-link>
+                       </fo:block>
+
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/space-treatment.fo b/test/xml/bugtests/space-treatment.fo
new file mode 100644 (file)
index 0000000..29cf8e2
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="11in" 
+                         page-width="8.5in"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1in" 
+                         margin-right="0.75in">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+               <fo:block space-after.optimum="1cm">
+                       The text below is in monospace font(useful for displayed formatted text, program code etc.)
+               </fo:block>
+
+                       <fo:block space-before.optimum="1cm" font-family="monospace" font-size="10pt" white-space-treatment="preserve" wrap-option="no-wrap">
+OWNER       MR                    DHARAMVEER
+            SALECHA                    
+
+REFER. NO.  999
+
+MAKE        AUDI                  S4                    QUATTRO
+REG. NO     BS 66961                                    SHEET NO    00 33 03
+OPTIONS     FROM VIN X_200001     LUGGAGE NET           ELECTRIC FRONT SEATS
+            AUTO HEADLAMP LEVEL   SPORT SEATS           TRIM-JACQUARD GRAPH
+            ALTERNATOR 120 AMP    4-SPEED AUTOMATIC     SPORTS SUSPENSION
+            ANTI-LOCK BRAKES      ELECT STABILITY PROG  SUNROOF (ACCESSORY)
+            2.7 LTR V6
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/space.fo b/test/xml/bugtests/space.fo
new file mode 100644 (file)
index 0000000..f955675
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block space-after.optimum="1cm">
+                               space-after.optimum="1cm"
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block>
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm" space-after.optimum="1cm">
+                               space-before.optimum="1cm" space-after.optimum="1cm"
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm" space-after.optimum="1cm">
+                               space-before.optimum="1cm" space-after.optimum="1cm"
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block>
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm">
+                               space-before.optimum="1cm"
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block>
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                               This is a simple fo block.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/text-align.fo b/test/xml/bugtests/text-align.fo
new file mode 100644 (file)
index 0000000..7efcf62
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is a simple fo block.
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm" text-align="start">
+                               This is a simple fo block with text aligned to start. 
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm" text-align="justify">
+                               This is a simple fo block with text justified.
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                       </fo:block>
+                       <fo:block space-before.optimum="1cm" text-align="end">
+                               This is a simple fo block with text aligned to end.
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                               dfdsfaaaaafdsfasdf fadsfadsssf fadsfdsfadsf dfadsfdfasdsfsd dsfadfdsfadsfadsfdf
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/text-decoration.fo b/test/xml/bugtests/text-decoration.fo
new file mode 100644 (file)
index 0000000..29668f2
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block>
+                               This is a simple fo text.
+                               <fo:inline text-decoration="underline">
+                                       This is a simple fo text and underlined.
+                               </fo:inline>
+                               <fo:inline text-decoration="line-through">
+                                       This is a simple fo text and line-through.
+                               </fo:inline>
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/text-indent.fo b/test/xml/bugtests/text-indent.fo
new file mode 100644 (file)
index 0000000..3b8147c
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block text-align="start" space-before.optimum="6pt" text-indent="1in"> 
+                         This text is formatted into a left-justified paragraph.
+                         The first line has an indent of 1 inch from the left.
+                       
+                         This text is formatted into a left-justified paragraph.
+                         The first line has an indent of 1 inch from the left.
+                       </fo:block>
+
+                       <fo:block space-before.optimum="6pt" text-indent="40%"> 
+                         This text is formatted into a left-justified paragraph.
+                         The first line has an indent of 30% from the left.
+                       
+                         This text is formatted into a left-justified paragraph.
+                         The first line has an indent of 30% inch from the left.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/word-spacing.fo b/test/xml/bugtests/word-spacing.fo
new file mode 100644 (file)
index 0000000..09c65dd
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block> 
+                               <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>   
+                               <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>   
+                               <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>   
+                               <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>   
+                               <fo:inline word-spacing="normal">In this text, spaces between words are normal.</fo:inline>   
+                       </fo:block>
+
+                       <fo:block space-before.optimum="1cm"> 
+                               <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline>                              <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline>                              <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline>                              <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline>                              <fo:inline word-spacing="2pt">In this text, spaces between words are increased by 2pt.</fo:inline>                      </fo:block>
+
+                       <fo:block space-before.optimum="1cm"> 
+                               <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>  
+                               <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>  
+                               <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>  
+                               <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>  
+                               <fo:inline word-spacing="6pt">In this text, spaces between words are increased by 6pt.</fo:inline>  
+                       </fo:block>
+                                     
+                       <fo:block space-before.optimum="1cm"> 
+                               <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>  
+                               <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>  
+                               <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>  
+                               <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>  
+                               <fo:inline word-spacing="0pt">In this text, spaces between words are increased by 0pt (i.e. normally spaced).</fo:inline>  
+                       </fo:block>
+      
+                       <fo:block space-before.optimum="1cm">  
+                               <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline>                               <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline>                               <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline>                               <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline>                               <fo:inline word-spacing="-2pt">In this text, spaces between words are reduced by -2pt</fo:inline>                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>
diff --git a/test/xml/bugtests/wrap.fo b/test/xml/bugtests/wrap.fo
new file mode 100644 (file)
index 0000000..1e26390
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+       <fo:layout-master-set>
+           <fo:simple-page-master master-name="simplePM"
+                         page-height="25cm" 
+                         page-width="20cm"
+                         margin-top="1cm" 
+                         margin-bottom="1cm" 
+                         margin-left="1.5cm" 
+                         margin-right="1.5cm">
+             <fo:region-before extent="2.5cm"/>
+             <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
+             <fo:region-after extent="2.5cm"/>
+           </fo:simple-page-master>
+       </fo:layout-master-set>
+
+       <fo:page-sequence master-name="simplePM">
+           <fo:flow flow-name="xsl-region-body">
+                       <fo:block wrap-option="no-wrap">
+                               <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+                               <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+                               <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+                               <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+                               
+                               <fo:block space-before.optimum="1cm" wrap-option="wrap">
+                                       <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+                                       <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+                                       <fo:inline>This is a simple fo block.This is a simple fo block.This is a simple fo block.</fo:inline>
+                               </fo:block>
+                               This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block.
+                               This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block.
+                       </fo:block>
+               </fo:flow>
+       </fo:page-sequence>
+</fo:root>