From 87d8554726e81add059b211c6b120dc8d5003849 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 21 Jul 2017 12:31:11 +0100 Subject: Add style mapping for small caps --- .../internal/conversion/DocumentToHtml.java | 3 +++ .../zwobble/mammoth/internal/documents/Run.java | 11 ++++++++-- .../internal/docx/StatefulBodyXmlReader.java | 5 +++++ .../zwobble/mammoth/internal/styles/StyleMap.java | 8 ++++++++ .../mammoth/internal/styles/StyleMapBuilder.java | 19 ++++++++++++++++- .../styles/parsing/DocumentMatcherParser.java | 2 ++ .../tests/conversion/DocumentToHtmlTests.java | 17 +++++++++++++++ .../tests/documents/DocumentElementMakers.java | 6 ++++++ .../zwobble/mammoth/tests/docx/BodyXmlTests.java | 24 +++++++++++++++++++++- .../tests/styles/parsing/StyleMapParserTests.java | 6 ++++++ 10 files changed, 97 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java index 9e6d223..8b15106 100644 --- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java @@ -166,6 +166,9 @@ public class DocumentToHtml { @Override public List visit(Run run, Context context) { Supplier> nodes = () -> convertChildrenToHtml(run, context); + if (run.isSmallCaps()) { + nodes = styleMap.getSmallCaps().orElse(HtmlPath.EMPTY).wrap(nodes); + } if (run.isStrikethrough()) { nodes = styleMap.getStrikethrough().orElse(HtmlPath.collapsibleElement("s")).wrap(nodes); } diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Run.java b/src/main/java/org/zwobble/mammoth/internal/documents/Run.java index 29415c7..e047bf5 100644 --- a/src/main/java/org/zwobble/mammoth/internal/documents/Run.java +++ b/src/main/java/org/zwobble/mammoth/internal/documents/Run.java @@ -8,6 +8,7 @@ public class Run implements DocumentElement, HasChildren { private final boolean isItalic; private final boolean isUnderline; private final boolean isStrikethrough; + private final boolean isSmallCaps; private final VerticalAlignment verticalAlignment; private final Optional