sw/qa/extras/rtfimport/data/fdo68076.rtf | 18 ++++++++++++++++++ sw/qa/extras/rtfimport/rtfimport.cxx | 9 +++++++++ writerfilter/source/rtftok/rtfdocumentimpl.cxx | 5 +++-- 3 files changed, 30 insertions(+), 2 deletions(-)
New commits: commit b8a3e787e9c48d8e7af80800456919726ed8dd4b Author: Miklos Vajna <vmik...@suse.cz> Date: Thu Aug 22 11:21:25 2013 +0200 fdo#68076 RTF import: default font had priority over the specified one Regression from 60c17b2873506ed8b068b34840aecda0c1d9bd65. (cherry picked from commit f1e5e271f9aadc2c5e5af3ffae410b6c598e5398) Change-Id: Ie16d611622e6a814d5cbea00c3f992cd9ecba027 Reviewed-on: https://gerrit.libreoffice.org/5579 Reviewed-by: Michael Stahl <mst...@redhat.com> Tested-by: Michael Stahl <mst...@redhat.com> diff --git a/sw/qa/extras/rtfimport/data/fdo68076.rtf b/sw/qa/extras/rtfimport/data/fdo68076.rtf new file mode 100644 index 0000000..84c605a --- /dev/null +++ b/sw/qa/extras/rtfimport/data/fdo68076.rtf @@ -0,0 +1,18 @@ +{\rtf1\ansi\ansicpg1251\uc1 \deff0\deflang1033\deflangfe1049 +{\fonttbl +{\f0\froman\fcharset0\fprq2 +{\*\panose 02020603050405020304} +Times New Roman;} +{\f31\froman\fcharset238\fprq2 Times New Roman CE;} +{\f32\froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f34\froman\fcharset161\fprq2 Times New Roman Greek;} +{\f35\froman\fcharset162\fprq2 Times New Roman Tur;} +{\f36\froman\fcharset186\fprq2 Times New Roman Baltic;} +} +\paperw11906\paperh16838\margl1701\margr1134\margt1276\margb992 \widowctrl\ftnbj\aenddoc\hyphhotz142\hyphcaps0\hyphauto1\formshade\viewkind1\viewscale90\viewzk2\pgbrdrhead\pgbrdrfoot \fet0\sectd +\psz9\linex0\headery709\footery709\colsx709\endnhere\titlepg\sectdefaultcl +\pard\plain \li5812\nowidctlpar\widctlpar\adjustright \fs28\lang1049\cgrid +{\f32 \'ce\'e1\'fa\'e5\'ea\'f2 \endash \'f3} +{ +\par } +} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 0715387..58f0594 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -157,6 +157,7 @@ public: void testFdo53556(); void testFdo63428(); void testFdo44715(); + void testFdo68076(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -298,6 +299,7 @@ void Test::run() {"fdo53556.rtf", &Test::testFdo53556}, {"hello.rtf", &Test::testFdo63428}, {"fdo44715.rtf", &Test::testFdo44715}, + {"fdo68076.rtf", &Test::testFdo68076}, }; header(); for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) @@ -1442,6 +1444,13 @@ void Test::testFdo44715() CPPUNIT_ASSERT_EQUAL(12.f, getProperty<float>(getParagraphOfText(2, xCell->getText()), "CharHeight")); } +void Test::testFdo68076() +{ + // Encoding of the last char was wrong (more 'o' than 'y'). + OUString aExpected("\xD0\x9E\xD0\xB1\xD1\x8A\xD0\xB5\xD0\xBA\xD1\x82 \xE2\x80\x93 \xD1\x83", 19, RTL_TEXTENCODING_UTF8); + getParagraph(1, aExpected); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index e0a4c20..8ca130b 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -381,9 +381,10 @@ void RTFDocumentImpl::checkFirstRun() Mapper().startSectionGroup(); Mapper().startParagraphGroup(); - // set the requested default font + // set the requested default font, if there are none RTFValue::Pointer_t pFont = m_aDefaultState.aCharacterSprms.find(NS_sprm::LN_CRgFtc0); - if (pFont.get()) + RTFValue::Pointer_t pCurrentFont = m_aStates.top().aCharacterSprms.find(NS_sprm::LN_CRgFtc0); + if (pFont && !pCurrentFont) dispatchValue(RTF_F, pFont->getInt()); m_bFirstRun = false; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits