summaryrefslogtreecommitdiffstats
path: root/test/pdf/accessibility
diff options
context:
space:
mode:
authorVincent Hennebert <vhennebert@apache.org>2012-03-26 17:39:20 +0000
committerVincent Hennebert <vhennebert@apache.org>2012-03-26 17:39:20 +0000
commit4f9ccbd0b79cdb8eebbbdea994355f2df24e595b (patch)
tree19396231b63ee296159a2b846675c9e379be817c /test/pdf/accessibility
parent2874695d34037474b121b41b178b70cbfb229490 (diff)
parentb9fbfa6b71b5e0d67806c066ea422819de08f3b2 (diff)
downloadxmlgraphics-fop-4f9ccbd0b79cdb8eebbbdea994355f2df24e595b.tar.gz
xmlgraphics-fop-4f9ccbd0b79cdb8eebbbdea994355f2df24e595b.zip
Merged branch Temp_PDF_ObjectStreams
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1305467 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/pdf/accessibility')
-rw-r--r--test/pdf/accessibility/README41
-rw-r--r--test/pdf/accessibility/background-image_jpg_repeat.fo34
-rw-r--r--test/pdf/accessibility/background-image_jpg_single.fo36
-rw-r--r--test/pdf/accessibility/background-image_png_repeat.fo34
-rw-r--r--test/pdf/accessibility/background-image_png_single.fo36
-rw-r--r--test/pdf/accessibility/background-image_svg_repeat.fo34
-rw-r--r--test/pdf/accessibility/background-image_svg_single.fo36
-rw-r--r--test/pdf/accessibility/complete.fo207
-rw-r--r--test/pdf/accessibility/fop.xconf23
-rw-r--r--test/pdf/accessibility/image_jpg.fo35
-rw-r--r--test/pdf/accessibility/image_png.fo35
-rw-r--r--test/pdf/accessibility/image_svg.fo45
-rw-r--r--test/pdf/accessibility/image_wmf.fo35
-rw-r--r--test/pdf/accessibility/leader.fo38
-rw-r--r--test/pdf/accessibility/links.fo41
-rw-r--r--test/pdf/accessibility/pdf/background-image_jpg_repeat.pdfbin0 -> 12814 bytes
-rw-r--r--test/pdf/accessibility/pdf/background-image_jpg_single.pdfbin0 -> 12653 bytes
-rw-r--r--test/pdf/accessibility/pdf/background-image_png_repeat.pdfbin0 -> 35437 bytes
-rw-r--r--test/pdf/accessibility/pdf/background-image_png_single.pdfbin0 -> 58648 bytes
-rw-r--r--test/pdf/accessibility/pdf/background-image_svg_repeat.pdfbin0 -> 17056 bytes
-rw-r--r--test/pdf/accessibility/pdf/background-image_svg_single.pdfbin0 -> 9931 bytes
-rw-r--r--test/pdf/accessibility/pdf/complete.pdfbin0 -> 97061 bytes
-rw-r--r--test/pdf/accessibility/pdf/image_jpg.pdfbin0 -> 9078 bytes
-rw-r--r--test/pdf/accessibility/pdf/image_png.pdfbin0 -> 58119 bytes
-rw-r--r--test/pdf/accessibility/pdf/image_svg.pdfbin0 -> 14260 bytes
-rw-r--r--test/pdf/accessibility/pdf/image_wmf.pdfbin0 -> 248229 bytes
-rw-r--r--test/pdf/accessibility/pdf/leader.pdfbin0 -> 9379 bytes
-rw-r--r--test/pdf/accessibility/pdf/links.pdfbin0 -> 9712 bytes
-rw-r--r--test/pdf/accessibility/pdf/role.pdfbin0 -> 18976 bytes
-rw-r--r--test/pdf/accessibility/pdf/role_non-standard.pdfbin0 -> 18990 bytes
-rw-r--r--test/pdf/accessibility/pdf/text_1.pdfbin0 -> 7504 bytes
-rw-r--r--test/pdf/accessibility/pdf/text_2.pdfbin0 -> 10346 bytes
-rw-r--r--test/pdf/accessibility/pdf/text_font-embedding.pdfbin0 -> 19741 bytes
-rw-r--r--test/pdf/accessibility/role.fo125
-rw-r--r--test/pdf/accessibility/role_non-standard.fo125
-rw-r--r--test/pdf/accessibility/text_1.fo34
-rw-r--r--test/pdf/accessibility/text_2.fo41
-rw-r--r--test/pdf/accessibility/text_font-embedding.fo34
38 files changed, 1069 insertions, 0 deletions
diff --git a/test/pdf/accessibility/README b/test/pdf/accessibility/README
new file mode 100644
index 000000000..1d2e04361
--- /dev/null
+++ b/test/pdf/accessibility/README
@@ -0,0 +1,41 @@
+This directory contains sample FO files for testing the accessibility features
+of FOP.
+
+Every FO file in this directory has a corresponding PDF file in the pdf/
+sub-directory. The fop.xconf configuration file was used.
+
+The PDF files have been checked with Adobe Acrobat Professional 9, using both
+the full accessibility checker and the read-aloud feature. The checker reports
+no error /and/ the entire document can be read aloud.
+
+
+!! DO NOT MODIFY THOSE FILES, NEITHER THE FO NOR THE PDF !!
+
+
+... Or at least, know what you are doing
+If the FO files are modified, the resulting PDFs must be checked again, both
+with the checker and the read-aloud feature. (Sometimes the checker reports no
+problem yet part or all of the document cannot be read aloud.)
+
+The purpose of this infrastructure is to be able to quickly re-test the
+accessibility processing chain when any change has been made to it. The
+configuration file disables the compression of the PDF streams, so it is
+possible to compare a re-generated PDF with the original one by using a simple
+diff tool. The files will not be identical because of the different creation
+dates (and the ID key in the trailer), but apart from that there should be no
+difference.
+
+The rationale is that using a diff tool is much quicker and less tedious than
+running Acrobat's accessibility checker and read-aloud feature every time.
+
+
+To re-generate the PDF files:
+ ../../fop -c fop.xconf text_1.fo pdf/text_1.new.pdf
+ diff pdf/text_1_painter.pdf pdf/text_1.new.pdf
+Or, going through the intermediate format:
+ ../../fop -c fop.xconf text_1.fo -if application/pdf text_1_if.xml
+ ../../fop -c fop.xconf -ifin text_1_if.xml pdf/text_1.new.pdf
+ diff pdf/text_1.pdf pdf/text_1.new.pdf
+
+
+$Id$
diff --git a/test/pdf/accessibility/background-image_jpg_repeat.fo b/test/pdf/accessibility/background-image_jpg_repeat.fo
new file mode 100644
index 000000000..12af7d72a
--- /dev/null
+++ b/test/pdf/accessibility/background-image_jpg_repeat.fo
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body background-image="../../resources/images/bgimg72dpi.jpg"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/background-image_jpg_single.fo b/test/pdf/accessibility/background-image_jpg_single.fo
new file mode 100644
index 000000000..1efd10deb
--- /dev/null
+++ b/test/pdf/accessibility/background-image_jpg_single.fo
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body background-image="../../resources/images/bgimg72dpi.jpg"
+ background-repeat="no-repeat" background-position-horizontal="50%"
+ background-position-vertical="50%"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/background-image_png_repeat.fo b/test/pdf/accessibility/background-image_png_repeat.fo
new file mode 100644
index 000000000..9bbc3e47c
--- /dev/null
+++ b/test/pdf/accessibility/background-image_png_repeat.fo
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body background-image="../../resources/images/bgimg72dpi.png"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/background-image_png_single.fo b/test/pdf/accessibility/background-image_png_single.fo
new file mode 100644
index 000000000..0cff427b6
--- /dev/null
+++ b/test/pdf/accessibility/background-image_png_single.fo
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body background-image="../../resources/images/fop-logo-color-24bit.png"
+ background-repeat="no-repeat" background-position-horizontal="50%"
+ background-position-vertical="50%"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/background-image_svg_repeat.fo b/test/pdf/accessibility/background-image_svg_repeat.fo
new file mode 100644
index 000000000..ba69947cc
--- /dev/null
+++ b/test/pdf/accessibility/background-image_svg_repeat.fo
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body background-image="../../resources/images/rgb-circles.svg"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/background-image_svg_single.fo b/test/pdf/accessibility/background-image_svg_single.fo
new file mode 100644
index 000000000..efe91c65b
--- /dev/null
+++ b/test/pdf/accessibility/background-image_svg_single.fo
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body background-image="../../resources/images/rgb-circles.svg"
+ background-repeat="no-repeat" background-position-horizontal="50%"
+ background-position-vertical="50%"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/complete.fo b/test/pdf/accessibility/complete.fo
new file mode 100644
index 000000000..23e8405f3
--- /dev/null
+++ b/test/pdf/accessibility/complete.fo
@@ -0,0 +1,207 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body column-count="2" margin-top="15pt"/>
+ <fo:region-before extent="12pt"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:static-content flow-name="xsl-region-before">
+ <fo:block font-size="8pt" text-align-last="justify">This is the page header<fo:leader/>Page
+ <fo:page-number/></fo:block>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-footnote-separator">
+ <fo:block><fo:leader leader-length="100pt" leader-pattern="rule"/></fo:block>
+ </fo:static-content>
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>(There’s another page sequence <fo:wrapper color="blue"><fo:basic-link
+ internal-destination="second">below</fo:basic-link></fo:wrapper>.)</fo:block>
+ <fo:block font-family="sans-serif" font-weight="bold" space-before="1em" space-after="0.2em"
+ role="H1"><fo:block>About Apache FOP</fo:block></fo:block>
+ <fo:block>It is a print formatter driven by XSL formatting objects (XSL-FO) and an output
+ independent formatter<fo:footnote><fo:inline baseline-shift="super"
+ font-size="70%">1</fo:inline><fo:footnote-body><fo:block>See the <fo:wrapper
+ color="blue"><fo:basic-link
+ external-destination="http://xmlgraphics.apache.org/fop/">FOP
+ website</fo:basic-link></fo:wrapper> for more
+ information</fo:block></fo:footnote-body></fo:footnote>. FOP has a nice logo:
+ <fo:external-graphic src="../../resources/images/fop-logo-color-24bit.png"
+ inline-progression-dimension.maximum="100%" content-width="scale-to-fit"
+ fox:alt-text="FOP Logo"/></fo:block>
+ <fo:table space-before="10pt" space-after="10pt" width="100%" table-layout="fixed">
+ <fo:table-header>
+ <fo:table-row>
+ <fo:table-cell border="2pt solid black" padding="2pt 2pt 0">
+ <fo:block>Header 1.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="2pt solid black" padding="2pt 2pt 0">
+ <fo:block>Header 1.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-header>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 1.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 1.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 2.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 2.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ <fo:block span="all" border-top="1pt solid black" border-bottom="1pt solid black"
+ padding-before="2pt" padding-after="2pt">This fo:block element spans all the columns of the
+ document. This is intended to test the abilities of the text-to-speech program.</fo:block>
+ <fo:block>And now we are back to normal content flowing in two columns. Let’s start a numbered
+ list:</fo:block>
+ <fo:list-block provisional-distance-between-starts="15pt" provisional-label-separation="0mm"
+ keep-with-previous="auto">
+ <fo:list-item keep-with-previous="always">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>1.</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ <fo:block>Line 1 of item 1</fo:block>
+ <fo:block>Line 2 of item 1</fo:block>
+ <fo:block>Line 3 of item 1</fo:block>
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item keep-with-previous="always">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>2.</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ <fo:block>Line 1 of item 2</fo:block>
+ <fo:block>Line 2 of item 2</fo:block>
+ <fo:block>Line 3 of item 2</fo:block>
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ <fo:block>And now we are going to see how a second page sequence is handled.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ <fo:page-sequence master-reference="page">
+ <fo:static-content flow-name="xsl-region-before">
+ <fo:block font-size="8pt" text-align-last="justify">This is the page header<fo:leader/>Page
+ <fo:page-number/></fo:block>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-footnote-separator">
+ <fo:block><fo:leader leader-length="100pt" leader-pattern="rule"/></fo:block>
+ </fo:static-content>
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block id="second">Apache FOP (Formatting Objects Processor) is a print formatter driven by
+ XSL formatting objects (XSL-FO) and an output independent formatter<fo:footnote><fo:inline
+ baseline-shift="super" font-size="70%">1</fo:inline><fo:footnote-body><fo:block>See the
+ <fo:wrapper color="blue"><fo:basic-link
+ external-destination="http://xmlgraphics.apache.org/fop/">FOP
+ website</fo:basic-link></fo:wrapper> for more
+ information</fo:block></fo:footnote-body></fo:footnote>. It is a Java application that
+ reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ <fo:table space-before="10pt" space-after="10pt" width="100%" table-layout="fixed">
+ <fo:table-header>
+ <fo:table-row>
+ <fo:table-cell border="2pt solid black" padding="2pt 2pt 0">
+ <fo:block>Header 1.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="2pt solid black" padding="2pt 2pt 0">
+ <fo:block>Header 1.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-header>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 1.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 1.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 2.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="1pt solid black" padding="2pt 2pt 0">
+ <fo:block>Cell 2.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ <fo:block language="fr" country="FR">Apache FOP (Formatting Objects Processor) est une
+ application de mise en page de documents respectant le standard XSL-FO. À partir d’un
+ document au format XSL-FO, cette application écrite en Java effectue une mise en page et
+ renvoie un document prêt pour impression.</fo:block>
+ <fo:block span="all" border-top="1pt solid black" border-bottom="1pt solid black"
+ padding-before="2pt" padding-after="2pt">This fo:block element spans all the columns of the
+ document. This is intended to test the abilities of the text-to-speech program.</fo:block>
+ <fo:block>And now we are back to normal content flowing in two columns. Let’s start a numbered
+ list:</fo:block>
+ <fo:list-block provisional-distance-between-starts="15pt" provisional-label-separation="0mm"
+ keep-with-previous="auto">
+ <fo:list-item keep-with-previous="always">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>1.</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ <fo:block>Line 1 of item 1</fo:block>
+ <fo:block>Line 2 of item 1</fo:block>
+ <fo:block>Line 3 of item 1</fo:block>
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item keep-with-previous="always">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>2.</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ <fo:block>Line 1 of item 2</fo:block>
+ <fo:block>Line 2 of item 2</fo:block>
+ <fo:block>Line 3 of item 2</fo:block>
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ <fo:block>The end of the document has now been reached.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/fop.xconf b/test/pdf/accessibility/fop.xconf
new file mode 100644
index 000000000..adfccd2cc
--- /dev/null
+++ b/test/pdf/accessibility/fop.xconf
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fop version="1.0">
+ <accessibility>true</accessibility>
+ <source-resolution>144</source-resolution>
+ <use-cache>false</use-cache>
+ <font-base>../../resources/fonts/ttf/</font-base>
+ <renderers>
+ <renderer mime="application/pdf">
+ <filterList>
+ <value>null</value>
+ </filterList>
+ <filterList type="image">
+ <value>flate</value>
+ <value>ascii-85</value>
+ </filterList>
+ <fonts>
+ <font embed-url="DejaVuLGCSerif.ttf">
+ <font-triplet name="DejaVu" style="normal" weight="normal"/>
+ </font>
+ </fonts>
+ </renderer>
+ </renderers>
+</fop>
diff --git a/test/pdf/accessibility/image_jpg.fo b/test/pdf/accessibility/image_jpg.fo
new file mode 100644
index 000000000..2a2b60076
--- /dev/null
+++ b/test/pdf/accessibility/image_jpg.fo
@@ -0,0 +1,35 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>This document contains an image in the JPEG format: <fo:external-graphic
+ src="../../resources/images/cmyk.jpg"
+ inline-progression-dimension.maximum="100%" content-width="scale-to-fit"
+ fox:alt-text="CMYK colours"/>. Here is the end of the text.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/image_png.fo b/test/pdf/accessibility/image_png.fo
new file mode 100644
index 000000000..52ee80ac5
--- /dev/null
+++ b/test/pdf/accessibility/image_png.fo
@@ -0,0 +1,35 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>This document contains an image in the PNG format: <fo:external-graphic
+ src="../../resources/images/fop-logo-color-24bit.png"
+ inline-progression-dimension.maximum="100%" content-width="scale-to-fit"
+ fox:alt-text="FOP Logo"/>. Here is the end of the text.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/image_svg.fo b/test/pdf/accessibility/image_svg.fo
new file mode 100644
index 000000000..96cfedee3
--- /dev/null
+++ b/test/pdf/accessibility/image_svg.fo
@@ -0,0 +1,45 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>This document contains an image in the SVG format: <fo:external-graphic
+ src="../../resources/images/circles.svg"
+ inline-progression-dimension.maximum="75pt" content-width="scale-to-fit"
+ fox:alt-text="Nice circles"/>. And here is the same image as an instream-foreign-object:
+ <fo:instream-foreign-object inline-progression-dimension.maximum="75pt"
+ content-width="scale-down-to-fit" fox:alt-text="The same nice circles">
+<svg xmlns="http://www.w3.org/2000/svg" width="12cm" height="12cm">
+ <g style="fill-opacity:0.7; stroke:black; stroke-width:0.1cm;">
+ <circle cx="6cm" cy="2cm" r="100" style="fill:red;" transform="translate(0,50)" />
+ <circle cx="6cm" cy="2cm" r="100" style="fill:blue;" transform="translate(70,150)" />
+ <circle cx="6cm" cy="2cm" r="100" style="fill:green;" transform="translate(-70,150)"/>
+ </g>
+</svg>
+ </fo:instream-foreign-object>.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/image_wmf.fo b/test/pdf/accessibility/image_wmf.fo
new file mode 100644
index 000000000..43112dba1
--- /dev/null
+++ b/test/pdf/accessibility/image_wmf.fo
@@ -0,0 +1,35 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="320pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>This document contains an image in the WMF format: <fo:external-graphic
+ src="../../resources/images/testChart.wmf"
+ inline-progression-dimension.maximum="100%" content-width="scale-to-fit"
+ fox:alt-text="Metafile Companion Test Chart"/> Here is the end of the text.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/leader.fo b/test/pdf/accessibility/leader.fo
new file mode 100644
index 000000000..4b395cc69
--- /dev/null
+++ b/test/pdf/accessibility/leader.fo
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"
+ text-align-last="justify">
+ <fo:block>This is a text followed by a leader with leader-pattern=​"use-content", the
+ content being text:<fo:leader leader-pattern="use-content"><fo:inline> •
+ </fo:inline></fo:leader>1</fo:block>
+ <fo:block space-before="10pt">This is a text followed by a leader with
+ leader-pattern=​"use-content", the content being images:<fo:leader
+ leader-pattern="use-content"><fo:external-graphic
+ src="../../resources/images/list-item.png"/></fo:leader>1</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/links.fo b/test/pdf/accessibility/links.fo
new file mode 100644
index 000000000..36250e332
--- /dev/null
+++ b/test/pdf/accessibility/links.fo
@@ -0,0 +1,41 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>This is a <fo:wrapper color="blue"><fo:basic-link
+ internal-destination="FOP">link</fo:basic-link></fo:wrapper> to the next
+ paragraph.</fo:block>
+ <fo:block id="FOP">Apache FOP (Formatting Objects Processor) is a print formatter driven by
+ XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java
+ application that reads a formatting object (FO) tree and renders the resulting pages to a
+ specified output.</fo:block>
+ <fo:block>For more information, see the <fo:wrapper color="blue"><fo:basic-link
+ external-destination="http://xmlgraphics.apache.org/fop/">FOP
+ website</fo:basic-link></fo:wrapper>.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf b/test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf
new file mode 100644
index 000000000..9b4a7fc20
--- /dev/null
+++ b/test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/background-image_jpg_single.pdf b/test/pdf/accessibility/pdf/background-image_jpg_single.pdf
new file mode 100644
index 000000000..d1d0ecb1b
--- /dev/null
+++ b/test/pdf/accessibility/pdf/background-image_jpg_single.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/background-image_png_repeat.pdf b/test/pdf/accessibility/pdf/background-image_png_repeat.pdf
new file mode 100644
index 000000000..ccb2cf089
--- /dev/null
+++ b/test/pdf/accessibility/pdf/background-image_png_repeat.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/background-image_png_single.pdf b/test/pdf/accessibility/pdf/background-image_png_single.pdf
new file mode 100644
index 000000000..902520b95
--- /dev/null
+++ b/test/pdf/accessibility/pdf/background-image_png_single.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/background-image_svg_repeat.pdf b/test/pdf/accessibility/pdf/background-image_svg_repeat.pdf
new file mode 100644
index 000000000..a720a5b9a
--- /dev/null
+++ b/test/pdf/accessibility/pdf/background-image_svg_repeat.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/background-image_svg_single.pdf b/test/pdf/accessibility/pdf/background-image_svg_single.pdf
new file mode 100644
index 000000000..7e6e3e9d4
--- /dev/null
+++ b/test/pdf/accessibility/pdf/background-image_svg_single.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/complete.pdf b/test/pdf/accessibility/pdf/complete.pdf
new file mode 100644
index 000000000..f1dc10559
--- /dev/null
+++ b/test/pdf/accessibility/pdf/complete.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/image_jpg.pdf b/test/pdf/accessibility/pdf/image_jpg.pdf
new file mode 100644
index 000000000..e943c83e5
--- /dev/null
+++ b/test/pdf/accessibility/pdf/image_jpg.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/image_png.pdf b/test/pdf/accessibility/pdf/image_png.pdf
new file mode 100644
index 000000000..5ea44673b
--- /dev/null
+++ b/test/pdf/accessibility/pdf/image_png.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/image_svg.pdf b/test/pdf/accessibility/pdf/image_svg.pdf
new file mode 100644
index 000000000..db1e061cf
--- /dev/null
+++ b/test/pdf/accessibility/pdf/image_svg.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/image_wmf.pdf b/test/pdf/accessibility/pdf/image_wmf.pdf
new file mode 100644
index 000000000..65c46d12a
--- /dev/null
+++ b/test/pdf/accessibility/pdf/image_wmf.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/leader.pdf b/test/pdf/accessibility/pdf/leader.pdf
new file mode 100644
index 000000000..d270c25a1
--- /dev/null
+++ b/test/pdf/accessibility/pdf/leader.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/links.pdf b/test/pdf/accessibility/pdf/links.pdf
new file mode 100644
index 000000000..b2a5a4209
--- /dev/null
+++ b/test/pdf/accessibility/pdf/links.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/role.pdf b/test/pdf/accessibility/pdf/role.pdf
new file mode 100644
index 000000000..329925bcd
--- /dev/null
+++ b/test/pdf/accessibility/pdf/role.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/role_non-standard.pdf b/test/pdf/accessibility/pdf/role_non-standard.pdf
new file mode 100644
index 000000000..84daea788
--- /dev/null
+++ b/test/pdf/accessibility/pdf/role_non-standard.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/text_1.pdf b/test/pdf/accessibility/pdf/text_1.pdf
new file mode 100644
index 000000000..13f01711d
--- /dev/null
+++ b/test/pdf/accessibility/pdf/text_1.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/text_2.pdf b/test/pdf/accessibility/pdf/text_2.pdf
new file mode 100644
index 000000000..943263994
--- /dev/null
+++ b/test/pdf/accessibility/pdf/text_2.pdf
Binary files differ
diff --git a/test/pdf/accessibility/pdf/text_font-embedding.pdf b/test/pdf/accessibility/pdf/text_font-embedding.pdf
new file mode 100644
index 000000000..7ffb40af8
--- /dev/null
+++ b/test/pdf/accessibility/pdf/text_font-embedding.pdf
Binary files differ
diff --git a/test/pdf/accessibility/role.fo b/test/pdf/accessibility/role.fo
new file mode 100644
index 000000000..ced8a4d44
--- /dev/null
+++ b/test/pdf/accessibility/role.fo
@@ -0,0 +1,125 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" font-family="sans-serif">
+ <fo:block role="H1" font-weight="bold" font-size="150%"
+ space-before.minimum="1.5em"
+ space-before.optimum="2em"
+ space-before.maximum="3em"
+ space-before.precedence="1000"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="1000">Title 1: To Start With</fo:block>
+ <fo:block role="H2" font-weight="bold" font-size="120%"
+ space-before.minimum="1.2em"
+ space-before.optimum="1.5em"
+ space-before.maximum="2em"
+ space-before.precedence="900"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="900">Title 2: A Sub-Title</fo:block>
+ <fo:block text-align="justify">Apache FOP (Formatting Objects Processor) is a print formatter
+ driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java
+ application that reads a formatting object (FO) tree and renders the resulting pages to a
+ specified output.</fo:block>
+ <fo:block role="H2" font-weight="bold" font-size="120%"
+ space-before.minimum="1.2em"
+ space-before.optimum="1.5em"
+ space-before.maximum="2em"
+ space-before.precedence="900"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="900">Title 2: Another Sub-Title</fo:block>
+ <fo:block text-align="justify">Apache FOP (Formatting Objects Processor) is a print formatter
+ driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java
+ application that reads a formatting object (FO) tree and renders the resulting pages to a
+ specified output.</fo:block>
+ <fo:block role="H1" font-weight="bold" font-size="150%"
+ space-before.minimum="1.5em"
+ space-before.optimum="2em"
+ space-before.maximum="3em"
+ space-before.precedence="1000"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="1000">Title 1: Second Title</fo:block>
+ <fo:block role="H2" font-weight="bold" font-size="120%"
+ space-before.minimum="1.2em"
+ space-before.optimum="1.5em"
+ space-before.maximum="2em"
+ space-before.precedence="900"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="900">Title 2: A Sample Table</fo:block>
+ <fo:block>See data below:</fo:block>
+ <fo:table table-layout="fixed" width="70%" start-indent="15%" border="0.5pt solid black">
+ <fo:table-header start-indent="0" font-weight="bold">
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Header 1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Header 2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-header>
+ <fo:table-footer start-indent="0" font-weight="bold">
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Footer 1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Footer 2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-footer>
+ <fo:table-body start-indent="0">
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 1.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 1.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 2.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 2.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ <fo:block text-align="justify" space-before="0.5em">That’s all folks.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/role_non-standard.fo b/test/pdf/accessibility/role_non-standard.fo
new file mode 100644
index 000000000..d3e1a9852
--- /dev/null
+++ b/test/pdf/accessibility/role_non-standard.fo
@@ -0,0 +1,125 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" font-family="sans-serif">
+ <fo:block role="H1" font-weight="bold" font-size="150%"
+ space-before.minimum="1.5em"
+ space-before.optimum="2em"
+ space-before.maximum="3em"
+ space-before.precedence="1000"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="1000">Title 1: To Start With</fo:block>
+ <fo:block role="Header2" font-weight="bold" font-size="120%"
+ space-before.minimum="1.2em"
+ space-before.optimum="1.5em"
+ space-before.maximum="2em"
+ space-before.precedence="900"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="900">A Sub-Title With a Non-Standard Role</fo:block>
+ <fo:block text-align="justify">Apache FOP (Formatting Objects Processor) is a print formatter
+ driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java
+ application that reads a formatting object (FO) tree and renders the resulting pages to a
+ specified output.</fo:block>
+ <fo:block role="H2" font-weight="bold" font-size="120%"
+ space-before.minimum="1.2em"
+ space-before.optimum="1.5em"
+ space-before.maximum="2em"
+ space-before.precedence="900"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="900">Title 2: Another Sub-Title</fo:block>
+ <fo:block text-align="justify">Apache FOP (Formatting Objects Processor) is a print formatter
+ driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java
+ application that reads a formatting object (FO) tree and renders the resulting pages to a
+ specified output.</fo:block>
+ <fo:block role="H1" font-weight="bold" font-size="150%"
+ space-before.minimum="1.5em"
+ space-before.optimum="2em"
+ space-before.maximum="3em"
+ space-before.precedence="1000"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="1000">Title 1: Second Title</fo:block>
+ <fo:block role="H2" font-weight="bold" font-size="120%"
+ space-before.minimum="1.2em"
+ space-before.optimum="1.5em"
+ space-before.maximum="2em"
+ space-before.precedence="900"
+ space-after.minimum="0.2em"
+ space-after.optimum="0.2em"
+ space-after.maximum="0.5em"
+ space-after.precedence="900">Title 2: A Sample Table</fo:block>
+ <fo:block>See data below:</fo:block>
+ <fo:table table-layout="fixed" width="70%" start-indent="15%" border="0.5pt solid black">
+ <fo:table-header start-indent="0" font-weight="bold" role="TableHeader">
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Header 1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Header 2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-header>
+ <fo:table-footer start-indent="0" font-weight="bold">
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Footer 1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Footer 2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-footer>
+ <fo:table-body start-indent="0">
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 1.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 1.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 2.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="0.5pt solid black" padding="2pt">
+ <fo:block>Cell 2.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ <fo:block text-align="justify" space-before="0.5em">That’s all folks.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/text_1.fo b/test/pdf/accessibility/text_1.fo
new file mode 100644
index 000000000..31ad31514
--- /dev/null
+++ b/test/pdf/accessibility/text_1.fo
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/text_2.fo b/test/pdf/accessibility/text_2.fo
new file mode 100644
index 000000000..f5693110e
--- /dev/null
+++ b/test/pdf/accessibility/text_2.fo
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ <fo:block language="fr" country="FR">Apache FOP (Formatting Objects Processor) est une
+ application de mise en page de documents respectant le standard XSL-FO. À partir d’un
+ document au format XSL-FO, cette application écrite en Java effectue une mise en page et
+ renvoie un document prêt pour impression.</fo:block>
+ <fo:block>Back to English and let’s say it again: Apache FOP (Formatting Objects Processor) is
+ a print formatter driven by XSL formatting objects (XSL-FO) and an output independent
+ formatter.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
diff --git a/test/pdf/accessibility/text_font-embedding.fo b/test/pdf/accessibility/text_font-embedding.fo
new file mode 100644
index 000000000..10c1c99d9
--- /dev/null
+++ b/test/pdf/accessibility/text_font-embedding.fo
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="220pt" page-width="320pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify" font-family="DejaVu">
+ <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL
+ formatting objects (XSL-FO) and an output independent formatter. It is a Java application
+ that reads a formatting object (FO) tree and renders the resulting pages to a specified
+ output.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>