From 38b0c24fa5cbb4246e03d77ac022dfdc9fdede03 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Thu, 30 Mar 2017 09:27:45 +0200 Subject: [PATCH] Related: tdf#105454 DOCX import: fix unwanted enabled-by-default kerning Similar to DOC, DOCX doesn't enable kerning by default. Change-Id: I070ff5f0d43c27107593d629a1ad681d29d2038c Reviewed-on: https://gerrit.libreoffice.org/35890 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- sw/qa/extras/ooxmlimport/data/kern.docx | Bin 0 -> 12832 bytes sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 7 +++++++ writerfilter/source/dmapper/StyleSheetTable.cxx | 4 ++++ 3 files changed, 11 insertions(+) create mode 100644 sw/qa/extras/ooxmlimport/data/kern.docx diff --git a/sw/qa/extras/ooxmlimport/data/kern.docx b/sw/qa/extras/ooxmlimport/data/kern.docx new file mode 100644 index 0000000000000000000000000000000000000000..b66130d38d030ded7ba111821625e0fa40e39a4d GIT binary patch literal 12832 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 N#J~tXr2qNb{{b2Rn}GlT literal 0 HcmV?d00001 diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index c4b5fe5dd706..7fb3871f32ed 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -648,6 +648,13 @@ DECLARE_OOXMLIMPORT_TEST(testN820504, "n820504.docx") CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AT_CHARACTER, getProperty(getShape(1), "AnchorType")); } +DECLARE_OOXMLIMPORT_TEST(testKern, "kern.docx") +{ + CPPUNIT_ASSERT(getProperty(getRun(getParagraph(1), 1), "CharAutoKerning")); + // This failed: kerning was also enabled for the second paragraph. + CPPUNIT_ASSERT(!getProperty(getRun(getParagraph(2), 1), "CharAutoKerning")); +} + DECLARE_OOXMLIMPORT_TEST(testFdo43641, "fdo43641.docx") { uno::Reference xGroupShape(getShape(1), uno::UNO_QUERY); diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index b35d762c69b7..1a25933a8dc6 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -298,6 +298,10 @@ StyleSheetTable_Impl::StyleSheetTable_Impl(DomainMapper& rDMapper, m_pDefaultCharProps->Insert( PROP_CHAR_HEIGHT, aVal ); m_pDefaultCharProps->Insert( PROP_CHAR_HEIGHT_ASIAN, aVal ); m_pDefaultCharProps->Insert( PROP_CHAR_HEIGHT_COMPLEX, aVal ); + + // See SwDoc::RemoveAllFormatLanguageDependencies(), internal filters + // disable kerning by default, do the same here. + m_pDefaultCharProps->Insert(PROP_CHAR_AUTO_KERNING, uno::Any(false)); }