diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-10-04 22:12:00 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-10-04 22:12:00 +0100 |
| commit | 2d51a2ad90d9910c93edc6b101563b996088a0c1 (patch) | |
| tree | 7b3ede1cae6dea4fd4710ab36c1fff90354dd80d /src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java | |
| parent | fb4b03b753539bb1019ae7c8cd6ddd8339376fe5 (diff) | |
Ignore run boolean elements that have value of false
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java | 16 |
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) { |
