aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2020-08-15 12:44:29 +0100
committerMichael Williamson <mike@zwobble.org>2020-08-15 12:44:29 +0100
commitda0cf4206cf82d16f411f12a3d0bc8275de3c1cb (patch)
tree89031cb1f73b35859b29e3da7c4edafb1239f08c /src
parent04965d986b516f4b62271b00e946e302765ad2ba (diff)
Support soft hyphens
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java2
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java10
2 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
index 931bc8a..d5f594f 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
@@ -91,6 +91,8 @@ class StatefulBodyXmlReader {
return success(Tab.TAB);
case "w:noBreakHyphen":
return success(new Text("\u2011"));
+ case "w:softHyphen":
+ return success(new Text("\u00ad"));
case "w:br":
return readBreak(element);
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
index b11c5b1..aaaf1e2 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -688,6 +688,16 @@ public class BodyXmlTests {
}
@Test
+ public void softHyphenElementIsReadAsSoftHyphenCharacter() {
+ XmlElement element = element("w:softHyphen");
+
+ assertThat(
+ readSuccess(bodyReader(), element),
+ isTextElement("\u00ad")
+ );
+ }
+
+ @Test
public void brWithoutExplicitTypeIsReadAsLineBreak() {
XmlElement element = element("w:br");