summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Specht <oliver.specht@cib.de>2025-03-12 15:39:00 +0100
committerMichael Stahl <michael.stahl@allotropia.de>2025-03-18 11:46:42 +0100
commita2a88f0073bdd5119745679daa61469e87002579 (patch)
tree735efd61f09f5a31d024a083ec2a1ea129339d7e
parent0c5953f1adb36ba3c5658050e6fb4b086839f210 (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.rtf2
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport12.cxx11
-rw-r--r--sw/qa/extras/rtfimport/data/165717.rtf178
-rw-r--r--sw/qa/extras/rtfimport/rtfimport.cxx9
-rw-r--r--sw/source/writerfilter/dmapper/DomainMapper.cxx2
-rw-r--r--sw/source/writerfilter/dmapper/PropertyMap.cxx137
-rw-r--r--sw/source/writerfilter/dmapper/PropertyMap.hxx3
-rw-r--r--sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx6
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