[Libreoffice-commits] core.git: Branch 'private/swe/libreoffice-5-2+backports' - sw/source

Caolán McNamara caolanm at redhat.com
Thu Nov 16 09:14:27 UTC 2017


Rebased ref, commits from common ancestor:
commit 161df254820286219d0b00c3550766ea2ab4588b
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Nov 15 15:44:20 2017 +0000

    crashtesting: assert on export of fdo59645-3.odt to docx
    
    probably since...
    
    commit 3f2e84b4bd0bbd936e0af845ba7cbf68cb2803d6
    Date:   Tue Oct 31 23:39:26 2017 +0100
    
        tdf#38778 Fix output of the font in DOC run
    
        The font information should be output before field declaration.
        Added unit test.
    
        tdf#38778 DOCX output: no double output of the font info
    
    need to also not double output the complex script font info as well
    as the western and ctl info
    
    I misread hAnsi as Asian the last time so thought CJK was already
    handled, handle it for real this time
    
    Change-Id: If57a3ca3f96a7b76f1fb8702a0d5071c0b3e5cd9
    Reviewed-on: https://gerrit.libreoffice.org/44771
    Reviewed-by: Serge Krot (CIB) <Serge.Krot at cib.de>
    Tested-by: Serge Krot (CIB) <Serge.Krot at cib.de>
    Reviewed-on: https://gerrit.libreoffice.org/44779
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
    Tested-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 0ffdd716b88c..96c593983795 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -6731,6 +6731,14 @@ void DocxAttributeOutput::CharBackground( const SvxBrushItem& rBrush )
 
 void DocxAttributeOutput::CharFontCJK( const SvxFontItem& rFont )
 {
+    if (m_pFontsAttrList.is() && m_pFontsAttrList->hasAttribute(FSNS(XML_w, XML_eastAsia)))
+    {
+        // tdf#38778: do to fields output into DOC the font could be added before and after field declaration
+        // that all sub runs of the field will have correct font inside.
+        // For DOCX we should do not add the same font information twice in the same node
+        return;
+    }
+
     const OUString& sFontName(rFont.GetFamilyName());
     OString sFontNameUtf8 = OUStringToOString(sFontName, RTL_TEXTENCODING_UTF8);
     AddToAttrList( m_pFontsAttrList, FSNS( XML_w, XML_eastAsia ), sFontNameUtf8.getStr() );


More information about the Libreoffice-commits mailing list