From da0cf4206cf82d16f411f12a3d0bc8275de3c1cb Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 15 Aug 2020 12:44:29 +0100 Subject: Support soft hyphens --- NEWS | 4 ++++ .../zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java | 2 ++ src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java | 10 ++++++++++ 3 files changed, 16 insertions(+) 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 @@ -687,6 +687,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"); -- cgit v1.2.3