diff options
author | Keiron Liddle <keiron@apache.org> | 2001-05-22 13:05:25 +0000 |
---|---|---|
committer | Keiron Liddle <keiron@apache.org> | 2001-05-22 13:05:25 +0000 |
commit | a9a672d20a34f032e412a83bf21f224d998f3ea9 (patch) | |
tree | d95dc7e1e3ef496e856cff76055ea65ac753cc4a | |
parent | 7c81f7df15ae54e96d99ec11c3f3b940855897dd (diff) | |
download | xmlgraphics-fop-a9a672d20a34f032e412a83bf21f224d998f3ea9.tar.gz xmlgraphics-fop-a9a672d20a34f032e412a83bf21f224d998f3ea9.zip |
put bugtests back in here
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, 2618 insertions, 0 deletions
diff --git a/test/.cvsignore b/test/.cvsignore index cfe67f584..a4b72afc3 100644 --- a/test/.cvsignore +++ b/test/.cvsignore @@ -1,2 +1,3 @@ reference areatree +results diff --git a/test/bugtests.xml b/test/bugtests.xml new file mode 100644 index 000000000..a853e78b9 --- /dev/null +++ b/test/bugtests.xml @@ -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> + diff --git a/test/createpdf.sh b/test/createpdf.sh index eb33d1100..119f123b6 100755 --- a/test/createpdf.sh +++ b/test/createpdf.sh @@ -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 index 000000000..feef6e9da --- /dev/null +++ b/test/xml/bugtests/background_color.fo @@ -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 index 000000000..3f6c474cd --- /dev/null +++ b/test/xml/bugtests/background_transparent.fo @@ -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 index 000000000..f9e49d6ce --- /dev/null +++ b/test/xml/bugtests/block-container.fo @@ -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 index 000000000..f77dc1765 --- /dev/null +++ b/test/xml/bugtests/block.fo @@ -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 index 000000000..0a55fde03 --- /dev/null +++ b/test/xml/bugtests/border.fo @@ -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 index 000000000..45ff156b1 --- /dev/null +++ b/test/xml/bugtests/break-before.fo @@ -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 index 000000000..15772a4bc --- /dev/null +++ b/test/xml/bugtests/charwidth.fo @@ -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> + `~!@#$%^&*()-_=+1 + </fo:block> + <fo:block> + [{]}\|;:'1 + </fo:block> + <fo:block> + ",<.>/?1 + </fo:block> + <fo:block> +!"#$%&'()*+,-./0123456789:;<1 + </fo:block> + <fo:block> +=>?@ABCDEFGHIJKLMNOPQRSTUVWX1 + </fo:block> + <fo:block> +YZ[\]^_`abcdefghijklmnopq1 + </fo:block> + <fo:block> +rstuvwxyz{|}~ ¡¢£¤¥¦§¨1 + </fo:block> + <fo:block> +©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1 + </fo:block> + <fo:block> +ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1 + </fo:block> + <fo:block> +ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1 + </fo:block> + <fo:block> +òóôõö÷øùúûüýþ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> + `~!@#$%^&*()-_=+1 + </fo:block> + <fo:block> + [{]}\|;:'1 + </fo:block> + <fo:block> + ",<.>/?1 + </fo:block> + <fo:block> +!"#$%&'()*+,-./0123456789:;<1 + </fo:block> + <fo:block> +=>?@ABCDEFGHIJKLMNOPQRSTUVWX1 + </fo:block> + <fo:block> +YZ[\]^_`abcdefghijklmnopq1 + </fo:block> + <fo:block> +rstuvwxyz{|}~ ¡¢£¤¥¦§¨1 + </fo:block> + <fo:block> +©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1 + </fo:block> + <fo:block> +ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1 + </fo:block> + <fo:block> +ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1 + </fo:block> + <fo:block> +òóôõö÷øùúûüýþ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> + `~!@#$%^&*()-_=+1 + </fo:block> + <fo:block> + [{]}\|;:'1 + </fo:block> + <fo:block> + ",<.>/?1 + </fo:block> + <fo:block> +!"#$%&'()*+,-./0123456789:;<1 + </fo:block> + <fo:block> +=>?@ABCDEFGHIJKLMNOPQRSTUVWX1 + </fo:block> + <fo:block> +YZ[\]^_`abcdefghijklmnopq1 + </fo:block> + <fo:block> +rstuvwxyz{|}~ ¡¢£¤¥¦§¨1 + </fo:block> + <fo:block> +©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1 + </fo:block> + <fo:block> +ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1 + </fo:block> + <fo:block> +ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1 + </fo:block> + <fo:block> +òóôõö÷øùúûüýþ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> + `~!@#$%^&*()-_=+1 + </fo:block> + <fo:block> + [{]}\|;:'1 + </fo:block> + <fo:block> + ",<.>/?1 + </fo:block> + <fo:block> +!"#$%&'()*+,-./0123456789:;<1 + </fo:block> + <fo:block> +=>?@ABCDEFGHIJKLMNOPQRSTUVWX1 + </fo:block> + <fo:block> +YZ[\]^_`abcdefghijklmnopq1 + </fo:block> + <fo:block> +rstuvwxyz{|}~ ¡¢£¤¥¦§¨1 + </fo:block> + <fo:block> +©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1 + </fo:block> + <fo:block> +ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1 + </fo:block> + <fo:block> +ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1 + </fo:block> + <fo:block> +òóôõö÷øùúûüýþ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> + `~!@#$%^&*()-_=+1 + </fo:block> + <fo:block> + [{]}\|;:'1 + </fo:block> + <fo:block> + ",<.>/?1 + </fo:block> + <fo:block> +!"#$%&'()*+,-./0123456789:;<1 + </fo:block> + <fo:block> +=>?@ABCDEFGHIJKLMNOPQRSTUVWX1 + </fo:block> + <fo:block> +YZ[\]^_`abcdefghijklmnopq1 + </fo:block> + <fo:block> +rstuvwxyz{|}~ ¡¢£¤¥¦§¨1 + </fo:block> + <fo:block> +©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ1 + </fo:block> + <fo:block> +ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ1 + </fo:block> + <fo:block> +ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ1 + </fo:block> + <fo:block> +òóôõö÷øùúûüýþ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 index 000000000..8538aa315 --- /dev/null +++ b/test/xml/bugtests/color.fo @@ -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 index 000000000..ec7e1d178 --- /dev/null +++ b/test/xml/bugtests/external-graphic.fo @@ -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 index 000000000..4b46449c6 --- /dev/null +++ b/test/xml/bugtests/font-family.fo @@ -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 index 000000000..1ba4bb14f --- /dev/null +++ b/test/xml/bugtests/font-size.fo @@ -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 index 000000000..d9ab2da4b --- /dev/null +++ b/test/xml/bugtests/font.fo @@ -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 index 000000000..22dc945e2 --- /dev/null +++ b/test/xml/bugtests/header_footer.fo @@ -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 index 000000000..8c5b3c7c6 --- /dev/null +++ b/test/xml/bugtests/image.fo @@ -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 index 000000000..e415f8115 --- /dev/null +++ b/test/xml/bugtests/indent.fo @@ -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 index 000000000..3b1e92150 --- /dev/null +++ b/test/xml/bugtests/inline.fo @@ -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 index 000000000..b17d0ed76 --- /dev/null +++ b/test/xml/bugtests/keep-with-next.fo @@ -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 index 000000000..b7507e999 --- /dev/null +++ b/test/xml/bugtests/leader.fo @@ -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 index 000000000..f871ee758 --- /dev/null +++ b/test/xml/bugtests/letter-spacing.fo @@ -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 index 000000000..eeb29bc04 --- /dev/null +++ b/test/xml/bugtests/line-height.fo @@ -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 index 000000000..6ee1fa5ae --- /dev/null +++ b/test/xml/bugtests/list-mountjoy.fo @@ -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>•</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: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: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: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: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>•</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: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: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: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>•</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>•</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>•</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 index 000000000..1e7742d89 --- /dev/null +++ b/test/xml/bugtests/list-nested-breaks.fo @@ -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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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 index 000000000..c7f5c7057 --- /dev/null +++ b/test/xml/bugtests/list-nested.fo @@ -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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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">·</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 index 000000000..8475a5306 --- /dev/null +++ b/test/xml/bugtests/padding.fo @@ -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 index 000000000..13fb110b9 --- /dev/null +++ b/test/xml/bugtests/page-number.fo @@ -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 index 000000000..c0a3032d6 --- /dev/null +++ b/test/xml/bugtests/rule.fo @@ -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 index 000000000..75f22ee59 --- /dev/null +++ b/test/xml/bugtests/simple-link.fo @@ -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 index 000000000..29cf8e2df --- /dev/null +++ b/test/xml/bugtests/space-treatment.fo @@ -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 index 000000000..f95567595 --- /dev/null +++ b/test/xml/bugtests/space.fo @@ -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 index 000000000..7efcf621a --- /dev/null +++ b/test/xml/bugtests/text-align.fo @@ -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 index 000000000..29668f2b6 --- /dev/null +++ b/test/xml/bugtests/text-decoration.fo @@ -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 index 000000000..3b8147cc6 --- /dev/null +++ b/test/xml/bugtests/text-indent.fo @@ -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 index 000000000..09c65dd84 --- /dev/null +++ b/test/xml/bugtests/word-spacing.fo @@ -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 index 000000000..1e2639055 --- /dev/null +++ b/test/xml/bugtests/wrap.fo @@ -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> |