aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-10-04 22:12:00 +0100
committerMichael Williamson <mike@zwobble.org>2016-10-04 22:12:00 +0100
commit2d51a2ad90d9910c93edc6b101563b996088a0c1 (patch)
tree7b3ede1cae6dea4fd4710ab36c1fff90354dd80d /src/main/java/org
parentfb4b03b753539bb1019ae7c8cd6ddd8339376fe5 (diff)
Ignore run boolean elements that have value of false
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
index e4c5b5f..fdbeee1 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
@@ -146,19 +146,27 @@ public class BodyXmlReader {
}
private boolean isBold(XmlElementLike properties) {
- return properties.hasChild("w:b");
+ return readBooleanElement(properties, "w:b");
}
private boolean isItalic(XmlElementLike properties) {
- return properties.hasChild("w:i");
+ return readBooleanElement(properties, "w:i");
}
private boolean isUnderline(XmlElementLike properties) {
- return properties.hasChild("w:u");
+ return readBooleanElement(properties, "w:u");
}
private boolean isStrikethrough(XmlElementLike properties) {
- return properties.hasChild("w:strike");
+ return readBooleanElement(properties, "w:strike");
+ }
+
+ private boolean readBooleanElement(XmlElementLike properties, String tagName) {
+ return properties.findChild(tagName)
+ .map(child -> child.getAttributeOrNone("w:val")
+ .map(value -> !value.equals("false") && !value.equals("0"))
+ .orElse(true))
+ .orElse(false);
}
private VerticalAlignment readVerticalAlignment(XmlElementLike properties) {