compilerplugins/clang/unusedenumconstants.writeonly.results         |    2 
 desktop/source/lib/init.cxx                                         |    4 
 include/svx/svdmodel.hxx                                            |    4 
 include/xmloff/odffields.hxx                                        |    1 
 offapi/com/sun/star/text/ContentControl.idl                         |    6 
 officecfg/registry/data/org/openoffice/Office/UI.xcu                |    2 
 officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu |    5 
 oox/source/token/tokens.txt                                         |    1 
 readlicense_oo/license/CREDITS.fodt                                 | 4646 
+++++-----
 sc/inc/scmatrix.hxx                                                 |    5 
 sc/source/core/tool/compiler.cxx                                    |  225 
 sc/source/core/tool/interpr5.cxx                                    |  109 
 sc/source/core/tool/scmatrix.cxx                                    |  231 
 sc/source/ui/docshell/docsh.cxx                                     |    2 
 sc/source/ui/view/viewdata.cxx                                      |    2 
 sd/source/ui/docshell/docshel4.cxx                                  |    1 
 sfx2/source/control/unoctitm.cxx                                    |    1 
 svtools/source/control/ctrlbox.cxx                                  |    4 
 svx/qa/unit/data/tdf148000_EOLinCurvedText.pptx                     |binary
 svx/qa/unit/data/tdf148000_EOLinCurvedText_Legacy.odp               |binary
 svx/qa/unit/data/tdf148000_EOLinCurvedText_New.odp                  |binary
 svx/qa/unit/svdraw.cxx                                              |   42 
 svx/source/customshapes/EnhancedCustomShapeFontWork.cxx             |   57 
 svx/source/svdraw/svdmodel.cxx                                      |   42 
 sw/Library_swui.mk                                                  |    1 
 sw/UIConfig_swriter.mk                                              |    1 
 sw/inc/cmdid.h                                                      |    1 
 sw/inc/fldbas.hxx                                                   |    1 
 sw/inc/formatcontentcontrol.hxx                                     |    7 
 sw/inc/strings.hrc                                                  |    2 
 sw/inc/swabstdlg.hxx                                                |   11 
 sw/inc/swundo.hxx                                                   |    1 
 sw/inc/unoprnms.hxx                                                 |    1 
 sw/qa/core/data/docm/testModernVBADelete.docm                       |binary
 sw/qa/core/macros-test.cxx                                          |   26 
 sw/qa/core/text/text.cxx                                            |   28 
 sw/qa/extras/accessibility/basics.cxx                               |    6 
 sw/qa/extras/mailmerge/mailmerge2.cxx                               |    3 
 sw/qa/extras/ooxmlexport/data/tdf125338.docm                        |binary
 sw/qa/extras/ooxmlexport/data/tdf151548_activeContentDemo.docm      |binary
 sw/qa/extras/ooxmlexport/data/tdf152636_lostPageBreak2.docx         |binary
 sw/qa/extras/ooxmlexport/ooxmlexport17.cxx                          |    2 
 sw/qa/extras/ooxmlexport/ooxmlexport18.cxx                          |    7 
 sw/qa/extras/ooxmlexport/ooxmlexport8.cxx                           |   12 
 sw/qa/extras/ooxmlexport/ooxmlexport9.cxx                           |   10 
 sw/qa/extras/ww8export/data/tdf151548_formFieldMacros.doc           |binary
 sw/qa/extras/ww8export/ww8export4.cxx                               |   13 
 sw/qa/uibase/fldui/fldui.cxx                                        |   28 
 sw/qa/uibase/shells/shells.cxx                                      |   85 
 sw/qa/uibase/uno/uno.cxx                                            |   29 
 sw/sdi/_textsh.sdi                                                  |    7 
 sw/sdi/swriter.sdi                                                  |   22 
 sw/source/core/access/accpara.cxx                                   |   19 
 sw/source/core/crsr/crsrsh.cxx                                      |    2 
 sw/source/core/docnode/nodes.cxx                                    |    2 
 sw/source/core/fields/fldbas.cxx                                    |   31 
 sw/source/core/txtnode/attrcontentcontrol.cxx                       |    8 
 sw/source/core/undo/undobj.cxx                                      |    3 
 sw/source/core/unocore/unocontentcontrol.cxx                        |   28 
 sw/source/core/unocore/unomap1.cxx                                  |    1 
 sw/source/filter/ww8/docxattributeoutput.cxx                        |   28 
 sw/source/filter/ww8/docxattributeoutput.hxx                        |    1 
 sw/source/filter/ww8/docxexport.cxx                                 |    3 
 sw/source/filter/ww8/docxexportfilter.cxx                           |   35 
 sw/source/filter/ww8/wrtw8sty.cxx                                   |   11 
 sw/source/filter/ww8/wrtww8.cxx                                     |   16 
 sw/source/filter/ww8/ww8par3.cxx                                    |    1 
 sw/source/ui/dialog/swdlgfact.cxx                                   |   26 
 sw/source/ui/dialog/swdlgfact.hxx                                   |   16 
 sw/source/ui/misc/pagenumberdlg.cxx                                 |   92 
 sw/source/uibase/app/docshini.cxx                                   |   10 
 sw/source/uibase/fldui/fldmgr.cxx                                   |   35 
 sw/source/uibase/inc/pagenumberdlg.hxx                              |   51 
 sw/source/uibase/shells/basesh.cxx                                  |  108 
 sw/source/uibase/shells/textfld.cxx                                 |   96 
 sw/source/uibase/uno/loktxdoc.cxx                                   |   53 
 sw/uiconfig/swriter/menubar/menubar.xml                             |    2 
 sw/uiconfig/swriter/ui/pagenumberdlg.ui                             |  222 
 vcl/inc/jsdialog/jsdialogbuilder.hxx                                |    2 
 vcl/jsdialog/enabled.cxx                                            |    1 
 vcl/jsdialog/jsdialogbuilder.cxx                                    |   12 
 writerfilter/qa/cppunittests/rtftok/data/center-after-page.rtf      |   10 
 writerfilter/qa/cppunittests/rtftok/rtfdispatchsymbol.cxx           |   24 
 writerfilter/source/dmapper/DomainMapper.cxx                        |   16 
 writerfilter/source/dmapper/DomainMapperTableHandler.cxx            |    9 
 writerfilter/source/dmapper/DomainMapper_Impl.cxx                   |    6 
 writerfilter/source/dmapper/PropertyMap.hxx                         |    1 
 writerfilter/source/dmapper/SdtHelper.cxx                           |    4 
 writerfilter/source/dmapper/SdtHelper.hxx                           |    6 
 writerfilter/source/ooxml/model.xml                                 |   12 
 writerfilter/source/rtftok/rtfdispatchsymbol.cxx                    |    7 
 91 files changed, 4170 insertions(+), 2536 deletions(-)

New commits:
commit 8a356de7810482d43b1b11dba8763a8a594b1cd3
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sat Jan 21 16:20:29 2023 +0000
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:42 2023 +0100

    rhbz#2162862 null pFrame during teardown
    
    Change-Id: Iad2de93f0400b0ec49dae4c3d6979957784114f4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145935
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/source/core/access/accpara.cxx 
b/sw/source/core/access/accpara.cxx
index aea0d2b3518f..8121d1c62389 100644
--- a/sw/source/core/access/accpara.cxx
+++ b/sw/source/core/access/accpara.cxx
@@ -431,15 +431,18 @@ bool SwAccessibleParagraph::HasCursor()
 void SwAccessibleParagraph::UpdatePortionData()
 {
     // obtain the text frame
-    OSL_ENSURE( GetFrame() != nullptr, "The text frame has vanished!" );
-    OSL_ENSURE( GetFrame()->IsTextFrame(), "The text frame has mutated!" );
     const SwTextFrame* pFrame = static_cast<const SwTextFrame*>( GetFrame() );
-
-    // build new portion data
-    m_pPortionData.reset( new SwAccessiblePortionData(
-        pFrame, GetMap()->GetShell()->GetViewOptions()) );
-    pFrame->VisitPortions( *m_pPortionData );
-
+    OSL_ENSURE( pFrame != nullptr, "The text frame has vanished!" );
+    if (!pFrame)
+        ClearPortionData();
+    else
+    {
+        OSL_ENSURE( pFrame->IsTextFrame(), "The text frame has mutated!" );
+        // build new portion data
+        m_pPortionData.reset( new SwAccessiblePortionData(
+            pFrame, GetMap()->GetShell()->GetViewOptions()) );
+        pFrame->VisitPortions( *m_pPortionData );
+    }
     OSL_ENSURE( m_pPortionData != nullptr, "UpdatePortionData() failed" );
 }
 
commit 3007680b0eabe6f1cb8b656eb1c847e26a8e550f
Author:     Vasily Melenchuk <vasily.melenc...@cib.de>
AuthorDate: Thu Jan 5 18:32:39 2023 +0300
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:42 2023 +0100

    writerfilter: removed remains of GAP_HALF define and its usage
    
    Change-Id: I8dee16f923686f557c8213d9a7870392bd5fe9bf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145090
    Tested-by: Jenkins
    Reviewed-by: Vasily Melenchuk <vasily.melenc...@cib.de>
    (cherry picked from commit f011a13b3e9d3edf85fa8cb17d612934e589e672)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145943
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>

diff --git a/compilerplugins/clang/unusedenumconstants.writeonly.results 
b/compilerplugins/clang/unusedenumconstants.writeonly.results
index e78ed74414cd..d88a2c0a3c16 100644
--- a/compilerplugins/clang/unusedenumconstants.writeonly.results
+++ b/compilerplugins/clang/unusedenumconstants.writeonly.results
@@ -5884,8 +5884,6 @@ writerfilter/source/dmapper/PropertyMap.hxx:563
     enum writerfilter::dmapper::TablePropertyMap::TablePropertyMapTarget 
TABLE_WIDTH
 writerfilter/source/dmapper/PropertyMap.hxx:564
     enum writerfilter::dmapper::TablePropertyMap::TablePropertyMapTarget 
TABLE_WIDTH_TYPE
-writerfilter/source/dmapper/PropertyMap.hxx:565
-    enum writerfilter::dmapper::TablePropertyMap::TablePropertyMapTarget 
GAP_HALF
 writerfilter/source/dmapper/PropertyMap.hxx:566
     enum writerfilter::dmapper::TablePropertyMap::TablePropertyMapTarget 
LEFT_MARGIN
 writerfilter/source/dmapper/PropertyMap.hxx:567
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx 
b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index 97fea78eba2a..58d96a9cd8f5 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
@@ -354,9 +354,6 @@ TableStyleSheetEntry * 
DomainMapperTableHandler::endTableGetTableStyle(TableInfo
     if( m_aTableProperties )
     {
         //create properties from the table attributes
-        //...pPropMap->Insert( PROP_LEFT_MARGIN, uno::makeAny( m_nLeftMargin - 
m_nGapHalf ));
-        //pPropMap->Insert( PROP_HORI_ORIENT, uno::makeAny( 
text::HoriOrientation::RIGHT ));
-        sal_Int32 nGapHalf = 0;
         sal_Int32 nLeftMargin = 0;
 
         comphelper::SequenceAsHashMap aGrabBag;
@@ -509,8 +506,6 @@ TableStyleSheetEntry * 
DomainMapperTableHandler::endTableGetTableStyle(TableInfo
             m_aTableProperties->Insert( PROP_TABLE_INTEROP_GRAB_BAG, uno::Any( 
aGrabBag.getAsConstPropertyValueList() ) );
         }
 
-        m_aTableProperties->getValue( TablePropertyMap::GAP_HALF, nGapHalf );
-
         std::optional<PropertyMap::Property> oLeftMarginFromStyle = 
m_aTableProperties->getProperty(PROP_LEFT_MARGIN);
         if (oLeftMarginFromStyle)
         {
@@ -622,7 +617,7 @@ TableStyleSheetEntry * 
DomainMapperTableHandler::endTableGetTableStyle(TableInfo
 
         if (0 < nMode && nMode <= 14 && rInfo.nNestLevel == 1)
         {
-            const sal_Int32 nAdjustedMargin = nLeftMargin - nGapHalf - 
rInfo.nLeftBorderDistance;
+            const sal_Int32 nAdjustedMargin = nLeftMargin - 
rInfo.nLeftBorderDistance;
             m_aTableProperties->Insert( PROP_LEFT_MARGIN, uno::Any( 
nAdjustedMargin ) );
         }
         else
@@ -632,7 +627,7 @@ TableStyleSheetEntry * 
DomainMapperTableHandler::endTableGetTableStyle(TableInfo
             // so emulate that by adding the half the width. (also see 
docxattributeoutput)
             if ( rInfo.nNestLevel > 1 && nLeftMargin < 0 )
                 nLeftMargin = 0;
-            const sal_Int32 nAdjustedMargin = nLeftMargin - nGapHalf + 
(aLeftBorder.LineWidth / 2);
+            const sal_Int32 nAdjustedMargin = nLeftMargin + 
(aLeftBorder.LineWidth / 2);
             m_aTableProperties->Insert( PROP_LEFT_MARGIN, uno::Any( 
nAdjustedMargin ) );
         }
 
diff --git a/writerfilter/source/dmapper/PropertyMap.hxx 
b/writerfilter/source/dmapper/PropertyMap.hxx
index f9f66e3dcc0b..719233d1ee73 100644
--- a/writerfilter/source/dmapper/PropertyMap.hxx
+++ b/writerfilter/source/dmapper/PropertyMap.hxx
@@ -575,7 +575,6 @@ public:
         CELL_MAR_BOTTOM,
         TABLE_WIDTH,
         TABLE_WIDTH_TYPE,
-        GAP_HALF,
         LEFT_MARGIN,
         HORI_ORIENT,
         TablePropertyMapTarget_MAX
commit 3479f03590d4639459eaa20901d8ae0a2f3c1d5e
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Jan 20 09:43:39 2023 +0000
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:42 2023 +0100

    std::abort() during CppunitTest_sw_layoutwriter
    
    seen in fedora distro build. Probably since:
    
    commit 4170b94c443b3bd68b4cc75b8c344ecca3c249b0
    Date:   Tue Nov 8 18:27:05 2022 +0100
    
        SwModelTestBase: inherit from UnoApiXmlTest
    
    See original discussion in https://gerrit.libreoffice.org/c/core/+/142465
    
    use an alternative approach to solve this
    
    [_RUN_____] testTdf143239::TestBody
    Fatal exception: Signal 6
    Stack:
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libuno_sal.so.3(+0x48bd8)[0xffff95428bd8]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libuno_sal.so.3(+0x4fd8c)[0xffff9542fd8c]
    linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xffff955247fc]
    /lib64/libc.so.6(+0x8d568)[0xffff94f2d568]
    /lib64/libc.so.6(gsignal+0x20)[0xffff94ee3e80]
    /lib64/libc.so.6(abort+0xf4)[0xffff94ed0284]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZN3psp16PrintFontManager10SubstituteERN3vcl4font17FontSelectPatternERN3rtl8OUStringE+0xbc4)[0xffff91980de4]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(+0x891ea8)[0xffff91981ea8]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZNK3vcl4font22PhysicalFontCollection20GetGlyphFallbackFontERNS0_17FontSelectPatternEP19LogicalFontInstanceRN3rtl8OUStringEi+0xd0)[0xffff9186a7c0]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZNK12OutputDevice10ImplLayoutERKN3rtl8OUStringEiiRK5Pointl13KernArraySpanN4o3tl4spanIKhEE14SalLayoutFlagsPKN3vcl4text15TextLayoutCacheEPK15SalLayoutGlyphs+0x112c)[0xffff915be0c0]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZNK12OutputDevice12GetTextArrayERKN3rtl8OUStringEP9KernArrayiibPKN3vcl4text15TextLayoutCacheEPK15SalLayoutGlyphs+0x2c4)[0xffff915bf2b8]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZN18ImplFontMetricData20ImplInitTextLineSizeEPK12OutputDevice+0x74)[0xffff91873da4]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZNK12OutputDevice11ImplNewFontEv+0x1c8)[0xffff915b7318]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(+0x4c5f70)[0xffff915b5f70]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZNK12OutputDevice14GetFontCharMapERN5tools5SvRefI11FontCharMapEE+0x34)[0xffff915b9004]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZNK12OutputDevice9HasGlyphsERKN3vcl4FontESt17basic_string_viewIDsSt11char_traitsIDsEEii+0x90)[0xffff915b9300]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libsvtlo.so(+0xff560)[0xffff8cadf560]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libsvtlo.so(_ZN11FontNameBox12CachePreviewEmP5Point+0x288)[0xffff8cae0168]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libsvtlo.so(+0x100448)[0xffff8cae0448]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZN9Scheduler22CallbackTaskSchedulingEv+0x30c)[0xffff917b050c]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZN14SvpSalInstance12CheckTimeoutEb+0x140)[0xffff919790a0]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZN14SvpSalInstance9ImplYieldEbb+0x98)[0xffff91979818]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZN14SvpSalInstance7DoYieldEbb+0xe0)[0xffff91979b70]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/instdir/program/libvcllo.so(_ZN9Scheduler19ProcessEventsToIdleEv+0x40)[0xffff917bac84]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/workdir/LinkTarget/CppunitTest/libtest_sw_layoutwriter.so(+0x5520c)[0xffff8d87520c]
    /lib64/libcppunit-1.15.so.1(+0x1e4dc)[0xffff9549e4dc]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/workdir/LinkTarget/Library/unoexceptionprotector.so(+0x107ec)[0xffff94e107ec]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit16DefaultProtector7protectERKNS_7FunctorERKNS_16ProtectorContextE+0x3c)[0xffff9549e1cc]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit14ProtectorChain7protectERKNS_7FunctorERKNS_16ProtectorContextE+0x320)[0xffff954969f4]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit10TestResult7protectERKNS_7FunctorEPNS_4TestERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x80)[0xffff954a06d0]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit8TestCase3runEPNS_10TestResultE+0x11c)[0xffff954a993c]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit13TestComposite15doRunChildTestsEPNS_10TestResultE+0xe0)[0xffff9549e980]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit13TestComposite3runEPNS_10TestResultE+0x58)[0xffff9549e6a8]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit13TestComposite15doRunChildTestsEPNS_10TestResultE+0xe0)[0xffff9549e980]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit13TestComposite3runEPNS_10TestResultE+0x58)[0xffff9549e6a8]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit10TestResult7runTestEPNS_4TestE+0x38)[0xffff9549f5a8]
    
/lib64/libcppunit-1.15.so.1(_ZN7CppUnit10TestRunner3runERNS_10TestResultERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x70)[0xffff954a6b70]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/workdir/LinkTarget/Executable/cppunittester(+0x1443c)[0xaaaac255443c]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/workdir/LinkTarget/Executable/cppunittester(+0x15390)[0xaaaac2555390]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/workdir/LinkTarget/Executable/cppunittester(+0x10a38)[0xaaaac2550a38]
    /lib64/libc.so.6(+0x30588)[0xffff94ed0588]
    /lib64/libc.so.6(__libc_start_main+0x9c)[0xffff94ed0660]
    
/builddir/build/BUILD/libreoffice-7.5.0.2/workdir/LinkTarget/Executable/cppunittester(+0x10ab0)[0xaaaac2550ab0]
    which: no gdb in 
(/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/lib/jvm/java-17-openjdk-17.0.6.0.9-0.2.ea.fc38.aarch64/bin)
    You need gdb in your path to show backtraces
    Error: a unit test failed, please do one of:
    make CppunitTest_sw_layoutwriter CPPUNITTRACE="gdb --args"
        # for interactive debugging on Linux
    make CppunitTest_sw_layoutwriter VALGRIND=memcheck
        # for memory checking
    make CppunitTest_sw_layoutwriter DEBUGCPPUNIT=TRUE
        # for exception catching
    You can limit the execution to just one particular test by:
    
    Change-Id: Ife968c5d1d49081b1d28d50a557bc90d59980fc0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145808
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>

diff --git a/svtools/source/control/ctrlbox.cxx 
b/svtools/source/control/ctrlbox.cxx
index 89029444b292..147fdd31ee0e 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -504,9 +504,11 @@ void FontNameBox::Fill( const FontList* pList )
         set_active_or_entry_text(aOldText);
 }
 
+static bool IsRunningUnitTest() { return getenv("LO_TESTNAME") != nullptr; }
+
 void FontNameBox::EnableWYSIWYG(bool bEnable)
 {
-    if (comphelper::LibreOfficeKit::isActive())
+    if (comphelper::LibreOfficeKit::isActive() || IsRunningUnitTest())
         return;
     if (mbWYSIWYG == bEnable)
         return;
commit 8d396cbbe53f8bed094aa9d5e78817a550e5defc
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Jan 20 12:37:11 2023 +0000
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:42 2023 +0100

    don't crash with --disable-pdfium
    
    Change-Id: I946e62d70b937d27b2f1258acc643fdaa5bee23d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145809
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>

diff --git a/sw/qa/core/text/text.cxx b/sw/qa/core/text/text.cxx
index db1895b795c0..c4821f5d6eae 100644
--- a/sw/qa/core/text/text.cxx
+++ b/sw/qa/core/text/text.cxx
@@ -634,6 +634,10 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testTdf43100_CursorMoveToSpacesOverMargin)
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testContentControlPDF)
 {
+    std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
+    if (!pPDFium)
+        return;
+
     // Given a file with a content control:
     createSwDoc();
     SwDoc* pDoc = getSwDoc();
@@ -677,6 +681,10 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testContentControlPDF)
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testCheckboxContentControlPDF)
 {
+    std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
+    if (!pPDFium)
+        return;
+
     // Given a file with a checkbox content control:
     createSwDoc();
     SwDoc* pDoc = getSwDoc();
@@ -703,6 +711,10 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testCheckboxContentControlPDF)
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testDropdownContentControlPDF)
 {
+    std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
+    if (!pPDFium)
+        return;
+
     // Given a file with a dropdown content control:
     createSwDoc();
     SwDoc* pDoc = getSwDoc();
@@ -729,6 +741,10 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testDropdownContentControlPDF)
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testDateContentControlPDF)
 {
+    std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
+    if (!pPDFium)
+        return;
+
     // Given a file with a date content control:
     createSwDoc();
     SwDoc* pDoc = getSwDoc();
@@ -758,6 +774,10 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testDateContentControlPDF)
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testContentControlPDFFont)
 {
+    std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
+    if (!pPDFium)
+        return;
+
     // Given a document with a custom 24pt font size and a content control:
     createSwDoc();
     SwDoc* pDoc = getSwDoc();
@@ -786,6 +806,10 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testContentControlPDFFont)
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testComboContentControlPDF)
 {
+    std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
+    if (!pPDFium)
+        return;
+
     // Given a file with a combo box content control:
     createSwDoc();
     SwDoc* pDoc = getSwDoc();
@@ -813,6 +837,10 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testComboContentControlPDF)
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testRichContentControlPDF)
 {
+    std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
+    if (!pPDFium)
+        return;
+
     // Given a file with a rich content control, its value set to 
"xxx<b>yyy</b>":
     createSwDoc();
     SwDoc* pDoc = getSwDoc();
diff --git a/sw/qa/extras/mailmerge/mailmerge2.cxx 
b/sw/qa/extras/mailmerge/mailmerge2.cxx
index 20eb6b0f3896..cd8871e780d3 100644
--- a/sw/qa/extras/mailmerge/mailmerge2.cxx
+++ b/sw/qa/extras/mailmerge/mailmerge2.cxx
@@ -513,7 +513,8 @@ DECLARE_SHELL_MAILMERGE_TEST(exportDirectToPDF_shell, 
"linked-with-condition.odt
     SvMemoryStream aMemory;
     aMemory.WriteStream(aPDFFile);
     std::shared_ptr<vcl::pdf::PDFium> pPDFium = vcl::pdf::PDFiumLibrary::get();
-    CPPUNIT_ASSERT(pPDFium);
+    if (!pPDFium)
+        return;
 
     std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument
         = pPDFium->openDocument(aMemory.GetData(), aMemory.GetSize(), 
OString());
commit e9b4a38847944afe2a14166193363b5ebc5d5ee9
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Mon Jan 23 08:08:29 2023 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:41 2023 +0100

    tdf#153046 RTF import: fix lost paragraph alignment after page break
    
    The bugdoc had a page break, and the paragraph after the page break is
    meant to be centered, but it was aligned to the left.
    
    This went wrong with 3c610336a58f644525d5e4d2566c35eee6f7a618
    (tdf#148214 RTF import: avoid fake paragraph for \page when possible,
    2022-09-08), previously we emitted fake paragraphs in most cases, which
    allowed simpler handling of pending paragraph properties. Now we have to
    be careful to call checkNeedPap() exactly when parBreak() in called,
    otherwise checkNeedPap() sends paragraph properties, and paragraph
    properties noticed later will be lost.
    
    Fix the problem by not sending paragraph properties unconditionally,
    only in case we send the fake paragraph break as well. This continues to
    allow the unwanted fake paragraphs in some cases, but it restores the
    lost paragraph properties, since m_bNeedPap will be still true after we
    hit the first character in the last paragraph, so \qc is sent to
    dmapper.
    
    Note that we don't have to check m_bNeedPap before checkNeedPap(), as it
    returns early already when m_bNeedPap is false.
    
    Change-Id: I683d42208072a84fe578e397ac3e29585da5aa89
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145990
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    Tested-by: Jenkins
    (cherry picked from commit e316524d9fe7720ed0a5eaf94999e54d211a8395)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145945
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/writerfilter/qa/cppunittests/rtftok/data/center-after-page.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/center-after-page.rtf
new file mode 100644
index 000000000000..c4713906ed4c
--- /dev/null
+++ b/writerfilter/qa/cppunittests/rtftok/data/center-after-page.rtf
@@ -0,0 +1,10 @@
+{\rtf1
+{\stylesheet
+{\s20\qc Title;}
+}
+\paperw11908\paperh8833
+\plain\plain
+first page\par
+\ql\par
+\page\pard\s20\qc second page\par
+}
diff --git a/writerfilter/qa/cppunittests/rtftok/rtfdispatchsymbol.cxx 
b/writerfilter/qa/cppunittests/rtftok/rtfdispatchsymbol.cxx
index 25e87099abe7..fa491121656a 100644
--- a/writerfilter/qa/cppunittests/rtftok/rtfdispatchsymbol.cxx
+++ b/writerfilter/qa/cppunittests/rtftok/rtfdispatchsymbol.cxx
@@ -10,6 +10,8 @@
 #include <test/unoapi_test.hxx>
 
 #include <com/sun/star/text/XTextDocument.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/style/ParagraphAdjust.hpp>
 
 using namespace ::com::sun::star;
 
@@ -40,6 +42,28 @@ CPPUNIT_TEST_FIXTURE(Test, testPage)
     // paragraphs, not 2.
     CPPUNIT_ASSERT(!xParagraphs->hasMoreElements());
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testCenterAfterPage)
+{
+    // Given a file with a \page, followed by a \qc:
+    // When loading that file:
+    loadFromURL(u"center-after-page.rtf");
+
+    // Then make sure that the last paragraph is centered:
+    uno::Reference<text::XTextDocument> xTextDocument(mxComponent, 
uno::UNO_QUERY);
+    uno::Reference<container::XEnumerationAccess> 
xText(xTextDocument->getText(), uno::UNO_QUERY);
+    uno::Reference<container::XEnumeration> xParagraphs = 
xText->createEnumeration();
+    xParagraphs->nextElement();
+    xParagraphs->nextElement();
+    uno::Reference<beans::XPropertySet> xParagraph(xParagraphs->nextElement(), 
uno::UNO_QUERY);
+    sal_Int16 eActual{};
+    CPPUNIT_ASSERT(xParagraph->getPropertyValue("ParaAdjust") >>= eActual);
+    // Without the accompanying fix in place, this test would have failed with:
+    // - Expected: 3 (CENTER)
+    // - Actual  : 0 (LEFT)
+    // i.e. the paragraph alignment on the second page was lost.
+    
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int16>(style::ParagraphAdjust_CENTER), 
eActual);
+}
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx 
b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
index c884ba592f6a..9aa9a2ce4a2e 100644
--- a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
@@ -391,7 +391,12 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword 
nKeyword)
             {
                 bool bFirstRun = m_bFirstRun;
                 checkFirstRun();
-                checkNeedPap();
+                if (bFirstRun || m_bNeedCr)
+                {
+                    // Only send the paragraph properties early if we'll 
create a new paragraph in a
+                    // bit anyway.
+                    checkNeedPap();
+                }
                 sal_uInt8 const sBreak[] = { 0xc };
                 Mapper().text(sBreak, 1);
                 if (bFirstRun || m_bNeedCr)
commit 570f4ca0ae52152723202ec272806eea7c317af5
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Fri Jan 13 08:56:29 2023 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:41 2023 +0100

    sc: fix crash in ScViewData::GetCurXForTab()
    
    Crashreport signature:
    
    program/libsclo.so
            ScViewData::GetCurXForTab(short) const
                    sc/source/ui/view/viewdata.cxx:1431
    program/libsclo.so
            ScViewFunc::OnLOKInsertDeleteColumn(short, long)
                    sc/source/ui/view/viewfunc.cxx:1552
    program/libsclo.so
            ScDocFunc::InsertCells(ScRange const&, ScMarkData const*, 
InsCellCmd, bool, bool, bool)
                    source/ui/docshell/docfunc.cxx:2256
    program/libsclo.so
            ScViewFunc::InsertCells(InsCellCmd, bool, bool)
                    sc/source/ui/view/viewfunc.cxx:1658
    
    Seeing that e.g. ScViewData::WriteUserDataSequence() already checks if
    the pointer in maTabData is a nullptr, do the same here.
    
    Change-Id: I0ebdba8c8a5bedd3c3c57c36bdf0632e2fee45c9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145697
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    (cherry picked from commit 1f8c02353d653a6d4a72d918aaf6be5f367137c9)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145729
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 0ef96d96c7ae..ae68a5dfc725 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -1429,7 +1429,7 @@ SCROW ScViewData::GetPosY( ScVSplitPos eWhich, SCTAB 
nForTab ) const
 
 SCCOL ScViewData::GetCurXForTab( SCTAB nTabIndex ) const
 {
-    if (!ValidTab(nTabIndex) || (nTabIndex >= 
static_cast<SCTAB>(maTabData.size())))
+    if (!ValidTab(nTabIndex) || (nTabIndex >= 
static_cast<SCTAB>(maTabData.size())) || !maTabData[nTabIndex])
         return -1;
 
     return maTabData[nTabIndex]->nCurX;
commit f1ba9ed92e7dadfbc628d8f9279808c155ecb76c
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Fri Jan 20 10:18:54 2023 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:41 2023 +0100

    tdf#150819 crash after a few paste and undo
    
    regression from
        commit 3a02b5f8aae803b7b5a232c724135594483627a4
        Author: Noel Grandin <noelgran...@gmail.com>
        Date:   Tue Aug 16 18:44:31 2022 +0200
        convert more nNode to SwPosition::GetNode
    
    Change-Id: I636590ec5eb28f0db3640464a49f0ab5582ff853
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145864
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    (cherry picked from commit b70eee2d394dd7249c2de0cb41ccc47f80a05f8f)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145947
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>

diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx
index 540d5ce7509b..afef83e76df5 100644
--- a/sw/source/core/docnode/nodes.cxx
+++ b/sw/source/core/docnode/nodes.cxx
@@ -1532,7 +1532,7 @@ void SwNodes::MoveRange( SwPaM & rPam, SwPosition & rPos, 
SwNodes& rNodes )
                 pDestNd->SplitContentNode(rPos, nullptr);
             }
 
-            if( rPos.GetNodeIndex() == aEndIdx.GetIndex() )
+            if( rPos.GetNode() == aEndIdx.GetNode() )
             {
                 --aEndIdx;
             }
commit d284af621f4cfefa4a36a78b3dbc78e9403e2005
Author:     Attila Szűcs <attila.sz...@collabora.com>
AuthorDate: Fri Jan 13 04:49:33 2023 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:41 2023 +0100

    tdf#148000 impress: Handle linebreaks on fontwork.
    
    Split text lines in a paragraph, right before polygons are created
    for rendering, so eol will brake line in fontwork just like eop.
    
    Change-Id: Ie9e6764f9f91c2e19afd43dc9a212bd18c41c99d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145425
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    (cherry picked from commit f9d6dd788e82a1964dab9cc0d0436c8c54b775c0)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145804
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>

diff --git a/include/svx/svdmodel.hxx b/include/svx/svdmodel.hxx
index 7c23b5a24712..b5d93fa53eb7 100644
--- a/include/svx/svdmodel.hxx
+++ b/include/svx/svdmodel.hxx
@@ -575,6 +575,10 @@ public:
     void SetAnchoredTextOverflowLegacy(bool bEnabled);
     bool IsAnchoredTextOverflowLegacy() const;
 
+    // tdf#148000 compatibility flag
+    void SetLegacySingleLineFontwork(bool bEnabled);
+    bool IsLegacySingleLineFontwork() const;
+
     void ReformatAllTextObjects();
 
     std::unique_ptr<SdrOutliner> createOutliner( OutlinerMode nOutlinerMode );
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 2f2f3521ae4e..458feb6dea2a 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -590,6 +590,8 @@ bool ScDocShell::Load( SfxMedium& rMedium )
     {
         if (m_pDocument->GetDrawLayer())
             m_pDocument->GetDrawLayer()->SetAnchoredTextOverflowLegacy(true);
+        if (m_pDocument->GetDrawLayer())
+            m_pDocument->GetDrawLayer()->SetLegacySingleLineFontwork(true); 
//for tdf#148000
     }
 
     GetUndoManager()->Clear();
diff --git a/sd/source/ui/docshell/docshel4.cxx 
b/sd/source/ui/docshell/docshel4.cxx
index 13b08deafa1a..0bdfef02b7db 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -269,6 +269,7 @@ bool DrawDocShell::Load( SfxMedium& rMedium )
     if (IsOwnStorageFormat(rMedium))
     {
         mpDoc->SetAnchoredTextOverflowLegacy(true);
+        mpDoc->SetLegacySingleLineFontwork(true); //for tdf#148000
     }
 
     bool       bRet = false;
diff --git a/svx/qa/unit/data/tdf148000_EOLinCurvedText.pptx 
b/svx/qa/unit/data/tdf148000_EOLinCurvedText.pptx
new file mode 100644
index 000000000000..137fc816697a
Binary files /dev/null and b/svx/qa/unit/data/tdf148000_EOLinCurvedText.pptx 
differ
diff --git a/svx/qa/unit/data/tdf148000_EOLinCurvedText_Legacy.odp 
b/svx/qa/unit/data/tdf148000_EOLinCurvedText_Legacy.odp
new file mode 100644
index 000000000000..13e7cc4e5c8a
Binary files /dev/null and 
b/svx/qa/unit/data/tdf148000_EOLinCurvedText_Legacy.odp differ
diff --git a/svx/qa/unit/data/tdf148000_EOLinCurvedText_New.odp 
b/svx/qa/unit/data/tdf148000_EOLinCurvedText_New.odp
new file mode 100644
index 000000000000..7ebdb9431b72
Binary files /dev/null and b/svx/qa/unit/data/tdf148000_EOLinCurvedText_New.odp 
differ
diff --git a/svx/qa/unit/svdraw.cxx b/svx/qa/unit/svdraw.cxx
index c2a7f244b8ab..7bf1ceb9d4a1 100644
--- a/svx/qa/unit/svdraw.cxx
+++ b/svx/qa/unit/svdraw.cxx
@@ -382,6 +382,48 @@ CPPUNIT_TEST_FIXTURE(SvdrawTest, testFontWorks)
                 "32");
 }
 
+CPPUNIT_TEST_FIXTURE(SvdrawTest, testTdf148000_EOLinCurvedText)
+{
+    std::vector<OUString> aFilenames
+        = { u"tdf148000_EOLinCurvedText.pptx", 
u"tdf148000_EOLinCurvedText_New.odp",
+            u"tdf148000_EOLinCurvedText_Legacy.odp" };
+
+    for (int i = 0; i < 3; i++)
+    {
+        loadFromURL(aFilenames[i]);
+
+        SdrPage* pSdrPage = getFirstDrawPageWithAssert();
+
+        xmlDocUniquePtr pXmlDoc = 
lcl_dumpAndParseFirstObjectWithAssert(pSdrPage);
+
+        OString aBasePath
+            = 
"/primitive2D/objectinfo[4]/unhandled/unhandled/polypolygoncolor/polypolygon/";
+
+        // The text is: "O" + eop + "O" + eol + "O"
+        // It should be displayed as 3 line of text. (1 "O" letter in every 
line)
+        sal_Int32 nY1 = getXPath(pXmlDoc, aBasePath + "polygon[1]/point[1]", 
"y").toInt32();
+        sal_Int32 nY2 = getXPath(pXmlDoc, aBasePath + "polygon[3]/point[1]", 
"y").toInt32();
+        sal_Int32 nY3 = getXPath(pXmlDoc, aBasePath + "polygon[5]/point[1]", 
"y").toInt32();
+
+        sal_Int32 nDiff21 = nY2 - nY1;
+        sal_Int32 nDiff32 = nY3 - nY2;
+
+        // the 2. "O" must be positioned much lower as the 1. "O". (the eop 
break the line)
+        CPPUNIT_ASSERT_GREATER(sal_Int32(300), nDiff21);
+        if (i < 2)
+        {
+            // the 3. "O" must be positioned even lower with 1 line. (the eol 
must break the line as well)
+            CPPUNIT_ASSERT_LESS(sal_Int32(50), abs(nDiff32 - nDiff21));
+        }
+        else
+        {
+            // In legacy mode, the 3. "O" must be positioned about the same 
high as the 2. "O"
+            // the eol not break the line.
+            CPPUNIT_ASSERT_LESS(sal_Int32(50), nDiff32);
+        }
+    }
+}
+
 CPPUNIT_TEST_FIXTURE(SvdrawTest, testSurfaceMetal)
 {
     loadFromURL(u"tdf140321_metal.odp");
diff --git a/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx 
b/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
index e8e3bd026cd1..672cd28fbc8e 100644
--- a/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
@@ -36,6 +36,7 @@
 #include <editeng/charscaleitem.hxx>
 #include <svx/svdoashp.hxx>
 #include <svx/sdshitm.hxx>
+#include <svx/svdmodel.hxx>
 #include <editeng/outlobj.hxx>
 #include <editeng/editobj.hxx>
 #include <o3tl/numeric.hxx>
@@ -50,6 +51,7 @@
 #include <sal/log.hxx>
 #include <rtl/math.hxx>
 #include <unotools/configmgr.hxx>
+#include <comphelper/string.hxx>
 
 using namespace com::sun::star;
 using namespace com::sun::star::uno;
@@ -116,27 +118,58 @@ static bool InitializeFontWorkData(
         if ( pParaObj )
         {
             const EditTextObject& rTextObj = pParaObj->GetTextObject();
-            sal_Int32 nParagraphsLeft = rTextObj.GetParagraphCount();
+            sal_Int32 nParagraphsCount = rTextObj.GetParagraphCount();
+
+            // Collect all the lines from all paragraphs
+            std::vector<int> aLineParaID;      // which para this line is in
+            std::vector<int> aLineStart;       // where this line start in 
that para
+            std::vector<int> aLineLength;
+            std::vector<OUString> aParaText;
+            for (sal_Int32 nPara = 0; nPara < nParagraphsCount; ++nPara)
+            {
+                aParaText.push_back(rTextObj.GetText(nPara));
+                sal_Int32 nPos = 0;
+                sal_Int32 nPrevPos = 0;
+                do
+                {
+                    // search line break.
+                    if 
(!rSdrObjCustomShape.getSdrModelFromSdrObject().IsLegacySingleLineFontwork())
+                        nPos = aParaText[nPara].indexOf(sal_Unicode(u'\1'), 
nPrevPos);
+                    else
+                        nPos = -1; // tdf#148000: ignore line breaks in legacy 
fontworks
+
+                    aLineParaID.push_back(nPara);
+                    aLineStart.push_back(nPrevPos);
+                    aLineLength.push_back((nPos >= 0 ? nPos : 
aParaText[nPara].getLength())
+                                          - nPrevPos);
+                    nPrevPos = nPos + 1;
+                } while (nPos >= 0);
+            }
+
+            sal_Int32 nLinesLeft = aLineParaID.size();
 
-            rFWData.nMaxParagraphsPerTextArea = ( ( nParagraphsLeft - 1 ) / 
nTextAreaCount ) + 1;
-            sal_Int32 j = 0;
-            while( nParagraphsLeft && nTextAreaCount )
+            rFWData.nMaxParagraphsPerTextArea = ((nLinesLeft - 1) / 
nTextAreaCount) + 1;
+            sal_Int32 nLine = 0;
+            while (nLinesLeft && nTextAreaCount)
             {
                 FWTextArea aTextArea;
-                sal_Int32 i, nParagraphs = ( ( nParagraphsLeft - 1 ) / 
nTextAreaCount ) + 1;
-                for ( i = 0; i < nParagraphs; ++i, ++j )
+                sal_Int32 nLinesInPara = ((nLinesLeft - 1) / nTextAreaCount) + 
1;
+                for (sal_Int32 i = 0; i < nLinesInPara; ++i, ++nLine)
                 {
                     FWParagraphData aParagraphData;
-                    aParagraphData.aString = rTextObj.GetText( j );
+                    aParagraphData.aString = 
aParaText[aLineParaID[nLine]].subView(
+                        aLineStart[nLine], aLineLength[nLine]);
 
-                    const SfxItemSet& rParaSet = rTextObj.GetParaAttribs( j ); 
 // retrieving some paragraph attributes
-                    aParagraphData.nFrameDirection = rParaSet.Get( 
EE_PARA_WRITINGDIR ).GetValue();
-                    aTextArea.vParagraphs.push_back( aParagraphData );
+                    // retrieving some paragraph attributes
+                    const SfxItemSet& rParaSet = 
rTextObj.GetParaAttribs(aLineParaID[nLine]);
+                    aParagraphData.nFrameDirection = 
rParaSet.Get(EE_PARA_WRITINGDIR).GetValue();
+                    aTextArea.vParagraphs.push_back(aParagraphData);
                 }
-                rFWData.vTextAreas.push_back( aTextArea );
-                nParagraphsLeft -= nParagraphs;
+                rFWData.vTextAreas.push_back(aTextArea);
+                nLinesLeft -= nLinesInPara;
                 nTextAreaCount--;
             }
+
             bNoErr = true;
         }
     }
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index 3feb1ae0669b..bc86671c9437 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -72,6 +72,9 @@
 #include <comphelper/diagnose_ex.hxx>
 #include <tools/UnitConversion.hxx>
 #include <svx/ColorSets.hxx>
+#include <svx/svditer.hxx>
+#include <svx/svdoashp.hxx>
+
 
 using namespace ::com::sun::star;
 
@@ -80,12 +83,14 @@ struct SdrModelImpl
     SfxUndoManager* mpUndoManager;
     SdrUndoFactory* mpUndoFactory;
     bool mbAnchoredTextOverflowLegacy; // tdf#99729 compatibility flag
+    bool mbLegacySingleLineFontwork;   // tdf#148000 compatibility flag
     std::unique_ptr<svx::Theme> mpTheme;
 
     SdrModelImpl()
         : mpUndoManager(nullptr)
         , mpUndoFactory(nullptr)
         , mbAnchoredTextOverflowLegacy(false)
+        , mbLegacySingleLineFontwork(false)
     {}
 };
 
@@ -1718,6 +1723,16 @@ bool SdrModel::IsAnchoredTextOverflowLegacy() const
     return mpImpl->mbAnchoredTextOverflowLegacy;
 }
 
+void SdrModel::SetLegacySingleLineFontwork(bool bEnabled)
+{
+    mpImpl->mbLegacySingleLineFontwork = bEnabled;
+}
+
+bool SdrModel::IsLegacySingleLineFontwork() const
+{
+    return mpImpl->mbLegacySingleLineFontwork;
+}
+
 void SdrModel::ReformatAllTextObjects()
 {
     ImpReformatAllTextObjects();
@@ -1761,6 +1776,32 @@ void SdrModel::ReadUserDataSequenceValue(const 
beans::PropertyValue* pValue)
             mpImpl->mbAnchoredTextOverflowLegacy = bBool;
         }
     }
+    else if (pValue->Name == "LegacySingleLineFontwork")
+    {
+        bool bBool = false;
+        if (pValue->Value >>= bBool)
+        {
+            mpImpl->mbLegacySingleLineFontwork = bBool;
+            // tdf#148000 hack: reset all CustomShape geometry as they may 
depend on this property
+            // Ideally this ReadUserDataSequenceValue should be called before 
geometry creation
+            // Once the calling order will be fixed, this hack will not be 
needed.
+            for (size_t i = 0; i < maPages.size(); ++i)
+            {
+                if (const SdrPage* pPage = maPages[i].get())
+                {
+                    SdrObjListIter aIter(pPage, SdrIterMode::DeepWithGroups);
+                    while (aIter.IsMore())
+                    {
+                        SdrObject* pTempObj = aIter.Next();
+                        if (SdrObjCustomShape* pShape = 
dynamic_cast<SdrObjCustomShape*>(pTempObj))
+                        {
+                            pShape->InvalidateRenderGeometry();
+                        }
+                    }
+                }
+            }
+        }
+    }
 }
 
 template <typename T>
@@ -1773,6 +1814,7 @@ void SdrModel::WriteUserDataSequence(uno::Sequence 
<beans::PropertyValue>& rValu
 {
     std::vector< std::pair< OUString, uno::Any > > aUserData;
     addPair(aUserData, "AnchoredTextOverflowLegacy", 
IsAnchoredTextOverflowLegacy());
+    addPair(aUserData, "LegacySingleLineFontwork", 
IsLegacySingleLineFontwork());
 
     const sal_Int32 nOldLength = rValues.getLength();
     rValues.realloc(nOldLength + aUserData.size());
diff --git a/sw/source/uibase/app/docshini.cxx 
b/sw/source/uibase/app/docshini.cxx
index c5432a98af29..72e630ac02b2 100644
--- a/sw/source/uibase/app/docshini.cxx
+++ b/sw/source/uibase/app/docshini.cxx
@@ -476,10 +476,12 @@ bool  SwDocShell::Load( SfxMedium& rMedium )
         // (if required, they will be overridden later when settings will be 
read)
         if (IsOwnStorageFormat(rMedium))
         {
-            // legacy processing for tdf#99729
-            if (m_xDoc->getIDocumentDrawModelAccess().GetDrawModel())
-                
m_xDoc->getIDocumentDrawModelAccess().GetDrawModel()->SetAnchoredTextOverflowLegacy(
-                    true);
+            SwDrawModel* pDrawModel = 
m_xDoc->getIDocumentDrawModelAccess().GetDrawModel();
+            if (pDrawModel)
+            {
+                pDrawModel->SetAnchoredTextOverflowLegacy(true); // legacy 
processing for tdf#99729
+                pDrawModel->SetLegacySingleLineFontwork(true); // legacy 
processing for tdf#148000
+            }
         }
 
         // Loading
commit 45277f45a647f3e42c6bb837378510985b9b30a1
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Jan 23 14:30:50 2023 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Mon Jan 23 20:39:41 2023 +0100

    update credits
    
    Change-Id: Icbf6bd2aba36baccb5e4046f02c6c5c69cb5f7e1
    (cherry picked from commit 6bfd22b65fc5eb6539108887ea6242223f3e9655)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 6b504d051674..b80c8112ec20 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -156,29 +156,29 @@
   </office:script>
  </office:scripts>
  <office:font-face-decls>
-  <style:font-face style:name="Albany" svg:font-family="Albany" 
style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="Mangal1" svg:font-family="Mangal"/>
+  <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/>
+  <style:font-face style:name="sans-serif" svg:font-family="sans-serif"/>
   <style:font-face style:name="Arial Unicode MS" svg:font-family="&apos;Arial 
Unicode MS&apos;" style:font-pitch="variable"/>
   <style:font-face style:name="HG Mincho Light J" svg:font-family="&apos;HG 
Mincho Light J&apos;" style:font-pitch="variable"/>
-  <style:font-face style:name="Liberation Sans" 
svg:font-family="&apos;Liberation Sans&apos;" style:font-adornments="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable"/>
-  <style:font-face style:name="Liberation Sans1" 
svg:font-family="&apos;Liberation Sans&apos;" style:font-adornments="Regular" 
style:font-family-generic="swiss" style:font-pitch="variable"/>
-  <style:font-face style:name="Mangal" svg:font-family="Mangal"/>
-  <style:font-face style:name="Mangal1" svg:font-family="Mangal" 
style:font-family-generic="system" style:font-pitch="variable"/>
-  <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/>
-  <style:font-face style:name="SimSun" svg:font-family="SimSun" 
style:font-family-generic="system" style:font-pitch="variable"/>
   <style:font-face style:name="Thorndale AMT" svg:font-family="&apos;Thorndale 
AMT&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
-  <style:font-face style:name="sans-serif" svg:font-family="sans-serif"/>
+  <style:font-face style:name="Albany" svg:font-family="Albany" 
style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="Liberation Sans1" 
svg:font-family="&apos;Liberation Sans&apos;" style:font-adornments="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="Liberation Sans" 
svg:font-family="&apos;Liberation Sans&apos;" style:font-adornments="Regular" 
style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="Mangal" svg:font-family="Mangal" 
style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="SimSun" svg:font-family="SimSun" 
style:font-family-generic="system" style:font-pitch="variable"/>
  </office:font-face-decls>
  <office:styles>
   <style:default-style style:family="graphic">
    <style:graphic-properties svg:stroke-color="#3465a4" 
draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" 
draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" 
draw:start-line-spacing-vertical="0.283cm" 
draw:end-line-spacing-horizontal="0.283cm" 
draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="true"/>
-   <style:paragraph-properties style:text-autospace="ideograph-alpha" 
style:line-break="strict" style:font-independent-line-spacing="false">
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" 
style:line-break="strict" style:writing-mode="lr-tb" 
style:font-independent-line-spacing="false">
     <style:tab-stops/>
    </style:paragraph-properties>
-   <style:text-properties style:use-window-font-color="true" 
loext:opacity="0%" loext:color-lum-mod="100%" loext:color-lum-off="0%" 
style:font-name="Thorndale AMT" fo:font-size="12pt" fo:language="hu" 
fo:country="HU" style:letter-kerning="true" style:font-name-asian="SimSun" 
style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" 
style:font-name-complex="Mangal1" style:font-size-complex="12pt" 
style:language-complex="hi" style:country-complex="IN"/>
+   <style:text-properties style:use-window-font-color="true" 
loext:opacity="0%" style:font-name="Thorndale AMT" fo:font-size="12pt" 
fo:language="hu" fo:country="HU" style:letter-kerning="true" 
style:font-name-asian="SimSun" style:font-size-asian="12pt" 
style:language-asian="zh" style:country-asian="CN" 
style:font-name-complex="Mangal" style:font-size-complex="12pt" 
style:language-complex="hi" style:country-complex="IN"/>
   </style:default-style>
   <style:default-style style:family="paragraph">
    <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" 
style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" 
style:line-break="strict" style:tab-stop-distance="1.251cm" 
style:writing-mode="page"/>
-   <style:text-properties style:use-window-font-color="true" 
loext:opacity="0%" style:font-name="Thorndale AMT" fo:font-size="12pt" 
fo:language="hu" fo:country="HU" style:letter-kerning="true" 
style:font-name-asian="SimSun" style:font-size-asian="12pt" 
style:language-asian="zh" style:country-asian="CN" 
style:font-name-complex="Mangal1" style:font-size-complex="12pt" 
style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" 
fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" 
loext:hyphenation-no-caps="false" loext:hyphenation-no-last-word="false" 
loext:hyphenation-word-char-count="5" loext:hyphenation-zone="no-limit"/>
+   <style:text-properties style:use-window-font-color="true" 
loext:opacity="0%" style:font-name="Thorndale AMT" fo:font-size="12pt" 
fo:language="hu" fo:country="HU" style:letter-kerning="true" 
style:font-name-asian="SimSun" style:font-size-asian="12pt" 
style:language-asian="zh" style:country-asian="CN" 
style:font-name-complex="Mangal" style:font-size-complex="12pt" 
style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" 
fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" 
loext:hyphenation-no-caps="false"/>
   </style:default-style>
   <style:default-style style:family="table">
    <style:table-properties table:border-model="collapsing"/>
@@ -195,18 +195,18 @@
   </style:style>
   <style:style style:name="Text_20_body" style:display-name="Text body" 
style:family="paragraph" style:parent-style-name="Standard" style:class="text">
    <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.499cm" 
style:contextual-spacing="false"/>
-   <style:text-properties style:font-name="Liberation Sans1" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Regular" 
style:font-family-generic="swiss" style:font-pitch="variable" fo:language="en" 
fo:country="US"/>
+   <style:text-properties style:font-name="Liberation Sans" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Regular" 
style:font-family-generic="swiss" style:font-pitch="variable" fo:language="en" 
fo:country="US"/>
   </style:style>
   <style:style style:name="List" style:family="paragraph" 
style:parent-style-name="Text_20_body" style:class="list">
-   <style:text-properties style:font-size-asian="12pt" 
style:font-name-complex="Mangal" style:font-family-complex="Mangal"/>
+   <style:text-properties style:font-size-asian="12pt" 
style:font-name-complex="Mangal1" style:font-family-complex="Mangal"/>
   </style:style>
   <style:style style:name="Caption" style:family="paragraph" 
style:parent-style-name="Standard" style:class="extra">
    <style:paragraph-properties fo:margin-top="0.212cm" 
fo:margin-bottom="0.212cm" style:contextual-spacing="false" 
text:number-lines="false" text:line-number="0"/>
-   <style:text-properties fo:font-size="12pt" fo:font-style="italic" 
style:font-size-asian="12pt" style:font-style-asian="italic" 
style:font-name-complex="Mangal" style:font-family-complex="Mangal" 
style:font-size-complex="12pt" style:font-style-complex="italic"/>
+   <style:text-properties fo:font-size="12pt" fo:font-style="italic" 
style:font-size-asian="12pt" style:font-style-asian="italic" 
style:font-name-complex="Mangal1" style:font-family-complex="Mangal" 
style:font-size-complex="12pt" style:font-style-complex="italic"/>
   </style:style>
   <style:style style:name="Index" style:family="paragraph" 
style:parent-style-name="Standard" style:class="index">
    <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
-   <style:text-properties style:font-size-asian="12pt" 
style:font-name-complex="Mangal" style:font-family-complex="Mangal"/>
+   <style:text-properties style:font-size-asian="12pt" 
style:font-name-complex="Mangal1" style:font-family-complex="Mangal"/>
   </style:style>
   <style:style style:name="Horizontal_20_Line" style:display-name="Horizontal 
Line" style:family="paragraph" style:parent-style-name="Standard" 
style:next-style-name="Text_20_body" style:class="html">
    <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.499cm" 
style:contextual-spacing="false" style:border-line-width-bottom="0.002cm 
0.035cm 0.002cm" fo:padding="0cm" fo:border-left="none" fo:border-right="none" 
fo:border-top="none" fo:border-bottom="1.11pt double #808080"/>
@@ -241,7 +241,7 @@
    </style:paragraph-properties>
   </style:style>
   <style:style style:name="Heading_20_1" style:display-name="Heading 1" 
style:family="paragraph" style:parent-style-name="Heading" 
style:next-style-name="Text_20_body" style:class="text">
-   <style:text-properties style:font-name="Liberation Sans" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable" 
fo:font-size="24pt" fo:language="en" fo:country="US" fo:font-weight="bold" 
style:font-name-asian="HG Mincho Light J" style:font-family-asian="&apos;HG 
Mincho Light J&apos;" style:font-pitch-asian="variable" 
style:font-size-asian="24pt" style:font-weight-asian="bold" 
style:font-name-complex="Arial Unicode MS" 
style:font-family-complex="&apos;Arial Unicode MS&apos;" 
style:font-pitch-complex="variable" style:font-size-complex="24pt" 
style:font-weight-complex="bold"/>
+   <style:text-properties style:font-name="Liberation Sans1" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable" 
fo:font-size="24pt" fo:language="en" fo:country="US" fo:font-weight="bold" 
style:font-name-asian="HG Mincho Light J" style:font-family-asian="&apos;HG 
Mincho Light J&apos;" style:font-pitch-asian="variable" 
style:font-size-asian="24pt" style:font-weight-asian="bold" 
style:font-name-complex="Arial Unicode MS" 
style:font-family-complex="&apos;Arial Unicode MS&apos;" 
style:font-pitch-complex="variable" style:font-size-complex="24pt" 
style:font-weight-complex="bold"/>
   </style:style>
   <style:style style:name="Quotations" style:family="paragraph" 
style:parent-style-name="Standard" style:class="html">
    <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" 
fo:margin-top="0cm" fo:margin-bottom="0.499cm" style:contextual-spacing="false" 
fo:text-indent="0cm" style:auto-text-indent="false"/>
@@ -250,14 +250,14 @@
    <style:text-properties fo:font-variant="small-caps"/>
   </style:style>
   <style:style style:name="Heading_20_3" style:display-name="Heading 3" 
style:family="paragraph" style:parent-style-name="Heading" 
style:next-style-name="Text_20_body" style:default-outline-level="3" 
style:list-style-name="" style:class="text">
-   <style:text-properties style:font-name="Liberation Sans" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable" 
fo:font-size="14pt" fo:language="en" fo:country="US" fo:font-weight="bold" 
style:font-name-asian="SimSun" style:font-family-asian="SimSun" 
style:font-family-generic-asian="system" style:font-pitch-asian="variable" 
style:font-size-asian="14pt" style:font-weight-asian="bold" 
style:font-name-complex="Mangal1" style:font-family-complex="Mangal" 
style:font-family-generic-complex="system" style:font-pitch-complex="variable" 
style:font-size-complex="14pt" style:font-weight-complex="bold"/>
+   <style:text-properties style:font-name="Liberation Sans1" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable" 
fo:font-size="14pt" fo:language="en" fo:country="US" fo:font-weight="bold" 
style:font-name-asian="SimSun" style:font-family-asian="SimSun" 
style:font-family-generic-asian="system" style:font-pitch-asian="variable" 
style:font-size-asian="14pt" style:font-weight-asian="bold" 
style:font-name-complex="Mangal" style:font-family-complex="Mangal" 
style:font-family-generic-complex="system" style:font-pitch-complex="variable" 
style:font-size-complex="14pt" style:font-weight-complex="bold"/>
   </style:style>
   <style:style style:name="Table_20_Heading" style:display-name="Table 
Heading" style:family="paragraph" style:parent-style-name="Table_20_Contents" 
style:class="extra">
    <style:paragraph-properties fo:text-align="center" 
style:justify-single-word="false" text:number-lines="false" 
text:line-number="0"/>
    <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" 
style:font-weight-complex="bold"/>
   </style:style>
   <style:style style:name="Heading_20_2" style:display-name="Heading 2" 
style:family="paragraph" style:parent-style-name="Heading" 
style:next-style-name="Text_20_body" style:default-outline-level="2" 
style:list-style-name="" style:class="text">
-   <style:text-properties style:font-name="Liberation Sans" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable" 
fo:font-size="18pt" fo:language="en" fo:country="US" fo:font-weight="bold" 
style:font-name-asian="SimSun" style:font-family-asian="SimSun" 
style:font-family-generic-asian="system" style:font-pitch-asian="variable" 
style:font-size-asian="18pt" style:font-weight-asian="bold" 
style:font-name-complex="Mangal1" style:font-family-complex="Mangal" 
style:font-family-generic-complex="system" style:font-pitch-complex="variable" 
style:font-size-complex="18pt" style:font-weight-complex="bold"/>
+   <style:text-properties style:font-name="Liberation Sans1" 
fo:font-family="&apos;Liberation Sans&apos;" style:font-style-name="Bold" 
style:font-family-generic="swiss" style:font-pitch="variable" 
fo:font-size="18pt" fo:language="en" fo:country="US" fo:font-weight="bold" 
style:font-name-asian="SimSun" style:font-family-asian="SimSun" 
style:font-family-generic-asian="system" style:font-pitch-asian="variable" 
style:font-size-asian="18pt" style:font-weight-asian="bold" 
style:font-name-complex="Mangal" style:font-family-complex="Mangal" 
style:font-family-generic-complex="system" style:font-pitch-complex="variable" 
style:font-size-complex="18pt" style:font-weight-complex="bold"/>
   </style:style>
   <style:style style:name="Frame_20_contents" style:display-name="Frame 
contents" style:family="paragraph" style:parent-style-name="Text_20_body" 
style:class="extra"/>
   <style:style style:name="Title" style:family="paragraph" 
style:parent-style-name="Heading" style:next-style-name="Text_20_body" 
style:class="chapter">
@@ -292,52 +292,52 @@
    <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" 
svg:y="0cm" style:wrap="none" style:vertical-pos="top" 
style:vertical-rel="paragraph" style:horizontal-pos="center" 
style:horizontal-rel="paragraph"/>
   </style:style>
   <text:outline-style style:name="Outline">
-   <text:outline-level-style text:level="1" loext:num-list-format="%1%" 
style:num-format="">
+   <text:outline-level-style text:level="1" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="0.762cm" fo:text-indent="-0.762cm" 
fo:margin-left="0.762cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="2" loext:num-list-format="%2%" 
style:num-format="">
+   <text:outline-level-style text:level="2" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="1.016cm" fo:text-indent="-1.016cm" 
fo:margin-left="1.016cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="3" loext:num-list-format="%3%" 
style:num-format="">
+   <text:outline-level-style text:level="3" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="1.27cm" fo:text-indent="-1.27cm" 
fo:margin-left="1.27cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="4" loext:num-list-format="%4%" 
style:num-format="">
+   <text:outline-level-style text:level="4" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="1.524cm" fo:text-indent="-1.524cm" 
fo:margin-left="1.524cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="5" loext:num-list-format="%5%" 
style:num-format="">
+   <text:outline-level-style text:level="5" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="1.778cm" fo:text-indent="-1.778cm" 
fo:margin-left="1.778cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="6" loext:num-list-format="%6%" 
style:num-format="">
+   <text:outline-level-style text:level="6" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="2.032cm" fo:text-indent="-2.032cm" 
fo:margin-left="2.032cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="7" loext:num-list-format="%7%" 
style:num-format="">
+   <text:outline-level-style text:level="7" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="2.286cm" fo:text-indent="-2.286cm" 
fo:margin-left="2.286cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="8" loext:num-list-format="%8%" 
style:num-format="">
+   <text:outline-level-style text:level="8" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="2.54cm" fo:text-indent="-2.54cm" 
fo:margin-left="2.54cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="9" loext:num-list-format="%9%" 
style:num-format="">
+   <text:outline-level-style text:level="9" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="2.794cm" fo:text-indent="-2.794cm" 
fo:margin-left="2.794cm"/>
     </style:list-level-properties>
    </text:outline-level-style>
-   <text:outline-level-style text:level="10" loext:num-list-format="%10%" 
style:num-format="">
+   <text:outline-level-style text:level="10" style:num-format="">
     <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
      <style:list-level-label-alignment text:label-followed-by="listtab" 
text:list-tab-stop-position="3.048cm" fo:text-indent="-3.048cm" 
fo:margin-left="3.048cm"/>
     </style:list-level-properties>
@@ -352,18 +352,21 @@
    <style:table-properties style:width="26.174cm" table:align="left"/>
   </style:style>
   <style:style style:name="Tabelle1.A" style:family="table-column">
-   <style:table-column-properties style:column-width="6.246cm"/>
+   <style:table-column-properties style:column-width="6.854cm"/>
   </style:style>
   <style:style style:name="Tabelle1.B" style:family="table-column">
-   <style:table-column-properties style:column-width="6.828cm"/>
+   <style:table-column-properties style:column-width="6.272cm"/>
   </style:style>
   <style:style style:name="Tabelle1.C" style:family="table-column">
-   <style:table-column-properties style:column-width="6.272cm"/>
+   <style:table-column-properties style:column-width="6.749cm"/>
+  </style:style>
+  <style:style style:name="Tabelle1.D" style:family="table-column">
+   <style:table-column-properties style:column-width="6.299cm"/>
   </style:style>
   <style:style style:name="Tabelle1.A1" style:family="table-cell">
    <style:table-cell-properties style:vertical-align="middle" 
fo:padding="0.049cm" fo:border="none"/>
   </style:style>
-  <style:style style:name="Tabelle1.D423" style:family="table-cell">
+  <style:style style:name="Tabelle1.B425" style:family="table-cell">
    <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
   </style:style>
   <style:style style:name="Tabelle2" style:family="table">
@@ -427,10 +430,10 @@
    <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
   </style:style>
   <style:style style:name="Tabelle5" style:family="table">
-   <style:table-properties style:width="33.186cm" table:align="left"/>
+   <style:table-properties style:width="32.921cm" table:align="left"/>
   </style:style>
   <style:style style:name="Tabelle5.A" style:family="table-column">
-   <style:table-column-properties style:column-width="6.669cm"/>
+   <style:table-column-properties style:column-width="6.696cm"/>
   </style:style>
   <style:style style:name="Tabelle5.B" style:family="table-column">
    <style:table-column-properties style:column-width="8.072cm"/>
@@ -439,14 +442,11 @@
    <style:table-column-properties style:column-width="11.829cm"/>
   </style:style>
   <style:style style:name="Tabelle5.D" style:family="table-column">
-   <style:table-column-properties style:column-width="6.616cm"/>
+   <style:table-column-properties style:column-width="6.325cm"/>
   </style:style>
   <style:style style:name="Tabelle5.A1" style:family="table-cell">
    <style:table-cell-properties style:vertical-align="middle" 
fo:padding="0.049cm" fo:border="none"/>
   </style:style>
-  <style:style style:name="Tabelle5.B698" style:family="table-cell">
-   <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
-  </style:style>
   <style:style style:name="P1" style:family="paragraph" 
style:parent-style-name="Table_20_Contents">
    <style:text-properties fo:font-size="2pt" style:font-size-asian="2pt" 
style:font-size-complex="2pt"/>
   </style:style>
@@ -553,14 +553,14 @@
    <style:text-properties fo:font-size="2pt" style:font-size-asian="2pt" 
style:font-size-complex="2pt"/>
   </style:style>
   <style:style style:name="P32" style:family="paragraph" 
style:parent-style-name="Text_20_body" style:list-style-name="L1"/>
-  <style:style style:name="P33" style:family="paragraph" 
style:parent-style-name="Text_20_body" style:list-style-name="L2"/>
+  <style:style style:name="P33" style:family="paragraph" 
style:parent-style-name="Text_20_body" style:list-style-name="L3"/>
   <style:style style:name="P34" style:family="paragraph" 
style:parent-style-name="Text_20_body">
    <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" 
style:contextual-spacing="false"/>
   </style:style>
   <style:style style:name="P35" style:family="paragraph" 
style:parent-style-name="Text_20_body" style:list-style-name="L1">
    <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" 
style:contextual-spacing="false"/>
   </style:style>
-  <style:style style:name="P36" style:family="paragraph" 
style:parent-style-name="Text_20_body" style:list-style-name="L2">
+  <style:style style:name="P36" style:family="paragraph" 
style:parent-style-name="Text_20_body" style:list-style-name="L3">
    <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" 
style:contextual-spacing="false"/>
   </style:style>
   <style:style style:name="T1" style:family="text">
@@ -585,34 +585,34 @@
   </style:style>
   <text:list-style style:name="L1">
    <text:list-level-style-number text:level="1" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="0.752cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="0.748cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="2" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="2.002cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="1.995cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="3" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="3.253cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="3.242cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="4" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="4.503cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="4.489cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="5" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="5.754cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="5.736cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="6" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="7.005cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="6.983cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="7" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="8.255cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="8.23cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="8" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="9.506cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="9.478cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="9" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="10.756cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="10.725cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
    <text:list-level-style-number text:level="10" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
-    <style:list-level-properties text:space-before="12.007cm" 
text:min-label-width="0.499cm"/>
+    <style:list-level-properties text:space-before="11.972cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
   </text:list-style>
   <text:list-style style:name="L2">
@@ -647,6 +647,38 @@
     <style:list-level-properties text:space-before="11.972cm" 
text:min-label-width="0.499cm"/>
    </text:list-level-style-number>
   </text:list-style>
+  <text:list-style style:name="L3">
+   <text:list-level-style-number text:level="1" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="0.748cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="2" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="1.995cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="3" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="3.242cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="4" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="4.489cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="5" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="5.736cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="6" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="6.983cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="7" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="8.23cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="8" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="9.478cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="9" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="10.725cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="10" 
text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+    <style:list-level-properties text:space-before="11.972cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+  </text:list-style>
   <style:page-layout style:name="pm1">
    <style:page-layout-properties fo:page-width="21.001cm" 
fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" 
fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" 
fo:margin-right="2cm" style:writing-mode="lr-tb" 
style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" 
style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" 
style:layout-grid-mode="none" style:layout-grid-ruby-below="false" 
style:layout-grid-print="false" style:layout-grid-display="false" 
style:footnote-max-height="0cm">
     <style:footnote-sep style:width="0.018cm" 
style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" 
style:line-style="none" style:adjustment="left" style:rel-width="25%" 
style:color="#000000"/>
@@ -951,21 +983,20 @@
    </draw:frame>
    <text:section text:style-name="Sect1" text:name="BgContainer">
     <text:p text:style-name="P30">Credits</text:p>
-    <text:p text:style-name="Text_20_body">1821 individuals contributed to 
OpenOffice.org (and whose contributions were imported into LibreOffice) or 
LibreOffice until 2022-12-27 12:51:54.</text:p>
+    <text:p text:style-name="Text_20_body">1827 individuals contributed to 
OpenOffice.org (and whose contributions were imported into LibreOffice) or 
LibreOffice until 2023-01-18 19:44:50.</text:p>
     <text:p text:style-name="Text_20_body"><text:span 
text:style-name="T1">*</text:span> marks developers whose first contributions 
happened after 2010-09-28.</text:p>
     <text:h text:style-name="Heading_20_2" text:outline-level="2">Developers 
committing code since 2010-09-28</text:h>
-    <text:h text:style-name="Heading_20_3" text:outline-level="3">Contributors 
to bundled templates</text:h>
     <table:table table:name="Tabelle1" table:style-name="Tabelle1">
      <table:table-column table:style-name="Tabelle1.A"/>
      <table:table-column table:style-name="Tabelle1.B"/>
      <table:table-column table:style-name="Tabelle1.C"/>
-     <table:table-column table:style-name="Tabelle1.B"/>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-column table:style-name="Tabelle1.D"/>
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ruediger 
Timm<text:line-break/>Commits: 82464<text:line-break/>Joined: 
2000-10-10</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Caolán 
McNamara<text:line-break/>Commits: 33969<text:line-break/>Joined: 
2000-10-10</text:p>
+       <text:p text:style-name="Table_20_Contents">Caolán 
McNamara<text:line-break/>Commits: 34101<text:line-break/>Joined: 
2000-10-10</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Kurt 
Zenker<text:line-break/>Commits: 31752<text:line-break/>Joined: 
2000-09-25</text:p>
@@ -974,7 +1005,7 @@
        <text:p text:style-name="Table_20_Contents">Oliver 
Bolte<text:line-break/>Commits: 31008<text:line-break/>Joined: 
2000-09-19</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Jens-Heiner Rechtien 
[hr]<text:line-break/>Commits: 28805<text:line-break/>Joined: 
2000-09-18</text:p>
       </table:table-cell>
@@ -982,32 +1013,32 @@
        <text:p text:style-name="Table_20_Contents">Vladimir 
Glazunov<text:line-break/>Commits: 25434<text:line-break/>Joined: 
2000-12-04</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Stephan 
Bergmann<text:line-break/>Commits: 20250<text:line-break/>Joined: 
2000-10-04</text:p>
+       <text:p text:style-name="Table_20_Contents">Stephan 
Bergmann<text:line-break/>Commits: 20306<text:line-break/>Joined: 
2000-10-04</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 
17006<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-12-12</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 
17149<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-12-12</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ivo 
Hinkelmann<text:line-break/>Commits: 9480<text:line-break/>Joined: 
2002-09-09</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Miklos 
Vajna<text:line-break/>Commits: 9267<text:line-break/>Joined: 
2010-07-29</text:p>
+       <text:p text:style-name="Table_20_Contents">Miklos 
Vajna<text:line-break/>Commits: 9330<text:line-break/>Joined: 
2010-07-29</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Tor 
Lillqvist<text:line-break/>Commits: 9111<text:line-break/>Joined: 
2010-03-23</text:p>
+       <text:p text:style-name="Table_20_Contents">Tor 
Lillqvist<text:line-break/>Commits: 9124<text:line-break/>Joined: 
2010-03-23</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Michael 
Stahl<text:line-break/>Commits: 8092<text:line-break/>Joined: 
2008-06-16</text:p>
+       <text:p text:style-name="Table_20_Contents">Michael 
Stahl<text:line-break/>Commits: 8109<text:line-break/>Joined: 
2008-06-16</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Kohei 
Yoshida<text:line-break/>Commits: 5571<text:line-break/>Joined: 
2009-06-19</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Eike 
Rathke<text:line-break/>Commits: 5230<text:line-break/>Joined: 
2000-10-11</text:p>
+       <text:p text:style-name="Table_20_Contents">Eike 
Rathke<text:line-break/>Commits: 5240<text:line-break/>Joined: 
2000-10-11</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Markus Mohrhard<text:line-break/>Commits: 
5203<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-03-17</text:span></text:p>
@@ -1016,23 +1047,23 @@
        <text:p text:style-name="Table_20_Contents">Frank Schoenheit 
[fs]<text:line-break/>Commits: 5008<text:line-break/>Joined: 2000-09-19</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">David 
Tardon<text:line-break/>Commits: 3648<text:line-break/>Joined: 
2009-11-12</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 
3558<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-11-04</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 
3577<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-11-04</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Andrea Gelmini<text:line-break/>Commits: 
3327<text:line-break/>Joined: <text:span 
text:style-name="T2">2014-10-30</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Andrea Gelmini<text:line-break/>Commits: 
3358<text:line-break/>Joined: <text:span 
text:style-name="T2">2014-10-30</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Luboš 
Luňák<text:line-break/>Commits: 3201<text:line-break/>Joined: 
2010-09-21</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 
3137<text:line-break/>Joined: <text:span 
text:style-name="T2">2012-06-02</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 
3154<text:line-break/>Joined: <text:span 
text:style-name="T2">2012-06-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Hans-Joachim 
Lankenau<text:line-break/>Commits: 3007<text:line-break/>Joined: 
2000-09-19</text:p>
@@ -1044,7 +1075,7 @@
        <text:p text:style-name="Table_20_Contents">Jan 
Holesovsky<text:line-break/>Commits: 2671<text:line-break/>Joined: 
2009-06-23</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Mathias 
Bauer<text:line-break/>Commits: 2580<text:line-break/>Joined: 
2000-09-20</text:p>
       </table:table-cell>
@@ -1052,18 +1083,18 @@
        <text:p text:style-name="Table_20_Contents">Oliver 
Specht<text:line-break/>Commits: 2549<text:line-break/>Joined: 
2000-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Mike Kaganski<text:line-break/>Commits: 
2517<text:line-break/>Joined: <text:span 
text:style-name="T2">2015-04-26</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Mike Kaganski<text:line-break/>Commits: 
2539<text:line-break/>Joined: <text:span 
text:style-name="T2">2015-04-26</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Michael 
Meeks<text:line-break/>Commits: 2483<text:line-break/>Joined: 
2004-08-05</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Bjoern 
Michaelsen<text:line-break/>Commits: 2462<text:line-break/>Joined: 
2009-10-14</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Xisco Fauli<text:line-break/>Commits: 
2319<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-02-06</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Xisco Fauli<text:line-break/>Commits: 
2336<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-02-06</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Norbert Thiebaud<text:line-break/>Commits: 
2176<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-09-29</text:span></text:p>
@@ -1072,12 +1103,12 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Thomas Arnhold<text:line-break/>Commits: 
2176<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-01-16</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Philipp Lohmann 
[pl]<text:line-break/>Commits: 2089<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Andras Timar<text:line-break/>Commits: 
1976<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-10-02</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Andras Timar<text:line-break/>Commits: 
1977<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-10-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Christian 
Lippka<text:line-break/>Commits: 1805<text:line-break/>Joined: 
2000-09-25</text:p>
@@ -1086,12 +1117,12 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Matúš Kukan<text:line-break/>Commits: 
1712<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-04-06</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Olivier Hallot<text:line-break/>Commits: 
1690<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-10-25</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Olivier Hallot<text:line-break/>Commits: 
1703<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-10-25</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Armin Le Grand 
(Allotropia)<text:line-break/>Commits: 1543<text:line-break/>Joined: 
2000-09-25</text:p>
+       <text:p text:style-name="Table_20_Contents">Armin Le Grand 
(Allotropia)<text:line-break/>Commits: 1548<text:line-break/>Joined: 
2000-09-25</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Takeshi Abe<text:line-break/>Commits: 
1486<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-11-08</text:span></text:p>
@@ -1100,7 +1131,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Matteo Casalin<text:line-break/>Commits: 
1476<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-11-13</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Chris Sherlock<text:line-break/>Commits: 
1453<text:line-break/>Joined: <text:span 
text:style-name="T2">2013-02-25</text:span></text:p>
       </table:table-cell>
@@ -1114,7 +1145,7 @@
        <text:p text:style-name="Table_20_Contents">Thomas Lange 
[tl]<text:line-break/>Commits: 1310<text:line-break/>Joined: 2000-09-22</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Niklas 
Nebel<text:line-break/>Commits: 1296<text:line-break/>Joined: 
2000-09-19</text:p>
       </table:table-cell>
@@ -1128,7 +1159,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Tamás Zolnai<text:line-break/>Commits: 
1208<text:line-break/>Joined: <text:span 
text:style-name="T2">2012-08-06</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Daniel Rentz 
[dr]<text:line-break/>Commits: 1206<text:line-break/>Joined: 2000-09-28</text:p>
       </table:table-cell>
@@ -1136,15 +1167,15 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Samuel Mehrbrodt<text:line-break/>Commits: 
1134<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-06-08</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Gabor Kelemen<text:line-break/>Commits: 
1093<text:line-break/>Joined: <text:span 
text:style-name="T2">2013-06-18</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Szymon Kłos<text:line-break/>Commits: 
1099<text:line-break/>Joined: <text:span 
text:style-name="T2">2014-03-22</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Szymon Kłos<text:line-break/>Commits: 
1090<text:line-break/>Joined: <text:span 
text:style-name="T2">2014-03-22</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Gabor Kelemen<text:line-break/>Commits: 
1093<text:line-break/>Joined: <text:span 
text:style-name="T2">2013-06-18</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Christian 
Lohmaier<text:line-break/>Commits: 1080<text:line-break/>Joined: 
2008-06-01</text:p>
+       <text:p text:style-name="Table_20_Contents">Christian 
Lohmaier<text:line-break/>Commits: 1082<text:line-break/>Joined: 
2008-06-01</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 
1051<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-01-15</text:span></text:p>
@@ -1156,7 +1187,7 @@
        <text:p text:style-name="Table_20_Contents">Petr 
Mladek<text:line-break/>Commits: 958<text:line-break/>Joined: 
2006-10-03</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Noel 
Power<text:line-break/>Commits: 950<text:line-break/>Joined: 2002-09-24</text:p>
       </table:table-cell>
@@ -1170,7 +1201,7 @@
        <text:p text:style-name="Table_20_Contents">Cédric 
Bosdonnat<text:line-break/>Commits: 882<text:line-break/>Joined: 
2009-11-16</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Malte Timmermann 
[mt]<text:line-break/>Commits: 864<text:line-break/>Joined: 2000-10-10</text:p>
       </table:table-cell>
@@ -1184,12 +1215,12 @@
        <text:p text:style-name="Table_20_Contents">Martin 
Gallwey<text:line-break/>Commits: 827<text:line-break/>Joined: 
2000-11-08</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Maxim Monastirsky<text:line-break/>Commits: 
817<text:line-break/>Joined: <text:span 
text:style-name="T2">2013-10-27</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>László Németh<text:line-break/>Commits: 
800<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-09-29</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>László Németh<text:line-break/>Commits: 
809<text:line-break/>Joined: <text:span 
text:style-name="T2">2010-09-29</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Mikhail 
Voytenko<text:line-break/>Commits: 793<text:line-break/>Joined: 
2001-01-16</text:p>
@@ -1198,7 +1229,7 @@
        <text:p text:style-name="Table_20_Contents">Carsten 
Driesner<text:line-break/>Commits: 748<text:line-break/>Joined: 
2000-10-06</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Joachim 
Lingner<text:line-break/>Commits: 745<text:line-break/>Joined: 
2000-10-05</text:p>
       </table:table-cell>
@@ -1212,7 +1243,7 @@
        <text:p text:style-name="Table_20_Contents">Andre 
Fischer<text:line-break/>Commits: 730<text:line-break/>Joined: 
2001-02-06</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Release 
Engineering<text:line-break/>Commits: 728<text:line-break/>Joined: 
2008-10-02</text:p>
       </table:table-cell>
@@ -1220,13 +1251,13 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Zdeněk Crhonek<text:line-break/>Commits: 
714<text:line-break/>Joined: <text:span 
text:style-name="T2">2016-05-19</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Khaled Hosny<text:line-break/>Commits: 
706<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-01-28</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Khaled Hosny<text:line-break/>Commits: 
711<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-01-28</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Michael Weghorn<text:line-break/>Commits: 
682<text:line-break/>Joined: <text:span 
text:style-name="T2">2014-09-10</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Michael Weghorn<text:line-break/>Commits: 
695<text:line-break/>Joined: <text:span 
text:style-name="T2">2014-09-10</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Joerg Skottke 
[jsk]<text:line-break/>Commits: 678<text:line-break/>Joined: 2008-06-17</text:p>
       </table:table-cell>
@@ -1240,7 +1271,7 @@
        <text:p text:style-name="Table_20_Contents">Kai 
Sommerfeld<text:line-break/>Commits: 651<text:line-break/>Joined: 
2000-10-10</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ingrid 
Halama<text:line-break/>Commits: 639<text:line-break/>Joined: 
2001-01-19</text:p>
       </table:table-cell>
@@ -1254,35 +1285,35 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Rafael Dominguez<text:line-break/>Commits: 
606<text:line-break/>Joined: <text:span 
text:style-name="T2">2011-02-13</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine94577660736912">
+     <table:table-row table:style-name="TableLine94168711629424">
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T1">*</text:span>Jochen Nitschke<text:line-break/>Commits: 
587<text:line-break/>Joined: <text:span 
text:style-name="T2">2016-02-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">

... etc. - the rest is truncated

Reply via email to