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-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org