aboutsummaryrefslogtreecommitdiffstats
path: root/fop-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'fop-core/src')
-rw-r--r--fop-core/src/main/java/org/apache/fop/fo/flow/Footnote.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/fop-core/src/main/java/org/apache/fop/fo/flow/Footnote.java b/fop-core/src/main/java/org/apache/fop/fo/flow/Footnote.java
index 521e8b081..aec57cf86 100644
--- a/fop-core/src/main/java/org/apache/fop/fo/flow/Footnote.java
+++ b/fop-core/src/main/java/org/apache/fop/fo/flow/Footnote.java
@@ -19,9 +19,13 @@
package org.apache.fop.fo.flow;
+import java.util.Iterator;
+import java.util.Stack;
+
import org.xml.sax.Locator;
import org.apache.fop.apps.FOPException;
+import org.apache.fop.complexscripts.bidi.DelimitedTextRange;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.PropertyList;
@@ -148,5 +152,24 @@ public class Footnote extends FObj implements CommonAccessibilityHolder {
public int getNameId() {
return FO_FOOTNOTE;
}
+
+ @Override
+ protected Stack<DelimitedTextRange> collectDelimitedTextRanges(Stack<DelimitedTextRange> ranges,
+ DelimitedTextRange currentRange) {
+ FootnoteBody body = getFootnoteBody();
+ if (body != null) {
+ ranges = body.collectDelimitedTextRanges(ranges);
+ }
+
+ Inline inline = getFootnoteCitation();
+ if (inline != null) {
+ ranges = inline.collectDelimitedTextRanges(ranges);
+ }
+
+ for (Iterator it = getChildNodes(); (it != null) && it.hasNext();) {
+ ranges = ((FONode) it.next()).collectDelimitedTextRanges(ranges);
+ }
+ return ranges;
+ }
}