editeng/source/editeng/eerdll.cxx                                 |    2 -
 editeng/source/items/paraitem.cxx                                 |    2 -
 sd/source/core/drawdoc4.cxx                                       |    3 ++
 sd/source/ui/view/drtxtob1.cxx                                    |    2 -
 sw/qa/extras/ooxmlexport/ooxmlexport3.cxx                         |    3 --
 sw/qa/extras/rtfimport/rtfimport.cxx                              |    4 +--
 sw/qa/extras/uiwriter/uiwriter11.cxx                              |   10 
++++++++
 sw/qa/extras/uiwriter/uiwriter2.cxx                               |    6 ++---
 sw/qa/extras/uiwriter/uiwriter7.cxx                               |   12 
+++++-----
 sw/source/core/bastyp/init.cxx                                    |    2 -
 sw/source/core/doc/DocumentStylePoolManager.cxx                   |    6 -----
 sw/source/core/text/guess.cxx                                     |    2 -
 sw/source/uibase/app/docshini.cxx                                 |    8 ------
 vcl/osx/a11ytextattributeswrapper.mm                              |    3 ++
 vcl/qa/cppunit/a11y/atspi2/atspi2text.cxx                         |    4 ++-
 vcl/qa/cppunit/pdfexport/data/tdf118350-start-end-para-align.fodt |    4 +--
 vcl/qa/cppunit/pdfexport/pdfexport.cxx                            |    2 -
 vcl/source/accessibility/AccessibleTextAttributeHelper.cxx        |    4 +++
 vcl/unx/gtk3/a11y/atktextattributes.cxx                           |   12 
++++++++++
 19 files changed, 55 insertions(+), 36 deletions(-)

New commits:
commit a72f59423962876ae2c409059da5b89fea5c0f1c
Author:     Jonathan Clark <[email protected]>
AuthorDate: Wed Jan 14 18:55:51 2026 -0700
Commit:     Jonathan Clark <[email protected]>
CommitDate: Sat Jan 17 04:24:32 2026 +0100

    tdf#169035 sw: Make para align start/end the default
    
    Previously, new Writer documents defaulted to left/right paragraph
    alignment, depending on application language. This change updates Writer
    to instead use the language-independent start alignment by default.
    
    Change-Id: Ic385bb8e38234d29365d21f46a11ebb115523970
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197309
    Tested-by: Jenkins
    Reviewed-by: Jonathan Clark <[email protected]>

diff --git a/editeng/source/editeng/eerdll.cxx 
b/editeng/source/editeng/eerdll.cxx
index bd154781d87b..f961b722ead1 100644
--- a/editeng/source/editeng/eerdll.cxx
+++ b/editeng/source/editeng/eerdll.cxx
@@ -115,7 +115,7 @@ ItemInfoPackage& getItemInfoPackageEditEngine()
             { EE_PARA_LRSPACE, new SvxLRSpaceItem( EE_PARA_LRSPACE ), 
SID_ATTR_LRSPACE, SFX_ITEMINFOFLAG_NONE  },
             { EE_PARA_ULSPACE, new SvxULSpaceItem( EE_PARA_ULSPACE ), 
SID_ATTR_ULSPACE, SFX_ITEMINFOFLAG_NONE  },
             { EE_PARA_SBL, new SvxLineSpacingItem( 0, EE_PARA_SBL ), 
SID_ATTR_PARA_LINESPACE, SFX_ITEMINFOFLAG_NONE  },
-            { EE_PARA_JUST, new SvxAdjustItem( SvxAdjust::Left, EE_PARA_JUST 
), SID_ATTR_PARA_ADJUST, SFX_ITEMINFOFLAG_NONE  },
+            { EE_PARA_JUST, new SvxAdjustItem( SvxAdjust::ParaStart, 
EE_PARA_JUST ), SID_ATTR_PARA_ADJUST, SFX_ITEMINFOFLAG_NONE  },
             { EE_PARA_TABS, new SvxTabStopItem( 0, 0, SvxTabAdjust::Left, 
EE_PARA_TABS ), SID_ATTR_TABSTOP, SFX_ITEMINFOFLAG_NONE  },
             { EE_PARA_JUST_METHOD, new SvxJustifyMethodItem( 
SvxCellJustifyMethod::Auto, EE_PARA_JUST_METHOD ), 
SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD, SFX_ITEMINFOFLAG_NONE  },
             { EE_PARA_VER_JUST, new SvxVerJustifyItem( 
SvxCellVerJustify::Standard, EE_PARA_VER_JUST ), SID_ATTR_ALIGN_VER_JUSTIFY, 
SFX_ITEMINFOFLAG_NONE  },
diff --git a/editeng/source/items/paraitem.cxx 
b/editeng/source/items/paraitem.cxx
index fccc0aa00fcf..ee213d2f8415 100644
--- a/editeng/source/items/paraitem.cxx
+++ b/editeng/source/items/paraitem.cxx
@@ -55,7 +55,7 @@ using namespace ::com::sun::star;
 
 
 SfxPoolItem* SvxLineSpacingItem::CreateDefault() { return new  
SvxLineSpacingItem(LINE_SPACE_DEFAULT_HEIGHT, 0);}
-SfxPoolItem* SvxAdjustItem::CreateDefault() { return new  
SvxAdjustItem(SvxAdjust::Left, 0);}
+SfxPoolItem* SvxAdjustItem::CreateDefault() { return new  
SvxAdjustItem(SvxAdjust::ParaStart, 0);}
 SfxPoolItem* SvxWidowsItem::CreateDefault() { return new  SvxWidowsItem(0, 0);}
 SfxPoolItem* SvxOrphansItem::CreateDefault() { return new  SvxOrphansItem(0, 
0);}
 SfxPoolItem* SvxHyphenZoneItem::CreateDefault() { return new  
SvxHyphenZoneItem(false, 0);}
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index 37606a66bcc7..5da42c02be51 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -1198,6 +1198,9 @@ void SdDrawDocument::SetTextDefaults() const
 
     SvxNumBulletItem aNumBulletItem( std::move(aNumRule), EE_PARA_NUMBULLET );
     m_pItemPool->SetUserDefaultItem( aNumBulletItem );
+
+    // tdf#169035: Continue using left-alignment as the default
+    m_pItemPool->SetUserDefaultItem(SvxAdjustItem(SvxAdjust::Left, 
EE_PARA_JUST));
 }
 
 css::text::WritingMode SdDrawDocument::GetDefaultWritingMode() const
diff --git a/sd/source/ui/view/drtxtob1.cxx b/sd/source/ui/view/drtxtob1.cxx
index dcee114cdbed..3e1e29936a44 100644
--- a/sd/source/ui/view/drtxtob1.cxx
+++ b/sd/source/ui/view/drtxtob1.cxx
@@ -707,7 +707,7 @@ SET_ADJUST:
             {
                 bool bLeftToRight = nSlot == SID_ATTR_PARA_LEFT_TO_RIGHT;
 
-                SvxAdjust nAdjust = SvxAdjust::Left;
+                SvxAdjust nAdjust = SvxAdjust::ParaStart;
                 if( const SvxAdjustItem* pAdjustItem = 
aEditAttr.GetItemIfSet(EE_PARA_JUST) )
                     nAdjust = pAdjustItem->GetAdjust();
 
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx
index be972069b847..111b29393553 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx
@@ -181,8 +181,7 @@ CPPUNIT_TEST_FIXTURE(Test, testStyleInheritance)
     assertXPath(pXmlStyles, 
"/w:styles/w:docDefaults/w:rPrDefault/w:rPr/w:rFonts", "ascii", u"Times New 
Roman");
     assertXPath(pXmlStyles, 
"/w:styles/w:docDefaults/w:rPrDefault/w:rPr/w:lang", "bidi", u"ar-SA");
     // pPrDefault contains only one hyphenation property
-    // tdf#169035: also contains alignment, because Start is not yet the 
default
-    assertXPath(pXmlStyles, "/w:styles/w:docDefaults/w:pPrDefault/w:pPr/*", 2);
+    assertXPath(pXmlStyles, "/w:styles/w:docDefaults/w:pPrDefault/w:pPr/*", 1);
 
     // Check latent styles
     uno::Sequence<beans::PropertyValue> aGrabBag = getProperty< 
uno::Sequence<beans::PropertyValue> >(mxComponent, u"InteropGrabBag"_ustr);
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx 
b/sw/qa/extras/rtfimport/rtfimport.cxx
index ecc0c6fc81f6..337c6916d4ba 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -784,8 +784,8 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo67365)
                              xRows->getByIndex(2), 
u"TableColumnSeparators"_ustr)[0]
                              .Position);
     uno::Reference<text::XTextRange> xCell(xTable->getCellByName(u"A2"_ustr), 
uno::UNO_QUERY);
-    // Paragraph was aligned to center, should be left.
-    CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_LEFT,
+    // Paragraph was aligned to center, should be start.
+    CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_START,
                          
static_cast<style::ParagraphAdjust>(getProperty<sal_Int16>(
                              getParagraphOfText(1, xCell->getText()), 
u"ParaAdjust"_ustr)));
 }
diff --git a/sw/qa/extras/uiwriter/uiwriter11.cxx 
b/sw/qa/extras/uiwriter/uiwriter11.cxx
index dfe2c60ffee5..86f1557e9a5a 100644
--- a/sw/qa/extras/uiwriter/uiwriter11.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter11.cxx
@@ -425,6 +425,16 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest11, 
testExtrudedShapeSelection)
     CPPUNIT_ASSERT(xSelections.is());
 }
 
+CPPUNIT_TEST_FIXTURE(SwUiWriterTest11, testTdf169035ParaStartDefault)
+{
+    createSwDoc();
+    SwWrtShell* pWrtShell = getSwDocShell()->GetWrtShell();
+    CPPUNIT_ASSERT(pWrtShell);
+
+    CPPUNIT_ASSERT_EQUAL(short(5),
+                         getProperty<short>(getRun(getParagraph(1), 1), 
u"ParaAdjust"_ustr));
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/qa/extras/uiwriter/uiwriter2.cxx 
b/sw/qa/extras/uiwriter/uiwriter2.cxx
index b2c62c36e8ad..731251c7f7c7 100644
--- a/sw/qa/extras/uiwriter/uiwriter2.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter2.cxx
@@ -2597,10 +2597,10 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf122893)
     createSwDoc("tdf105413.fodt");
     SwDoc* pDoc = getSwDoc();
 
-    // all paragraphs are left-aligned with preset single line spacing
+    // all paragraphs are start-aligned with preset single line spacing
     for (int i = 1; i < 4; ++i)
     {
-        CPPUNIT_ASSERT_EQUAL(sal_Int32(0),
+        CPPUNIT_ASSERT_EQUAL(sal_Int32(5),
                              getProperty<sal_Int32>(getParagraph(i), 
u"ParaAdjust"_ustr));
         dispatchCommand(mxComponent, u".uno:SpacePara1"_ustr, {});
     }
@@ -2629,7 +2629,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf122893)
                          getProperty<style::LineSpacing>(getParagraph(3), 
u"ParaLineSpacing"_ustr)
                              .Height); // double line spacing
     CPPUNIT_ASSERT_EQUAL(
-        sal_Int32(0), getProperty<sal_Int32>(getParagraph(2), 
u"ParaAdjust"_ustr)); // left-aligned
+        sal_Int32(5), getProperty<sal_Int32>(getParagraph(2), 
u"ParaAdjust"_ustr)); // left-aligned
     CPPUNIT_ASSERT_EQUAL(sal_Int16(100),
                          getProperty<style::LineSpacing>(getParagraph(2), 
u"ParaLineSpacing"_ustr)
                              .Height); // single line spacing
diff --git a/sw/qa/extras/uiwriter/uiwriter7.cxx 
b/sw/qa/extras/uiwriter/uiwriter7.cxx
index f7369414f232..2fe8d2c10dc7 100644
--- a/sw/qa/extras/uiwriter/uiwriter7.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter7.cxx
@@ -162,8 +162,8 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf79236)
     sal_uInt16 initialCount = pNewSet->Count();
     SvxAdjustItem AdjustItem = rAttrSet.GetAdjust();
     SvxAdjust initialAdjust = AdjustItem.GetAdjust();
-    //By default the adjust is LEFT
-    CPPUNIT_ASSERT_EQUAL(SvxAdjust::Left, initialAdjust);
+    //By default the adjust is START
+    CPPUNIT_ASSERT_EQUAL(SvxAdjust::ParaStart, initialAdjust);
     //Changing the adjust to RIGHT
     AdjustItem.SetAdjust(SvxAdjust::Right);
     //Checking whether the change is made or not
@@ -189,8 +189,8 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf79236)
     const SwAttrSet& rAttrSet3 = pTextFormat3->GetAttrSet();
     const SvxAdjustItem& rAdjustItem3 = rAttrSet3.GetAdjust();
     SvxAdjust Adjust3 = rAdjustItem3.GetAdjust();
-    //The adjust should be back to default, LEFT
-    CPPUNIT_ASSERT_EQUAL(SvxAdjust::Left, Adjust3);
+    //The adjust should be back to default, START
+    CPPUNIT_ASSERT_EQUAL(SvxAdjust::ParaStart, Adjust3);
     //Redo the changes
     rUndoManager.Redo();
     SwTextFormatColl* pTextFormat4 = 
pDoc->FindTextFormatCollByName(UIName(u"Body Text"_ustr));
@@ -205,8 +205,8 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf79236)
     const SwAttrSet& rAttrSet5 = pTextFormat5->GetAttrSet();
     const SvxAdjustItem& rAdjustItem5 = rAttrSet5.GetAdjust();
     SvxAdjust Adjust5 = rAdjustItem5.GetAdjust();
-    //The adjust should be back to default, LEFT
-    CPPUNIT_ASSERT_EQUAL(SvxAdjust::Left, Adjust5);
+    //The adjust should be back to default, START
+    CPPUNIT_ASSERT_EQUAL(SvxAdjust::ParaStart, Adjust5);
 }
 
 CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTextSearch)
diff --git a/sw/source/core/bastyp/init.cxx b/sw/source/core/bastyp/init.cxx
index cb2471ca3683..3ccf64762d53 100644
--- a/sw/source/core/bastyp/init.cxx
+++ b/sw/source/core/bastyp/init.cxx
@@ -357,7 +357,7 @@ std::unique_ptr<ItemInfoPackage> 
createItemInfoPackageSwAttributes()
             { RES_TXTATR_LINEBREAK, new 
SwFormatLineBreak(SwLineBreakClear::NONE),  0, SFX_ITEMINFOFLAG_NONE },
             { RES_TXTATR_DUMMY1, new SfxBoolItem( RES_TXTATR_DUMMY1 ), 0, 
SFX_ITEMINFOFLAG_NONE },
             { RES_PARATR_LINESPACING, new SvxLineSpacingItem( 
LINE_SPACE_DEFAULT_HEIGHT, RES_PARATR_LINESPACING ), SID_ATTR_PARA_LINESPACE, 
SFX_ITEMINFOFLAG_NONE  },
-            { RES_PARATR_ADJUST, new SvxAdjustItem( SvxAdjust::Left, 
RES_PARATR_ADJUST ), SID_ATTR_PARA_ADJUST, SFX_ITEMINFOFLAG_NONE  },
+            { RES_PARATR_ADJUST, new SvxAdjustItem( SvxAdjust::ParaStart, 
RES_PARATR_ADJUST ), SID_ATTR_PARA_ADJUST, SFX_ITEMINFOFLAG_NONE  },
             { RES_PARATR_SPLIT, new SvxFormatSplitItem( true, RES_PARATR_SPLIT 
), SID_ATTR_PARA_SPLIT, SFX_ITEMINFOFLAG_NONE  },
             { RES_PARATR_ORPHANS, new SvxOrphansItem( 0, RES_PARATR_ORPHANS ), 
SID_ATTR_PARA_ORPHANS, SFX_ITEMINFOFLAG_NONE  },
             { RES_PARATR_WIDOWS, new SvxWidowsItem( 0, RES_PARATR_WIDOWS ), 
SID_ATTR_PARA_WIDOWS, SFX_ITEMINFOFLAG_NONE  },
diff --git a/sw/source/core/doc/DocumentStylePoolManager.cxx 
b/sw/source/core/doc/DocumentStylePoolManager.cxx
index dce213fb5bd5..1026ebfff434 100644
--- a/sw/source/core/doc/DocumentStylePoolManager.cxx
+++ b/sw/source/core/doc/DocumentStylePoolManager.cxx
@@ -682,12 +682,6 @@ SwTextFormatColl* 
DocumentStylePoolManager::GetTextCollFromPool( sal_uInt16 nId,
             if (bRegardLanguage)
             {
                 LanguageType nAppLanguage = GetAppLanguage();
-                if (GetDefaultFrameDirection(nAppLanguage) ==
-                    SvxFrameDirection::Horizontal_RL_TB)
-                {
-                    SvxAdjustItem aAdjust(SvxAdjust::Right, RES_PARATR_ADJUST 
);
-                    aSet.Put(aAdjust);
-                }
                 if (nAppLanguage == LANGUAGE_KOREAN)
                 {
                     SvxScriptSpaceItem aScriptSpace(false, 
RES_PARATR_SCRIPTSPACE);
diff --git a/sw/source/core/text/guess.cxx b/sw/source/core/text/guess.cxx
index 79aa520a99bb..efe7f4f5506a 100644
--- a/sw/source/core/text/guess.cxx
+++ b/sw/source/core/text/guess.cxx
@@ -807,7 +807,7 @@ bool SwTextGuess::Guess( const SwTextPortion& rPor, 
SwTextFormatInfo &rInf,
                 m_nBreakPos = rInf.GetIdx() - TextFrameIndex(1);
             }
 
-            if( aAdjust != SvxAdjust::Left )
+            if( aAdjust != SvxAdjust::ParaStart && aAdjust != SvxAdjust::Left )
             {
                 // Delete any blanks at the end of a line, but be careful:
                 // If a field has been expanded, we do not want to delete any
diff --git a/sw/source/uibase/app/docshini.cxx 
b/sw/source/uibase/app/docshini.cxx
index 68dc5c5cfc7d..eeb7f1a32319 100644
--- a/sw/source/uibase/app/docshini.cxx
+++ b/sw/source/uibase/app/docshini.cxx
@@ -292,14 +292,6 @@ bool SwDocShell::InitNew( const uno::Reference < 
embed::XStorage >& xStor )
         m_xDoc->getIDocumentSettingAccess().set( 
DocumentSettingId::FOOTNOTE_IN_COLUMN_TO_PAGEEND, true);
     }
 
-    /* #106748# If the default frame direction of a document is RTL
-        the default adjustment is to the right. */
-    if( !bHTMLTemplSet &&
-        SvxFrameDirection::Horizontal_RL_TB == 
GetDefaultFrameDirection(GetAppLanguage()) )
-    {
-        m_xDoc->SetDefault( SvxAdjustItem(SvxAdjust::Right, RES_PARATR_ADJUST 
) );
-    }
-
 // #i29550#
     m_xDoc->SetDefault( SfxBoolItem( RES_COLLAPSING_BORDERS, true ) );
 // <-- collapsing
diff --git a/vcl/osx/a11ytextattributeswrapper.mm 
b/vcl/osx/a11ytextattributeswrapper.mm
index 9310ae137726..17738b39450f 100644
--- a/vcl/osx/a11ytextattributeswrapper.mm
+++ b/vcl/osx/a11ytextattributeswrapper.mm
@@ -261,6 +261,9 @@ using namespace ::com::sun::star::uno;
                     case css::style::ParagraphAdjust_BLOCK:
                         textAlignment = [NSNumber 
numberWithInteger:NSTextAlignmentJustified];
                         break;
+                    case css::style::ParagraphAdjust_START:
+                        textAlignment = [NSNumber 
numberWithInteger:NSTextAlignmentNatural];
+                        break;
                     case css::style::ParagraphAdjust_LEFT:
                     default:
                         textAlignment = [NSNumber 
numberWithInteger:NSTextAlignmentLeft];
diff --git a/vcl/qa/cppunit/a11y/atspi2/atspi2text.cxx 
b/vcl/qa/cppunit/a11y/atspi2/atspi2text.cxx
index ac25e1414003..da4c80ba1297 100644
--- a/vcl/qa/cppunit/a11y/atspi2/atspi2text.cxx
+++ b/vcl/qa/cppunit/a11y/atspi2/atspi2text.cxx
@@ -256,7 +256,9 @@ private:
                                   { style::ParagraphAdjust_RIGHT, 
std::string_view("right") },
                                   { style::ParagraphAdjust_BLOCK, 
std::string_view("fill") },
                                   { style::ParagraphAdjust_STRETCH, 
std::string_view("fill") },
-                                  { style::ParagraphAdjust_CENTER, 
std::string_view("center") } });
+                                  { style::ParagraphAdjust_CENTER, 
std::string_view("center") },
+                                  { style::ParagraphAdjust_START, 
std::string_view("start") },
+                                  { style::ParagraphAdjust_END, 
std::string_view("end") } });
     }
 
     bool checkShadow(std::string_view atspiValue, const beans::PropertyValue& 
property,
diff --git a/vcl/qa/cppunit/pdfexport/data/tdf118350-start-end-para-align.fodt 
b/vcl/qa/cppunit/pdfexport/data/tdf118350-start-end-para-align.fodt
index ad0b5e132659..284e0a3113ef 100644
--- a/vcl/qa/cppunit/pdfexport/data/tdf118350-start-end-para-align.fodt
+++ b/vcl/qa/cppunit/pdfexport/data/tdf118350-start-end-para-align.fodt
@@ -92,7 +92,7 @@
    <style:paragraph-properties fo:text-align="end" 
style:justify-single-word="false"/>
   </style:style>
   <style:style style:name="P4" style:family="paragraph" 
style:parent-style-name="Standard">
-   <style:paragraph-properties style:writing-mode="rl-tb"/>
+   <style:paragraph-properties fo:text-align="left" 
style:writing-mode="rl-tb"/>
   </style:style>
   <style:style style:name="P5" style:family="paragraph" 
style:parent-style-name="Standard">
    <style:paragraph-properties fo:text-align="start" 
style:justify-single-word="false" style:writing-mode="rl-tb"/>
@@ -189,4 +189,4 @@
     </draw:frame></text:p>
   </office:text>
  </office:body>
-</office:document>
\ No newline at end of file
+</office:document>
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index 135503d8cf35..7711277424ff 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -1599,7 +1599,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testTdf156685)
 
     int nPageObjectCount = pPage->getObjectCount();
 
-    CPPUNIT_ASSERT_EQUAL(11, nPageObjectCount);
+    CPPUNIT_ASSERT_EQUAL(9, nPageObjectCount);
 
     auto pTextPage = pPage->getTextPage();
 
diff --git a/vcl/source/accessibility/AccessibleTextAttributeHelper.cxx 
b/vcl/source/accessibility/AccessibleTextAttributeHelper.cxx
index 3c0a12cc6297..91419b0c6a22 100644
--- a/vcl/source/accessibility/AccessibleTextAttributeHelper.cxx
+++ b/vcl/source/accessibility/AccessibleTextAttributeHelper.cxx
@@ -235,6 +235,10 @@ OUString 
lcl_ConvertParagraphAdjust(css::style::ParagraphAdjust eParaAdjust)
             return u"justify"_ustr;
         case css::style::ParagraphAdjust_CENTER:
             return u"center"_ustr;
+        case css::style::ParagraphAdjust_START:
+            return u"start"_ustr;
+        case css::style::ParagraphAdjust_END:
+            return u"end"_ustr;
         default:
             assert(false && "Unhandled ParagraphAdjust value");
             return u""_ustr;
diff --git a/vcl/unx/gtk3/a11y/atktextattributes.cxx 
b/vcl/unx/gtk3/a11y/atktextattributes.cxx
index f2b2848b3982..7510c02f21c3 100644
--- a/vcl/unx/gtk3/a11y/atktextattributes.cxx
+++ b/vcl/unx/gtk3/a11y/atktextattributes.cxx
@@ -405,6 +405,14 @@ Adjust2Justification(const uno::Any& rAny)
             value = "center";
             break;
 
+        case style::ParagraphAdjust_START:
+            value = "start";
+            break;
+
+        case style::ParagraphAdjust_END:
+            value = "end";
+            break;
+
         default:
             break;
     }
@@ -428,6 +436,10 @@ Justification2Adjust( uno::Any& rAny, const gchar * value )
         nParagraphAdjust = style::ParagraphAdjust_BLOCK;
     else if( strncmp( value, STRNCMP_PARAM( "center" ) ) == 0 )
         nParagraphAdjust = style::ParagraphAdjust_CENTER;
+    else if( strncmp( value, STRNCMP_PARAM( "start" ) ) == 0 )
+        nParagraphAdjust = style::ParagraphAdjust_START;
+    else if( strncmp( value, STRNCMP_PARAM( "end" ) ) == 0 )
+        nParagraphAdjust = style::ParagraphAdjust_END;
     else
         return false;
 

Reply via email to