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 ss...@apache.org on 2015/02/06 16:40:36 UTC

svn commit: r1657867 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/accessibility/fo/ src/java/org/apache/fop/fo/ src/java/org/apache/fop/fo/extensions/ src/java/org/apache/fop/fo/flow/ src/java/org/apache/fop/render/pdf/ test/java/org/apache/fop...

Author: ssteiner
Date: Fri Feb  6 15:40:36 2015
New Revision: 1657867

URL: http://svn.apache.org/r1657867
Log:
FOP-2442: Specifying the expansion of an abbreviation

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/accessibility/fo/StructureTreeEventTrigger.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/Constants.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOPropertyMapping.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Inline.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java
    xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
    xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/fo2StructureTree.xsl

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/accessibility/fo/StructureTreeEventTrigger.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/accessibility/fo/StructureTreeEventTrigger.java?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/accessibility/fo/StructureTreeEventTrigger.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/accessibility/fo/StructureTreeEventTrigger.java Fri Feb  6 15:40:36 2015
@@ -498,7 +498,15 @@ class StructureTreeEventTrigger extends
 
 
     private StructureTreeElement startElement(FONode node) {
-        return startElement(node, new AttributesImpl());
+        AttributesImpl attributes = new AttributesImpl();
+        if (node instanceof Inline) {
+            Inline in = (Inline)node;
+            if (!in.getAbbreviation().equals("")) {
+                addAttribute(attributes, ExtensionElementMapping.URI, "abbreviation",
+                        ExtensionElementMapping.STANDARD_PREFIX, in.getAbbreviation());
+            }
+        }
+        return startElement(node, attributes);
     }
 
     private void startElementWithID(FONode node) {

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/Constants.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/Constants.java?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/Constants.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/Constants.java Fri Feb  6 15:40:36 2015
@@ -824,8 +824,11 @@ public interface Constants {
     int PR_X_BACKGROUND_IMAGE_WIDTH = 292;
     int PR_X_BACKGROUND_IMAGE_HEIGHT = 293;
 
+    /**For specifying extended text for abbreviation */
+    int PR_X_ABBREVIATION = 294;
+
     /** Number of property constants defined */
-    int PROPERTY_COUNT = 293;
+    int PROPERTY_COUNT = 294;
 
     // compound property constants
 

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOPropertyMapping.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOPropertyMapping.java?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOPropertyMapping.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOPropertyMapping.java Fri Feb  6 15:40:36 2015
@@ -2609,6 +2609,12 @@ public final class FOPropertyMapping imp
         m.setDefault("");
         addPropertyMaker("fox:alt-text", m);
 
+        //fox:abbreviation used for accessibility
+        m = new StringProperty.Maker(PR_X_ABBREVIATION);
+        m.setInherited(false);
+        m.setDefault("");
+        addPropertyMaker("fox:abbreviation", m);
+
         // fox:auto-toggle, used only in fo:multi-switch
         m = new EnumProperty.Maker(PR_X_AUTO_TOGGLE);
         m.setInherited(false);

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java Fri Feb  6 15:40:36 2015
@@ -53,6 +53,7 @@ public class ExtensionElementMapping ext
         //These are FOP's extension properties for accessibility
         PROPERTY_ATTRIBUTES.add("alt-text");
         PROPERTY_ATTRIBUTES.add("header");
+        PROPERTY_ATTRIBUTES.add("abbreviation");
         //fox:border-*-radius-*
         PROPERTY_ATTRIBUTES.add("border-before-radius-start");
         PROPERTY_ATTRIBUTES.add("border-before-radius-end");

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Inline.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Inline.java?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Inline.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Inline.java Fri Feb  6 15:40:36 2015
@@ -49,6 +49,7 @@ public class Inline extends InlineLevel
     // used for FO validation
     private boolean blockOrInlineItemFound;
     private boolean canHaveBlockLevelChildren = true;
+    private String abbreviation;
 
     /**
      * Base constructor
@@ -66,6 +67,9 @@ public class Inline extends InlineLevel
         alignmentBaseline = pList.get(PR_ALIGNMENT_BASELINE).getEnum();
         baselineShift = pList.get(PR_BASELINE_SHIFT).getLength();
         dominantBaseline = pList.get(PR_DOMINANT_BASELINE).getEnum();
+        if (getUserAgent().isAccessibilityEnabled()) {
+            abbreviation = pList.get(PR_X_ABBREVIATION).getString();
+        }
     }
 
     /** {@inheritDoc} */
@@ -157,4 +161,8 @@ public class Inline extends InlineLevel
     public int getNameId() {
         return FO_INLINE;
     }
+
+    public String getAbbreviation() {
+        return abbreviation;
+    }
 }

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java Fri Feb  6 15:40:36 2015
@@ -71,7 +71,7 @@ class PDFStructureTreeBuilder implements
         addBuilder("character", new LanguageHolderBuilder(StandardStructureTypes.InlineLevelStructure.SPAN));
         addBuilder("external-graphic",          new ImageBuilder());
         addBuilder("instream-foreign-object",   new ImageBuilder());
-        addBuilder("inline",                    StandardStructureTypes.InlineLevelStructure.SPAN);
+        addBuilder("inline",                    new InlineHolderBuilder());
         addBuilder("inline-container",          StandardStructureTypes.Grouping.DIV);
         addBuilder("page-number",               StandardStructureTypes.InlineLevelStructure.QUOTE);
         addBuilder("page-number-citation",      StandardStructureTypes.InlineLevelStructure.QUOTE);
@@ -215,6 +215,21 @@ class PDFStructureTreeBuilder implements
 
     }
 
+    private static class InlineHolderBuilder extends DefaultStructureElementBuilder {
+
+        InlineHolderBuilder() {
+            super(StandardStructureTypes.InlineLevelStructure.SPAN);
+        }
+
+        @Override
+        protected void setAttributes(PDFStructElem structElem, Attributes attributes) {
+            String text = attributes.getValue(ExtensionElementMapping.URI, "abbreviation");
+            if (text != null && !text.equals("")) {
+                structElem.put("E", text);
+            }
+        }
+    }
+
     private static class ImageBuilder extends DefaultStructureElementBuilder {
 
         ImageBuilder() {

Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java Fri Feb  6 15:40:36 2015
@@ -85,6 +85,11 @@ public class FO2StructureTreeConverterTe
     }
 
     @Test
+    public void testAbbreviationProperty() throws Exception {
+        testConverter("abb.fo");
+    }
+
+    @Test
     public void testTableFooters() throws Exception {
         testConverter("table-footers.fo");
     }

Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/fo2StructureTree.xsl
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/fo2StructureTree.xsl?rev=1657867&r1=1657866&r2=1657867&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/fo2StructureTree.xsl (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/accessibility/fo/fo2StructureTree.xsl Fri Feb  6 15:40:36 2015
@@ -151,7 +151,7 @@
 
 
   <!-- Keep the relevant attributes, discard everything else -->
-  <xsl:template match="@fox:alt-text|@role">
+  <xsl:template match="@fox:alt-text|@role|@fox:abbreviation">
     <xsl:copy-of select="."/>
   </xsl:template>
 



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