[Libreoffice-commits] core.git: Branch 'distro/nisz/libreoffice-7-0' - sc/qa sc/source
Tibor Nagy (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jan 6 11:15:14 UTC 2021
sc/qa/unit/data/xlsx/tdf134826.xlsx |binary
sc/qa/unit/subsequent_export-test.cxx | 31 +++++++++++++++++++++++++++++++
sc/source/filter/oox/pagesettings.cxx | 6 ++++--
3 files changed, 35 insertions(+), 2 deletions(-)
New commits:
commit cf577bb6f6f6bf43fa503c08fff8dba3c44f5aa8
Author: Tibor Nagy <nagy.tibor2 at nisz.hu>
AuthorDate: Fri Jul 17 13:23:41 2020 +0200
Commit: Gabor Kelemen <kelemen.gabor2 at nisz.hu>
CommitDate: Wed Jan 6 12:14:39 2021 +0100
tdf#134826 XLSX import: extend localized bold/italic footer/header
OOXML formatting code support with Hungarian "félkövér" (semibold)
and "dőlt" (italic), similar to German, according to formatting
code standard of OOXML 18.3.1.46 headerFooter (Header Footer
Settings): "Both font-name and font-type can be localized values."
Co-authored-by: Attila Szűcs (NISZ)
Change-Id: I95de548fe27d4a6c4e9504dc1f746c8d4419222b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99016
Tested-by: László Németh <nemeth at numbertext.org>
Reviewed-by: László Németh <nemeth at numbertext.org>
(cherry picked from commit 055735fa8589670f67e016bc3b7835d4cf81641f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108858
Tested-by: Gabor Kelemen <kelemen.gabor2 at nisz.hu>
Reviewed-by: Gabor Kelemen <kelemen.gabor2 at nisz.hu>
diff --git a/sc/qa/unit/data/xlsx/tdf134826.xlsx b/sc/qa/unit/data/xlsx/tdf134826.xlsx
new file mode 100644
index 000000000000..dd86afea2cd5
Binary files /dev/null and b/sc/qa/unit/data/xlsx/tdf134826.xlsx differ
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index a37f89d19f6a..895754f5e780 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -259,6 +259,7 @@ public:
void testTdf83779();
void testTdf134817_HeaderFooterTextWith2SectionXLSX();
void testTdf134459_HeaderFooterColorXLSX();
+ void testHeaderFontStyleXLSX();
CPPUNIT_TEST_SUITE(ScExportTest);
CPPUNIT_TEST(test);
@@ -412,6 +413,7 @@ public:
CPPUNIT_TEST(testTdf83779);
CPPUNIT_TEST(testTdf134817_HeaderFooterTextWith2SectionXLSX);
CPPUNIT_TEST(testTdf134459_HeaderFooterColorXLSX);
+ CPPUNIT_TEST(testHeaderFontStyleXLSX);
CPPUNIT_TEST_SUITE_END();
@@ -5219,7 +5221,36 @@ void ScExportTest::testTdf134459_HeaderFooterColorXLSX()
assertXPathContent(pDoc, "/x:worksheet/x:headerFooter/x:oddHeader", "&L&Kc06040l&C&K4c3789c&Rr");
assertXPathContent(pDoc, "/x:worksheet/x:headerFooter/x:oddFooter", "&Ll&C&K64cf5fc&R&Kcd15aar");
+}
+
+void ScExportTest::testHeaderFontStyleXLSX()
+{
+ ScDocShellRef xShell = loadDoc("tdf134826.", FORMAT_XLSX);
+ CPPUNIT_ASSERT(xShell.is());
+ ScDocument& rDoc = xShell->GetDocument();
+ SfxStyleSheetBase* pStyleSheet = rDoc.GetStyleSheetPool()->Find(rDoc.GetPageStyle(0), SfxStyleFamily::Page);
+ const SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
+ const ScPageHFItem& rHFItem = rItemSet.Get(ATTR_PAGE_HEADERRIGHT);
+ const EditTextObject* pTextObj = rHFItem.GetLeftArea();
+
+ std::vector<EECharAttrib> rLst;
+
+ // first line is bold.
+ pTextObj->GetCharAttribs(0, rLst);
+ bool bHasBold = std::any_of(rLst.begin(), rLst.end(), [](const EECharAttrib& rAttrib) {
+ return rAttrib.pAttr->Which() == EE_CHAR_WEIGHT &&
+ static_cast<const SvxWeightItem&>(*rAttrib.pAttr).GetWeight() == WEIGHT_BOLD; });
+ CPPUNIT_ASSERT_MESSAGE("First line should be bold.", bHasBold);
+
+ // second line is italic.
+ pTextObj->GetCharAttribs(1, rLst);
+ bool bHasItalic = std::any_of(rLst.begin(), rLst.end(), [](const EECharAttrib& rAttrib) {
+ return rAttrib.pAttr->Which() == EE_CHAR_ITALIC &&
+ static_cast<const SvxPostureItem&>(*rAttrib.pAttr).GetPosture() == ITALIC_NORMAL; });
+ CPPUNIT_ASSERT_MESSAGE("Second line should be italic.", bHasItalic);
+
+ xShell->DoClose();
}
CPPUNIT_TEST_SUITE_REGISTRATION(ScExportTest);
diff --git a/sc/source/filter/oox/pagesettings.cxx b/sc/source/filter/oox/pagesettings.cxx
index 461af3e85599..7aa952821d3b 100644
--- a/sc/source/filter/oox/pagesettings.cxx
+++ b/sc/source/filter/oox/pagesettings.cxx
@@ -453,7 +453,8 @@ static const char* const sppcBoldNames[] =
"demibold",
"halbfett", // German 'demibold'
"black",
- "heavy"
+ "heavy",
+ "f\303\251lk\303\266v\303\251r" // Hungarian 'bold'
};
// different names for italic font style (lowercase)
@@ -463,7 +464,8 @@ static const char* const sppcItalicNames[] =
"kursiv", // German 'italic'
"oblique",
"schr\303\204g", // German 'oblique' with uppercase A umlaut
- "schr\303\244g" // German 'oblique' with lowercase A umlaut
+ "schr\303\244g", // German 'oblique' with lowercase A umlaut
+ "d\305\221lt" // Hungarian 'italic'
};
} // namespace
More information about the Libreoffice-commits
mailing list