diff options
author | Justin Luth <justin_luth@sil.org> | 2022-01-04 15:36:35 +0200 |
---|---|---|
committer | Justin Luth <jluth@mail.com> | 2022-01-05 11:35:55 +0100 |
commit | 411cc8af8490ba307245c689ed5714f612bb9d6f (patch) | |
tree | 086a38ddb0716077917c98772f0ef5afffb7bc82 /sw | |
parent | 6f9278886eec76fdba19e2763c194fc129a2a42e (diff) |
tdf#146489 writerfilter: ensure only character properties
This is another RTF regression found against LO 6.0's
commit fdfdea4d5af51a68f2d497cc5c3359d74c385fd5
tdf#82173 writerfilter: apply char properties to footnote
The original commit in LO 6.0 intended that only character properties
were used. A follow-up commit for RTF tried to ensure that
these would be on the top of the stack.
However, in this case, it seems like somehow the table is
getting involved in putting the paragraph context
on the top. (Actually, there is no
GetTopContextOfType(CONTEXT_CHARACTER) at all.)
In any case, aFontProperties should only contain
character properties, so ensure that.
The unit test shows that there is still some kind
of import problem, because the footnote marker
should be a large, red character, but it is just
normal text. See tdf#108949.
Change-Id: I1ea7256891b198046f79f0d3a36e43d6c2ae3383
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127943
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
(cherry picked from commit 44c37c4af2d23d1469cdeeb56f2f5a2bef493986)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127954
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/rtfexport/data/tdf146489.rtf | 56 | ||||
-rw-r--r-- | sw/qa/extras/rtfexport/rtfexport4.cxx | 6 |
2 files changed, 62 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfexport/data/tdf146489.rtf b/sw/qa/extras/rtfexport/data/tdf146489.rtf new file mode 100644 index 000000000000..d8e198114052 --- /dev/null +++ b/sw/qa/extras/rtfexport/data/tdf146489.rtf @@ -0,0 +1,56 @@ +{\rtf1\ansi\deff3\adeflang1025 +{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Liberation Serif{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Liberation Sans{\*\falt Arial};}{\f5\fnil\fprq2\fcharset0 DejaVu Sans;}{\f6\fswiss\fprq0\fcharset0 FreeSans;}{\f7\fnil\fprq2\fcharset0 FreeSans;}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red201\green33\blue30;\red255\green233\blue148;} +{\stylesheet{\s0\snext0\rtlch\af7\afs24\alang1081 \ltrch\lang1033\langfe2052\hich\af3\loch\widctlpar\hyphpar0\aspalpha\ltrpar\cf0\f3\fs24\lang1033\kerning1\dbch\af5\langfe2052 Normal;} +{\*\cs15\snext15 Numbering Symbols;} +{\*\cs16\snext16\loch\super Footnote Anchor;} +{\*\cs17\snext17 Footnote Characters;} +{\*\cs18\snext18\loch\super Endnote Anchor;} +{\*\cs19\snext19 Endnote Characters;} +{\s20\sbasedon0\snext21\rtlch\af7\afs28 \ltrch\hich\af4\loch\sb240\sa120\keepn\f4\fs28\dbch\af5 Heading;} +{\s21\sbasedon0\snext21\loch\sl276\slmult1\sb0\sa140 Text Body;} +{\s22\sbasedon21\snext22\rtlch\af6 \ltrch\loch\sl276\slmult1\sb0\sa140 List;} +{\s23\sbasedon0\snext23\rtlch\af6\afs24\ai \ltrch\loch\sb120\sa120\noline\fs24\i Caption;} +{\s24\sbasedon0\snext24\rtlch\af6\alang255 \ltrch\lang255\langfe255\loch\noline\lang255\dbch\langfe255 Index;} +{\s25\sbasedon0\snext25\loch\nowidctlpar\noline Table Contents;} +{\s26\sbasedon0\snext26\rtlch\afs20 \ltrch\loch\li340\ri0\lin340\rin0\fi-340\noline\fs20 Footnote;} +}{\*\listtable{\list\listtemplateid1 +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\fi-360\li720} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'01.;}{\levelnumbers\'01;}\fi-360\li1080} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'02.;}{\levelnumbers\'01;}\fi-360\li1440} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'03.;}{\levelnumbers\'01;}\fi-360\li1800} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'04.;}{\levelnumbers\'01;}\fi-360\li2160} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'05.;}{\levelnumbers\'01;}\fi-360\li2520} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\fi-360\li2880} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'07.;}{\levelnumbers\'01;}\fi-360\li3240} +{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'08.;}{\levelnumbers\'01;}\fi-360\li3600}\listid1} +{\list\listtemplateid2 +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0} +{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}\listid2} +}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}}{\*\generator LibreOfficeDev/7.4.0.0.alpha0$Linux_X86_64 LibreOffice_project/9f5188173a4a37a9d41ee90a5555874f1f17136e}{\info{\creatim\yr2022\mo1\dy4\hr20\min1}{\revtim\yr2022\mo1\dy5\hr8\min9}{\printim\yr0\mo0\dy0\hr0\min0}}{\*\userprops}\deftab709 +\hyphauto1\viewscale170 +{\*\pgdsctbl +{\pgdsc0\pgdscuse451\lndscpsxn\pgwsxn8391\pghsxn5953\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Default Page Style;}} +\formshade\landscape\paperh5953\paperw8391\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgndec\sftnnar\saftnnrlc\sectunlocked1\lndscpsxn\pgwsxn8391\pghsxn5953\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc +{\*\ftnsep\chftnsep}\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\cellx3061\cellx6123\pgndec\loch\ql\ltrpar\pard\plain \s25\loch\nowidctlpar\noline\loch\intbl{\listtext\pard\plain 1.\tab}\ilvl0\ls1 \li720\ri0\lin720\rin0\fi-360\ql\ltrpar{\loch +numbered}{{\super \rtlch\afs96\ab \ltrch\loch\cf17\fs96\b\loch \chftn{\*\footnote \chftn\pard\plain \s26\rtlch\afs20 \ltrch\loch\li340\ri0\lin340\rin0\fi-340\noline\fs20{\rtlch\afs28 \ltrch\loch\fs28\chcbpat18\loch +\tab Footnote }{\rtlch\afs28 \ltrch\loch\fs28\chcbpat18\loch +caller in body text is large, red color.} +}} +}{\rtlch\afs96\ab \ltrch\loch\cf17\fs96\b\loch + }{\loch +para} +\par \pard\plain \s25\loch\nowidctlpar\noline\loch\intbl\ql\ltrpar\loch +\cell\pard\plain \s25\loch\nowidctlpar\noline\loch\intbl\ql\nowidctlpar\noline\ltrpar\loch +\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\cellx3061\cellx6123\pard\plain \s25\loch\nowidctlpar\noline\loch\intbl\ql\nowidctlpar\noline\ltrpar\loch +\cell\pard\plain \s25\loch\nowidctlpar\noline\loch\intbl\ql\nowidctlpar\noline\ltrpar\loch +\cell\row\pard\pard\plain \s0\rtlch\af7\afs24\alang1081 \ltrch\lang1033\langfe2052\hich\af3\loch\widctlpar\hyphpar0\aspalpha\ltrpar\cf0\f3\fs24\lang1033\kerning1\dbch\af5\langfe2052\loch\ql\ltrpar{\loch +unnumbered} +\par }
\ No newline at end of file diff --git a/sw/qa/extras/rtfexport/rtfexport4.cxx b/sw/qa/extras/rtfexport/rtfexport4.cxx index 66dda7f8500c..edee77a348fd 100644 --- a/sw/qa/extras/rtfexport/rtfexport4.cxx +++ b/sw/qa/extras/rtfexport/rtfexport4.cxx @@ -218,6 +218,12 @@ CPPUNIT_TEST_FIXTURE(Test, testTabStopFillChars) CPPUNIT_ASSERT_EQUAL(u' ', aTabstops[0].FillChar); } +DECLARE_RTFEXPORT_TEST(testTdf146489, "tdf146489.rtf") +{ + uno::Reference<text::XTextRange> xPara = getParagraph(2, "unnumbered"); + CPPUNIT_ASSERT_EQUAL(OUString(), getProperty<OUString>(xPara, "ListLabelString")); +} + DECLARE_RTFEXPORT_TEST(testCjklist38, "cjklist38.rtf") { sal_Int16 numFormat = getNumberingTypeOfParagraph(1); |