summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-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
3 files changed, 16 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 4ab6809..d56d1ac 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+# 1.4.2
+
+* Support soft hyphens.
+
# 1.4.1
* Read the children of v:rect elements.
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");