aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/docx/styles-reader.js16
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/docx/styles-reader.js b/lib/docx/styles-reader.js
index d896d3d..fd3425c 100644
--- a/lib/docx/styles-reader.js
+++ b/lib/docx/styles-reader.js
@@ -1,25 +1,31 @@
exports.readStylesXml = readStylesXml;
-function Styles(paragraphStyles) {
+function Styles(paragraphStyles, characterStyles) {
return {
findParagraphStyleById: function(styleId) {
return paragraphStyles[styleId];
+ },
+ findCharacterStyleById: function(styleId) {
+ return characterStyles[styleId];
}
};
}
function readStylesXml(xml) {
- var paragraphStyles = [];
+ var paragraphStyles = {};
+ var characterStyles = {};
xml.root.getElementsByTagName("w:style").forEach(function(styleElement) {
var style = readStyleElement(styleElement);
- paragraphStyles[style.styleId] = style;
+ var styleSet = style.type === "paragraph" ? paragraphStyles : characterStyles;
+ styleSet[style.styleId] = style;
});
- return new Styles(paragraphStyles);
+ return new Styles(paragraphStyles, characterStyles);
}
function readStyleElement(styleElement) {
+ var type = styleElement.attributes["w:type"];
var styleId = styleElement.attributes["w:styleId"];
- return {styleId: styleId};
+ return {type: type, styleId: styleId};
}