aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-11-19 18:13:04 +0000
committerMichael Williamson <mike@zwobble.org>2016-11-19 18:13:04 +0000
commit29be3ac8baadeb10ee827147b67a798348be6b9b (patch)
treec376a50c03277a5af5ca62ca6c22e6086b1cb7e6
parenta55dee628eafdfd11c82cda0682ceebb3adbbfc1 (diff)
Set font on runs
-rw-r--r--lib/documents.js3
-rw-r--r--lib/docx/body-reader.js2
-rw-r--r--test/docx/body-reader.tests.js8
3 files changed, 11 insertions, 2 deletions
diff --git a/lib/documents.js b/lib/documents.js
index 428dc09..fc45627 100644
--- a/lib/documents.js
+++ b/lib/documents.js
@@ -52,7 +52,8 @@ function Run(children, properties) {
isUnderline: properties.isUnderline,
isItalic: properties.isItalic,
isStrikethrough: properties.isStrikethrough,
- verticalAlignment: properties.verticalAlignment || verticalAlignment.baseline
+ verticalAlignment: properties.verticalAlignment || verticalAlignment.baseline,
+ font: properties.font || null
};
}
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js
index 30f8bc9..6bc1934 100644
--- a/lib/docx/body-reader.js
+++ b/lib/docx/body-reader.js
@@ -42,7 +42,7 @@ function BodyReader(options) {
if (verticalAlignmentElement) {
properties.verticalAlignment = verticalAlignmentElement.attributes["w:val"];
}
-
+ properties.font = element.firstOrEmpty("w:rFonts").attributes["w:ascii"];
properties.isBold = readBooleanElement(element.first("w:b"));
properties.isUnderline = readBooleanElement(element.first("w:u"));
properties.isItalic = readBooleanElement(element.first("w:i"));
diff --git a/test/docx/body-reader.tests.js b/test/docx/body-reader.tests.js
index 01b6503..2b96ded 100644
--- a/test/docx/body-reader.tests.js
+++ b/test/docx/body-reader.tests.js
@@ -281,6 +281,14 @@ test("run has vertical alignment read from properties", function() {
assert.deepEqual(run.verticalAlignment, documents.verticalAlignment.superscript);
});
+test("run has font read from properties", function() {
+ var fontXml = new XmlElement("w:rFonts", {"w:ascii": "Arial"});
+ var runXml = runWithProperties([fontXml]);
+
+ var run = readXmlElementValue(runXml);
+ assert.deepEqual(run.font, "Arial");
+});
+
test("run properties not included as child of run", function() {
var runStyleXml = new XmlElement("w:rStyle");
var runPropertiesXml = new XmlElement("w:rPr", {}, [runStyleXml]);