summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Hung <marklh9@gmail.com>2015-06-29 21:59:23 +0800
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2015-07-07 20:17:15 +0000
commitef8615158921edaf5f3f6ee61425c25499b3a3d2 (patch)
treedd15bb9ef16472c71a00143d1e0f8fb2c7efd722
parent01b5b8c5ac67404473e97d3db5e6824b65003f04 (diff)
tdf#92281 - FILEOPEN: Only western font is set for symbols in DOC files
Inserting a symbol in Writer set all fonts including CJK and CTL to the same one. This patch makes the behavior consistent with that, allows CJK and CTL user to see the symbols. Reviewed-on: https://gerrit.libreoffice.org/16604 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Conflicts: sw/source/filter/ww8/ww8par6.cxx Change-Id: I7a61868e8078c81c68e471760f080b3ce7df589f Reviewed-on: https://gerrit.libreoffice.org/16820 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r--sw/qa/extras/ww8export/data/tdf92281.docbin0 -> 26112 bytes
-rw-r--r--sw/qa/extras/ww8export/ww8export.cxx8
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx2
3 files changed, 10 insertions, 0 deletions
diff --git a/sw/qa/extras/ww8export/data/tdf92281.doc b/sw/qa/extras/ww8export/data/tdf92281.doc
new file mode 100644
index 000000000000..2893eb37ab00
--- /dev/null
+++ b/sw/qa/extras/ww8export/data/tdf92281.doc
Binary files differ
diff --git a/sw/qa/extras/ww8export/ww8export.cxx b/sw/qa/extras/ww8export/ww8export.cxx
index e03c3cc6f432..81ca031a4801 100644
--- a/sw/qa/extras/ww8export/ww8export.cxx
+++ b/sw/qa/extras/ww8export/ww8export.cxx
@@ -440,6 +440,14 @@ DECLARE_WW8EXPORT_TEST(testWw8Cjklist35, "cjklist35.doc")
CPPUNIT_ASSERT_EQUAL(style::NumberingType::NUMBER_LOWER_ZH, numFormat);
}
+DECLARE_WW8EXPORT_TEST(testTdf92281, "tdf92281.doc")
+{
+ uno::Reference<beans::XPropertySet> xRun(getRun(getParagraph(1),1), uno::UNO_QUERY);
+ CPPUNIT_ASSERT_EQUAL(OUString("Wingdings"), getProperty<OUString>(xRun, "CharFontName"));
+ CPPUNIT_ASSERT_EQUAL(OUString("Wingdings"), getProperty<OUString>(xRun, "CharFontNameAsian"));
+ CPPUNIT_ASSERT_EQUAL(OUString("Wingdings"), getProperty<OUString>(xRun, "CharFontNameComplex"));
+}
+
DECLARE_WW8EXPORT_TEST(testCommentedTable, "commented-table.doc")
{
// Document has a non-trivial commented text range, as the range contains a table.
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 758c292b417f..e0261c5ed7e2 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -2758,6 +2758,8 @@ void SwWW8ImplReader::Read_Symbol(sal_uInt16, const sal_uInt8* pData, short nLen
//themselves so they don't need to add it to the stack either.
if (SetNewFontAttr(SVBT16ToShort( pData ), false, RES_CHRATR_FONT))
{
+ SetNewFontAttr(SVBT16ToShort( pData ), false, RES_CHRATR_CJK_FONT);
+ SetNewFontAttr(SVBT16ToShort( pData ), false, RES_CHRATR_CTL_FONT);
if( bVer67 )
{
//convert single byte from MS1252 to Unicode