You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by sp...@apache.org on 2008/02/14 22:57:53 UTC

svn commit: r627882 [20/41] - in /xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking: ./ examples/embedding/ examples/embedding/java/embedding/ examples/embedding/java/embedding/intermediate/ examples/embedding/xml/xml/ examples/fo/ examples/...

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/FOProcessorImpl.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/FOProcessorImpl.java?rev=627882&r1=627881&r2=627882&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/FOProcessorImpl.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/FOProcessorImpl.java Thu Feb 14 13:55:44 2008
@@ -28,69 +28,53 @@
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamSource;
 import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.stream.StreamSource;
 
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.activity.Initializable;
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
 
+import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
-import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FopFactory;
 import org.apache.fop.apps.MimeConstants;
-import org.apache.avalon.framework.activity.Initializable;
 
+/**
+ * Default implementation of the FOProcessor interface using FOP.
+ */
 public class FOProcessorImpl extends AbstractLogEnabled
             implements FOProcessor, Configurable, Initializable {
 
     private FopFactory fopFactory = FopFactory.newInstance();
     private TransformerFactory factory = TransformerFactory.newInstance();
-    private String baseDir;
-    private String fontBaseDir;
     private String userconfig;
-    private boolean strokeSVGText;
+    private String mime;
+    private String fileExtension;
 
+    /** {@inheritDoc} */
     public void configure(Configuration configuration) throws ConfigurationException {
-        this.baseDir = configuration.getChild("basedir").getValue(null);
-        this.fontBaseDir = configuration.getChild("fontbasedir").getValue(null);
         this.userconfig = configuration.getChild("userconfig").getValue(null);
-        this.strokeSVGText = configuration.getChild("strokesvgtext").getValueAsBoolean(true);
+        this.mime = configuration.getChild("mime").getValue(MimeConstants.MIME_PDF);
+        this.fileExtension = configuration.getChild("extension").getValue(".pdf");
     }
 
-
+    /** {@inheritDoc} */
     public void initialize() throws Exception {
-        /*
-        org.apache.fop.messaging.MessageHandler.setScreenLogger(getLogger());
-        if (userconfig != null) {
-            getLogger().info("Using user config: "+userconfig);
-            InputStream in = org.apache.fop.tools.URLBuilder.buildURL(userconfig).openStream();
-            try {
-                new org.apache.fop.apps.Options(in);
-            } finally {
-                in.close();
-            }
-        }
-        if (this.baseDir != null) {
-            getLogger().info("Setting base dir: "+baseDir);
-            org.apache.fop.configuration.Configuration.put("baseDir", this.baseDir);
-        }
-        if (this.fontBaseDir != null) {
-            getLogger().info("Setting font base dir: "+fontBaseDir);
-            org.apache.fop.configuration.Configuration.put("fontBaseDir", this.fontBaseDir);
+        if (this.userconfig != null) {
+            getLogger().debug("Setting user config: " + userconfig);
+            fopFactory.setUserConfig(this.userconfig);
         }
-        String value = (this.strokeSVGText?"true":"false");
-        org.apache.fop.configuration.Configuration.put("strokeSVGText", value);
-        */
     }
 
-
+    /** {@inheritDoc} */
     public void process(InputStream in, Templates templates, OutputStream out) 
                 throws org.apache.fop.apps.FOPException, java.io.IOException {
         FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
-        Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
+        Fop fop = fopFactory.newFop(this.mime, foUserAgent, out);
 
         try {
             Transformer transformer;
@@ -105,6 +89,11 @@
         } catch (TransformerException e) {
             throw new FOPException(e);
         }
+    }
+
+    /** {@inheritDoc} */
+    public String getTargetFileExtension() {
+        return this.fileExtension;
     }
 
 }

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/FOProcessorImpl.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Author Date Id Revision
+Id

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/Main.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/Main.java?rev=627882&r1=627881&r2=627882&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/Main.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/Main.java Thu Feb 14 13:55:44 2008
@@ -19,7 +19,9 @@
 
 package org.apache.fop.threading;
 
+import java.io.BufferedReader;
 import java.io.File;
+import java.io.IOException;
 
 import org.apache.avalon.framework.ExceptionUtil;
 import org.apache.avalon.framework.configuration.Configuration;
@@ -27,14 +29,32 @@
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.avalon.framework.logger.ConsoleLogger;
 
+/**
+ * Starter class for the multi-threading testbed.
+ */
 public class Main {
 
+    private static void prompt() throws IOException {
+        BufferedReader in = new BufferedReader(new java.io.InputStreamReader(System.in));
+        System.out.print("Press return to continue...");
+        in.readLine();
+    }
+    
+    /**
+     * Main method.
+     * @param args the command-line arguments
+     */
     public static void main(String[] args) {
         try {
             //Read configuration
             File cfgFile = new File(args[0]);
             DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
             Configuration cfg = builder.buildFromFile(cfgFile);
+            
+            boolean doPrompt = cfg.getAttributeAsBoolean("prompt", false);
+            if (doPrompt) {
+                prompt();
+            }
             
             //Setup testbed
             FOPTestbed testbed = new FOPTestbed();

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/Main.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Author Date Id Revision
+Id

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/sample.cfg.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/sample.cfg.xml?rev=627882&r1=627881&r2=627882&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/sample.cfg.xml (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/sample.cfg.xml Thu Feb 14 13:55:44 2008
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<config>
+<config prompt="false">
   <threads>2</threads>
   <output-dir>C:/Dev/FOP/temp/out</output-dir>
-  <foprocessor>
-    <!--basedir>C:/Dev/FOP/temp</basedir>
-    <fontbasedir>C:/Dev/FOP/temp/fonts</fontbasedir>
+  <foprocessor class="org.apache.fop.threading.FOProcessorImpl">
+    <!--
     <userconfig>C:/Dev/FOP/temp/userconfig.xml</userconfig>
-    <strokesvgtext>true</strokesvgtext-->
+    -->
+    <mime>application/pdf</mime>
+    <extension>.pdf</extension>
   </foprocessor>
   <tasks repeat="2">
     <task fo="C:/Dev/FOP/temp/helloworld.fo"/>

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/threading/sample.cfg.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Author Date Id Revision
+Revision Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/traits/BorderPropsTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/traits/TraitColorTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/util/DataURIResolverTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/util/DigestFilter.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Author Date Id Revision
+Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/util/ElementListUtilsTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/util/UnitConvTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/visual/BatchDiffer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/visual/BatchDiffer.java?rev=627882&r1=627881&r2=627882&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/visual/BatchDiffer.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/visual/BatchDiffer.java Thu Feb 14 13:55:44 2008
@@ -20,31 +20,29 @@
 package org.apache.fop.visual;
 
 import java.awt.image.BufferedImage;
-import java.awt.image.RenderedImage;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.OutputStream;
 import java.util.Collection;
 import java.util.Iterator;
 
 import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.stream.StreamSource;
 
+import org.xml.sax.SAXException;
+
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.filefilter.IOFileFilter;
 import org.apache.commons.io.filefilter.SuffixFileFilter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+
+import org.apache.xmlgraphics.image.writer.ImageWriterUtil;
+
 import org.apache.fop.layoutengine.LayoutEngineTestSuite;
-import org.apache.xmlgraphics.image.writer.ImageWriter;
-import org.apache.xmlgraphics.image.writer.ImageWriterRegistry;
-import org.xml.sax.SAXException;
 
 /**
  * This class is used to visually diff bitmap images created through various sources.
@@ -110,22 +108,6 @@
     }
 
     /**
-     * Saves a BufferedImage as a PNG file.
-     * @param bitmap the bitmap to encode
-     * @param outputFile the target file
-     * @throws IOException in case of an I/O problem
-     */
-    public static void saveAsPNG(RenderedImage bitmap, File outputFile) throws IOException {
-        OutputStream out = new FileOutputStream(outputFile);
-        try {
-            ImageWriter writer = ImageWriterRegistry.getInstance().getWriterFor("image/png");
-            writer.writeImage(bitmap, out);
-        } finally {
-            IOUtils.closeQuietly(out);
-        }
-    }
-    
-    /**
      * Runs the batch.
      * @param cfgFile configuration file to use
      * @throws ConfigurationException In case of a problem with the configuration
@@ -165,7 +147,7 @@
             if (!srcDir.exists()) {
                 throw new RuntimeException("source-directory does not exist: " + srcDir);
             }
-            File targetDir = new File(cfg.getChild("target-directory").getValue());
+            final File targetDir = new File(cfg.getChild("target-directory").getValue());
             targetDir.mkdirs();
             if (!targetDir.exists()) {
                 throw new RuntimeException("target-directory is invalid: " + targetDir);
@@ -173,10 +155,9 @@
             context.setTargetDir(targetDir);
             
             boolean stopOnException = cfg.getChild("stop-on-exception").getValueAsBoolean(true);
-            boolean createDiffs = cfg.getChild("create-diffs").getValueAsBoolean(true);
+            final boolean createDiffs = cfg.getChild("create-diffs").getValueAsBoolean(true);
             
             //RUN!
-            BufferedImage[] bitmaps = new BufferedImage[producers.length];
             
             IOFileFilter filter = new SuffixFileFilter(new String[] {".xml", ".fo"});
             //Same filtering as in layout engine tests
@@ -188,10 +169,11 @@
             Collection files = FileUtils.listFiles(srcDir, filter, null);
             Iterator i = files.iterator();
             while (i.hasNext()) {
-                File f = (File)i.next();
+                final File f = (File)i.next();
                 try {
                     log.info("---=== " + f + " ===---");
                     long[] times = new long[producers.length];
+                    final BufferedImage[] bitmaps = new BufferedImage[producers.length];
                     for (int j = 0; j < producers.length; j++) {
                         times[j] = System.currentTimeMillis();
                         bitmaps[j] = producers[j].produce(f, context);
@@ -212,24 +194,18 @@
                         throw new RuntimeException("First producer didn't return a bitmap for " 
                                 + f + ". Cannot continue.");
                     }
-                    BufferedImage combined = BitmapComparator.buildCompareImage(bitmaps);
                     
-                    //Save combined bitmap as PNG file
-                    File outputFile = new File(targetDir, f.getName() + "._combined.png");
-                    saveAsPNG(combined, outputFile);
-
-                    if (createDiffs) {
-                        for (int k = 1; k < bitmaps.length; k++) {
-                            BufferedImage diff = BitmapComparator.buildDiffImage(
-                                    bitmaps[0], bitmaps[k]);
-                            outputFile = new File(targetDir, f.getName() + "._diff" + k + ".png");
-                            saveAsPNG(diff, outputFile);
+                    Runnable runnable = new Runnable() {
+                        public void run() {
+                            try {
+                                saveBitmaps(targetDir, f, createDiffs, bitmaps);
+                            } catch (IOException e) {
+                                log.error("IO error while saving bitmaps: " + e.getMessage());
+                            }
                         }
-                    }
-                    //Release memory as soon as possible. These images are huge!
-                    for (int k = 0; k < bitmaps.length; k++) {
-                        bitmaps[k] = null;
-                    }
+                    };
+                    //This speeds it up a little on multi-core CPUs (very cheap, I know)
+                    new Thread(runnable).start();
                 } catch (RuntimeException e) {
                     log.error("Catching RE on file " + f + ": " + e.getMessage());
                     if (stopOnException) {
@@ -251,6 +227,24 @@
         }
     }
     
+    private void saveBitmaps(File targetDir, File srcFile, boolean createDiffs,
+            BufferedImage[] bitmaps) throws IOException {
+        BufferedImage combined = BitmapComparator.buildCompareImage(bitmaps);
+        
+        //Save combined bitmap as PNG file
+        File outputFile = new File(targetDir, srcFile.getName() + "._combined.png");
+        ImageWriterUtil.saveAsPNG(combined, outputFile);
+
+        if (createDiffs) {
+            for (int k = 1; k < bitmaps.length; k++) {
+                BufferedImage diff = BitmapComparator.buildDiffImage(
+                        bitmaps[0], bitmaps[k]);
+                outputFile = new File(targetDir, srcFile.getName() + "._diff" + k + ".png");
+                ImageWriterUtil.saveAsPNG(diff, outputFile);
+            }
+        }
+    }
+    
     private BitmapProducer[] getProducers(Configuration cfg) {
         Configuration[] children = cfg.getChildren("producer");
         BitmapProducer[] producers = new BitmapProducer[children.length];
@@ -291,7 +285,7 @@
             
             System.out.println("Regular exit...");
         } catch (Exception e) {
-            System.out.println("Exception caugth...");
+            System.out.println("Exception caught...");
             e.printStackTrace();
         }
     }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/disabled-testcases.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/disabled-testcases.xml?rev=627882&r1=627881&r2=627882&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/disabled-testcases.xml (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/disabled-testcases.xml Thu Feb 14 13:55:44 2008
@@ -27,13 +27,6 @@
     nominal line.</description>
   </testcase>
   <testcase>
-    <name>Bugzilla #36391: reference-orientation</name>
-    <file>block-container_reference-orientation_bug36391.xml</file>
-    <description>There's a problem involving nested block-containers
-    and reference-orientation 180/-180.</description>
-    <reference>http://issues.apache.org/bugzilla/show_bug.cgi?id=36391</reference>
-  </testcase>
-  <testcase>
     <name>Auto-height block-containers produce fences</name>
     <file>block-container_space-before_space-after_3.xml</file>
     <description>Block-containers with no height currently don't

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/disabled-testcases.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation-ladder-count.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation-ladder-count.xml?rev=627882&r1=627881&r2=627882&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation-ladder-count.xml (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation-ladder-count.xml Thu Feb 14 13:55:44 2008
@@ -1,355 +1,355 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  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$ -->
-<testcase>
-  <info>
-    <p>
-      Checks hyphenation for various languages
-    </p>
-  </info>
-  <fo>
-
-<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
-
-  <fo:layout-master-set>
-    <fo:simple-page-master master-name="simple"
-                  page-height="29.7cm"
-                  page-width="21cm"
-                  margin-top="1cm"
-                  margin-bottom="2cm"
-                  margin-left="7cm"
-                  margin-right="3cm">
-      <fo:region-body margin-top="1.5cm"/>
-    </fo:simple-page-master>
-  </fo:layout-master-set>
-  <!-- end: defines page layout -->
-
-
-  <fo:page-sequence master-reference="simple">
-
-    <fo:flow flow-name="xsl-region-body"
-                text-align="justify">
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        US English hypenation-ladder-count="no-limit"
-      </fo:block>
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="en"
-                country="US"
-                hyphenate="true"
-                hyphenation-ladder-count="no-limit"
-                >
-        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
-        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
-        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
-        widespread deployment. This enhances the functionality and interoperability of the Web.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        US English hypenation-ladder-count="1"
-      </fo:block>
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="en"
-                country="US"
-                hyphenate="true"
-                hyphenation-ladder-count="1"
-                >
-        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
-        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
-        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
-        widespread deployment. This enhances the functionality and interoperability of the Web.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        US English hypenation-ladder-count="2"
-      </fo:block>
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="en"
-                country="US"
-                hyphenate="true"
-                hyphenation-ladder-count="2"
-                >
-        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
-        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
-        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
-        widespread deployment. This enhances the functionality and interoperability of the Web.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        US English hypenation-ladder-count="3"
-      </fo:block>
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="en"
-                country="US"
-                hyphenate="true"
-                hyphenation-ladder-count="3"
-                >
-        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
-        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
-        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
-        widespread deployment. This enhances the functionality and interoperability of the Web.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        US English hypenation-ladder-count="4"
-      </fo:block>
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="en"
-                country="US"
-                hyphenate="true"
-                hyphenation-ladder-count="4"
-                >
-        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
-        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
-        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
-        widespread deployment. This enhances the functionality and interoperability of the Web.
-      </fo:block>
-
-      <fo:block break-before="page"
-            font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        German hypenation-ladder-count="no-limit"
-      </fo:block>
-
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="de"
-                hyphenate="true"
-                hyphenation-ladder-count="no-limit"
-                >
-        1. Warum TEI?
-        Die Verwendungszeit elektronischer Editionen wird von mehreren
-        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
-        ihrer Darstellung verwendet werden, der etwas längeren der
-        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
-        der logischen Einrichtung des Datenträgers, auf dem sich die
-        Edition befindet, und dessen physischer Dauer.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        German hypenation-ladder-count="1"
-      </fo:block>
-
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="de"
-                hyphenate="true"
-                hyphenation-ladder-count="1"
-                >
-        1. Warum TEI?
-        Die Verwendungszeit elektronischer Editionen wird von mehreren
-        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
-        ihrer Darstellung verwendet werden, der etwas längeren der
-        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
-        der logischen Einrichtung des Datenträgers, auf dem sich die
-        Edition befindet, und dessen physischer Dauer.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        German hypenation-ladder-count="2"
-      </fo:block>
-
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="de"
-                hyphenate="true"
-                hyphenation-ladder-count="2"
-                >
-        1. Warum TEI?
-        Die Verwendungszeit elektronischer Editionen wird von mehreren
-        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
-        ihrer Darstellung verwendet werden, der etwas längeren der
-        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
-        der logischen Einrichtung des Datenträgers, auf dem sich die
-        Edition befindet, und dessen physischer Dauer.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        German hypenation-ladder-count="3"
-      </fo:block>
-
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="de"
-                hyphenate="true"
-                hyphenation-ladder-count="3"
-                >
-        1. Warum TEI?
-        Die Verwendungszeit elektronischer Editionen wird von mehreren
-        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
-        ihrer Darstellung verwendet werden, der etwas längeren der
-        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
-        der logischen Einrichtung des Datenträgers, auf dem sich die
-        Edition befindet, und dessen physischer Dauer.
-      </fo:block>
-
-      <fo:block font-size="12pt"
-            font-family="sans-serif"
-            background-color="blue"
-            color="white"
-            text-align="start">
-        German hypenation-ladder-count="4"
-      </fo:block>
-
-      <fo:block font-size="12pt"
-                font-family="sans-serif"
-                space-after="3pt"
-                language="de"
-                hyphenate="true"
-                hyphenation-ladder-count="4"
-                >
-        1. Warum TEI?
-        Die Verwendungszeit elektronischer Editionen wird von mehreren
-        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
-        ihrer Darstellung verwendet werden, der etwas längeren der
-        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
-        der logischen Einrichtung des Datenträgers, auf dem sich die
-        Edition befindet, und dessen physischer Dauer.
-      </fo:block>
-
-    </fo:flow>
-  </fo:page-sequence>
-</fo:root>
-</fo>
-  <checks>
-    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[2]/lineArea)"/>
-    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[2]/lineArea[2]/text/word[10]"/>
-    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[2]/lineArea[4]/text/word[12]"/>
-    <eval expected="mak-" xpath="//pageViewport[1]//flow/block[2]/lineArea[5]/text/word[9]"/>
-    <eval expected="specifi-" xpath="//pageViewport[1]//flow/block[2]/lineArea[6]/text/word[10]"/>
-    <eval expected="en-" xpath="//pageViewport[1]//flow/block[2]/lineArea[7]/text/word[9]"/>
-
-    <eval expected="9" xpath="count(//pageViewport[1]//flow/block[4]/lineArea)"/>
-    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[4]/lineArea[2]/text/word[10]"/>
-    <eval expected="nor-" xpath="//pageViewport[1]//flow/block[4]/lineArea[4]/text/word[12]"/>
-    <eval expected="in" xpath="//pageViewport[1]//flow/block[4]/lineArea[5]/text/word[8]"/>
-    <eval expected="the" xpath="//pageViewport[1]//flow/block[4]/lineArea[6]/text/word[9]"/>
-    <eval expected="deployment." xpath="//pageViewport[1]//flow/block[4]/lineArea[7]/text/word[7]"/>
-
-    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[6]/lineArea)"/>
-    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[6]/lineArea[2]/text/word[10]"/>
-    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[6]/lineArea[4]/text/word[12]"/>
-    <eval expected="making" xpath="//pageViewport[1]//flow/block[6]/lineArea[5]/text/word[9]"/>
-    <eval expected="specifica-" xpath="//pageViewport[1]//flow/block[6]/lineArea[6]/text/word[9]"/>
-    <eval expected="en-" xpath="//pageViewport[1]//flow/block[6]/lineArea[7]/text/word[9]"/>
-
-    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[8]/lineArea)"/>
-    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[8]/lineArea[2]/text/word[10]"/>
-    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[8]/lineArea[4]/text/word[12]"/>
-    <eval expected="making" xpath="//pageViewport[1]//flow/block[8]/lineArea[5]/text/word[9]"/>
-    <eval expected="specifica-" xpath="//pageViewport[1]//flow/block[8]/lineArea[6]/text/word[9]"/>
-    <eval expected="en-" xpath="//pageViewport[1]//flow/block[8]/lineArea[7]/text/word[9]"/>
-
-    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[10]/lineArea)"/>
-    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[10]/lineArea[2]/text/word[10]"/>
-    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[10]/lineArea[4]/text/word[12]"/>
-    <eval expected="mak-" xpath="//pageViewport[1]//flow/block[10]/lineArea[5]/text/word[9]"/>
-    <eval expected="specifi-" xpath="//pageViewport[1]//flow/block[10]/lineArea[6]/text/word[10]"/>
-    <eval expected="en-" xpath="//pageViewport[1]//flow/block[10]/lineArea[7]/text/word[9]"/>
-
-    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[2]/lineArea)"/>
-    <eval expected="Editio-" xpath="//pageViewport[2]//flow/block[2]/lineArea[1]/text/word[7]"/>
-    <eval expected="Le-" xpath="//pageViewport[2]//flow/block[2]/lineArea[2]/text/word[9]"/>
-    <eval expected="verwen-" xpath="//pageViewport[2]//flow/block[2]/lineArea[3]/text/word[8]"/>
-    <eval expected="un-" xpath="//pageViewport[2]//flow/block[2]/lineArea[4]/text/word[8]"/>
-    <eval expected="logischen" xpath="//pageViewport[2]//flow/block[2]/lineArea[5]/text/word[7]"/>
-    <eval expected="be-" xpath="//pageViewport[2]//flow/block[2]/lineArea[6]/text/word[9]"/>
-
-    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[4]/lineArea)"/>
-    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[4]/lineArea[1]/text/word[7]"/>
-    <eval expected="kurzen" xpath="//pageViewport[2]//flow/block[4]/lineArea[2]/text/word[8]"/>
-    <eval expected="ver-" xpath="//pageViewport[2]//flow/block[4]/lineArea[3]/text/word[8]"/>
-    <eval expected="Betriebssysteme," xpath="//pageViewport[2]//flow/block[4]/lineArea[4]/text/word[7]"/>
-    <eval expected="lo-" xpath="//pageViewport[2]//flow/block[4]/lineArea[5]/text/word[7]"/>
-    <eval expected="die" xpath="//pageViewport[2]//flow/block[4]/lineArea[6]/text/word[8]"/>
-
-    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[6]/lineArea)"/>
-    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[6]/lineArea[1]/text/word[7]"/>
-    <eval expected="kurzen" xpath="//pageViewport[2]//flow/block[6]/lineArea[2]/text/word[8]"/>
-    <eval expected="ver-" xpath="//pageViewport[2]//flow/block[6]/lineArea[3]/text/word[8]"/>
-    <eval expected="Betriebssysteme," xpath="//pageViewport[2]//flow/block[6]/lineArea[4]/text/word[7]"/>
-    <eval expected="logi-" xpath="//pageViewport[2]//flow/block[6]/lineArea[5]/text/word[7]"/>
-    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[6]/lineArea[6]/text/word[9]"/>
-
-    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[8]/lineArea)"/>
-    <eval expected="Editio-" xpath="//pageViewport[2]//flow/block[8]/lineArea[1]/text/word[7]"/>
-    <eval expected="Le-" xpath="//pageViewport[2]//flow/block[8]/lineArea[2]/text/word[9]"/>
-    <eval expected="ver-" xpath="//pageViewport[2]//flow/block[8]/lineArea[3]/text/word[8]"/>
-    <eval expected="Betriebssysteme," xpath="//pageViewport[2]//flow/block[8]/lineArea[4]/text/word[7]"/>
-    <eval expected="logi-" xpath="//pageViewport[2]//flow/block[8]/lineArea[5]/text/word[7]"/>
-    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[8]/lineArea[6]/text/word[9]"/>
-
-    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[10]/lineArea)"/>
-    <eval expected="Editio-" xpath="//pageViewport[2]//flow/block[10]/lineArea[1]/text/word[7]"/>
-    <eval expected="Le-" xpath="//pageViewport[2]//flow/block[10]/lineArea[2]/text/word[9]"/>
-    <eval expected="verwen-" xpath="//pageViewport[2]//flow/block[10]/lineArea[3]/text/word[8]"/>
-    <eval expected="un-" xpath="//pageViewport[2]//flow/block[10]/lineArea[4]/text/word[8]"/>
-    <eval expected="logischen" xpath="//pageViewport[2]//flow/block[10]/lineArea[5]/text/word[7]"/>
-    <eval expected="be-" xpath="//pageViewport[2]//flow/block[10]/lineArea[6]/text/word[9]"/>
-
-  </checks>
-</testcase>
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  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$ -->
+<testcase>
+  <info>
+    <p>
+      Checks hyphenation for various languages
+    </p>
+  </info>
+  <fo>
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="simple"
+                  page-height="29.7cm"
+                  page-width="21cm"
+                  margin-top="1cm"
+                  margin-bottom="2cm"
+                  margin-left="7cm"
+                  margin-right="3cm">
+      <fo:region-body margin-top="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+
+  <fo:page-sequence master-reference="simple">
+
+    <fo:flow flow-name="xsl-region-body"
+                text-align="justify">
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        US English hypenation-ladder-count="no-limit"
+      </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="en"
+                country="US"
+                hyphenate="true"
+                hyphenation-ladder-count="no-limit"
+                >
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        US English hypenation-ladder-count="1"
+      </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="en"
+                country="US"
+                hyphenate="true"
+                hyphenation-ladder-count="1"
+                >
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        US English hypenation-ladder-count="2"
+      </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="en"
+                country="US"
+                hyphenate="true"
+                hyphenation-ladder-count="2"
+                >
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        US English hypenation-ladder-count="3"
+      </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="en"
+                country="US"
+                hyphenate="true"
+                hyphenation-ladder-count="3"
+                >
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        US English hypenation-ladder-count="4"
+      </fo:block>
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="en"
+                country="US"
+                hyphenate="true"
+                hyphenation-ladder-count="4"
+                >
+        This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
+        W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
+        another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
+        widespread deployment. This enhances the functionality and interoperability of the Web.
+      </fo:block>
+
+      <fo:block break-before="page"
+            font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        German hypenation-ladder-count="no-limit"
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="de"
+                hyphenate="true"
+                hyphenation-ladder-count="no-limit"
+                >
+        1. Warum TEI?
+        Die Verwendungszeit elektronischer Editionen wird von mehreren
+        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
+        ihrer Darstellung verwendet werden, der etwas längeren der
+        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
+        der logischen Einrichtung des Datenträgers, auf dem sich die
+        Edition befindet, und dessen physischer Dauer.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        German hypenation-ladder-count="1"
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="de"
+                hyphenate="true"
+                hyphenation-ladder-count="1"
+                >
+        1. Warum TEI?
+        Die Verwendungszeit elektronischer Editionen wird von mehreren
+        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
+        ihrer Darstellung verwendet werden, der etwas längeren der
+        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
+        der logischen Einrichtung des Datenträgers, auf dem sich die
+        Edition befindet, und dessen physischer Dauer.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        German hypenation-ladder-count="2"
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="de"
+                hyphenate="true"
+                hyphenation-ladder-count="2"
+                >
+        1. Warum TEI?
+        Die Verwendungszeit elektronischer Editionen wird von mehreren
+        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
+        ihrer Darstellung verwendet werden, der etwas längeren der
+        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
+        der logischen Einrichtung des Datenträgers, auf dem sich die
+        Edition befindet, und dessen physischer Dauer.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        German hypenation-ladder-count="3"
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="de"
+                hyphenate="true"
+                hyphenation-ladder-count="3"
+                >
+        1. Warum TEI?
+        Die Verwendungszeit elektronischer Editionen wird von mehreren
+        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
+        ihrer Darstellung verwendet werden, der etwas längeren der
+        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
+        der logischen Einrichtung des Datenträgers, auf dem sich die
+        Edition befindet, und dessen physischer Dauer.
+      </fo:block>
+
+      <fo:block font-size="12pt"
+            font-family="sans-serif"
+            background-color="blue"
+            color="white"
+            text-align="start">
+        German hypenation-ladder-count="4"
+      </fo:block>
+
+      <fo:block font-size="12pt"
+                font-family="sans-serif"
+                space-after="3pt"
+                language="de"
+                hyphenate="true"
+                hyphenation-ladder-count="4"
+                >
+        1. Warum TEI?
+        Die Verwendungszeit elektronischer Editionen wird von mehreren
+        Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
+        ihrer Darstellung verwendet werden, der etwas längeren der
+        Betriebssysteme, unter denen die Darstellungsprogramme laufen,
+        der logischen Einrichtung des Datenträgers, auf dem sich die
+        Edition befindet, und dessen physischer Dauer.
+      </fo:block>
+
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
+</fo>
+  <checks>
+    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[2]/lineArea)"/>
+    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[2]/lineArea[2]/text/word[10]"/>
+    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[2]/lineArea[4]/text/word[12]"/>
+    <eval expected="mak-" xpath="//pageViewport[1]//flow/block[2]/lineArea[5]/text/word[9]"/>
+    <eval expected="specifi-" xpath="//pageViewport[1]//flow/block[2]/lineArea[6]/text/word[10]"/>
+    <eval expected="en-" xpath="//pageViewport[1]//flow/block[2]/lineArea[7]/text/word[9]"/>
+
+    <eval expected="9" xpath="count(//pageViewport[1]//flow/block[4]/lineArea)"/>
+    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[4]/lineArea[2]/text/word[10]"/>
+    <eval expected="nor-" xpath="//pageViewport[1]//flow/block[4]/lineArea[4]/text/word[12]"/>
+    <eval expected="in" xpath="//pageViewport[1]//flow/block[4]/lineArea[5]/text/word[8]"/>
+    <eval expected="the" xpath="//pageViewport[1]//flow/block[4]/lineArea[6]/text/word[9]"/>
+    <eval expected="deployment." xpath="//pageViewport[1]//flow/block[4]/lineArea[7]/text/word[7]"/>
+
+    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[6]/lineArea)"/>
+    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[6]/lineArea[2]/text/word[10]"/>
+    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[6]/lineArea[4]/text/word[12]"/>
+    <eval expected="making" xpath="//pageViewport[1]//flow/block[6]/lineArea[5]/text/word[9]"/>
+    <eval expected="specifica-" xpath="//pageViewport[1]//flow/block[6]/lineArea[6]/text/word[9]"/>
+    <eval expected="en-" xpath="//pageViewport[1]//flow/block[6]/lineArea[7]/text/word[9]"/>
+
+    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[8]/lineArea)"/>
+    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[8]/lineArea[2]/text/word[10]"/>
+    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[8]/lineArea[4]/text/word[12]"/>
+    <eval expected="making" xpath="//pageViewport[1]//flow/block[8]/lineArea[5]/text/word[9]"/>
+    <eval expected="specifica-" xpath="//pageViewport[1]//flow/block[8]/lineArea[6]/text/word[9]"/>
+    <eval expected="en-" xpath="//pageViewport[1]//flow/block[8]/lineArea[7]/text/word[9]"/>
+
+    <eval expected="8" xpath="count(//pageViewport[1]//flow/block[10]/lineArea)"/>
+    <eval expected="Di-" xpath="//pageViewport[1]//flow/block[10]/lineArea[2]/text/word[10]"/>
+    <eval expected="norma-" xpath="//pageViewport[1]//flow/block[10]/lineArea[4]/text/word[12]"/>
+    <eval expected="mak-" xpath="//pageViewport[1]//flow/block[10]/lineArea[5]/text/word[9]"/>
+    <eval expected="specifi-" xpath="//pageViewport[1]//flow/block[10]/lineArea[6]/text/word[10]"/>
+    <eval expected="en-" xpath="//pageViewport[1]//flow/block[10]/lineArea[7]/text/word[9]"/>
+
+    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[2]/lineArea)"/>
+    <eval expected="Editio-" xpath="//pageViewport[2]//flow/block[2]/lineArea[1]/text/word[7]"/>
+    <eval expected="Le-" xpath="//pageViewport[2]//flow/block[2]/lineArea[2]/text/word[9]"/>
+    <eval expected="verwen-" xpath="//pageViewport[2]//flow/block[2]/lineArea[3]/text/word[8]"/>
+    <eval expected="un-" xpath="//pageViewport[2]//flow/block[2]/lineArea[4]/text/word[8]"/>
+    <eval expected="logischen" xpath="//pageViewport[2]//flow/block[2]/lineArea[5]/text/word[7]"/>
+    <eval expected="be-" xpath="//pageViewport[2]//flow/block[2]/lineArea[6]/text/word[9]"/>
+
+    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[4]/lineArea)"/>
+    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[4]/lineArea[1]/text/word[7]"/>
+    <eval expected="kurzen" xpath="//pageViewport[2]//flow/block[4]/lineArea[2]/text/word[8]"/>
+    <eval expected="ver-" xpath="//pageViewport[2]//flow/block[4]/lineArea[3]/text/word[8]"/>
+    <eval expected="Betriebssysteme," xpath="//pageViewport[2]//flow/block[4]/lineArea[4]/text/word[7]"/>
+    <eval expected="lo-" xpath="//pageViewport[2]//flow/block[4]/lineArea[5]/text/word[7]"/>
+    <eval expected="die" xpath="//pageViewport[2]//flow/block[4]/lineArea[6]/text/word[8]"/>
+
+    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[6]/lineArea)"/>
+    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[6]/lineArea[1]/text/word[7]"/>
+    <eval expected="kurzen" xpath="//pageViewport[2]//flow/block[6]/lineArea[2]/text/word[8]"/>
+    <eval expected="ver-" xpath="//pageViewport[2]//flow/block[6]/lineArea[3]/text/word[8]"/>
+    <eval expected="Betriebssysteme," xpath="//pageViewport[2]//flow/block[6]/lineArea[4]/text/word[7]"/>
+    <eval expected="logi-" xpath="//pageViewport[2]//flow/block[6]/lineArea[5]/text/word[7]"/>
+    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[6]/lineArea[6]/text/word[9]"/>
+
+    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[8]/lineArea)"/>
+    <eval expected="Editio-" xpath="//pageViewport[2]//flow/block[8]/lineArea[1]/text/word[7]"/>
+    <eval expected="Le-" xpath="//pageViewport[2]//flow/block[8]/lineArea[2]/text/word[9]"/>
+    <eval expected="ver-" xpath="//pageViewport[2]//flow/block[8]/lineArea[3]/text/word[8]"/>
+    <eval expected="Betriebssysteme," xpath="//pageViewport[2]//flow/block[8]/lineArea[4]/text/word[7]"/>
+    <eval expected="logi-" xpath="//pageViewport[2]//flow/block[8]/lineArea[5]/text/word[7]"/>
+    <eval expected="Edi-" xpath="//pageViewport[2]//flow/block[8]/lineArea[6]/text/word[9]"/>
+
+    <eval expected="7" xpath="count(//pageViewport[2]//flow/block[10]/lineArea)"/>
+    <eval expected="Editio-" xpath="//pageViewport[2]//flow/block[10]/lineArea[1]/text/word[7]"/>
+    <eval expected="Le-" xpath="//pageViewport[2]//flow/block[10]/lineArea[2]/text/word[9]"/>
+    <eval expected="verwen-" xpath="//pageViewport[2]//flow/block[10]/lineArea[3]/text/word[8]"/>
+    <eval expected="un-" xpath="//pageViewport[2]//flow/block[10]/lineArea[4]/text/word[8]"/>
+    <eval expected="logischen" xpath="//pageViewport[2]//flow/block[10]/lineArea[5]/text/word[7]"/>
+    <eval expected="be-" xpath="//pageViewport[2]//flow/block[10]/lineArea[6]/text/word[9]"/>
+
+  </checks>
+</testcase>

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation-ladder-count.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation-ladder-count.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation_kerning.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation_kerning.xml?rev=627882&r1=627881&r2=627882&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation_kerning.xml (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation_kerning.xml Thu Feb 14 13:55:44 2008
@@ -45,6 +45,8 @@
   </fo>
   <checks>
     <eval expected="1" xpath="count(//pageViewport)"/>
+    <eval expected="en" xpath="/areaTree/pageSequence/@language"/>
+    <true xpath="not(boolean(/areaTree/pageSequence/@country))"/>
     
     <eval expected="17230" xpath="//flow/block[1]/lineArea[1]/text[1]/@twsadjust"/>
     <eval expected="-1339" xpath="//flow/block[1]/lineArea[2]/text[1]/@twsadjust"/>

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation_kerning.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation_linefeed_preserve.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_hyphenation_no-wrap.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_shy_linebreaking_hyph.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/block_uax14_linebreaking_hyph.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/hyphenation-testcases/footnote_in_inline.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Thu Feb 14 13:55:44 2008
@@ -1 +1 @@
-Id
+Revision Id



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org