summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-04-24 13:05:12 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-04-24 13:05:43 +0200
commitdfc7c67e464e57f5442365e193c56033af564d84 (patch)
treeac626242bc41d1b42d2a2402f6386302bacf7418
parentf5a414d242f3b3bce19de4905d7b5dce9792b66c (diff)
fdo#38176 fix RTF export of non-breaking hyphen and optional hyphen
-rw-r--r--sw/qa/extras/rtfexport/data/fdo38176.rtf2
-rw-r--r--sw/qa/extras/rtfexport/rtfexport.cxx2
-rw-r--r--sw/source/filter/ww8/rtfexport.cxx11
3 files changed, 11 insertions, 4 deletions
diff --git a/sw/qa/extras/rtfexport/data/fdo38176.rtf b/sw/qa/extras/rtfexport/data/fdo38176.rtf
index c5126e4de447..baa4193471ad 100644
--- a/sw/qa/extras/rtfexport/data/fdo38176.rtf
+++ b/sw/qa/extras/rtfexport/data/fdo38176.rtf
@@ -1,3 +1,3 @@
{\rtf1
-foo\~bar
+foo\~\_\-bar
\par}
diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx
index 607a39a99227..5bab4695f0ad 100644
--- a/sw/qa/extras/rtfexport/rtfexport.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport.cxx
@@ -124,7 +124,7 @@ void RtfExportTest::testZoom()
void RtfExportTest::testFdo38176()
{
roundtrip("fdo38176.rtf");
- CPPUNIT_ASSERT_EQUAL(7, getLength());
+ CPPUNIT_ASSERT_EQUAL(9, getLength());
}
CPPUNIT_TEST_SUITE_REGISTRATION(RtfExportTest);
diff --git a/sw/source/filter/ww8/rtfexport.cxx b/sw/source/filter/ww8/rtfexport.cxx
index 15eec5e9299e..8101125ded0a 100644
--- a/sw/source/filter/ww8/rtfexport.cxx
+++ b/sw/source/filter/ww8/rtfexport.cxx
@@ -924,8 +924,15 @@ OString RtfExport::OutChar(sal_Unicode c, int *pUCMode, rtl_TextEncoding eDestEn
}
if (pStr) {
aBuf.append(pStr);
- if (c != 0xa0)
- aBuf.append(' ');
+ switch (c)
+ {
+ case 0xa0:
+ case 0x1e:
+ case 0x1f:
+ break;
+ default:
+ aBuf.append(' ');
+ }
}
return aBuf.makeStringAndClear();
}