From 095dc4513c3eeadb4dbe23d830156c9b0c39e875 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 4 Oct 2016 21:24:17 +0100 Subject: Ignore run boolean elements that have value of false --- lib/docx/body-reader.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js index 4a1655e..30f8bc9 100644 --- a/lib/docx/body-reader.js +++ b/lib/docx/body-reader.js @@ -43,10 +43,10 @@ function BodyReader(options) { properties.verticalAlignment = verticalAlignmentElement.attributes["w:val"]; } - properties.isBold = !!element.first("w:b"); - properties.isUnderline = !!element.first("w:u"); - properties.isItalic = !!element.first("w:i"); - properties.isStrikethrough = !!element.first("w:strike"); + properties.isBold = readBooleanElement(element.first("w:b")); + properties.isUnderline = readBooleanElement(element.first("w:u")); + properties.isItalic = readBooleanElement(element.first("w:i")); + properties.isStrikethrough = readBooleanElement(element.first("w:strike")); return readRunStyle(element).map(function(style) { properties.styleId = style.styleId; @@ -55,6 +55,15 @@ function BodyReader(options) { }); } + function readBooleanElement(element) { + if (element) { + var value = element.attributes["w:val"]; + return value !== "false" && value !== "0"; + } else { + return false; + } + } + function readParagraphStyle(element) { return readStyle(element, "w:pStyle", "Paragraph", styles.findParagraphStyleById); } -- cgit v1.2.3