diff options
| author | Oliver Specht <oliver.specht@cib.de> | 2025-03-12 15:39:00 +0100 |
|---|---|---|
| committer | Michael Stahl <michael.stahl@allotropia.de> | 2025-03-18 11:46:42 +0100 |
| commit | a2a88f0073bdd5119745679daa61469e87002579 (patch) | |
| tree | 735efd61f09f5a31d024a083ec2a1ea129339d7e | |
| parent | 0c5953f1adb36ba3c5658050e6fb4b086839f210 (diff) | |
tdf#165717, tdf#165718 additional hack to apply continuous section breaks
Keeps reference to range in front of the current range to
apply page style to an already available page break in cases
where the section starts with a table.
Page number restart is also applied in the old and the new code.
Remove of dummy section paragraphs introduced with
b696600821d8aafb63b6a88016d299ef89478f56 is now only performed
if it is no RTF import.
This causes:
Test name: testHiddenParaBreaks::TestBody
equality assertion failed
- Expected: 3
- Actual : 4
- In <>, XPath '/root/page[2]/body/txt' number of nodes is incorrect
But the file is not imported correctly anyway and this is actually
fixing a bug, so adapt the test file.
rtfimport.cxx:910:Assertion
Test name: (anonymous namespace)::testContSectionPageBreak::TestBody
equality assertion failed
- Expected: THIRD
- Actual :
The problem here is that the extra paragraph that is inserted for \sect
if m_bIgnoreNextContSectBreak is now wrong as it was previously removed
but no longer is, so don't insert the extra paragraph any more.
But leave the extra paragraph in case it's a frame, otherwise we get:
rtfexport8.cxx:91:(anonymous namespace)::testTdf158586_0::TestBody
equality assertion failed
- Expected: 1
- Actual : 2
testTd112202 fails, but Oliver says that extra page 6 is an improvement.
Change-Id: Ie9a22f00e75c797762f52e6b865e32002051988c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182830
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
| -rw-r--r-- | sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf | 2 | ||||
| -rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport12.cxx | 11 | ||||
| -rw-r--r-- | sw/qa/extras/rtfimport/data/165717.rtf | 178 | ||||
| -rw-r--r-- | sw/qa/extras/rtfimport/rtfimport.cxx | 9 | ||||
| -rw-r--r-- | sw/source/writerfilter/dmapper/DomainMapper.cxx | 2 | ||||
| -rw-r--r-- | sw/source/writerfilter/dmapper/PropertyMap.cxx | 137 | ||||
| -rw-r--r-- | sw/source/writerfilter/dmapper/PropertyMap.hxx | 3 | ||||
| -rw-r--r-- | sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx | 6 |
8 files changed, 294 insertions, 54 deletions
diff --git a/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf b/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf index f8526dafe5ea..4dc442bea367 100644 --- a/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf +++ b/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf @@ -54,7 +54,7 @@ Normal Table;}{\*\ts15\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbr \fs22\lang2057\langfe1028\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp2057\langfenp1028 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1031\langfe1028\langnp1031\hich\af31506\dbch\af31505\loch\f31506 First\sect }\sectd \ltrsect
\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj \pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025
\ltrch\fcs0 \fs22\lang2057\langfe1028\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp2057\langfenp1028 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \v\lang1031\langfe1028\langnp1031
-\par \par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \v\lang1031\langfe1028\langnp1031
+\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \v\lang1031\langfe1028\langnp1031
\par \ltrrow}\trowd \irow0\irowband0\lastrow \ltrrow\ts15\trgaph108\trleft5\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
\trftsWidth1\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10
\clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth9016\clshdrawnil \cellx9021\pard\plain \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\yts15 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx index e34b17467348..9a57a288cbbd 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx @@ -713,14 +713,15 @@ CPPUNIT_TEST_FIXTURE(Test, testTd112202) "portion", u"Titel der studentischen Arbeit"); assertXPath(pXmlDoc, "/root/page[5]/header//anchored", 0); - // page 6: same as page 4 - assertXPath(pXmlDoc, "/root/page[6]/header/txt", 1); - assertXPath(pXmlDoc, "/root/page[6]/header/tab", 1); + // page 7: same as page 4 + // page 6 is automatically empty since page number is applied with tdf#165717 tdf#165718 + assertXPath(pXmlDoc, "/root/page[7]/header/txt", 1); + assertXPath(pXmlDoc, "/root/page[7]/header/tab", 1); assertXPath(pXmlDoc, - "/root/page[6]/header/tab/row[1]/cell[1]/txt[1]/SwParaPortion/SwLineLayout/" + "/root/page[7]/header/tab/row[1]/cell[1]/txt[1]/SwParaPortion/SwLineLayout/" "SwParaPortion", "portion", u"Titel der studentischen Arbeit"); - assertXPath(pXmlDoc, "/root/page[6]/header//anchored", 0); + assertXPath(pXmlDoc, "/root/page[7]/header//anchored", 0); }; createSwDoc("090716_Studentische_Arbeit_VWS.docx"); diff --git a/sw/qa/extras/rtfimport/data/165717.rtf b/sw/qa/extras/rtfimport/data/165717.rtf new file mode 100644 index 000000000000..b5531d92e8d2 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/165717.rtf @@ -0,0 +1,178 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1031\deflangfe1041\themelang3079\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Arial};}
+{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial{\*\falt Arial};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f48\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI;}
+{\f49\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0503020204020204}Corbel;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Arial};}
+{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Arial};}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
+{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Arial};}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Arial};}
+{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Arial};}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
+{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Arial};}{\f51\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Arial};}
+{\f52\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Arial};}{\f54\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Arial};}{\f55\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Arial};}
+{\f56\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Arial};}{\f57\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Arial};}{\f58\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Arial};}
+{\f59\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Arial};}{\f61\fbidi \fswiss\fcharset238\fprq2 Arial CE{\*\falt Arial};}{\f62\fbidi \fswiss\fcharset204\fprq2 Arial Cyr{\*\falt Arial};}
+{\f64\fbidi \fswiss\fcharset161\fprq2 Arial Greek{\*\falt Arial};}{\f65\fbidi \fswiss\fcharset162\fprq2 Arial Tur{\*\falt Arial};}{\f66\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew){\*\falt Arial};}
+{\f67\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic){\*\falt Arial};}{\f68\fbidi \fswiss\fcharset186\fprq2 Arial Baltic{\*\falt Arial};}{\f69\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese){\*\falt Arial};}
+{\f391\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f392\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f394\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f395\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}
+{\f398\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f399\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f531\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}{\f532\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}
+{\f534\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;}{\f535\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f536\fbidi \fswiss\fcharset177\fprq2 Segoe UI (Hebrew);}{\f537\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}
+{\f538\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;}{\f539\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\f541\fbidi \fswiss\fcharset238\fprq2 Corbel CE;}{\f542\fbidi \fswiss\fcharset204\fprq2 Corbel Cyr;}
+{\f544\fbidi \fswiss\fcharset161\fprq2 Corbel Greek;}{\f545\fbidi \fswiss\fcharset162\fprq2 Corbel Tur;}{\f548\fbidi \fswiss\fcharset186\fprq2 Corbel Baltic;}{\f549\fbidi \fswiss\fcharset163\fprq2 Corbel (Vietnamese);}
+{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Arial};}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Arial};}
+{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Arial};}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Arial};}
+{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Arial};}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Arial};}
+{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Arial};}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Arial};}
+{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Arial};}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Arial};}
+{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Arial};}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Arial};}
+{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Arial};}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Arial};}
+{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Arial};}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Arial};}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
+{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
+{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Arial};}
+{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Arial};}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Arial};}
+{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Arial};}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Arial};}
+{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Arial};}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Arial};}
+{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Arial};}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Arial};}
+{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Arial};}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Arial};}
+{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Arial};}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Arial};}
+{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Arial};}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Arial};}
+{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Arial};}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Arial};}
+{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Arial};}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Arial};}
+{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Arial};}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Arial};}
+{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Arial};}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Arial};}
+{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Arial};}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
+{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}
+{\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
+{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Arial};}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Arial};}
+{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Arial};}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Arial};}
+{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Arial};}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Arial};}
+{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Arial};}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Arial};}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
+\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
+\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;}{\*\defchp \f31506\fs22\lang3079\langfe1033\langnp3079\langfenp1033 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{
+\s15\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033
+\sbasedon0 \snext15 \slink16 \sunhideused header;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \slink15 \slocked Kopfzeile Zchn;}{\s17\ql \li0\ri0\widctlpar
+\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033
+\sbasedon0 \snext17 \slink18 \sunhideused \spriority57 footer;}{\*\cs18 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \slink17 \slocked \spriority57 Fu\'dfzeile Zchn;}{\*\cs19 \additive \rtlch\fcs1 \af0 \ltrch\fcs0
+\cf15 \sbasedon10 \ssemihidden Placeholder Text;}{\*\ts20\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 \sbasedon11 \snext20 Table Grid;}{
+\s21\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033
+\sbasedon0 \snext21 \sqformat \spriority34 List Paragraph;}{\s22\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20 \brdrl\brdrs\brdrw10\brsp80 \brdrb\brdrs\brdrw10\brsp20 \brdrr\brdrs\brdrw10\brsp80
+\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs26\cf6\lang3079\langfe3079\cgrid\langnp3079\langfenp3079 \sbasedon0 \snext0 BausteinName;}{
+\s23\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af48\afs18\alang1025 \ltrch\fcs0 \f48\fs18\lang3079\langfe1033\cgrid\langnp3079\langfenp1033
+\sbasedon0 \snext23 \slink24 \ssemihidden \sunhideused Balloon Text;}{\*\cs24 \additive \rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \f48\fs18 \sbasedon10 \slink23 \slocked \ssemihidden Sprechblasentext Zchn;}{\*\ts25\tsrowd\trbrdrt
+\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 \sbasedon11 \snext20 \spriority59
+Tabellenraster1;}{\s26\ql \li0\ri0\sa345\sl264\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\contextualspace \cbpat8 \rtlch\fcs1 \af0\afs23\alang1025 \ltrch\fcs0
+\b\fs28\lang1031\langfe1033\loch\f31502\hich\af31502\dbch\af31505\cgrid\langnp1031\langfenp1033 \sbasedon0 \snext0 \slink27 \sqformat \spriority2 Betreff,Betreff-Titel,Betreff-H1;}{\*\cs27 \additive \rtlch\fcs1 \af0\afs23 \ltrch\fcs0
+\b\fs23\lang1031\langfe0\loch\f31502\hich\af31502\dbch\af31505\chshdng0\chcfpat0\chcbpat8\langnp1031\langfenp0 \sbasedon10 \slink26 \slocked \spriority2 Betreff Zchn,Betreff-Titel Zchn,Betreff-H1 Zchn;}{\s28\ql \li0\ri0\sl300\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs23\alang1025 \ltrch\fcs0 \fs23\lang1031\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1033
+\sbasedon0 \snext28 \slink29 \sqformat \spriority1 No Spacing;}{\*\cs29 \additive \rtlch\fcs1 \af0\afs23 \ltrch\fcs0 \fs23\lang1031\langfe0\dbch\af31505\langnp1031\langfenp0 \sbasedon10 \slink28 \slocked \spriority0
+Kein Leerraum Zchn;}}{\*\listtable}{\*\listoverridetable}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1
+\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title incl_DBBezeichnung_klein}{\author e107}{\operator Oliver Specht}{\creatim\yr2025\mo3\dy13\hr11\min58}{\revtim\yr2025\mo3\dy13\hr11\min58}{\printim\yr2025\mo1\dy28\hr14\min30}
+{\version2}{\edmins0}{\nofpages2}{\nofwords8}{\nofchars54}{\*\company xxxx}{\nofcharsws61}{\vern115}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
+\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect
+\deftab708\widowctrl\ftnbj\aenddoc\pgnstart3\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0
+\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale130\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \chftnsep
+\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {
+\rtlch\fcs1 \af0 \ltrch\fcs0 \chftnsepc
+\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {
+\rtlch\fcs1 \af0 \ltrch\fcs0 \chftnsep
+\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {
+\rtlch\fcs1 \af0 \ltrch\fcs0 \chftnsepc
+\par }}\ltrpar \sectd \ltrsect\pgnrestart\pgnstarts3\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerr \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar
+\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1031\langfe1033\langnp1031Header 1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1031\langfe1033\langnp1031
+\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\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af0\afs24 \ltrch\fcs0
+\fs24\lang1033\langfe1033\langnp1033 paragraph 1
+\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \fs24\lang1033\langfe1033\langnp1033
+before page break\page }{\rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \fs24\lang1033\langfe1033\langnp1033 before section break\sect }\sectd \ltrsect
+\marglsxn1077\margrsxn1077\margtsxn1440\margbsxn1440\sbknone\pgnrestart\linex0\headery709\footery709\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerr \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar
+\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1031\langfe1033\langnp1031 Header 2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1031\langfe1033\langnp1031
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1031\langfe1033\langnp1031
+\par }}{\footerr \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\par }}{\headerf \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof
+{\shp{\*\shpinst\shpleft113\shptop5954\shpright680\shpbottom5954\shpfhdr0\shpbxpage\shpbxignore\shpbypage\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz0\shplockanchor\shplid1025{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
+{\sp{\sn fLockRotation}{\sv 0}}{\sp{\sn fLockAspectRatio}{\sv 0}}{\sp{\sn fLockPosition}{\sv 0}}{\sp{\sn fLockAgainstSelect}{\sv 0}}{\sp{\sn fLockVerticies}{\sv 0}}{\sp{\sn fLockAdjustHandles}{\sv 0}}
+{\sp{\sn fLockAgainstGrouping}{\sv 0}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineColor}{\sv 12566463}{\*\hsv \cbackgroundone\ctint255\cshade191}}{\sp{\sn fInsetPen}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}
+{\sp{\sn fLockShapeType}{\sv 0}}{\sp{\sn wzName}{\sv Gerade Verbindung 2}}{\sp{\sn dyWrapDistTop}{\sv -1}}{\sp{\sn dyWrapDistBottom}{\sv -1}}{\sp{\sn posrelh}{\sv 1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn metroBlob}{\sv {\*\svb
+504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004
+323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac
+70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6
+3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d
+e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b030414000600080000002100dc60c717f0010000410400000e0000006472732f65326f446f632e786d6cac534d8fd33010bd23f11f2cdf69d2c2161435ddc3ae762f0b54ecc2ddb5c7a985
+bf64bb4dfaef193b4d583e8404e262c533f3decc7b196fae07a3c9094254ceb674b9a82901cb9d50b66be9e7a7bb57ef28898959c1b4b3d0d233447abd7df962d3fb0656eee0b4804090c4c6a6f72d3da4e49baa8afc0086c585f36031295d302ce135749508ac4776a3ab555dafabde05e183e31023466fc724dd167e2981
+a78f52464844b714674be50ce5dce7b3da6e58d305e60f8a5fc660ff308561ca62d399ea9625468e41fd4265140f2e3a9916dc99ca49a938140da86659ffa4e6f1c03c142d684ef4b34df1ffd1f20fa75d204ab4744d8965067fd13d0426807c81b057561c6d4756d9a6dec706ab6fec2e64a17cb08ffec1f1af1173d50fc9
+7c897e2c1b6430b91c9592a1d87e9e6d8721118ec1d7ebba7e7345099f52156b269c0f31dd8333247fb4542b9b0d610d3b3dc4943bb3662ac9616df3199d56e24e695d2e7995e046077262b804fb6e5908f4d1bc77628cbdbdaaebb20ac856362f9717ee674c98cbec45eaa8aee84c670d63e74f20d148d433369889c61e8c
+73b069999d2c4c589d6112a79c817599ec8fc04b7d864259efbf01cf88d2d9d934838db22efcae7b1aa691e5583f3930eace16ec9d38efc2b405b8a745e1e54de587f0fc5ee0df5ffef61b000000ffff0300504b030414000600080000002100b179e523dd000000090100000f0000006472732f646f776e7265762e786d6c
+4c8fcd4ec3301084ef48bc83b548dca89342d312e254fc561c698ac4d58db74944bc36b1db069e9e454282e3cc7e9a9d2996a3edc50187d03952904e121048b5331d350a5e374f170b10216a32ba77840a3e31c0b23c3d29746edc91d678a86223388442ae15b431fa5cca50b7687598388fc4b79d1bac8e2c87469a411f39
+dcf6729a2499b4ba23fed06a8ff72dd6efd5de2ac8ded2afe7d5631637dd47f532bd7bf0e96eee953a3f1b6f6f40441ce31f0c3ff5b93a94dc69ebf66482e859a7974c2a985dcfae4030902d78dbf6d7906521ff2f28bf010000ffff0300504b01022d0014000600080000002100b6833892fe000000e10100001300000000
+000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ffd6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d0014000600080000002100dc60c717f0010000410400000e000000000000000000
+000000002e0200006472732f65326f446f632e786d6c504b01022d0014000600080000002100b179e523dd000000090100000f000000000000000000000000004a0400006472732f646f776e7265762e786d6c504b05060000000004000400f3000000540500000000
+}}}{\sp{\sn dhgt}{\sv 251659264}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fAllowOverlap}{\sv 1}}{\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 0}}{\sp{\sn fPseudoInline}{\sv 0}}
+{\sp{\sn sizerelh}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxpage\dobypage\dodhgt8192\dpline\dpptx0\dppty0\dpptx567\dppty0\dpx113\dpy5954\dpxsize567\dpysize0\dplinew15\dplinecor108\dplinecog9\dplinecob0}}}
+{\shp{\*\shpinst\shpleft113\shptop8420\shpright680\shpbottom8420\shpfhdr0\shpbxpage\shpbxignore\shpbypage\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz1\shplockanchor\shplid1026{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
+{\sp{\sn fLockRotation}{\sv 0}}{\sp{\sn fLockAspectRatio}{\sv 0}}{\sp{\sn fLockPosition}{\sv 0}}{\sp{\sn fLockAgainstSelect}{\sv 0}}{\sp{\sn fLockVerticies}{\sv 0}}{\sp{\sn fLockAdjustHandles}{\sv 0}}
+{\sp{\sn fLockAgainstGrouping}{\sv 0}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineColor}{\sv 12566463}{\*\hsv \cbackgroundone\ctint255\cshade191}}{\sp{\sn fInsetPen}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}
+{\sp{\sn fLockShapeType}{\sv 0}}{\sp{\sn wzName}{\sv Gerade Verbindung 4}}{\sp{\sn dyWrapDistTop}{\sv -1}}{\sp{\sn dyWrapDistBottom}{\sv -1}}{\sp{\sn posrelh}{\sv 1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn metroBlob}{\sv {\*\svb
+504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004
+323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac
+70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6
+3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d
+e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b030414000600080000002100ae1178b8f0010000410400000e0000006472732f65326f446f632e786d6cac534d6fd43010bd23f11f2cdfd964cbb6a068b33db46a2f055614b87bed71d6c2
+5fb2bd9becbf67ec6c42691112888b15cfcc7b33ef65bcbe1e8c2647085139dbd2e5a2a6042c7742d9aea55fbfdcbd794f494ccc0aa69d85969e20d2ebcdeb57ebde3770e1f64e0b0804496c6c7adfd27d4abea9aac8f760585c380f1693d205c3125e435789c07a6437babaa8ebabaa7741f8e038c488d1db314937855f4a
+e0e993941112d12dc5d95239433977f9ac366bd67481f9bde2e731d83f4c6198b2d874a6ba65899143502fa88ce2c14527d3823b5339291587a201d52ceb676a1ef7cc43d182e6443fdb14ff1f2dff78dc06a2444b57945866f017dd436002c837083b65c5c17664956dea7d6cb0fac66e4316ca07fbe81f1cff1e3157fd92
+cc97e8c7b2410693cb5129198aeda7d9761812e1187c7b55d7ab4b4af894aa5833e17c88e91e9c21f9a3a55ad96c086bd8f121a6dc993553490e6b9bcfe8b412774aeb72c9ab04373a9023c325d875cb42a00fe6831363ecdd655d975540b6b279b9bc703f61c25c662f52477545673a69183b7f068946a29eb1c14c34f660
+9c834dcbec6461c2ea0c9338e50caccb647f049eeb3314ca7aff0d784694cecea6196c9475e177ddd3308d2cc7fac9815177b660e7c4691ba62dc03d2d0acf6f2a3f84a7f702fff9f2373f000000ffff0300504b030414000600080000002100e332eeaadc000000090100000f0000006472732f646f776e7265762e786d6c
+4c8fcd4ec3301084ef48bc83b548dca893804294c6a9f817474891b8baf136891aaf4decb681a7679190e0b49addd1ec37d56ab6a338e01406470ad2450202a97566a04ec1dbfaf1a20011a226a34747a8e01303acead3934a97c61de9150f4dec04875028b5823e465f4a19da1ead0e0be791f8b67593d591e5d44933e923
+87db516649924bab07e20fbdf678d763bb6bf65641fe9e7e3d3f3de4713d7c342fd9edbd4fb7d75ea9f3b3f9660922e21cffccf083cfe85033d3c6edc90431b24e2fd9a9a0b8cab8131bf282e7e67721eb4afe6f507f030000ffff0300504b01022d0014000600080000002100b6833892fe000000e1010000130000000000
+0000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ffd6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d0014000600080000002100ae1178b8f0010000410400000e00000000000000000000
+0000002e0200006472732f65326f446f632e786d6c504b01022d0014000600080000002100e332eeaadc000000090100000f000000000000000000000000004a0400006472732f646f776e7265762e786d6c504b05060000000004000400f3000000530500000000
+}}}{\sp{\sn dhgt}{\sv 251660288}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fAllowOverlap}{\sv 1}}{\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 0}}{\sp{\sn fPseudoInline}{\sv 0}}
+{\sp{\sn sizerelh}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxpage\dobypage\dodhgt8193\dpline\dpptx0\dppty0\dpptx567\dppty0\dpx113\dpy8420\dpxsize567\dpysize0\dplinew15\dplinecor108\dplinecog9\dplinecob0}}}
+{\shp{\*\shpinst\shpleft113\shptop11907\shpright680\shpbottom11907\shpfhdr0\shpbxpage\shpbxignore\shpbypage\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz2\shplockanchor\shplid1027{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
+{\sp{\sn fLockRotation}{\sv 0}}{\sp{\sn fLockAspectRatio}{\sv 0}}{\sp{\sn fLockPosition}{\sv 0}}{\sp{\sn fLockAgainstSelect}{\sv 0}}{\sp{\sn fLockVerticies}{\sv 0}}{\sp{\sn fLockAdjustHandles}{\sv 0}}
+{\sp{\sn fLockAgainstGrouping}{\sv 0}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineColor}{\sv 12566463}{\*\hsv \cbackgroundone\ctint255\cshade191}}{\sp{\sn fInsetPen}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}
+{\sp{\sn fLockShapeType}{\sv 0}}{\sp{\sn wzName}{\sv Gerade Verbindung 5}}{\sp{\sn dyWrapDistTop}{\sv -1}}{\sp{\sn dyWrapDistBottom}{\sv -1}}{\sp{\sn posrelh}{\sv 1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn metroBlob}{\sv {\*\svb
+504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004
+323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac
+70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6
+3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d
+e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b0304140006000800000021006924364eef010000410400000e0000006472732f65326f446f632e786d6cac53cb6edb3010bc17e83f10bcd792d33a2d04cb3924482e696b3469ee34b99488
+f20592b6e5bfef92b294f481022d7a21c4dd9dd99dd1727d35184d0e10a272b6a5cb454d0958ee84b25d4bbf3edebef940494ccc0aa69d85969e20d2abcdeb57eba36fe0c2f54e0b0804496c6c8ebea57d4abea9aac87b302c2e9c078b49e9826109afa1ab4460476437babaa8ebcbeae882f0c1718811a33763926e0abf94
+c0d367292324a25b8ab3a5728672eef2596dd6ace902f3bde2e731d83f4c6198b2d874a6ba6189917d50bf5019c5838b4ea60577a672522a0e4503aa59d63fa979e89987a205cd897eb629fe3f5afee9b00d448996ae28b1cce02fba83c0049027083b65c5de7664956d3afad860f5b5dd862c940ff6c1df3bfe2d62aefa21
+992fd18f65830c2697a3523214db4fb3ed3024c231f8f6b2aedf617b3ea52ad64c381f62ba036748fe68a956361bc21a76b88f297766cd5492c3dae6333aadc4add2ba5cf22ac1b50ee4c0700976ddb210e8bdf9e8c4187bbfaaebb20ac856362f9717ee174c98cbec45eaa8aee84c270d63e72f20d148d433369889c61e8c
+73b069999d2c4c589d6112a79c817599ec8fc0737d864259efbf01cf88d2d9d934838db22efcae7b1aa691e5583f3930eace16ec9c386dc3b405b8a745e1f94de587f0f25ee0cf2f7ff31d0000ffff0300504b030414000600080000002100602897a1dd0000000b0100000f0000006472732f646f776e7265762e786d6c4c
+8fcd4ec3301084ef487d076b91b85127454a4b8853955f71a429125737de2611f1dac46e1b787ab607444fabd91dcd7e532c47db8b030ea173a4209d2620906a673a6a14bc6f9eaf172042d46474ef08157c63806539b928746edc91d678a86223388442ae15b431fa5cca50b76875983a8fc4b79d1bac8e2c87469a411f39
+dcf672962499b4ba23fed06a8f0f2dd69fd5de2ac83ed29fd797a72c6ebaafea6d76ffe8d3dddc2b757539aeee40441ce3bf194ef88c0e25336ddd9e4c103debf4869da7799bcc41b0235b70b9eddf4696853cef50fe020000ffff0300504b01022d0014000600080000002100b6833892fe000000e1010000130000000000
+0000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ffd6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d00140006000800000021006924364eef010000410400000e00000000000000000000
+0000002e0200006472732f65326f446f632e786d6c504b01022d0014000600080000002100602897a1dd0000000b0100000f00000000000000000000000000490400006472732f646f776e7265762e786d6c504b05060000000004000400f3000000530500000000
+}}}{\sp{\sn dhgt}{\sv 251661312}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fAllowOverlap}{\sv 1}}{\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 0}}{\sp{\sn fPseudoInline}{\sv 0}}
+{\sp{\sn sizerelh}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxpage\dobypage\dodhgt8194\dpline\dpptx0\dppty0\dpptx567\dppty0\dpx113\dpy11907\dpxsize567\dpysize0\dplinew15\dplinecor108\dplinecog9\dplinecob0}}}}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\par }}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af1\afs23 \ltrch\fcs0
+\lang1033\langfe1033\langnp1033
+\par \ltrrow}\trowd \irow0\irowband0\lastrow \ltrrow
+\ts17\trgaph108\trrh1985\trleft0\trftsWidth3\trwWidth9781\trftsWidthB3\trpaddl108\trpaddt85\trpaddb85\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt
+\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \cltxlrtb\clftsWidth3\clwWidth6946\clpadl0\clpadt0\clpadb0\clpadr0\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil \cellx6946\clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr
+\brdrtbl \cltxlrtb\clftsWidth3\clwWidth2835\clpadl0\clpadt0\clpadb0\clpadr0\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil \cellx9781\pard\plain \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\faauto\adjustright\rin0\lin0\yts17
+\rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af1\afs23 \ltrch\fcs0 \fs21\lang1024\langfe1024\noproof\langfenp3079 Tabl}{\rtlch\fcs1 \af1\afs23 \ltrch\fcs0
+\fs21\lang1024\langfe1024\noproof\langfenp3079 e}{\rtlch\fcs1 \af1\afs23 \ltrch\fcs0 \lang1031\langfe1033\langnp1031 \cell }{\rtlch\fcs1 \af1\afs17 \ltrch\fcs0
+\fs17\lang1031\langfe1033\langnp1031 \cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\f49\fs23\lang3079\langfe1033\cgrid\langnp3079\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \fs22\lang3079\langfe3079\langfenp3079 \trowd \irow0\irowband0\lastrow \ltrrow
+\ts17\trgaph108\trrh1985\trleft0\trftsWidth3\trwWidth9781\trftsWidthB3\trpaddl108\trpaddt85\trpaddb85\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt
+\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \cltxlrtb\clftsWidth3\clwWidth6946\clpadl0\clpadt0\clpadb0\clpadr0\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil \cellx6946\clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr
+\brdrtbl \cltxlrtb\clftsWidth3\clwWidth2835\clpadl0\clpadt0\clpadb0\clpadr0\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil \cellx9781\row }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1
+\af0 \ltrch\fcs0 \fs22\lang1031\langfe1033\langnp1031
+\par }
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 76d0257a7187..080a8ccdf706 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -839,6 +839,15 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf115153) getProperty<sal_Int32>(xShape, u"VertOrientPosition"_ustr)); } +CPPUNIT_TEST_FIXTURE(Test, test165717Tdf) +{ + createSwDoc("165717.rtf"); + + uno::Reference<beans::XPropertySet> const xPara3PS(getParagraphOrTable(3), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(u"Converted1"_ustr, getProperty<OUString>(xPara3PS, u"PageDescName"_ustr)); + CPPUNIT_ASSERT_EQUAL(sal_Int32(1), getProperty<sal_Int32>(xPara3PS, u"PageNumberOffset"_ustr)); +} + CPPUNIT_TEST_FIXTURE(Test, testFdo68291) { createSwDoc("fdo68291.odt"); diff --git a/sw/source/writerfilter/dmapper/DomainMapper.cxx b/sw/source/writerfilter/dmapper/DomainMapper.cxx index 18774537f6b7..2695f871b2fb 100644 --- a/sw/source/writerfilter/dmapper/DomainMapper.cxx +++ b/sw/source/writerfilter/dmapper/DomainMapper.cxx @@ -4582,7 +4582,7 @@ void DomainMapper::lcl_utext(const sal_Unicode *const data_, size_t len) } bool bRemove = (!m_pImpl->GetParaChanged() && m_pImpl->GetRemoveThisPara()) || - (!m_pImpl->GetParaChanged() && m_pImpl->GetParaSectpr() + (!IsRTFImport() && !m_pImpl->GetParaChanged() && m_pImpl->GetParaSectpr() && !bSingleParagraphAfterRedline && !bIsColumnBreak && !m_pImpl->GetIsLastSectionGroup() // testContSectionPageBreak diff --git a/sw/source/writerfilter/dmapper/PropertyMap.cxx b/sw/source/writerfilter/dmapper/PropertyMap.cxx index efd038964444..f878912257bc 100644 --- a/sw/source/writerfilter/dmapper/PropertyMap.cxx +++ b/sw/source/writerfilter/dmapper/PropertyMap.cxx @@ -1659,60 +1659,93 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) // it to apply the page style; see "nightmare scenario" in // wwSectionManager::InsertSegments() auto xTextAppend = rDM_Impl.GetCurrentXText(); - uno::Reference<container::XEnumerationAccess> const xCursor( - xTextAppend->createTextCursorByRange( - uno::Reference<text::XTextContent>(static_cast<cppu::OWeakObject*>(xSection.get()), uno::UNO_QUERY_THROW)->getAnchor()), - uno::UNO_QUERY_THROW); - uno::Reference<container::XEnumeration> const xEnum( - xCursor->createEnumeration()); - bool isFound = false; - while (xEnum->hasMoreElements()) + // if no section could be created due to a table at the given position + if (!xSection.is() && m_xPreStartingRange.is()) { - uno::Reference<beans::XPropertySet> xElem; - xEnum->nextElement() >>= xElem; - if (xElem->getPropertySetInfo()->hasPropertyByName(u"BreakType"_ustr)) + //similar hack as below + uno::Reference<beans::XPropertySet> const xPSRange(m_xPreStartingRange, uno::UNO_QUERY_THROW); + style::BreakType eBreakType; + if ((xPSRange->getPropertyValue(u"BreakType"_ustr) >>= eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE) { - style::BreakType eBreakType; - if ((xElem->getPropertyValue(u"BreakType"_ustr) >>= eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE) + xPSRange->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), uno::Any(m_sPageStyleName)); + m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), uno::Any(true)); + if (0 <= m_nPageNumber) { - // tdf#112201: do *not* use m_sFirstPageStyleName here! - xElem->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), uno::Any(m_sPageStyleName)); - m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), uno::Any(true)); - isFound = true; - break; + sal_Int16 nPageNumber = static_cast< sal_Int16 >(m_nPageNumber); + xPSRange->setPropertyValue(getPropertyName(PROP_PAGE_NUMBER_OFFSET), + uno::Any(nPageNumber)); } } } - uno::Reference<text::XParagraphCursor> const xPCursor(xCursor, uno::UNO_QUERY_THROW); - float fCharHeight = 0; - if (!isFound) - { // HACK: try the last paragraph of the previous section - xPCursor->gotoPreviousParagraph(false); - uno::Reference<beans::XPropertySet> const xPSCursor(xCursor, uno::UNO_QUERY_THROW); - style::BreakType eBreakType; - if ((xPSCursor->getPropertyValue(u"BreakType"_ustr) >>= eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE) + else + { + bool isFound = false; + uno::Reference<container::XEnumerationAccess> const xCursor( + xTextAppend->createTextCursorByRange( + uno::Reference<text::XTextContent>(static_cast<cppu::OWeakObject*>(xSection.get()), uno::UNO_QUERY_THROW)->getAnchor()), + uno::UNO_QUERY_THROW); + uno::Reference<container::XEnumeration> const xEnum( + xCursor->createEnumeration()); + while (xEnum->hasMoreElements()) { - xPSCursor->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), uno::Any(m_sPageStyleName)); - m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), uno::Any(true)); - isFound = true; + uno::Reference<beans::XPropertySet> xElem; + xEnum->nextElement() >>= xElem; + if (xElem->getPropertySetInfo()->hasPropertyByName(u"BreakType"_ustr)) + { + style::BreakType eBreakType; + if ((xElem->getPropertyValue(u"BreakType"_ustr) >>= eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE) + { + // tdf#112201: do *not* use m_sFirstPageStyleName here! + xElem->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), uno::Any(m_sPageStyleName)); + m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), uno::Any(true)); + isFound = true; + if (0 <= m_nPageNumber) + { + sal_Int16 nPageNumber = static_cast< sal_Int16 >(m_nPageNumber); + xElem->setPropertyValue(getPropertyName(PROP_PAGE_NUMBER_OFFSET), + uno::Any(nPageNumber)); + } + break; + } + } } - else - { - xPSCursor->getPropertyValue(u"CharHeight"_ustr) >>= fCharHeight; + uno::Reference<text::XParagraphCursor> const xPCursor(xCursor, uno::UNO_QUERY_THROW); + float fCharHeight = 0; + if (!isFound) + { // HACK: try the last paragraph of the previous section + xPCursor->gotoPreviousParagraph(false); + uno::Reference<beans::XPropertySet> const xPSCursor(xCursor, uno::UNO_QUERY_THROW); + style::BreakType eBreakType; + if ((xPSCursor->getPropertyValue(u"BreakType"_ustr) >>= eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE) + { + xPSCursor->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), uno::Any(m_sPageStyleName)); + m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), uno::Any(true)); + isFound = true; + if (0 <= m_nPageNumber) + { + sal_Int16 nPageNumber = static_cast< sal_Int16 >(m_nPageNumber); + xPSCursor->setPropertyValue(getPropertyName(PROP_PAGE_NUMBER_OFFSET), + uno::Any(nPageNumber)); + } + } + else + { + xPSCursor->getPropertyValue(u"CharHeight"_ustr) >>= fCharHeight; + } } - } - if (!isFound && fCharHeight <= 1.0) - { - // If still not found, see if the last paragraph is ~invisible, and work with - // the last-in-practice paragraph. - xPCursor->gotoPreviousParagraph(false); - uno::Reference<beans::XPropertySet> xPropertySet(xCursor, uno::UNO_QUERY_THROW); - OUString aPageDescName; - if ((xPropertySet->getPropertyValue(u"PageDescName"_ustr) >>= aPageDescName) && !aPageDescName.isEmpty()) + if (!isFound && fCharHeight <= 1.0) { - rtl::Reference<SwXBaseStyle> xPageStyle(rDM_Impl.GetPageStyles()->getStyleByName(aPageDescName)); - xPageStyle->setPropertyValue(u"FollowStyle"_ustr, uno::Any(m_sPageStyleName)); - m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), uno::Any(true)); + // If still not found, see if the last paragraph is ~invisible, and work with + // the last-in-practice paragraph. + xPCursor->gotoPreviousParagraph(false); + uno::Reference<beans::XPropertySet> xPropertySet(xCursor, uno::UNO_QUERY_THROW); + OUString aPageDescName; + if ((xPropertySet->getPropertyValue(u"PageDescName"_ustr) >>= aPageDescName) && !aPageDescName.isEmpty()) + { + rtl::Reference<SwXBaseStyle> xPageStyle(rDM_Impl.GetPageStyles()->getStyleByName(aPageDescName)); + xPageStyle->setPropertyValue(u"FollowStyle"_ustr, uno::Any(m_sPageStyleName)); + m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), uno::Any(true)); + } } } } @@ -2090,6 +2123,22 @@ sal_Int32 SectionPropertyMap::GetPageWidth() const return getProperty( PROP_WIDTH )->second.get<sal_Int32>(); } +//create a pre-starting-range +void SectionPropertyMap::SetStart( const uno::Reference< text::XTextRange >& xRange ) +{ + m_xStartingRange = xRange; + try + { + uno::Reference<text::XParagraphCursor> const xPCursor( + m_xStartingRange->getText()->createTextCursorByRange(m_xStartingRange), uno::UNO_QUERY_THROW); + xPCursor->gotoPreviousParagraph(false); + m_xPreStartingRange = xPCursor; + } + catch (const uno::Exception&) + { + } +} + StyleSheetPropertyMap::StyleSheetPropertyMap() : mnListLevel( -1 ) , mnOutlineLevel( -1 ) diff --git a/sw/source/writerfilter/dmapper/PropertyMap.hxx b/sw/source/writerfilter/dmapper/PropertyMap.hxx index 14e37c48b5cb..e9d3cc8d94de 100644 --- a/sw/source/writerfilter/dmapper/PropertyMap.hxx +++ b/sw/source/writerfilter/dmapper/PropertyMap.hxx @@ -256,6 +256,7 @@ private: bool m_bIsFirstSection; css::uno::Reference< css::text::XTextRange > m_xStartingRange; + css::uno::Reference< css::text::XTextRange > m_xPreStartingRange; OUString m_sPageStyleName; rtl::Reference<SwXPageStyle> m_aPageStyle; @@ -355,7 +356,7 @@ public: bool IsFirstSection() const { return m_bIsFirstSection; } - void SetStart( const css::uno::Reference< css::text::XTextRange >& xRange ) { m_xStartingRange = xRange; } + void SetStart( const css::uno::Reference< css::text::XTextRange >& xRange ); const css::uno::Reference< css::text::XTextRange >& GetStartingRange() const { return m_xStartingRange; } diff --git a/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx b/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx index 2df10c35482b..4b2e785b2e7a 100644 --- a/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx +++ b/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx @@ -135,8 +135,10 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) m_bHadSect = true; if (m_bIgnoreNextContSectBreak || m_aStates.top().getFrame().hasProperties()) { - // testContSectionPageBreak: need \par now - dispatchSymbol(RTFKeyword::PAR); + if (m_aStates.top().getFrame().hasProperties()) + { // testTdf158586_0: convert \sect to \par inside frame + dispatchSymbol(RTFKeyword::PAR); + } // testContSectionPageBreak: no \par when break ignored m_bIgnoreNextContSectBreak = false; } else |
