From fce881efad7e64f8ce26fefa1f970450d0a3aa6e Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 8 Jun 2017 19:31:43 +0100 Subject: Support non breaking hyphen elements --- NEWS | 2 ++ .../zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java | 2 ++ src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java | 10 ++++++++++ 3 files changed, 14 insertions(+) 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 @@ -535,6 +535,16 @@ public class BodyXmlTests { equalTo(Tab.TAB)); } + @Test + public void noBreakHyphenElementIsReadAsNonBreakingHyphenCharacter() { + XmlElement element = element("w:noBreakHyphen"); + + assertThat( + readSuccess(bodyReader(), element), + isTextElement("\u2011") + ); + } + @Test public void brWithoutExplicitTypeIsReadAsLineBreak() { XmlElement element = element("w:br"); -- cgit v1.2.3