diff options
author | Justin Luth <justin.luth@collabora.com> | 2019-10-03 12:37:20 +0300 |
---|---|---|
committer | Justin Luth <justin_luth@sil.org> | 2019-10-04 12:49:29 +0200 |
commit | 8eb0d8daa526d1c53363954d4d8730cad55f1910 (patch) | |
tree | 878aa6ca93075e728a0e9ea5b52f63a0d7311efe /sw | |
parent | 67a2317be8a46b3254475c689e8eca5e9acd45ab (diff) |
related tdf#99602 writerfilter: deferredCharProps unhandled in Styles
...so don't add deferred properties during style import.
Otherwise, the first paragraph picks up those attributes and
applies them.
Regression from 2012 - only affects subscript/superscript.
Truly fixing this for Character Styles will be tricky,
because it depends on the final fontsize - regardless of
where it is set. So at the style level, the deferred
property needs to be percentized based on SOMETHING, and then
at appendText time the fontsize needs to be determined.
If escapement is inherited from a style, then the escapement needs
to be converted BACK into pointsize (based on style charsize),
and then the final percentage can be calculated and
directly applied. Yuck. I'm inclined to treat charstyle
escapement like pre-2012, which just assigned default
values and ignored the actual/given amount.
Change-Id: I8e3783533ec18740e1c7d0b36c58b6c7e8ce107f
Reviewed-on: https://gerrit.libreoffice.org/80178
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf99602_subscript_charStyleSize.docx | bin | 0 -> 10623 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport13.cxx | 9 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf99602_subscript_charStyleSize.docx b/sw/qa/extras/ooxmlexport/data/tdf99602_subscript_charStyleSize.docx Binary files differnew file mode 100644 index 000000000000..6283b8de73ac --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/tdf99602_subscript_charStyleSize.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx index c287d0954c7e..89028e3e7e24 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx @@ -223,6 +223,15 @@ DECLARE_OOXMLEXPORT_TEST(testTdf127316_autoEscapement, "tdf127316_autoEscapement CPPUNIT_ASSERT_DOUBLES_EQUAL(33.f, getProperty<float>(getRun(xPara, 2), "CharEscapement"), 20); } +DECLARE_OOXMLEXPORT_TEST(testTdf99602_subscript_charStyleSize, "tdf99602_subscript_charStyleSize.docx") +{ + uno::Reference<text::XTextRange> xPara = getParagraph(1); + // The word "Base" should not be subscripted. + CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.f, getProperty<float>(getRun(xPara, 1), "CharEscapement"), 0); + // The word "Subscript" should be 48pt, subscripted by 25% (12pt). + //CPPUNIT_ASSERT_DOUBLES_EQUAL( 25.f, getProperty<float>(getRun(xPara, 2), "CharEscapement"), 1); +} + DECLARE_OOXMLEXPORT_TEST(testTdf124637_sectionMargin, "tdf124637_sectionMargin.docx") { uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(mxComponent, uno::UNO_QUERY); |