[PATCH] fdo#48876 fix RTF import of \sl without \slmult

Miklos Vajna vmiklos at suse.cz
Sat Apr 21 03:53:22 PDT 2012


(backport of 99b875aee04a808fb28715fb0e143a2b00332832)
---
 writerfilter/source/rtftok/rtfdocumentimpl.cxx |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index ff81727..fd57905 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2404,9 +2404,15 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
             }
             break;
         case RTF_SL:
-            if (nParam > 0)
             {
-                // NS_sprm::LN_PDyaLine could be used, but that won't work with slmult
+                // This is similar to RTF_ABSH, negative value means 'exact', positive means 'at least'.
+                RTFValue::Pointer_t pValue(new RTFValue(NS_ooxml::LN_Value_wordprocessingml_ST_LineSpacingRule_atLeast));
+                if (nParam < 0)
+                {
+                    pValue.reset(new RTFValue(NS_ooxml::LN_Value_wordprocessingml_ST_LineSpacingRule_exact));
+                    pIntValue.reset(new RTFValue(-nParam));
+                }
+                m_aStates.top().aParagraphAttributes->push_back(make_pair(NS_ooxml::LN_CT_Spacing_lineRule, pValue));
                 m_aStates.top().aParagraphAttributes->push_back(make_pair(NS_ooxml::LN_CT_Spacing_line, pIntValue));
             }
             break;
-- 
1.7.7


--kXdP64Ggrk/fb43R--


More information about the LibreOffice mailing list