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