sw/qa/uibase/uiview/data/tdf152839_formtext.rtf | 261 ++++++++++++++++++++++++ sw/qa/uibase/uiview/uiview.cxx | 15 + sw/source/core/text/itrform2.cxx | 4 sw/source/core/text/porlay.cxx | 16 + sw/source/core/text/porlin.cxx | 3 sw/source/core/text/porlin.hxx | 3 6 files changed, 297 insertions(+), 5 deletions(-)
New commits: commit 43b9ab55a3b6ac1497bcadd6a71a5a133ece4d3d Author: Oliver Specht <oliver.spe...@cib.de> AuthorDate: Wed Nov 6 16:45:48 2024 +0100 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Tue Nov 19 01:15:00 2024 +0100 tdf#163956 calculate line height differently in FORMTEXT Lines containing EN_SPACES only ignore character height while calculating line height. In FORMTEXT fieldmarks the character height of the default EN_SPACES is not ignored. Change-Id: I8a89f13875f61ed287ce1697a91b42f20bd17192 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176147 Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de> Tested-by: Jenkins diff --git a/sw/qa/uibase/uiview/data/tdf152839_formtext.rtf b/sw/qa/uibase/uiview/data/tdf152839_formtext.rtf new file mode 100644 index 000000000000..d9cd1f239861 --- /dev/null +++ b/sw/qa/uibase/uiview/data/tdf152839_formtext.rtf @@ -0,0 +1,261 @@ +{ tf1deflang1025nsinsicpg1250\uc1deff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1038\deflangfe1038 hemelang3079 hemelangfe0 hemelangcs0{onttbl{0bidi romancharset0 prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};} +{0bidi romancharset0prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};}{40bidi swisscharset0prq2{\*\panose 020b0502040204020203}Segoe UI;} +{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};} +{41bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};}{ 42bidi romancharset204prq2 Times New Roman Cyr{\*alt Times New Roman};}{ 44bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};} +{45bidi romancharset162prq2 Times New Roman Tur{\*alt Times New Roman};}{46bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};} +{47bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};}{48bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};} +{49bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Times New Roman};}{41bidi romancharset238prq2 Times New Roman CE{\*alt Times New Roman};} +{42bidi romancharset204prq2 Times New Roman Cyr{\*alt Times New Roman};}{44bidi romancharset161prq2 Times New Roman Greek{\*alt Times New Roman};}{45bidi romancharset162prq2 Times New Roman Tur{\*alt Times New Roman};} +{46bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New Roman};}{47bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times New Roman};} +{48bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New Roman};}{49bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Times New Roman};}{441bidi swisscharset238prq2 Segoe UI CE;} +{442bidi swisscharset204prq2 Segoe UI Cyr;}{444bidi swisscharset161 prq2 Segoe UI Greek;}{445bidi swisscharset162prq2 Segoe UI Tur;}{446bidi swisscharset177prq2 Segoe UI (Hebrew);} +{447bidi swisscharset178prq2 Segoe UI (Arabic);}{448bidi swiss charset186prq2 Segoe UI Baltic;}{449bidi swisscharset163prq2 Segoe UI (Vietnamese);} +{lomajor31508bidi romancharset238prq2 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;}{himajor31529 bidi swisscharset204prq2 Calibri Light Cyr;}{himajor31531bidi swiss charset161prq2 Calibri Light Greek;} +{himajor31532bidi swisscharset162prq2 Calibri Light Tur;}{himajor31533 bidi swisscharset177prq2 Calibri Light (Hebrew);}{himajor31534bidi swiss charset178prq2 Calibri Light (Arabic);} +{himajor31535bidi swisscharset186prq2 Calibri Light Baltic;}{himajor 31536bidi swisscharset163prq2 Calibri Light (Vietnamese);}{bimajor31538 bidi 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;}{himinor31572 bidi swisscharset162prq2 Calibri Tur;}{himinor31573bidi swisscharset177 prq2 Calibri (Hebrew);} +{himinor31574bidi swisscharset178prq2 Calibri (Arabic);}{himinor31575 bidi swisscharset186prq2 Calibri Baltic;}{himinor31576bidi swiss charset163prq2 Calibri (Vietnamese);} +{biminor31578bidi 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};}}{+ ed0\green0lue255; ed0\green255lue255; ed0\green255lue0; ed255\green0lue255; ed255\green0lue0; ed255\green255lue0; ed255\green255lue255; ed0\green0lue128; ed0\green128lue128; ed0\green128lue0; ed128\green0lue128; + ed128\green0lue0; ed128\green128lue0; ed128\green128lue128; ed192\green192lue192;}{\*\defchp s22 }{\*\defpap \ql \li0 i0\sa160\sl259\slmult1\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 } + oqfpromote {\stylesheet{\ql \li0 i0\widctlpar\wrapdefaultspalphaspnum aautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+\s1\ql \li0 i0\sb120\sa120\keepn\widctlpar\wrapdefaultspalphaspnum aauto\outlinelevel0djustright in0\lin0\itap0 tlchcs1 f0fs32lang1025 \ltrchcs0 s32\lang1031\langfe3079+\sbasedon0 \snext0 \slink16 \sqformat \styrsid12458106 heading 1;}{\*+ s11 srowd rftsWidthB3 rpaddl108 rpaddr108 rpaddfl3 rpaddft3 rpaddfb3 rpaddfr3 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\lang1038\langfe1038+rdrtrdrsrdrw10rsp20 rdrlrdrsrdrw10rsp80 rdrbrdrsrdrw10rsp20 rdrrrdrsrdrw10rsp80 \wrapdefaultspalphaspnumaauto\outlinelevel0djustright in0\lin0\itap0 tlch cs1 f0fs26lang1025 \ltrchcs0 +s26+Heading 1 Char;}{\s17\ql \li0 i0\widctlpar\wrapdefaultspalphaspnum aautodjustright in0\lin0\itap0 tlchcs1 if0fs20lang1025 \ltrchcs0 \i s20+\s18\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+\s19\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079++40s18\lang3079\langfe3079+Footer Char;}{\*+ sid882106 sid1008931 sid1116736 sid1121750 sid1131385 sid1180322 sid1186002 sid1378358 sid1457463 sid1458675 sid1463711 sid1576598 sid1643320 sid1733725 sid2233523 sid2237796 sid2239019 sid2294971 sid2363667 sid2427217 sid2580829 + sid3020432 sid3151009 sid3230690 sid3676125 sid4327642 sid4655589 sid4939037 sid5118193 sid5127372 sid5398017 sid5587896 sid5841343 sid5984835 sid6555207 sid6712741 sid6831792 sid7089764 sid7152567 sid7290328 sid7496291 sid7549106 + sid7606353 sid7810231 sid7872350 sid8015286 sid8078336 sid8148054 sid8479968 sid8534386 sid8608751 sid8983466 sid9060380 sid9242023 sid9322053 sid9402351 sid9595908 sid10161122 sid10238746 sid10242283 sid10557518 sid10896052 + sid10964931 sid11037801 sid11081007 sid11094885 sid11283431 sid11344075 sid11424229 sid11499115 sid11690788 sid11871934 sid11893049 sid11947419 sid12262926 sid12270708 sid12458106 sid12652382 sid12928601 sid12986890 sid12999067 + sid13055997 sid13110340 sid13254002 sid13255087 sid13305316 sid13334452 sid13516935 sid14315527 sid14378587 sid14563127 sid14580302 sid14632582 sid14708412 sid14823218 sid14964844 sid15013360 sid15622987 sid15626663 sid15745522 + sid16274659 sid16606131}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{+{dmins0}{ ofpages1}{ ofwords11}{ ofchars56}{ ofcharsws59}{ern109}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw16840\paperh11907\margl1134\margr1418\margt567\margb567\gutter0\ltrsect +\deftab709\widowctrltnbjenddoc\hyphhotz425 rackmoves0 rackformatting1\donotembedsysfont0 elyonvml1\donotembedlingdata1\grfdocevents0 alidatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0 +\showxmlerrors0 oxlattoyenxpshrtn oultrlspc\dntblnsbdb ospaceforul\hyphcaps0 ormshade\horzdoc\dgmargin\dghspace130\dgvspace180\dghorigin1134\dgvorigin567\dghshow0\dgvshow0 +\jexpandiewkind1iewscale80\pgbrdrhead\pgbrdrfoot olnhtadjtbl empersonalinfo ojkernpunct sidroot4655589 emdttm et0{\*\wgrffmtfilter 013f}\ilfomacatclnup0{\*tnsep \ltrpar \pard\plain \ltrpar +\ql \li0 i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+\par }}{\*tnsepc \ltrpar \pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlch cs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+\ltrchcs0 \insrsid1180322 +\par }}{\*ftnsep \ltrpar \pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlch cs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+\ltrchcs0 \insrsid1180322 +\par }}{\*ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlch cs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+\ltrchcs0 \insrsid1180322 +\par }}\ltrpar \sectd \ltrsect\lndscpsxninfsxn4insxn4\psz9\linex0\headery567ootery567+ qc x4536 qr x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrch cs0 s26\lang3079\langfe3079+\par }}{\headerr \ltrpar \pard\plain \ltrpar\s18\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+ tlchcs1 f0 \ltrchcs0 \insrsid737723 +\par }}{ooterl \ltrpar \pard\plain \ltrpar\s19\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+ tlchcs1 f0 \ltrchcs0 \insrsid737723 +\par }}{ooterr \ltrpar \pard\plain \ltrpar\s19\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0\pararsid737723 tlchcs1 f0fs26lang1025 \ltrchcs0 +s26\lang3079\langfe3079+\par }}{\headerf \ltrpar \pard\plain \ltrpar\s18\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultspalphaspnum aautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+ tlchcs1 f0 \ltrchcs0 \insrsid737723 +\par }}{ooterf \ltrpar \pard\plain \ltrpar\s19\ql \li0 i0\widctlpar qc x4536 qr x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+ tlchcs1 f0 \ltrchcs0 \insrsid737723 +\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 i-1\widctlpar + qr x14317\wrapdefaultspalphaspnumaautodjustright in-1\lin0\itap0\pararsid12458106 tlchcs1 f0fs26lang1025 \ltrchcs0 s26\lang3079\langfe3079+s2\insrsid12458106+\par \ltrrow} rowd \irow0\irowband0\ltrrow s11 rgaph70 rleft-70 rkeep rftsWidth3 rwWidth14240 rftsWidthB3 rftsWidthA3 rwWidthA11405 rpaddl70 rpaddr70 rpaddfl3 rpaddfr3 blrsid1131385 blind0 blindtype3 +rdrtbl +s18\insrsid2237796 + s11 rgaph70 rleft-70 rkeep rftsWidth3 rwWidth14240 rftsWidthB3 rftsWidthA3 rwWidthA11405 rpaddl70 rpaddr70 rpaddfl3 rpaddfr3 blrsid1131385 blind0 blindtype3 ++ s11 rgaph70 rleft-70 rkeep rftsWidth3 rwWidth14240 rftsWidthB3 rftsWidthA3 rpaddl70 rpaddr70 rpaddfl3 rpaddfr3 blrsid1131385 blind0 blindtype3 +rdrsrdrw30 +++\ltrchcs0 \insrsid11947419 }{ tlchcs1 f0 \ltrch cs0 s42\insrsid16606131+f0 \ltrchcs0 s42\lang1024\langfe1024 oproof\insrsid16606131+\lndscpsxninfsxn4insxn4\psz9\linex0\headery567 ootery567+\ql \li0 i0\sb120\sa120\widctlpar\intbl\wrapdefaultspalphaspnum aautodjustright in0\lin0\pararsid468624 { tlchcs1 f0 \ltrchcs0 \insrsid1131385 FU ab (von-bis)+\qr \li0 i0\sb120\sa120\widctlpar\intbl\wrapdefaultspalphaspnumaautodjustright in0\lin0\pararsid468624 { tlchcs1 f0 \ltrchcs0 \insrsid1131385 Ablage am:+\ql \li0 i0\sb120\sa120\widctlpar\intbl\wrapdefaultspalphaspnum aautodjustright in0\lin0\pararsid468624 {ield{\*ldinst { tlchcs1 f0 \ltrch cs0 s42\insrsid9060380+ }{ tlchcs1 f0 \ltrchcs0 s42\insrsid9060380+ s42\lang1024\langfe1024 oproof\insrsid9060380+\lndscpsxninfsxn4insxn4\psz9\linex0\headery567 ootery567+\widctlpar\intbl\wrapdefaultspalphaspnumaautodjustright in0\lin0 { tlchcs1 f0 \ltrchcs0 \insrsid1131385 rowd \irow1\irowband1\lastrow \ltrrow + s11 rgaph70 rleft-70 rkeep rftsWidth3 rwWidth14240 rftsWidthB3 rftsWidthA3 rpaddl70 rpaddr70 rpaddfl3 rpaddfr3 blrsid1131385 blind0 blindtype3 +rdrsrdrw30 +++\par }{\* hemedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100937e00e7ca060000891a0000160000007468656d652f7468656d652f +7468656d65312e786d6cec595b8bdb46147e2ff43f08bd3bbe49be2cf1065bb69336bb49889d943cceda636bb2238dd18c776342a0244f7d2914d2d28706fad6 +87521a68a0a12ffd310b1bdaf447f4cc489667ec71f6420aa1640d8b34face996fce39face48ba7aed51449d239c70c2e2965bbe52721d1c8fd898c4d3967b6f +d82f345c870b148f1165316eb90bccdd6bbb9f7e7215ed881047d801fb98efa0961b0a31db2916f9088611bfc26638866b13964448c069322d8e13740c7e235a +ac944ab5628448ec3a318ac0ededc9848cb0bbbb74dba3e03b165c0e8c6832904ef126767c589608bee0014d9c23445b2ecc3066c743fc48b80e455cc085965b +527f6e71f76a11ed6446546cb1d5ecfaea2fb3cb0cc687153567323dc827f53cdfabb573ff0a40c526ae57efd57ab5dc9f02a0d108569a72d17dfa9d66a7eb67 +580d941e5a7c77ebdd6ad9c06bfeab1b9cdbbefc1978054afd7b1bf87e3f80281a78054af1fe06def3ea95c033f00a94e26b1bf87aa9ddf5ea065e81424ae2c3 +0d74c9af5583e56a73c884d11b5678d3f7faf54ae67c85826ac8ab4b4e3161b1d8566b117ac8923e002490224162472c6678824650bf01a2e42021ce1e998650 +783314330ec3a54aa95faac27ff9f3d4918a08dac148b396bc8009df18927c1c3e4ac84cb4dccfc1abab414e5fbf3e79faeae4e9ef27cf9e9d3cfd359b5bb932 +ec6ea078aadbbdfde99b7f5e7ce9fcfddb8f6f9f7f9b4ebd8ee73afecd2f5fbdf9e3cf77b98715af4271faddcb37af5e9e7efff55f3f3fb7786f27e840870f49 +84b9730b1f3b7759040bb4f0c707c9c52c862122ba453b9e721423398bc57f4f8406fad6025164c175b019c7fb09488d0d787dfed0203c0893b920168f37c3c8 +00ee33463b2cb146e1a69c4b0bf3701e4fed9327731d7717a123dbdc018a8d2cf7e633d05862731984d8a07987a258a0298eb170e4357688b165750f0831e2ba +4f4609e36c229c07c4e920620dc9901c18d5b432ba4122c8cbc24610f26dc466ffbed361d4b6ea2e3e3291706f206a213fc4d408e375341728b2b91ca288ea01 +df4322b4911c2c92918eeb7101999e62ca9cde18736eb3b99dc07ab5a4df0499b1a77d9f2e221399087268f3b98718d3915d761884289ad9b00312873af6337e +08258a9c3b4cd8e0fbccbc43e439e401c55bd37d9f6023dd67abc13d50589dd2aa40e4957962c9e575cc8cfa1d2ce804612535d0000c5d8f487ca6c8afc9bbff +dfc93b88e8e90f2f2c2b7a3f926e776ce4e38262de4e88f56ebab126e1db70ebc21db0644c3e7cddeea2797c07c3adb2d9bc3ecaf647d976fff7b2bded7e7eff +62bdd267906eb96d4db7eb6af31e6dddbb4f08a503b1a0788fabed3b87ae34eec3a0b4534fac387f969b857028ef6498c0c04d13a46c9c84892f880807219ac1 +1ebfec4a27539eb99e7267c6386cfdd5b0d5b7c4d379b4cfc6e9236bb92c1f4f53f1e048acc64b7e3e0e8f1b2245d7eaabc7b0dcbd623b558fcb4b02d2f62224 +b4c94c12550b89fa725006493d9c43d02c24d4cade0b8ba6854543ba5fa66a830550cbb302db2607365b2dd7f7c0048ce0a90a513c96794a53bdccae4ae6fbcc +f4b6601a15007b886505ac32dd945cb72e4fae2e2db57364da20a1959b49424546f5301ea231ceaa538e9e87c64573dd5ca5d4a02743a1e683d25ad1a837dec5 +e2b2b906bb756da0b1ae1434768e5b6eadea43c98cd0ace54ee0d11f0ea319d40e97db5d44a7f0e66c2492f486bf8cb2cc122eba888769c095e8a46a10118113 +8792a8e5cae5e769a0b1d210c5ad5c0141f860c93541563e3472907433c97832c123a1a75d1b91914e4f41e153adb05e55e697074b4b3687740fc2f1b17340e7 +c95d0425e6d7cb328063c2e10d50398de698c02bcd5cc856f5b7d69832d9d5df29aa1a4ac7119d8528eb28ba98a77025e5391d7596c7403bcbd60c01d5429235 +c283a96cb07a508d6e9a778d94c3d6ae7bb6918c9c269aab9e69a88aec9a7615336658b681b5585eaec96bac9621064dd33b7c2addeb92db5c6addda3e21ef12 +10f03c7e96ae7b8e86a0515b4d6650938c3765586a76366af68ee502cfa0769e26a1a97e6de9762d6e798fb04e078397eafc60b75eb5303459ee2b55a4d5570f +fdf3043b7808e2d18517c1732ab84a257c7c48106c88066a4f92ca06dc228f44766bc091334f48cb7d5cf2db5e50f18342a9e1f70a5ed52b151a7ebb5a68fb7e +b5dcf3cba56ea7f2041a8b08a3b29f7e71e9c36b28bac8bebba8f18d6f2fd1f24ddb95118b8a4c7d5b292ae2eadb4bb962f9f6e20ce52716d721203a8f6b957e +b3daecd40acd6abb5ff0ba9d46a119d43a856e2da877fbddc06f34fb4f5ce74881bd7635f06abd46a1560e8282572b49fa8d66a1ee552a6dafde6ef4bcf6936c +1b032b4fe5238b058457f1dafd170000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72 +656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c08 +2e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd0 +8a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa +4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f +6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72 +656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100937e00e7ca060000891a00001600000000000000000000000000d60200 +007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000000000000000000000 +00d40900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000cf0a00000000} +{\*+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; +\lsdsemihidden1 \lsdunhideused1 \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;}}{\*\datastore 010500000200000018000000 +4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000a06a +21d7ef39db01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/sw/qa/uibase/uiview/uiview.cxx b/sw/qa/uibase/uiview/uiview.cxx index d6c7a2c15125..a7453f0b8f6e 100644 --- a/sw/qa/uibase/uiview/uiview.cxx +++ b/sw/qa/uibase/uiview/uiview.cxx @@ -309,6 +309,21 @@ CPPUNIT_TEST_FIXTURE(SwUibaseUiviewTest, testPrintPreview) pView->SetFormShell(pFormShell); } +CPPUNIT_TEST_FIXTURE(SwUibaseUiviewTest, TestTdf152839_Formtext) +{ + createSwDoc("tdf152839_formtext.rtf"); + + xmlDocUniquePtr pXmlDoc = parseLayoutDump(); + sal_Int32 nBottom + = getXPath(pXmlDoc, "/root/page[1]/body/tab[1]/row[2]/cell[1]/infos/bounds", "bottom") + .toInt32(); + sal_Int32 nHeight + = getXPath(pXmlDoc, "/root/page[1]/body/tab[1]/row[2]/cell[1]/txt/infos/bounds", "height") + .toInt32(); + CPPUNIT_ASSERT_EQUAL(sal_Int32(2308), nBottom); + CPPUNIT_ASSERT_EQUAL(sal_Int32(723), nHeight); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/text/itrform2.cxx b/sw/source/core/text/itrform2.cxx index 96a09b14adff..dd068364292a 100644 --- a/sw/source/core/text/itrform2.cxx +++ b/sw/source/core/text/itrform2.cxx @@ -1364,7 +1364,11 @@ SwTextPortion *SwTextFormatter::WhichTextPor( SwTextFormatInfo &rInf ) const if( !rInf.X() && !m_pCurr->GetNextPortion() && !m_pCurr->GetLen() && !GetFnt()->IsURL() ) pPor = m_pCurr; else + { pPor = new SwTextPortion; + if (pBM && pBM->GetFieldname() == ODF_FORMTEXT) + pPor->SetFieldmarkText(true); + } } } } diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx index 742749621ca5..cf81585418d9 100644 --- a/sw/source/core/text/porlay.cxx +++ b/sw/source/core/text/porlay.cxx @@ -239,18 +239,23 @@ void SwLineLayout::CreateSpaceAdd( const tools::Long nInit ) // #i3952# Returns true if there are only blanks in [nStt, nEnd[ // Used to implement IgnoreTabsAndBlanksForLineCalculation compat flag -static bool lcl_HasOnlyBlanks(std::u16string_view rText, TextFrameIndex nStt, TextFrameIndex nEnd) +static bool lcl_HasOnlyBlanks(std::u16string_view rText, TextFrameIndex nStt, TextFrameIndex nEnd, + bool isFieldMarkPortion) { while ( nStt < nEnd ) { switch (rText[sal_Int32(nStt++)]) { case 0x0020: // SPACE - case 0x2002: // EN SPACE case 0x2003: // EM SPACE case 0x2005: // FOUR-PER-EM SPACE case 0x3000: // IDEOGRAPHIC SPACE continue; + case 0x2002: // EN SPACE : + if (isFieldMarkPortion) + return false; + else + continue; default: return false; } @@ -353,7 +358,8 @@ void SwLineLayout::CalcLine( SwTextFormatter &rLine, SwTextFormatInfo &rInf ) bool isSpacePortion = false; if ( pPos->InTabGrp() || pPos->IsHolePortion() || ( pPos->IsTextPortion() && - (isSpacePortion = lcl_HasOnlyBlanks( rInf.GetText(), nPorSttIdx, nPorSttIdx + pPos->GetLen() ) ) ) ) + (isSpacePortion = lcl_HasOnlyBlanks( rInf.GetText(), nPorSttIdx, nPorSttIdx + pPos->GetLen(), + pPos->IsFieldmarkText() ) ) ) ) { pLast = pPos; if (pPos->InTabGrp()) @@ -568,7 +574,9 @@ void SwLineLayout::CalcLine( SwTextFormatter &rLine, SwTextFormatInfo &rInf ) // #i3952# if ( bIgnoreBlanksAndTabsForLineHeightCalculation && - lcl_HasOnlyBlanks( rInf.GetText(), rInf.GetLineStart(), rInf.GetLineStart() + GetLen() ) ) + lcl_HasOnlyBlanks(rInf.GetText(), rInf.GetLineStart(), + rInf.GetLineStart() + GetLen(), + false)) { bHasBlankPortion = true; } diff --git a/sw/source/core/text/porlin.cxx b/sw/source/core/text/porlin.cxx index 845fcda08830..ec88383e73d1 100644 --- a/sw/source/core/text/porlin.cxx +++ b/sw/source/core/text/porlin.cxx @@ -68,7 +68,8 @@ SwLinePortion::SwLinePortion( ) : mnHangingBaseline( 0 ), mnWhichPor( PortionType::NONE ), m_bJoinBorderWithPrev(false), - m_bJoinBorderWithNext(false) + m_bJoinBorderWithNext(false), + m_bIsFieldmarkText(false) { } diff --git a/sw/source/core/text/porlin.hxx b/sw/source/core/text/porlin.hxx index 2c8031d866f4..2038265014d2 100644 --- a/sw/source/core/text/porlin.hxx +++ b/sw/source/core/text/porlin.hxx @@ -48,6 +48,7 @@ private: PortionType mnWhichPor; // Who's who? bool m_bJoinBorderWithPrev; bool m_bJoinBorderWithNext; + bool m_bIsFieldmarkText; SwTwips m_nExtraBlankWidth = 0; // width of spaces after the break SwTwips m_nExtraShrunkWidth = 0; // width of not shrunk line @@ -170,8 +171,10 @@ public: bool GetJoinBorderWithPrev() const { return m_bJoinBorderWithPrev; } bool GetJoinBorderWithNext() const { return m_bJoinBorderWithNext; } + bool IsFieldmarkText() const {return m_bIsFieldmarkText;} void SetJoinBorderWithPrev( const bool bJoinPrev ) { m_bJoinBorderWithPrev = bJoinPrev; } void SetJoinBorderWithNext( const bool bJoinNext ) { m_bJoinBorderWithNext = bJoinNext; } + void SetFieldmarkText(bool bSet) { m_bIsFieldmarkText = bSet; } virtual void dumpAsXml(xmlTextWriterPtr pWriter, const OUString& rText, TextFrameIndex& rOffset) const;