[Libreoffice-commits] core.git: sw/qa writerfilter/source

Miklos Vajna vmiklos at suse.cz
Mon Mar 18 05:03:35 PDT 2013


 sw/qa/extras/rtfimport/data/fdo61909.rtf       |    6 ++++++
 sw/qa/extras/rtfimport/rtfimport.cxx           |    8 ++++++++
 writerfilter/source/rtftok/rtfdocumentimpl.cxx |    5 +++++
 3 files changed, 19 insertions(+)

New commits:
commit 60c17b2873506ed8b068b34840aecda0c1d9bd65
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Mon Mar 18 12:40:46 2013 +0100

    fdo#61909 fix RTF import of default font without RTF_PLAIN
    
    Change-Id: Ia86548bddb7b87ec9653192c2e5989ce0dc50057

diff --git a/sw/qa/extras/rtfimport/data/fdo61909.rtf b/sw/qa/extras/rtfimport/data/fdo61909.rtf
new file mode 100644
index 0000000..eeb7724
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo61909.rtf
@@ -0,0 +1,6 @@
+{\rtf1\deff0
+{\fonttbl
+{\f000 Courier New;}
+}
+#include<iostream.h>\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 819625f..e72604f 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -145,6 +145,7 @@ public:
     void testFdo59953();
     void testFdo59638();
     void testFdo60722();
+    void testFdo61909();
 
     CPPUNIT_TEST_SUITE(Test);
 #if !defined(MACOSX) && !defined(WNT)
@@ -262,6 +263,7 @@ void Test::run()
         {"fdo59953.rtf", &Test::testFdo59953},
         {"fdo59638.rtf", &Test::testFdo59638},
         {"fdo60722.rtf", &Test::testFdo60722},
+        {"fdo61909.rtf", &Test::testFdo61909},
     };
     header();
     for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
@@ -1166,6 +1168,12 @@ void Test::testFdo60722()
     CPPUNIT_ASSERT_EQUAL(sal_uInt32(0), getProperty<sal_uInt32>(xShape, "LineColor"));
 }
 
+void Test::testFdo61909()
+{
+    uno::Reference<text::XTextRange> xTextRange = getRun(getParagraph(1), 1);
+    CPPUNIT_ASSERT_EQUAL(OUString("Courier New"), getProperty<OUString>(xTextRange, "CharFontName"));
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Test);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index eda06d3..873090a 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -394,6 +394,11 @@ void RTFDocumentImpl::checkFirstRun()
         if (!m_pSuperstream)
             Mapper().startSectionGroup();
         Mapper().startParagraphGroup();
+
+        // set the requested default font
+        RTFValue::Pointer_t pFont = m_aDefaultState.aCharacterSprms.find(NS_sprm::LN_CRgFtc0);
+        if (pFont.get())
+            dispatchValue(RTF_F, pFont->getInt());
         m_bFirstRun = false;
     }
 }


More information about the Libreoffice-commits mailing list