summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-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, 14 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index ded4c80..fe8c617 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,8 @@
* Detect header rows in tables and convert to thead > tr > th.
+* Read w:noBreakHyphen elements as non-breaking hyphen characters.
+
# 1.3.1
* Read children of w:object 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 c962f58..fd1eec2 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
@@ -89,6 +89,8 @@ class StatefulBodyXmlReader {
case "w:tab":
return success(Tab.TAB);
+ case "w:noBreakHyphen":
+ return success(new Text("\u2011"));
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 f77eec1..a2fc8c7 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -536,6 +536,16 @@ public class BodyXmlTests {
}
@Test
+ public void noBreakHyphenElementIsReadAsNonBreakingHyphenCharacter() {
+ XmlElement element = element("w:noBreakHyphen");
+
+ assertThat(
+ readSuccess(bodyReader(), element),
+ isTextElement("\u2011")
+ );
+ }
+
+ @Test
public void brWithoutExplicitTypeIsReadAsLineBreak() {
XmlElement element = element("w:br");