diff options
authorJan-Marek Glogowski <>2019-11-01 10:39:47 +0100
committerMiklos Vajna <>2021-07-23 17:05:15 +0200
commit0da422c6d46a9374d6fafe1ecd11cf504575cf24 (patch)
parent546d94f864ed866fac9ba3790950820d60991e6f (diff)
tdf#120546 fix DOCX overriding numrule formatdistro/collabora/dcm-6.2
... at least in the view. This "fixes" the import side of the exported OOXML document with multiple overridden numrule character format. This prevents the change of the shared numrule, which results in all bullets being formatted like the last overridden numrule. What is missing is a consistent way to edit the override, as the override is currently just stored in an internal attribute, the "ListAutoFormat" property. Fixing editing for good will be a larger work, as "ListAutoFormat" must be reflected in the GUI and must have a higher priority then the numrule format. Currently positioning the curser in front of the number or bullet entry lets one change the numrule format, which is applied to all bullets of the same rule. This special DOCX override mode is enabled by the import filter setting DocumentSettingId::APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING to true. This should also change the edit mode, so that a change of the entry doesn't modify the rule, but the override and this must also be reflected in the GUI character settings. (cherry picked from commit 4412689b1358b5cc932f905417f23e2a3cbb494b) Change-Id: I057f7a354bc3c413b114eec772e06c7063029699 Reviewed-on:
2 files changed, 5 insertions, 2 deletions
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index 3c84ed37e97e..e8b7af256cc0 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -368,9 +368,9 @@ DECLARE_OOXMLEXPORT_TEST(testPositionAndRotation, "position-and-rotation.docx")
DECLARE_OOXMLEXPORT_TEST(testNumberingFont, "numbering-font.docx")
+ // check that the original numrule font name is still Calibri
uno::Reference<beans::XPropertySet> xStyle(getStyles("CharacterStyles")->getByName("ListLabel 1"), uno::UNO_QUERY);
- // This was Calibri, i.e. custom font of the numbering itself ("1.\t") was lost on import.
- CPPUNIT_ASSERT_EQUAL(OUString("Verdana"), getProperty<OUString>(xStyle, "CharFontName"));
+ CPPUNIT_ASSERT_EQUAL(OUString("Calibri"), getProperty<OUString>(xStyle, "CharFontName"));
DECLARE_OOXMLEXPORT_TEST(testTdf106541_noinheritChapterNumbering, "tdf106541_noinheritChapterNumbering.odt")
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 716c14e8a5bf..a0d6cc58051f 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -5968,6 +5968,9 @@ uno::Reference<beans::XPropertySet> DomainMapper_Impl::GetCurrentNumberingCharSt
xLevels = GetCurrentNumberingRules(&nListLevel);
if (!
+ if (IsOOXMLImport())
+ return xRet;
PropertyMapPtr pContext = m_pTopContext;
if (IsRTFImport() && !IsOpenField())