sw/qa/extras/rtfimport/data/tdf162268.rtf | 255 ++++++++++++++++++++++ sw/qa/extras/rtfimport/rtfimport.cxx | 9 sw/source/core/text/atrstck.cxx | 7 sw/source/core/text/porrst.cxx | 1 writerfilter/source/dmapper/DomainMapper_Impl.cxx | 59 +++++ writerfilter/source/dmapper/DomainMapper_Impl.hxx | 11 6 files changed, 341 insertions(+), 1 deletion(-)
New commits: commit 63b748dae3dea1b0f33489049a5dd0c813e97243 Author: Oliver Specht <oliver.spe...@cib.de> AuthorDate: Wed Jul 17 14:41:40 2024 +0200 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Mon Sep 9 11:10:18 2024 +0200 tdf#162268: Import - add zero width space after line break If a paragraph ends with a line break Word applies the paragraph properties to the last line. Writer extends the properties of the las run. The new line could be smaller or bigger as it would be in Word. To prevent that a zero width space is added at the end of the paragraph if the character properties of the run differ to the properties of the paragraph. Additionally attributes are not applied to the current font if the portion is hidden. Change-Id: I128d67bb621fb99d9db008cccbb93733f255294e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173059 Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de> Tested-by: allotropia jenkins <jenk...@allotropia.de> diff --git a/sw/qa/extras/rtfimport/data/tdf162268.rtf b/sw/qa/extras/rtfimport/data/tdf162268.rtf new file mode 100644 index 000000000000..8729d6ab9d4b --- /dev/null +++ b/sw/qa/extras/rtfimport/data/tdf162268.rtf @@ -0,0 +1,255 @@ +{ tf1deflang1025nsinsicpg1252\uc1deff1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1031\deflangfe1041 hemelang3079 hemelangfe0 hemelangcs0{onttbl{0bidi romancharset0 prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};} +{1bidi swisscharset0prq2{\*\panose 020b0604020202020204}Arial{\*alt Arial};}{4bidi swisscharset0prq2{\*\panose 020b0604020202020204}Helvetica;}{34bidi romancharset0prq2{\*\panose 02040503050406030204}Cambria Math;} +{lomajor31500bidi romancharset0prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};}{dbmajor31501bidi romancharset0 prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};} +{himajor31502bidi swisscharset0prq2{\*\panose 020f0302020204030204}Calibri Light;}{bimajor31503bidi romancharset0 prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};} +{lominor31504bidi romancharset0prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};}{dbminor31505bidi romancharset0 prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};} +{himinor31506bidi swisscharset0prq2{\*\panose 020f0502020204030204}Calibri;}{biminor31507bidi romancharset0 prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};} +{48bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};}{ 49bidi romancharset204prq2 Times New Roman Cyr{\*alt Times New Roman};}{ 51bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};} +{52bidi romancharset162prq2 Times New Roman Tur{\*alt Times New Roman};}{53bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};} +{54bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};}{55bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};} +{56bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Times New Roman};}{58bidi swisscharset238prq2 Arial CE{\*alt Arial};}{59bidi swisscharset204prq2 Arial Cyr{\*alt Arial};} +{61bidi swisscharset161prq2 Arial Greek{\*alt Arial};}{62bidi swiss charset162prq2 Arial Tur{\*alt Arial};}{63bidi swisscharset177prq2 Arial (Hebrew){\*alt Arial};} +{64bidi swisscharset178prq2 Arial (Arabic){\*alt Arial};}{65bidi swisscharset186prq2 Arial Baltic{\*alt Arial};}{66bidi swisscharset163 prq2 Arial (Vietnamese){\*alt Arial};} +{88bidi swisscharset238prq2 Helvetica CE;}{89bidi swisscharset204 prq2 Helvetica Cyr;}{91bidi swisscharset161prq2 Helvetica Greek;}{92bidi swisscharset162prq2 Helvetica Tur;} +{93bidi swisscharset177prq2 Helvetica (Hebrew);}{94bidi swiss charset178prq2 Helvetica (Arabic);}{95bidi swisscharset186prq2 Helvetica Baltic;}{96bidi swisscharset163prq2 Helvetica (Vietnamese);} +{388bidi romancharset238prq2 Cambria Math CE;}{389bidi roman charset204prq2 Cambria Math Cyr;}{391bidi romancharset161prq2 Cambria Math Greek;}{392bidi romancharset162prq2 Cambria Math Tur;} +{395bidi romancharset186prq2 Cambria Math Baltic;}{396bidi roman charset163prq2 Cambria Math (Vietnamese);}{lomajor31508bidi roman charset238prq2 Times New Roman CE{\*alt Times New Roman};} +{lomajor31509bidi romancharset204prq2 Times New Roman Cyr{\*alt Times New Roman};}{lomajor31511bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};} +{lomajor31512bidi romancharset162prq2 Times New Roman Tur{\*alt Times New Roman};}{lomajor31513bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};} +{lomajor31514bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};}{lomajor31515bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};} +{lomajor31516bidi romancharset163prq2 Times New Roman (Vietnamese){\* alt Times New Roman};}{dbmajor31518bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};} +{dbmajor31519bidi romancharset204prq2 Times New Roman Cyr{\*alt Times New Roman};}{dbmajor31521bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};} +{dbmajor31522bidi romancharset162prq2 Times New Roman Tur{\*alt Times New Roman};}{dbmajor31523bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};} +{dbmajor31524bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};}{dbmajor31525bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};} +{dbmajor31526bidi romancharset163prq2 Times New Roman (Vietnamese){\* alt Times New Roman};}{himajor31528bidi swisscharset238prq2 Calibri Light CE;}{himajor31529bidi swisscharset204prq2 Calibri Light Cyr;} +{himajor31531bidi swisscharset161prq2 Calibri Light Greek;}{himajor 31532bidi swisscharset162prq2 Calibri Light Tur;}{himajor31533bidi swisscharset177prq2 Calibri Light (Hebrew);} +{himajor31534bidi swisscharset178prq2 Calibri Light (Arabic);}{himajor 31535bidi swisscharset186prq2 Calibri Light Baltic;}{himajor31536bidi swisscharset163prq2 Calibri Light (Vietnamese);} +{bimajor31538bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};}{bimajor31539bidi romancharset204prq2 Times New Roman Cyr{\* alt Times New Roman};} +{bimajor31541bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};}{bimajor31542bidi romancharset162prq2 Times New Roman Tur{\* alt Times New Roman};} +{bimajor31543bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};}{bimajor31544bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};} +{bimajor31545bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};}{bimajor31546bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Times New Roman};} +{lominor31548bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};}{lominor31549bidi romancharset204prq2 Times New Roman Cyr{\* alt Times New Roman};} +{lominor31551bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};}{lominor31552bidi romancharset162prq2 Times New Roman Tur{\* alt Times New Roman};} +{lominor31553bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};}{lominor31554bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};} +{lominor31555bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};}{lominor31556bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Times New Roman};} +{dbminor31558bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};}{dbminor31559bidi romancharset204prq2 Times New Roman Cyr{\* alt Times New Roman};} +{dbminor31561bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};}{dbminor31562bidi romancharset162prq2 Times New Roman Tur{\* alt Times New Roman};} +{dbminor31563bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};}{dbminor31564bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};} +{dbminor31565bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};}{dbminor31566bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Times New Roman};} +{himinor31568bidi swisscharset238prq2 Calibri CE;}{himinor31569bidi swisscharset204prq2 Calibri Cyr;}{himinor31571bidi swisscharset161prq2 Calibri Greek;}{himinor31572bidi swisscharset162prq2 Calibri Tur;} +{himinor31573bidi swisscharset177prq2 Calibri (Hebrew);}{himinor31574 bidi swisscharset178prq2 Calibri (Arabic);}{himinor31575bidi swiss charset186prq2 Calibri Baltic;} +{himinor31576bidi swisscharset163prq2 Calibri (Vietnamese);}{biminor 31578bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};} +{biminor31579bidi romancharset204prq2 Times New Roman Cyr{\*alt Times New Roman};}{biminor31581bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};} +{biminor31582bidi romancharset162prq2 Times New Roman Tur{\*alt Times New Roman};}{biminor31583bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};} +{biminor31584bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};}{biminor31585bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};} +{biminor31586bidi romancharset163prq2 Times New Roman (Vietnamese){\* alt Times New Roman};}}{+ ed255\green255lue0; ed255\green255lue255; ed0\green0lue128; ed0\green128lue128; ed0\green128lue0; ed128\green0lue128; ed128\green0lue0; ed128\green128lue0; ed128\green128lue128; ed192\green192lue192; ed0\green0lue0; + ed0\green0lue0;}{\*\defchp s22 }{\*\defpap \ql \li0 i0\sa160\sl259\slmult1\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 } oqfpromote {\stylesheet{\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0 + tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+ tlchcs1 bf1fs22lang1025 \ltrchcs0 1s22\ul\lang1031\langfe3079+ tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\ulxpnd4xpndtw20\lang1031\langfe3079+ s11 srowd rftsWidthB3 rpaddl108 rpaddr108 rpaddfl3 rpaddft3 rpaddfb3 rpaddfr3 rcbpat1 rcfpat1 blind0 blindtype3 svertalt sbrdrt sbrdrl sbrdrb sbrdrr sbrdrdgl sbrdrdgr sbrdrh sbrdrv \ql \li0 i0\sa160\sl259\slmult1 +\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs22lang1025 \ltrchcs0 s22\lang1031\langfe1041+bif0fs28 \ltrchcs0 \is28\lang1031\langfe0\loch 31502\hichf31502\dbchf31501\langnp1031\langfenp0 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 \'dcberschrift 2 Zchn;}{\s16\ql \li0 i0\widctlpar + qr x638 qr x1064 qr x1489\wrapdefault aautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1 s22\lang1031\langfe3079+bf0fs32 \ltrchcs0 s32\lang1031\langfe0\kerning32\loch 31502\hichf31502\dbchf31501\langnp1031\langfenp0 \sbasedon10 \slink1 \slocked \spriority9 \'dcberschrift 1 Zchn;}{\s18\qj \li0 i0\widctlpar + x1134 x5387\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+ qr lul x2025\dxfrtext142\dfrmtxtx142\dfrmtxty142\wrapdefaultaautodjustright in0\lin57\itap0 tlchcs1 f4fs22lang1025 \ltrchcs0 4 s22\lang1031\langfe3079+ tlchcs1 f1 \ltrchcs0 1\lang1031\langfe0\langnp1031\langfenp0 \sbasedon10 \slink18 \slocked \ssemihidden Textk\'f6rper 2 Zchn;}{\s21\qc \li57 i0\sl240\slmult0\widctlpar + qr lul x2025\dxfrtext142\dfrmtxtx142\dfrmtxty142\wrapdefault aautodjustright in0\lin57\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1 s22\lang1031\langfe3079+\s22\ql \li0 i0\sl240\slmult0\widctlpar x284\dxfrtext142\dfrmtxtx142\dfrmtxty142\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1 s22\lang1031\langfe3079+REF-T4;}{\s23\qj \li0 i0\sl240\slmult0\widctlpar x284\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f4fs19lang1025 \ltrchcs0 4s19\lang1031\langfe3079+ tlchcs1 f0fs16 \ltrchcs0 s16 \sbasedon10 \ssemihidden annotation reference;}{\s25\qc \li0 i0\sl240\slmult0\widctlpar x284\dxfrtext142\dfrmtxtx142\dfrmtxty142\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 +\ltrchcs0 1s22\lang1031\langfe3079+4 s19\lang1031\langfe3079+\dxfrtext142\dfrmtxtx142\dfrmtxty142\wrapdefault aautodjustright in142\lin142\itap0 tlchcs1 f1fs20lang1025 \ltrchcs0 1 s20\lang1031\langfe3079+\s28\qc \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 bf1fs32lang1025 \ltrchcs0 1 s32\lang1031\langfe3079+\s29\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs20lang1025 \ltrchcs0 1 s20\lang1031\langfe3079+dditive tlchcs1 f1 \ltrchcs0 1\lang1031\langfe0\langnp1031\langfenp0 \sbasedon10 \slink28 \slocked \ssemihidden Textk\'f6rper Zchn;}{\*+f1fs20 \ltrchcs0 1 s20\lang1031\langfe0\langnp1031\langfenp0 \sbasedon10 \slink29 \slocked \ssemihidden Kommentartext Zchn;}{\*+ qc x4536 qr x9072\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+\s35\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1f s22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+\sbasedon0 \snext35 \slink38 \sunhideused \styrsid15559015 footer;}{\*+f1 \ltrchcs0 1\lang1031\langfe0\langnp1031\langfenp0 \sbasedon10 \slink35 \slocked \styrsid15559015 Fu\'dfzeile Zchn;}}{\* sidtbl sid539895 sid658851 sid1190097 sid2366467 sid2828913 sid3090819 sid3413773 sid3549914 sid3620112 sid4398985 + sid4402220 sid4532146 sid4593428 sid4673944 sid4736481 sid4795436 sid5267509 sid5449079 sid5720576 sid6061803 sid6323927 sid6640626 sid6818376 sid6957944 sid6966986 sid7021941 sid7101437 sid7412513 sid7880350 sid8223184 sid8334850 + sid9190259 sid9582233 sid10182430 sid10553753 sid11617237 sid11672835 sid11681106 sid11811038 sid12278282 sid12283615 sid12802071 sid13061773 sid13130689 sid13263612 sid13446415 sid14171608 sid14312405 sid14886058 sid14903381 + sid15096494 sid15301611 sid15559015 sid16058106 sid16074049 sid16206816}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{+{ evtim\yr2024\mo7\dy30\hr15\min47}{ersion1}{dmins0}{ ofpages1}{ ofwords82}{ ofchars518}{ ofcharsws599}{ern99}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} +\paperw11907\paperh16840\margl1418\margr1418\margt851\margb851\gutter0\ltrsect +\deftab708\widowctrltnbjenddoc\hyphhotz425 rackmoves0 rackformatting1\donotembedsysfont0 elyonvml0\donotembedlingdata1\grfdocevents0 alidatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0 +\showxmlerrors0 oextrasprl\prcolbl+\jcompressiewkind1iewscale220\pgbrdrhead\pgbrdrfoot olnhtadjtbl empersonalinfo sidroot6640626 emdttm et0{\*\wgrffmtfilter 2450}\ilfomacatclnup0{\*tnsep \ltrpar \pard\plain \ltrpar +\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0\pararsid15559015 tlchcs1 f1fs22lang1025 \ltrchcs0 1 s22\lang1031\langfe3079+\par }}{\*tnsepc \ltrpar \pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0\pararsid15559015 tlch cs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+\ltrchcs0 \insrsid11672835 +\par }}{\*ftnsep \ltrpar \pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0\pararsid15559015 tlch cs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+\ltrchcs0 \insrsid11672835 +\par }}{\*ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0\pararsid15559015 tlch cs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+\ltrchcs0 \insrsid11672835 +\par }}\ltrpar \sectd \ltrsect\sbknone\linex0\headery850 ootery709+ qc x4536 qr x9072\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\la ng1031\langfe3079+\par }}{\headerr \ltrpar \pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0\pararsid12802071 tlch cs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+\ltrchcs0 s40\insrsid15096494+\par }}{ooterl \ltrpar \pard\plain \ltrpar\s35\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1 s22\lang1031\langfe3079+f1 \ltrchcs0 \insrsid7101437 +\par }}{ooterr \ltrpar \pard\plain \ltrpar\s35\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+f1 \ltrchcs0 \insrsid7101437 +\par }}{\headerf \ltrpar \pard\plain \ltrpar\s34\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+f1 \ltrchcs0 \insrsid7101437 +\par }}{ooterf \ltrpar \pard\plain \ltrpar\s35\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultaautodjustright in0\lin0\itap0 tlchcs1 f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+f1 \ltrchcs0 \insrsid7101437 +\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} +{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 +\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultaautodjustright in0\lin0\itap0\pararsid15096494 tlchcs1 +f1fs22lang1025 \ltrchcs0 1s22\lang1031\langfe3079+onsectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna. +\par Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus. +\par Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci. +\par Aenean nec lorem. In porttitor. Donec laoreet nonummy augue. +\par Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.}{ tlchcs1 f1 \ltrchcs0 \lang1038\langfe3079\langnp1038\insrsid6640626 +\par }{ tlchcs1 f1 \ltrchcs0 \lang1038\langfe3079\langnp1038\insrsid15096494+\par }{\* hemedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100de70b3abb60600004d1a0000160000007468656d652f7468656d652f +7468656d65312e786d6cec594d8b1b3718be17fa1f86b93bfe9af1c7126fb0c776d2663709b19392a3d6963dca6a466624efc68440494ebd140a69e9a181de7a +28a581061a7ae98f59d8d0a63fa2af34e3b164cbd90ff6104a772f1ecdf3be7af4bed2f34aa3eb379e44d439c209272c6eb9e56b25d7c1f1888d493c6db90f86 +fd42c375b840f1185116e396bbc0dcbdb1fbe927d7d18e0871841db08ff90e6ab9a110b39d62918fa019f16b6c86637837614984043c26d3e23841c7e037a2c5 +4aa9542b4688c4ae13a308dcde9d4cc808bbbb4bb73d0abe63c165c3882603e9146f62c7876589e00b1ed0c43942b4e5420f63763cc44f84eb50c405bc68b925 +f5e71677af17d14e6644c5165bcdaeaffe32bbcc607c58517d26d383bc53cff3bd5a3bf7af00546ce27af55ead57cbfd29001a8d60a42917dda7df6976ba7e86 +d540e94f8bef6ebd5b2d1b78cd7f758373db97ff065e8152ffde06bedf0f208a065e8152bcbf81f7bc7a25f00cbc02a5f8da06be5e6a77bdba8157a09092f870 +035df26bd56039da1c3261f49615def4bd7ebd92395fa16036e4b34b763161b1d836d722f498257d0048204582c48e58ccf0048d60fe0688928384387b641a0a +d90ddac1487b9f368df84693ecd1e1a384cc44cbfd7c866045acbc9ebe7d7bf2fccdc9f3df4f5ebc3879feabeeddb0bb85e2a96ef7fea76ffe79f5a5f3f76f3f +be7ff96ddaf53a9eebf877bf7cf5ee8f3f3fe41e169346ebbbd7efdebc3efdfeebbf7e7e69f1de4ed0810e1f920873e70e3e76eeb30806a8a263f2c107c9c52c +862122ba453b9e721423d98bc57f4f8406face025164c175b019c7870988890d7873fed8203c0893b920168fb7c3c800ee33463b2cb146e1b6ec4b0bf3701e4f +ed9d27731d771fa1235bdf018a8d2cf7e633505162731984d8a0798fa258a0298eb170e43b7688b165748f0831e2ba4f4609e36c229c47c4e920620dc9901c18 +b36965748b449097858d20e4db88cdfe43a7c3a86dd45d7c6422616d206a213fc4d408e34d341728b2b91ca288ea01df4322b4911c2c92918eeb7101999e62ca +9cde18736eb3b99bc078b5a4df0621b1a77d9f2e221399087268f3b98718d3915d761884289ad9b00312873af6337e08531439f798b0c1f799b942e433e401c5 +5bd3fd906023dd67abc103d0509dd26a82c837f3c492cb9b9819f377b0a0138495d480c41bca1d91f84c194f7bb81a0107993cfde19585f3d588b6ddb111f1d3 +8bc9753b21d6f5726b4da4b7e1d6a53960c9987cfccadc45f3f81e86c5b0599efe17e6ff85d9fdcf0bf3b6f57cf572bc52601067b9114cb7dc6a031e6ddd7f4f +08a503b1a0788fab2d3887ba33ee43a3b453a74e9c9fc76621fc942b193a3070d304291b2761e20b22c2418866b07d2fbbd2c99467aea7dc99310ec746d56cf5 +2df1741eedb3717aec2c97e51133150f8ec4aabde4e7ed70641029ba565f1da572f78aed541d799704a4ed4548689d9924aa1612f565a30c923a6043d02c24d4 +c8ae8445d3c2a221dd2f53b5c102a8e559818d9103dba996eb7b600246706e42148f659ed2542fb3ab92799599de164c630694e0ab46360356996e4aae5b8727 +47974eb57364da20a14d3793848a8caa613c44639ccd4ed97a1e1a17cd75739552839e0c45160b8d46bdf1211697cd35d8ad6b038d75a5a0b173dc726b551fa6 +cc08cd5aee048eeff0339ac1dce172438be814be7e8d44922ef8cb28cb2ce1a28b7898065c894eaa061111387128895aae1c7e9e061a2b0d51dcca1510848f96 +5c1364e56323074937938c27133c127adab51619e9f411143ed50aeb5b657e79b0b4647348f7201c1f3b07749edc4730c5fc7a5906704c387ce329a7d11c13f8 +2c990bd96afead15a64c76f5ef826a0ea5ed88ce429455145dcc53b892f29c8e7aca63a03d656386806a21c90ae1c15416583da84635cdab46ca616bd53ddb48 +464e13cd55cd345445564dbb8a193d2ccbc05a2c2f57e43556cb1043b9d42b7c2addeb92db5c6addda3e21af1210f03c7e96aa7b8e82a0515b756650938c3765 +586a76d66ad68ee500cfa0769e22a1a97e6de9762d6e798db076078d97aafc60b73e6ba169b2dc57aa48ab9b0bfd8a811d3c06f1e8c2c7dc39155ca5122e1012 +041ba281da93a4b2014be489c89606fc72e60969b94f4b7edb0b2a7e502835fc5ec1ab7aa542c36f570b6ddfaf967b7eb9d4ed549e4161116154f6d35b933e7c +68a28becee44b56fdc9f44cb6f69d7462c2a32753f5254c4d5fd49b962b93f7186f29ac4750888ced35aa5dfac363bb542b3daee17bc6ea7516806b54ea15b0b +eadd7e37f01bcdfe33d7395260af5d0dbc5aaf51a89583a0e0d54a927ea359a87b954adbabb71b3daffd2cdbc6c0c853f9c86201e155bc76ff050000ffff0300 +504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c +2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083a +e995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f775 +7da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d +0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b0102 +2d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d001400060008 +00000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c50 +4b01022d0014000600080000002100de70b3abb60600004d1a00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e +786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000c00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000bb0a00000000} +{\*+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; +\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; +\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; +\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; +\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; +\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; +\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; +\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; +\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; +\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; +\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; +\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; +\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; +\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; +\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; +\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; +\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; +\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; +\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; +\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; +\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; +\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; +\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000 +02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000090ad +a9fa86e2da01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 3ed873925d37..f5c3037e33f5 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -1871,6 +1871,15 @@ CPPUNIT_TEST_FIXTURE(Test, test148544Tdf) } } } + +CPPUNIT_TEST_FIXTURE(Test, test162268Tdf) +{ + createSwDoc("tdf162268.rtf"); + xmlDocUniquePtr pLayout = parseLayoutDump(); + sal_Int32 nBodyTop + = getXPath(pLayout, "/root/page/body/infos/bounds"_ostr, "top"_ostr).toInt32(); + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1387), nBodyTop); +} // tests should only be added to rtfIMPORT *if* they fail round-tripping in rtfEXPORT CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/core/text/atrstck.cxx b/sw/source/core/text/atrstck.cxx index 048878292fc0..f3483db236de 100644 --- a/sw/source/core/text/atrstck.cxx +++ b/sw/source/core/text/atrstck.cxx @@ -344,6 +344,13 @@ void SwAttrHandler::PushAndChg( const SwTextAttr& rAttr, SwFont& rFnt ) { const SfxItemSet* pSet = CharFormat::GetItemSet( rAttr.GetAttr() ); if ( !pSet ) return; + const SfxPoolItem* pHiddenItem; + //hidden attributes must not change the font if they are not shown + if (RES_TXTATR_AUTOFMT == rAttr.Which() && + SfxItemState::SET == pSet->GetItemState( RES_CHRATR_HIDDEN, true, &pHiddenItem ) && + pHiddenItem->StaticWhichCast(RES_CHRATR_HIDDEN).GetValue() && + !m_pShell->GetViewOptions()->IsShowHiddenChar()) + return; for ( sal_uInt16 i = RES_CHRATR_BEGIN; i < RES_CHRATR_END; i++) { diff --git a/sw/source/core/text/porrst.cxx b/sw/source/core/text/porrst.cxx index a4a0d3c713d3..eaed0900eed6 100644 --- a/sw/source/core/text/porrst.cxx +++ b/sw/source/core/text/porrst.cxx @@ -946,7 +946,6 @@ bool SwControlCharPortion::Format( SwTextFormatInfo &rInf ) Width( 0 ); Height( pRoot->Height() ); SetAscent( pRoot->GetAscent() ); - return false; } diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 0a878477c997..ec029b5f9e09 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2176,6 +2176,53 @@ void DomainMapper_Impl::ValidateListLevel(const OUString& sStyleIdentifierD) // WARNING: PROP_NUMBERING_LEVEL is now out of sync with GetListLevel() } } +namespace +{ +class SortPropertyValues +{ +public: + bool operator()(const beans::PropertyValue& left, const beans::PropertyValue& right) const + { + return left.Name < right.Name; + } +}; +} +bool DomainMapper_Impl::checkAndClearLastLineBreakProperties(const std::vector<beans::PropertyValue>& rParagraphProperties) +{ + if (m_aLastLineBreakProperties.size()) + { + o3tl::sorted_vector<beans::PropertyValue, SortPropertyValues> aParaSortedProperties; + for (std::vector<beans::PropertyValue>::const_iterator aParaIter = rParagraphProperties + .begin(); aParaIter != rParagraphProperties.end(); ++aParaIter) + { + if (aParaIter->Name.startsWithIgnoreAsciiCase("Char")) + aParaSortedProperties.insert(*aParaIter); + } + o3tl::sorted_vector<beans::PropertyValue, SortPropertyValues> aCharSortedProperties; + for (size_t charIndex = 0; + charIndex < m_aLastLineBreakProperties.size(); ++charIndex) + { + if (m_aLastLineBreakProperties[charIndex].Name.startsWithIgnoreAsciiCase("Char")) + aCharSortedProperties.insert(m_aLastLineBreakProperties[charIndex]); + } + m_aLastLineBreakProperties.realloc(0); + if (aCharSortedProperties.size() != aParaSortedProperties.size()) + return true; + o3tl::sorted_vector<beans::PropertyValue>::const_iterator aParaPropIter = aParaSortedProperties.begin();; + o3tl::sorted_vector<beans::PropertyValue>::const_iterator aCharPropIter = aCharSortedProperties.begin();; + while (aParaPropIter != aParaSortedProperties.end()) + { + if (aParaPropIter->Name != aCharPropIter->Name) + return true; + if (aParaPropIter->Value != aCharPropIter->Value) + return true; + ++aParaPropIter; + ++aCharPropIter; + } + } + return false; +} + void DomainMapper_Impl::finishParagraph( const PropertyMapPtr& pPropertyMap, const bool bRemove, const bool bNoNumbering ) { @@ -2757,6 +2804,11 @@ void DomainMapper_Impl::finishParagraph( const PropertyMapPtr& pPropertyMap, con } } + if (checkAndClearLastLineBreakProperties(aProperties)) + { + uno::Sequence<beans::PropertyValue> aEmptyValues; + xTextAppend->appendTextPortion(u"\x200B"_ustr, aEmptyValues); + } xTextRange = xTextAppend->finishParagraph( comphelper::containerToSequence(aProperties) ); m_xPreviousParagraph.set(xTextRange, uno::UNO_QUERY); @@ -3244,6 +3296,7 @@ void DomainMapper_Impl::MergeAtContentImageRedlineWithNext(const css::uno::Refer void DomainMapper_Impl::appendTextPortion( const OUString& rString, const PropertyMapPtr& pPropertyMap ) { + resetLastLineBreakProperties(); if (m_bDiscardHeaderFooter) return; @@ -3372,6 +3425,7 @@ void DomainMapper_Impl::appendTextContent( const uno::Sequence< beans::PropertyValue >& xPropertyValues ) { + resetLastLineBreakProperties(); SAL_WARN_IF(m_aTextAppendStack.empty(), "writerfilter.dmapper", "no text append stack"); if (m_aTextAppendStack.empty()) return; @@ -3397,6 +3451,7 @@ void DomainMapper_Impl::appendTextContent( void DomainMapper_Impl::appendOLE( const OUString& rStreamName, const std::shared_ptr<OLEHandler>& pOLEHandler ) { + resetLastLineBreakProperties(); try { uno::Reference< text::XTextContent > xOLE( m_xTextFactory->createInstance("com.sun.star.text.TextEmbeddedObject"), uno::UNO_QUERY_THROW ); @@ -3509,6 +3564,7 @@ void DomainMapper_Impl::appendOLE( const OUString& rStreamName, const std::share void DomainMapper_Impl::appendStarMath( const Value& val ) { + resetLastLineBreakProperties(); uno::Reference< embed::XEmbeddedObject > formula; val.getAny() >>= formula; if( !formula.is() ) @@ -3667,6 +3723,7 @@ uno::Reference< beans::XPropertySet > DomainMapper_Impl::appendTextSectionAfter( uno::Reference< text::XTextRange > const & xBefore ) { uno::Reference< beans::XPropertySet > xRet; + resetLastLineBreakProperties(); if (m_aTextAppendStack.empty()) return xRet; uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; @@ -5166,6 +5223,7 @@ void DomainMapper_Impl::HandleLineBreak(const PropertyMapPtr& pPropertyMap) if (!m_oLineBreakClear.has_value()) { appendTextPortion(" ", pPropertyMap); + setLastLineBreakProperties(pPropertyMap->GetPropertyValues()); return; } @@ -5176,6 +5234,7 @@ void DomainMapper_Impl::HandleLineBreak(const PropertyMapPtr& pPropertyMap) uno::Reference<beans::XPropertySet> xLineBreakProps(xLineBreak, uno::UNO_QUERY); xLineBreakProps->setPropertyValue("Clear", uno::Any(*m_oLineBreakClear)); appendTextContent(xLineBreak, pPropertyMap->GetPropertyValues()); + setLastLineBreakProperties(pPropertyMap->GetPropertyValues()); } m_oLineBreakClear.reset(); } diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 8dc28cfc31ca..9156b552a989 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -513,6 +513,7 @@ private: std::optional<int> m_xNextUnusedCharacterStyleNo; css::uno::Reference<css::text::XText> m_xBodyText; css::uno::Reference<css::text::XTextContent> m_xEmbedded; + css::uno::Sequence<css::beans::PropertyValue> m_aLastLineBreakProperties; std::stack<TextAppendContext> m_aTextAppendStack; std::stack<AnchoredContext> m_aAnchoredStack; @@ -1253,6 +1254,16 @@ private: bool m_bSaxError; std::unordered_map<OUString, CommentProperties> m_aCommentProps; + void setLastLineBreakProperties(const css::uno::Sequence<css::beans::PropertyValue>& rValues) + { + m_aLastLineBreakProperties = rValues; + } + void resetLastLineBreakProperties() + { + m_aLastLineBreakProperties.realloc(0); + } + bool checkAndClearLastLineBreakProperties(const std::vector<css::beans::PropertyValue>& rParagraphProperties); + }; } //namespace writerfilter::dmapper