[ooo-build-commit] .: patches/dev300

Kohei Yoshida kohei at kemper.freedesktop.org
Tue Oct 5 08:32:57 PDT 2010


 patches/dev300/apply                                        |   12 
 patches/dev300/calc-distributed-cell-text-cui.diff          |  244 -
 patches/dev300/calc-distributed-cell-text-dbaccess.diff     |   35 
 patches/dev300/calc-distributed-cell-text-editeng.diff      | 1319 ------
 patches/dev300/calc-distributed-cell-text-offapi.diff       |  189 
 patches/dev300/calc-distributed-cell-text-oox.diff          |  123 
 patches/dev300/calc-distributed-cell-text-reportdesign.diff |   19 
 patches/dev300/calc-distributed-cell-text-sc.diff           | 2296 ------------
 patches/dev300/calc-distributed-cell-text-svx.diff          |  637 ---
 patches/dev300/calc-distributed-cell-text-sw.diff           |   19 
 patches/dev300/calc-distributed-cell-text-xmloff.diff       |  135 
 11 files changed, 5028 deletions(-)

New commits:
commit 48d046f0fd203448ed4ea5c273f18ed05f9a98d4
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Tue Oct 5 11:30:38 2010 -0400

    Removed calc-distributed-cell-text-*.diff; moved to git.
    
    calc-distributed-cell-text-xlsx-part.diff still remains.

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 59d3186..04eac31 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2649,18 +2649,6 @@ speed-sfx2-dont-throw-too-much.diff, i#107512, jholesov
 
 [ CalcFixes ]
 
-# Distributed text alignment support for cell text.
-calc-distributed-cell-text-cui.diff,     kohei
-calc-distributed-cell-text-dbaccess.diff, kohei
-calc-distributed-cell-text-editeng.diff, kohei
-calc-distributed-cell-text-offapi.diff,  kohei
-calc-distributed-cell-text-oox.diff,     kohei
-calc-distributed-cell-text-reportdesign.diff, kohei
-calc-distributed-cell-text-sc.diff,      kohei
-calc-distributed-cell-text-svx.diff,     kohei
-calc-distributed-cell-text-sw.diff,      kohei
-calc-distributed-cell-text-xmloff.diff,  kohei
-
 # Support English function names in place of localized ones.
 calc-english-func-names-sc.diff,        i#38765, kohei
 calc-english-func-names-formula.diff,   i#38765, kohei
diff --git a/patches/dev300/calc-distributed-cell-text-cui.diff b/patches/dev300/calc-distributed-cell-text-cui.diff
deleted file mode 100644
index 636ec6c..0000000
--- a/patches/dev300/calc-distributed-cell-text-cui.diff
+++ /dev/null
@@ -1,244 +0,0 @@
----
- cui/source/inc/align.hxx      |    3 +
- cui/source/tabpages/align.cxx |  106 ++++++++++++++++++++++++++++++++++++++++-
- cui/source/tabpages/align.hrc |   11 +++--
- cui/source/tabpages/align.src |    3 +
- 4 files changed, 117 insertions(+), 6 deletions(-)
-
-diff --git cui/source/inc/align.hxx cui/source/inc/align.hxx
-index 84c3cd6..b585c0c 100644
---- cui/source/inc/align.hxx
-+++ cui/source/inc/align.hxx
-@@ -54,6 +54,7 @@ public:
-     static SfxTabPage*  Create( Window* pParent, const SfxItemSet& rAttrSet );
-     static USHORT*      GetRanges();
- 
-+    virtual BOOL        FillItemSet( SfxItemSet& rSet );
-     virtual void        Reset( const SfxItemSet& rSet );
-     virtual int         DeactivatePage( SfxItemSet* pSet );
-     virtual void        DataChanged( const DataChangedEvent& rDCEvt );
-@@ -64,6 +65,8 @@ private:
-     void                InitVsRefEgde();
-     void                UpdateEnableControls();
- 
-+    bool                HasAlignmentChanged( const SfxItemSet& rNew, USHORT nWhich ) const;
-+
-     DECL_LINK( UpdateEnableHdl, void* );
- 
- private:
-diff --git cui/source/tabpages/align.cxx cui/source/tabpages/align.cxx
-index 0735c11..693d831 100644
---- cui/source/tabpages/align.cxx
-+++ cui/source/tabpages/align.cxx
-@@ -40,6 +40,7 @@
- 
- #include <svx/algitem.hxx>
- #include <editeng/frmdiritem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <dialmgr.hxx>
- #include <svx/dlgutil.hxx>
- #include <tools/shl.hxx>
-@@ -70,6 +71,7 @@ static const HorJustConnection::MapEntryType s_pHorJustMap[] =
-     { ALIGNDLG_HORALIGN_RIGHT,  SVX_HOR_JUSTIFY_RIGHT       },
-     { ALIGNDLG_HORALIGN_BLOCK,  SVX_HOR_JUSTIFY_BLOCK       },
-     { ALIGNDLG_HORALIGN_FILL,   SVX_HOR_JUSTIFY_REPEAT      },
-+    { ALIGNDLG_HORALIGN_DISTRIBUTED, SVX_HOR_JUSTIFY_BLOCK  },
-     { LISTBOX_ENTRY_NOTFOUND,   SVX_HOR_JUSTIFY_STANDARD    }
- };
- 
-@@ -84,6 +86,8 @@ static const VerJustConnection::MapEntryType s_pVerJustMap[] =
-     { ALIGNDLG_VERALIGN_TOP,    SVX_VER_JUSTIFY_TOP         },
-     { ALIGNDLG_VERALIGN_MID,    SVX_VER_JUSTIFY_CENTER      },
-     { ALIGNDLG_VERALIGN_BOTTOM, SVX_VER_JUSTIFY_BOTTOM      },
-+    { ALIGNDLG_VERALIGN_BLOCK,  SVX_VER_JUSTIFY_BLOCK       },
-+    { ALIGNDLG_VERALIGN_DISTRIBUTED, SVX_VER_JUSTIFY_BLOCK  },
-     { LISTBOX_ENTRY_NOTFOUND,   SVX_VER_JUSTIFY_STANDARD    }
- };
- 
-@@ -118,6 +122,48 @@ static USHORT s_pRanges[] =
- 
- // ============================================================================
- 
-+namespace {
-+
-+template<typename _JustContainerType, typename _JustEnumType>
-+void lcl_MaybeResetAlignToDistro(
-+    ListBox& rLB, USHORT nListPos, const SfxItemSet& rCoreAttrs, USHORT nWhichAlign, USHORT nWhichJM, _JustEnumType eBlock)
-+{
-+    const SfxPoolItem* pItem;
-+    if (rCoreAttrs.GetItemState(nWhichAlign, TRUE, &pItem) != SFX_ITEM_SET)
-+        // alignment not set.
-+        return;
-+
-+    const SfxEnumItem* p = static_cast<const SfxEnumItem*>(pItem);
-+    _JustContainerType eVal = static_cast<_JustContainerType>(p->GetEnumValue());
-+    if (eVal != eBlock)
-+        // alignment is not 'justify'.  No need to go further.
-+        return;
-+
-+    if (rCoreAttrs.GetItemState(nWhichJM, TRUE, &pItem) != SFX_ITEM_SET)
-+        // justification method is not set.
-+        return;
-+
-+    p = static_cast<const SfxEnumItem*>(pItem);
-+    SvxCellJustifyMethod eMethod = static_cast<SvxCellJustifyMethod>(p->GetEnumValue());
-+    if (eMethod == SVX_JUSTIFY_METHOD_DISTRIBUTE)
-+        // Select the 'distribute' entry in the specified list box.
-+        rLB.SelectEntryPos(nListPos);
-+}
-+
-+void lcl_SetJustifyMethodToItemSet(SfxItemSet& rSet, USHORT nWhichJM, const ListBox& rLB, USHORT nListPos)
-+{
-+    SvxCellJustifyMethod eJM = SVX_JUSTIFY_METHOD_AUTO;
-+    if (rLB.GetSelectEntryPos() == nListPos)
-+        eJM = SVX_JUSTIFY_METHOD_DISTRIBUTE;
-+
-+    SvxJustifyMethodItem aItem(eJM, nWhichJM);
-+    rSet.Put(aItem);
-+}
-+
-+}
-+
-+// ============================================================================
-+
- AlignmentTabPage::AlignmentTabPage( Window* pParent, const SfxItemSet& rCoreAttrs ) :
- 
-     SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_ALIGNMENT ), rCoreAttrs ),
-@@ -213,9 +259,43 @@ USHORT* AlignmentTabPage::GetRanges()
-     return s_pRanges;
- }
- 
-+BOOL AlignmentTabPage::FillItemSet( SfxItemSet& rSet )
-+{
-+    bool bChanged = SfxTabPage::FillItemSet(rSet);
-+
-+    // Special treatment for distributed alignment; we need to set the justify
-+    // method to 'distribute' to distinguish from the normal justification.
-+
-+    USHORT nWhichHorJM = GetWhich(SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD);
-+    lcl_SetJustifyMethodToItemSet(rSet, nWhichHorJM, maLbHorAlign, ALIGNDLG_HORALIGN_DISTRIBUTED);
-+    if (!bChanged)
-+        bChanged = HasAlignmentChanged(rSet, nWhichHorJM);
-+
-+    USHORT nWhichVerJM = GetWhich(SID_ATTR_ALIGN_VER_JUSTIFY_METHOD);
-+    lcl_SetJustifyMethodToItemSet(rSet, nWhichVerJM, maLbVerAlign, ALIGNDLG_VERALIGN_DISTRIBUTED);
-+    if (!bChanged)
-+        bChanged = HasAlignmentChanged(rSet, nWhichVerJM);
-+
-+    return bChanged;
-+}
-+
- void AlignmentTabPage::Reset( const SfxItemSet& rCoreAttrs )
- {
-     SfxTabPage::Reset( rCoreAttrs );
-+
-+    // Special treatment for distributed alignment; we need to set the justify
-+    // method to 'distribute' to distinguish from the normal justification.
-+
-+    lcl_MaybeResetAlignToDistro<SvxCellHorJustify, SvxCellHorJustify>(
-+        maLbHorAlign, ALIGNDLG_HORALIGN_DISTRIBUTED, rCoreAttrs, 
-+        GetWhich(SID_ATTR_ALIGN_HOR_JUSTIFY), GetWhich(SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD),
-+        SVX_HOR_JUSTIFY_BLOCK);
-+
-+    lcl_MaybeResetAlignToDistro<SvxCellVerJustify, SvxCellVerJustify>(
-+        maLbVerAlign, ALIGNDLG_VERALIGN_DISTRIBUTED, rCoreAttrs, 
-+        GetWhich(SID_ATTR_ALIGN_VER_JUSTIFY), GetWhich(SID_ATTR_ALIGN_VER_JUSTIFY_METHOD),
-+        SVX_VER_JUSTIFY_BLOCK);
-+
-     UpdateEnableControls();
- }
- 
-@@ -264,6 +344,7 @@ void AlignmentTabPage::UpdateEnableControls()
-     bool bHorLeft  = (nHorAlign == ALIGNDLG_HORALIGN_LEFT);
-     bool bHorBlock = (nHorAlign == ALIGNDLG_HORALIGN_BLOCK);
-     bool bHorFill  = (nHorAlign == ALIGNDLG_HORALIGN_FILL);
-+    bool bHorDist  = (nHorAlign == ALIGNDLG_HORALIGN_DISTRIBUTED);
- 
-     // indent edit field only for left alignment
-     maFtIndent.Enable( bHorLeft );
-@@ -275,8 +356,8 @@ void AlignmentTabPage::UpdateEnableControls()
-     // hyphenation only for automatic line breaks or for block alignment
-     maBtnHyphen.Enable( maBtnWrap.IsChecked() || bHorBlock );
- 
--    // shrink only without automatic line break, and not for block and fill
--    maBtnShrink.Enable( (maBtnWrap.GetState() == STATE_NOCHECK) && !bHorBlock && !bHorFill );
-+    // shrink only without automatic line break, and not for block, fill or distribute.
-+    maBtnShrink.Enable( (maBtnWrap.GetState() == STATE_NOCHECK) && !bHorBlock && !bHorFill && !bHorDist );
- 
-     // visibility of fixed lines
-     maFlAlignment.Show( maLbHorAlign.IsVisible() || maEdIndent.IsVisible() || maLbVerAlign.IsVisible() );
-@@ -284,6 +365,27 @@ void AlignmentTabPage::UpdateEnableControls()
-     maFlProperties.Show( maBtnWrap.IsVisible() || maBtnHyphen.IsVisible() || maBtnShrink.IsVisible() || maLbFrameDir.IsVisible() );
- }
- 
-+bool AlignmentTabPage::HasAlignmentChanged( const SfxItemSet& rNew, USHORT nWhich ) const
-+{
-+    const SfxItemSet& rOld = GetItemSet();
-+    const SfxPoolItem* pItem;
-+    SvxCellJustifyMethod eMethodOld = SVX_JUSTIFY_METHOD_AUTO;
-+    SvxCellJustifyMethod eMethodNew = SVX_JUSTIFY_METHOD_AUTO;
-+    if (rOld.GetItemState(nWhich, TRUE, &pItem) == SFX_ITEM_SET)
-+    {
-+        const SfxEnumItem* p = static_cast<const SfxEnumItem*>(pItem);
-+        eMethodOld = static_cast<SvxCellJustifyMethod>(p->GetEnumValue());
-+    }
-+
-+    if (rNew.GetItemState(nWhich, TRUE, &pItem) == SFX_ITEM_SET)
-+    {
-+        const SfxEnumItem* p = static_cast<const SfxEnumItem*>(pItem);
-+        eMethodNew = static_cast<SvxCellJustifyMethod>(p->GetEnumValue());
-+    }
-+
-+    return eMethodOld != eMethodNew;
-+}
-+
- IMPL_LINK( AlignmentTabPage, UpdateEnableHdl, void*, EMPTYARG )
- {
-     UpdateEnableControls();
-diff --git cui/source/tabpages/align.hrc cui/source/tabpages/align.hrc
-index 1e17021..1a38c86 100644
---- cui/source/tabpages/align.hrc
-+++ cui/source/tabpages/align.hrc
-@@ -63,11 +63,14 @@
- #define ALIGNDLG_HORALIGN_RIGHT     3
- #define ALIGNDLG_HORALIGN_BLOCK     4
- #define ALIGNDLG_HORALIGN_FILL      5
-+#define ALIGNDLG_HORALIGN_DISTRIBUTED 6
- 
--#define ALIGNDLG_VERALIGN_STD       0
--#define ALIGNDLG_VERALIGN_TOP       1
--#define ALIGNDLG_VERALIGN_MID       2
--#define ALIGNDLG_VERALIGN_BOTTOM    3
-+#define ALIGNDLG_VERALIGN_STD         0
-+#define ALIGNDLG_VERALIGN_TOP         1
-+#define ALIGNDLG_VERALIGN_MID         2
-+#define ALIGNDLG_VERALIGN_BOTTOM      3
-+#define ALIGNDLG_VERALIGN_BLOCK       4
-+#define ALIGNDLG_VERALIGN_DISTRIBUTED 5
- 
- // image list for ValueSets:
- #define IL_LOCK_BMPS                1100
-diff --git cui/source/tabpages/align.src cui/source/tabpages/align.src
-index 50cc9dc..efe3631 100644
---- cui/source/tabpages/align.src
-+++ cui/source/tabpages/align.src
-@@ -70,6 +70,7 @@ TabPage RID_SVXPAGE_ALIGNMENT
-             < "Right" ; ALIGNDLG_HORALIGN_RIGHT ; > ;
-             < "Justified" ; ALIGNDLG_HORALIGN_BLOCK ; > ;
-             < "Filled" ; ALIGNDLG_HORALIGN_FILL ; > ;
-+            < "Distributed" ; ALIGNDLG_HORALIGN_DISTRIBUTED ; > ;
-         };
-     };
-     FixedText FT_INDENT
-@@ -109,6 +110,8 @@ TabPage RID_SVXPAGE_ALIGNMENT
-             < "Top" ; ALIGNDLG_VERALIGN_TOP ; > ;
-             < "Middle" ; ALIGNDLG_VERALIGN_MID ; > ;
-             < "Bottom" ; ALIGNDLG_VERALIGN_BOTTOM ; > ;
-+            < "Justified" ; ALIGNDLG_VERALIGN_BLOCK ; > ;
-+            < "Distributed" ; ALIGNDLG_VERALIGN_DISTRIBUTED ; > ;
-         };
-     };
-     FixedLine FL_ORIENTATION
--- 
-1.7.0.1
-
diff --git a/patches/dev300/calc-distributed-cell-text-dbaccess.diff b/patches/dev300/calc-distributed-cell-text-dbaccess.diff
deleted file mode 100644
index c478e4a..0000000
--- a/patches/dev300/calc-distributed-cell-text-dbaccess.diff
+++ /dev/null
@@ -1,35 +0,0 @@
----
- dbaccess/source/ui/misc/UITools.cxx |    2 ++
- dbaccess/util/makefile.mk           |    3 ++-
- 2 files changed, 4 insertions(+), 1 deletions(-)
-
-diff --git dbaccess/source/ui/misc/UITools.cxx dbaccess/source/ui/misc/UITools.cxx
-index d1db9ec..8d8c4e4 100644
---- dbaccess/source/ui/misc/UITools.cxx
-+++ dbaccess/source/ui/misc/UITools.cxx
-@@ -295,6 +295,8 @@
- #include <connectivity/FValue.hxx>
- #endif
- 
-+#include <editeng/justifyitem.hxx>
-+
- // .........................................................................
- namespace dbaui
- {
-diff --git dbaccess/util/makefile.mk dbaccess/util/makefile.mk
-index 8430b5e..69f62d1 100644
---- dbaccess/util/makefile.mk
-+++ dbaccess/util/makefile.mk
-@@ -128,7 +128,8 @@ SHL2STDLIBS= \
-         $(CPPULIB)				\
-         $(SO2LIB)				\
-         $(VOSLIB)				\
--        $(SALLIB)
-+        $(SALLIB) \
-+	$(EDITENGLIB)
-         
- .IF "$(GUI)"=="OS2"
- SHL2STDLIBS+=	$(LB)$/i$(TARGET).lib
--- 
-1.7.0.1
-
diff --git a/patches/dev300/calc-distributed-cell-text-editeng.diff b/patches/dev300/calc-distributed-cell-text-editeng.diff
deleted file mode 100644
index fd42d28..0000000
--- a/patches/dev300/calc-distributed-cell-text-editeng.diff
+++ /dev/null
@@ -1,1319 +0,0 @@
----
- editeng/inc/editeng/editids.hrc      |    4 +
- editeng/inc/editeng/editrids.hrc     |   20 ++-
- editeng/inc/editeng/eeitem.hxx       |   86 +++---
- editeng/inc/editeng/justifyitem.hxx  |  127 +++++++++
- editeng/inc/editeng/memberids.hrc    |    4 +-
- editeng/inc/editeng/svxenum.hxx      |    9 +-
- editeng/source/editeng/editdoc.cxx   |   16 +-
- editeng/source/editeng/eerdll.cxx    |   93 ++++----
- editeng/source/editeng/impedit.hxx   |    4 +
- editeng/source/editeng/impedit2.cxx  |   15 +
- editeng/source/editeng/impedit3.cxx  |   99 ++++++-
- editeng/source/items/frmitems.cxx    |    2 -
- editeng/source/items/justifyitem.cxx |  485 ++++++++++++++++++++++++++++++++++
- editeng/source/items/makefile.mk     |    1 +
- editeng/source/items/svxitems.src    |   51 ++++
- 15 files changed, 906 insertions(+), 110 deletions(-)
- create mode 100644 editeng/inc/editeng/justifyitem.hxx
- create mode 100644 editeng/source/items/justifyitem.cxx
-
-diff --git editeng/inc/editeng/editids.hrc editeng/inc/editeng/editids.hrc
-index 0d1acb4..386dd0b 100644
---- editeng/inc/editeng/editids.hrc
-+++ editeng/inc/editeng/editids.hrc
-@@ -129,6 +129,10 @@
- 
- // this ID didn't exist prior to the svx split
- #define SID_ATTR_CHAR_OVERLINE              			( SID_EDIT_START + 68 )
-+#define SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD               ( SID_EDIT_START + 69 )
-+#define SID_ATTR_ALIGN_VER_JUSTIFY_METHOD               ( SID_EDIT_START + 70 )
-+#define SID_ATTR_ALIGN_HOR_JUSTIFY                      ( SID_EDIT_START + 71 )
-+#define SID_ATTR_ALIGN_VER_JUSTIFY                      ( SID_EDIT_START + 72 )
- 
- /*
- // planned, but not doable: changing value of SIDs will break code that uses them for WhichRanges
-diff --git editeng/inc/editeng/editrids.hrc editeng/inc/editeng/editrids.hrc
-index 97c9a4b..6e11e06 100644
---- editeng/inc/editeng/editrids.hrc
-+++ editeng/inc/editeng/editrids.hrc
-@@ -420,7 +420,25 @@
- #define RID_SVXSTR_A11Y_IMAGEBULLET_DESCRIPTION	(RID_EDIT_START + 314)
- #define RID_SVXSTR_A11Y_IMAGEBULLET_NAME		(RID_EDIT_START + 315)
- 
--#if 315 > (RID_EDIT_END-RID_EDIT_START)
-+// enum SvxCellHorJustify
-+#define RID_SVXITEMS_HORJUST_STANDARD		(RID_EDIT_START + 316)
-+#define RID_SVXITEMS_HORJUST_LEFT			(RID_EDIT_START + 317)
-+#define RID_SVXITEMS_HORJUST_CENTER			(RID_EDIT_START + 318)
-+#define RID_SVXITEMS_HORJUST_RIGHT			(RID_EDIT_START + 319)
-+#define RID_SVXITEMS_HORJUST_BLOCK			(RID_EDIT_START + 320)
-+#define RID_SVXITEMS_HORJUST_REPEAT			(RID_EDIT_START + 321)
-+
-+// enum SvxCellVerJustify
-+#define RID_SVXITEMS_VERJUST_STANDARD		(RID_EDIT_START + 322)
-+#define RID_SVXITEMS_VERJUST_TOP			(RID_EDIT_START + 323)
-+#define RID_SVXITEMS_VERJUST_CENTER			(RID_EDIT_START + 324)
-+#define RID_SVXITEMS_VERJUST_BOTTOM			(RID_EDIT_START + 325)
-+
-+// enum SvxCellJustifyMethod
-+#define RID_SVXITEMS_JUSTMETHOD_AUTO            (RID_EDIT_START + 326)
-+#define RID_SVXITEMS_JUSTMETHOD_DISTRIBUTE      (RID_EDIT_START + 327)
-+
-+#if 327 > (RID_EDIT_END-RID_EDIT_START)
- #error Resource-Ueberlauf in #line, #file
- #endif
- 
-diff --git editeng/inc/editeng/eeitem.hxx editeng/inc/editeng/eeitem.hxx
-index 695ec8a..64729a5 100644
---- editeng/inc/editeng/eeitem.hxx
-+++ editeng/inc/editeng/eeitem.hxx
-@@ -30,7 +30,7 @@
- 
- #define EE_ITEMS_START				3989
- 
--// Absatzattribute:
-+// Paragraph attributes:
- #define EE_PARA_START				(EE_ITEMS_START+0)
- #define EE_PARA_WRITINGDIR          (EE_ITEMS_START+0)
- #define EE_PARA_XMLATTRIBS	        (EE_ITEMS_START+1)
-@@ -48,51 +48,53 @@
- #define	EE_PARA_SBL					(EE_ITEMS_START+13)
- #define EE_PARA_JUST				(EE_ITEMS_START+14)
- #define EE_PARA_TABS				(EE_ITEMS_START+15)
--#define EE_PARA_END					(EE_ITEMS_START+15)
-+#define EE_PARA_JUST_METHOD         (EE_ITEMS_START+16)
-+#define EE_PARA_VER_JUST            (EE_ITEMS_START+17)
-+#define EE_PARA_END                 (EE_ITEMS_START+17)
- 
--// Zeichenattribute:
--#define EE_CHAR_START				(EE_ITEMS_START+16)
--#define EE_CHAR_COLOR				(EE_ITEMS_START+16)
--#define EE_CHAR_FONTINFO			(EE_ITEMS_START+17)
--#define EE_CHAR_FONTHEIGHT			(EE_ITEMS_START+18)
--#define EE_CHAR_FONTWIDTH			(EE_ITEMS_START+19)
--#define EE_CHAR_WEIGHT				(EE_ITEMS_START+20)
--#define EE_CHAR_UNDERLINE			(EE_ITEMS_START+21)
--#define EE_CHAR_STRIKEOUT			(EE_ITEMS_START+22)
--#define EE_CHAR_ITALIC				(EE_ITEMS_START+23)
--#define EE_CHAR_OUTLINE				(EE_ITEMS_START+24)
--#define EE_CHAR_SHADOW				(EE_ITEMS_START+25)
--#define EE_CHAR_ESCAPEMENT			(EE_ITEMS_START+26)
--#define EE_CHAR_PAIRKERNING			(EE_ITEMS_START+27)
--#define EE_CHAR_KERNING				(EE_ITEMS_START+28)
--#define EE_CHAR_WLM					(EE_ITEMS_START+29)
--#define EE_CHAR_LANGUAGE			(EE_ITEMS_START+30)
--#define EE_CHAR_LANGUAGE_CJK		(EE_ITEMS_START+31)
--#define EE_CHAR_LANGUAGE_CTL		(EE_ITEMS_START+32)
--#define EE_CHAR_FONTINFO_CJK		(EE_ITEMS_START+33)
--#define EE_CHAR_FONTINFO_CTL		(EE_ITEMS_START+34)
--#define EE_CHAR_FONTHEIGHT_CJK		(EE_ITEMS_START+35)
--#define EE_CHAR_FONTHEIGHT_CTL		(EE_ITEMS_START+36)
--#define EE_CHAR_WEIGHT_CJK			(EE_ITEMS_START+37)
--#define EE_CHAR_WEIGHT_CTL			(EE_ITEMS_START+38)
--#define EE_CHAR_ITALIC_CJK			(EE_ITEMS_START+39)
--#define EE_CHAR_ITALIC_CTL			(EE_ITEMS_START+40)
--#define EE_CHAR_EMPHASISMARK		(EE_ITEMS_START+41)
--#define EE_CHAR_RELIEF				(EE_ITEMS_START+42)
--#define EE_CHAR_RUBI_DUMMY			(EE_ITEMS_START+43)
--#define EE_CHAR_XMLATTRIBS			(EE_ITEMS_START+44)
--#define EE_CHAR_OVERLINE			(EE_ITEMS_START+45)
--#define EE_CHAR_END					(EE_ITEMS_START+45)
-+// Character attributes:
-+#define EE_CHAR_START               (EE_ITEMS_START+18)
-+#define EE_CHAR_COLOR               (EE_ITEMS_START+18)
-+#define EE_CHAR_FONTINFO            (EE_ITEMS_START+19)
-+#define EE_CHAR_FONTHEIGHT          (EE_ITEMS_START+20)
-+#define EE_CHAR_FONTWIDTH           (EE_ITEMS_START+21)
-+#define EE_CHAR_WEIGHT              (EE_ITEMS_START+22)
-+#define EE_CHAR_UNDERLINE           (EE_ITEMS_START+23)
-+#define EE_CHAR_STRIKEOUT           (EE_ITEMS_START+24)
-+#define EE_CHAR_ITALIC              (EE_ITEMS_START+25)
-+#define EE_CHAR_OUTLINE             (EE_ITEMS_START+26)
-+#define EE_CHAR_SHADOW              (EE_ITEMS_START+27)
-+#define EE_CHAR_ESCAPEMENT          (EE_ITEMS_START+28)
-+#define EE_CHAR_PAIRKERNING         (EE_ITEMS_START+29)
-+#define EE_CHAR_KERNING             (EE_ITEMS_START+30)
-+#define EE_CHAR_WLM                 (EE_ITEMS_START+31)
-+#define EE_CHAR_LANGUAGE            (EE_ITEMS_START+32)
-+#define EE_CHAR_LANGUAGE_CJK        (EE_ITEMS_START+33)
-+#define EE_CHAR_LANGUAGE_CTL        (EE_ITEMS_START+34)
-+#define EE_CHAR_FONTINFO_CJK        (EE_ITEMS_START+35)
-+#define EE_CHAR_FONTINFO_CTL        (EE_ITEMS_START+36)
-+#define EE_CHAR_FONTHEIGHT_CJK      (EE_ITEMS_START+37)
-+#define EE_CHAR_FONTHEIGHT_CTL      (EE_ITEMS_START+38)
-+#define EE_CHAR_WEIGHT_CJK          (EE_ITEMS_START+39)
-+#define EE_CHAR_WEIGHT_CTL          (EE_ITEMS_START+40)
-+#define EE_CHAR_ITALIC_CJK          (EE_ITEMS_START+41)
-+#define EE_CHAR_ITALIC_CTL          (EE_ITEMS_START+42)
-+#define EE_CHAR_EMPHASISMARK        (EE_ITEMS_START+43)
-+#define EE_CHAR_RELIEF              (EE_ITEMS_START+44)
-+#define EE_CHAR_RUBI_DUMMY          (EE_ITEMS_START+45)
-+#define EE_CHAR_XMLATTRIBS          (EE_ITEMS_START+46)
-+#define EE_CHAR_OVERLINE            (EE_ITEMS_START+47)
-+#define EE_CHAR_END                 (EE_ITEMS_START+47)
- 
- 
--#define EE_FEATURE_START			(EE_ITEMS_START+46)
--#define EE_FEATURE_TAB				(EE_ITEMS_START+46)
--#define EE_FEATURE_LINEBR			(EE_ITEMS_START+47)
--#define EE_FEATURE_NOTCONV			(EE_ITEMS_START+48)
--#define EE_FEATURE_FIELD			(EE_ITEMS_START+49)
--#define EE_FEATURE_END				(EE_ITEMS_START+49)
-+#define EE_FEATURE_START            (EE_ITEMS_START+48)
-+#define EE_FEATURE_TAB              (EE_ITEMS_START+48)
-+#define EE_FEATURE_LINEBR           (EE_ITEMS_START+49)
-+#define EE_FEATURE_NOTCONV          (EE_ITEMS_START+50)
-+#define EE_FEATURE_FIELD            (EE_ITEMS_START+51)
-+#define EE_FEATURE_END              (EE_ITEMS_START+51)
- 
--#define EE_ITEMS_END				(EE_ITEMS_START+49)
-+#define EE_ITEMS_END                (EE_ITEMS_START+51)
- 
- #define EDITITEMCOUNT ( EE_ITEMS_END - EE_ITEMS_START + 1 )
- 
-diff --git editeng/inc/editeng/justifyitem.hxx editeng/inc/editeng/justifyitem.hxx
-new file mode 100644
-index 0000000..da59e5c
---- /dev/null
-+++ editeng/inc/editeng/justifyitem.hxx
-@@ -0,0 +1,127 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ * 
-+ * Copyright 2000, 2010 Oracle and/or its affiliates.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef __EDITENG_JUSTIFYITEM_HXX__
-+#define __EDITENG_JUSTIFYITEM_HXX__
-+
-+#include "editeng/editengdllapi.h"
-+#include "editeng/svxenum.hxx"
-+#include <svl/eitem.hxx>
-+#include <sal/types.h>
-+
-+class EDITENG_DLLPUBLIC SvxHorJustifyItem: public SfxEnumItem
-+{
-+public:
-+    TYPEINFO();
-+
-+    SvxHorJustifyItem( const USHORT nId );
-+
-+    SvxHorJustifyItem(
-+        const SvxCellHorJustify eJustify /*= SVX_HOR_JUSTIFY_STANDARD*/,
-+        const USHORT nId );
-+
-+    virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
-+                                    SfxMapUnit eCoreMetric,
-+                                    SfxMapUnit ePresMetric,
-+                                    String &rText, const IntlWrapper * = 0 ) const;
-+
-+    virtual	sal_Bool        	 QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
-+    virtual	sal_Bool			 PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
-+
-+    virtual USHORT          GetValueCount() const;
-+    virtual String          GetValueText( USHORT nVal ) const;
-+    virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-+    virtual SfxPoolItem*    Create( SvStream& rStream, USHORT nVer ) const;
-+
-+    inline  SvxHorJustifyItem& operator=(const SvxHorJustifyItem& rHorJustify)
-+            {
-+                SetValue( rHorJustify.GetValue() );
-+                return *this;
-+            }
-+};
-+
-+//------------------------------------------------------------------------
-+
-+class EDITENG_DLLPUBLIC SvxVerJustifyItem: public SfxEnumItem
-+{
-+public:
-+    TYPEINFO();
-+
-+    SvxVerJustifyItem( const USHORT nId  );
-+
-+    SvxVerJustifyItem(
-+        const SvxCellVerJustify eJustify /*= SVX_VER_JUSTIFY_STANDARD*/,
-+        const USHORT nId  );
-+
-+    virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
-+                                    SfxMapUnit eCoreMetric,
-+                                    SfxMapUnit ePresMetric,
-+                                    String &rText, const IntlWrapper * = 0 ) const;
-+
-+    virtual	sal_Bool        	 QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
-+    virtual	sal_Bool			 PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
-+
-+    virtual USHORT          GetValueCount() const;
-+    virtual String          GetValueText( USHORT nVal ) const;
-+    virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-+    virtual SfxPoolItem*    Create( SvStream& rStream, USHORT nVer ) const;
-+
-+    inline  SvxVerJustifyItem& operator=(const SvxVerJustifyItem& rVerJustify)
-+            {
-+                SetValue( rVerJustify.GetValue() );
-+                return *this;
-+            }
-+};
-+
-+//------------------------------------------------------------------------
-+
-+class EDITENG_DLLPUBLIC SvxJustifyMethodItem: public SfxEnumItem
-+{
-+public:
-+    SvxJustifyMethodItem( const USHORT nId );
-+
-+    SvxJustifyMethodItem(
-+        const SvxCellJustifyMethod eMethod,
-+        const USHORT nId );
-+
-+    virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
-+                                    SfxMapUnit eCoreMetric,
-+                                    SfxMapUnit ePresMetric,
-+                                    String &rText, const IntlWrapper * = 0 ) const;
-+
-+    virtual sal_Bool             QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
-+    virtual sal_Bool             PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
-+
-+    virtual USHORT          GetValueCount() const;
-+    virtual String          GetValueText( USHORT nVal ) const;
-+    virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-+    virtual SfxPoolItem*    Create( SvStream& rStream, USHORT nVer ) const;
-+
-+    SvxJustifyMethodItem& operator=(const SvxJustifyMethodItem& r);
-+};
-+
-+#endif
-diff --git editeng/inc/editeng/memberids.hrc editeng/inc/editeng/memberids.hrc
-index 0eaff89..e9cb0b5 100644
---- editeng/inc/editeng/memberids.hrc
-+++ editeng/inc/editeng/memberids.hrc
-@@ -191,6 +191,8 @@
- #define MID_CASEMAP_VARIANT		0
- #define MID_CASEMAP_TRANS		1
- 
--
-+// SvxHorJustifyItem
-+#define MID_HORJUST_HORJUST		0
-+#define MID_HORJUST_ADJUST		1
- 
- #endif
-diff --git editeng/inc/editeng/svxenum.hxx editeng/inc/editeng/svxenum.hxx
-index 245929d..ed04754 100644
---- editeng/inc/editeng/svxenum.hxx
-+++ editeng/inc/editeng/svxenum.hxx
-@@ -124,12 +124,19 @@ enum SvxCellHorJustify
-     SVX_HOR_JUSTIFY_REPEAT
- };
- 
-+enum SvxCellJustifyMethod
-+{
-+    SVX_JUSTIFY_METHOD_AUTO,
-+    SVX_JUSTIFY_METHOD_DISTRIBUTE
-+};
-+
- enum SvxCellVerJustify
- {
-     SVX_VER_JUSTIFY_STANDARD,
-     SVX_VER_JUSTIFY_TOP,
-     SVX_VER_JUSTIFY_CENTER,
--    SVX_VER_JUSTIFY_BOTTOM
-+    SVX_VER_JUSTIFY_BOTTOM,
-+    SVX_VER_JUSTIFY_BLOCK
- };
- 
- enum SvxCellOrientation
-diff --git editeng/source/editeng/editdoc.cxx editeng/source/editeng/editdoc.cxx
-index 7b34d93..8a3c366 100644
---- editeng/source/editeng/editdoc.cxx
-+++ editeng/source/editeng/editdoc.cxx
-@@ -178,13 +178,15 @@ SfxItemInfo aItemInfos[EDITITEMCOUNT] = {
-         { 0, SFX_ITEM_POOLABLE },							    // EE_PARA_HYPHENATE
-         { 0, SFX_ITEM_POOLABLE },							    // EE_PARA_BULLETSTATE
-         { 0, SFX_ITEM_POOLABLE },							    // EE_PARA_OUTLLRSPACE
--        { SID_ATTR_PARA_OUTLLEVEL, SFX_ITEM_POOLABLE },
--        { SID_ATTR_PARA_BULLET, SFX_ITEM_POOLABLE },
--        { SID_ATTR_LRSPACE, SFX_ITEM_POOLABLE },
--        { SID_ATTR_ULSPACE, SFX_ITEM_POOLABLE },
--        { SID_ATTR_PARA_LINESPACE, SFX_ITEM_POOLABLE },
--        { SID_ATTR_PARA_ADJUST, SFX_ITEM_POOLABLE },
--        { SID_ATTR_TABSTOP, SFX_ITEM_POOLABLE },
-+        { SID_ATTR_PARA_OUTLLEVEL, SFX_ITEM_POOLABLE },         // EE_PARA_OUTLLEVEL
-+        { SID_ATTR_PARA_BULLET, SFX_ITEM_POOLABLE },            // EE_PARA_BULLET
-+        { SID_ATTR_LRSPACE, SFX_ITEM_POOLABLE },                // EE_PARA_LRSPACE
-+        { SID_ATTR_ULSPACE, SFX_ITEM_POOLABLE },                // EE_PARA_ULSPACE
-+        { SID_ATTR_PARA_LINESPACE, SFX_ITEM_POOLABLE },         // EE_PARA_SBL
-+        { SID_ATTR_PARA_ADJUST, SFX_ITEM_POOLABLE },            // EE_PARA_JUST
-+        { SID_ATTR_TABSTOP, SFX_ITEM_POOLABLE },                // EE_PARA_TABS
-+        { SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD, SFX_ITEM_POOLABLE }, // EE_PARA_JUST_METHOD
-+        { SID_ATTR_ALIGN_VER_JUSTIFY, SFX_ITEM_POOLABLE },      // EE_PARA_VER_JUST
-         { SID_ATTR_CHAR_COLOR, SFX_ITEM_POOLABLE },
-         { SID_ATTR_CHAR_FONT, SFX_ITEM_POOLABLE },
-         { SID_ATTR_CHAR_FONTHEIGHT, SFX_ITEM_POOLABLE },
-diff --git editeng/source/editeng/eerdll.cxx editeng/source/editeng/eerdll.cxx
-index fa1510a..6c335c9 100644
---- editeng/source/editeng/eerdll.cxx
-+++ editeng/source/editeng/eerdll.cxx
-@@ -73,6 +73,7 @@
- #include <editeng/frmdiritem.hxx>
- #include <editeng/xmlcnitm.hxx>
- #include <editeng/forbiddencharacterstable.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <comphelper/processfactory.hxx>
- 
- static EditDLL* pDLL=0;
-@@ -107,7 +108,7 @@ SfxPoolItem** GlobalEditData::GetDefItems()
-     {
-         ppDefItems = new SfxPoolItem*[EDITITEMCOUNT];
- 
--        // Absatzattribute:
-+        // Paragraph attributes:
-         SvxNumRule aTmpNumRule( 0, 0, FALSE );
- 
-         ppDefItems[0]  = new SvxFrameDirectionItem( FRMDIR_HORI_LEFT_TOP, EE_PARA_WRITINGDIR );
-@@ -120,57 +121,59 @@ SfxPoolItem** GlobalEditData::GetDefItems()
-         ppDefItems[7]  = new SfxBoolItem( EE_PARA_BULLETSTATE, TRUE );
-         ppDefItems[8]  = new SvxLRSpaceItem( EE_PARA_OUTLLRSPACE );
-         ppDefItems[9]  = new SfxInt16Item( EE_PARA_OUTLLEVEL, -1 );
--        ppDefItems[10]  = new SvxBulletItem( EE_PARA_BULLET );
--        ppDefItems[11]  = new SvxLRSpaceItem( EE_PARA_LRSPACE );
--        ppDefItems[12]  = new SvxULSpaceItem( EE_PARA_ULSPACE );
--        ppDefItems[13]  = new SvxLineSpacingItem( 0, EE_PARA_SBL );
--        ppDefItems[14]  = new SvxAdjustItem( SVX_ADJUST_LEFT, EE_PARA_JUST );
--        ppDefItems[15]  = new SvxTabStopItem( 0, 0, SVX_TAB_ADJUST_LEFT, EE_PARA_TABS );
--
--        // Zeichenattribute:
--        ppDefItems[16]  = new SvxColorItem( Color( COL_AUTO ), EE_CHAR_COLOR );
--        ppDefItems[17]  = new SvxFontItem( EE_CHAR_FONTINFO );
--        ppDefItems[18] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT );
--        ppDefItems[19] = new SvxCharScaleWidthItem( 100, EE_CHAR_FONTWIDTH );
--        ppDefItems[20] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT );
--        ppDefItems[21] = new SvxUnderlineItem( UNDERLINE_NONE, EE_CHAR_UNDERLINE );
--        ppDefItems[22] = new SvxCrossedOutItem( STRIKEOUT_NONE, EE_CHAR_STRIKEOUT );
--        ppDefItems[23] = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC );
--        ppDefItems[24] = new SvxContourItem( FALSE, EE_CHAR_OUTLINE );
--        ppDefItems[25] = new SvxShadowedItem( FALSE, EE_CHAR_SHADOW );
--        ppDefItems[26] = new SvxEscapementItem( 0, 100, EE_CHAR_ESCAPEMENT );
--        ppDefItems[27] = new SvxAutoKernItem( FALSE, EE_CHAR_PAIRKERNING );
--        ppDefItems[28] = new SvxKerningItem( 0, EE_CHAR_KERNING );
--        ppDefItems[29] = new SvxWordLineModeItem( FALSE, EE_CHAR_WLM );
--        ppDefItems[30] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE );
--        ppDefItems[31] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE_CJK );
--        ppDefItems[32] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE_CTL );
--        ppDefItems[33] = new SvxFontItem( EE_CHAR_FONTINFO_CJK );
--        ppDefItems[34] = new SvxFontItem( EE_CHAR_FONTINFO_CTL );
--        ppDefItems[35] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT_CJK );
--        ppDefItems[36] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT_CTL );
--        ppDefItems[37] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK );
--         ppDefItems[38] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL );
--        ppDefItems[39] = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK );
--        ppDefItems[40] = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL );
--        ppDefItems[41] = new SvxEmphasisMarkItem( EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK );
--        ppDefItems[42] = new SvxCharReliefItem( RELIEF_NONE, EE_CHAR_RELIEF );
--        ppDefItems[43] = new SfxVoidItem( EE_CHAR_RUBI_DUMMY );
-+        ppDefItems[10] = new SvxBulletItem( EE_PARA_BULLET );
-+        ppDefItems[11] = new SvxLRSpaceItem( EE_PARA_LRSPACE );
-+        ppDefItems[12] = new SvxULSpaceItem( EE_PARA_ULSPACE );
-+        ppDefItems[13] = new SvxLineSpacingItem( 0, EE_PARA_SBL );
-+        ppDefItems[14] = new SvxAdjustItem( SVX_ADJUST_LEFT, EE_PARA_JUST );
-+        ppDefItems[15] = new SvxTabStopItem( 0, 0, SVX_TAB_ADJUST_LEFT, EE_PARA_TABS );
-+        ppDefItems[16] = new SvxJustifyMethodItem( SVX_JUSTIFY_METHOD_AUTO, EE_PARA_JUST_METHOD );
-+        ppDefItems[17] = new SvxVerJustifyItem( SVX_VER_JUSTIFY_STANDARD, EE_PARA_VER_JUST );
-+
-+        // Character attributes:
-+        ppDefItems[18] = new SvxColorItem( Color( COL_AUTO ), EE_CHAR_COLOR );
-+        ppDefItems[19] = new SvxFontItem( EE_CHAR_FONTINFO );
-+        ppDefItems[20] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT );
-+        ppDefItems[21] = new SvxCharScaleWidthItem( 100, EE_CHAR_FONTWIDTH );
-+        ppDefItems[22] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT );
-+        ppDefItems[23] = new SvxUnderlineItem( UNDERLINE_NONE, EE_CHAR_UNDERLINE );
-+        ppDefItems[24] = new SvxCrossedOutItem( STRIKEOUT_NONE, EE_CHAR_STRIKEOUT );
-+        ppDefItems[25] = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC );
-+        ppDefItems[26] = new SvxContourItem( FALSE, EE_CHAR_OUTLINE );
-+        ppDefItems[27] = new SvxShadowedItem( FALSE, EE_CHAR_SHADOW );
-+        ppDefItems[28] = new SvxEscapementItem( 0, 100, EE_CHAR_ESCAPEMENT );
-+        ppDefItems[29] = new SvxAutoKernItem( FALSE, EE_CHAR_PAIRKERNING );
-+        ppDefItems[30] = new SvxKerningItem( 0, EE_CHAR_KERNING );
-+        ppDefItems[31] = new SvxWordLineModeItem( FALSE, EE_CHAR_WLM );
-+        ppDefItems[32] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE );
-+        ppDefItems[33] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE_CJK );
-+        ppDefItems[34] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE_CTL );
-+        ppDefItems[35] = new SvxFontItem( EE_CHAR_FONTINFO_CJK );
-+        ppDefItems[36] = new SvxFontItem( EE_CHAR_FONTINFO_CTL );
-+        ppDefItems[37] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT_CJK );
-+        ppDefItems[38] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT_CTL );
-+        ppDefItems[39] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK );
-+        ppDefItems[40] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL );
-+        ppDefItems[41] = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK );
-+        ppDefItems[42] = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL );
-+        ppDefItems[43] = new SvxEmphasisMarkItem( EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK );
-+        ppDefItems[44] = new SvxCharReliefItem( RELIEF_NONE, EE_CHAR_RELIEF );
-+        ppDefItems[45] = new SfxVoidItem( EE_CHAR_RUBI_DUMMY );
- #ifndef SVX_LIGHT
--        ppDefItems[44] = new SvXMLAttrContainerItem( EE_CHAR_XMLATTRIBS );
-+        ppDefItems[46] = new SvXMLAttrContainerItem( EE_CHAR_XMLATTRIBS );
- #else
-         // no need to have alien attributes persistent
--        ppDefItems[44] = new SfxVoidItem( EE_CHAR_XMLATTRIBS );
-+        ppDefItems[46] = new SfxVoidItem( EE_CHAR_XMLATTRIBS );
- #endif // #ifndef SVX_LIGHT
--        ppDefItems[45] = new SvxOverlineItem( UNDERLINE_NONE, EE_CHAR_OVERLINE );
-+        ppDefItems[47] = new SvxOverlineItem( UNDERLINE_NONE, EE_CHAR_OVERLINE );
- 
-         // Features
--        ppDefItems[46] = new SfxVoidItem( EE_FEATURE_TAB );
--        ppDefItems[47] = new SfxVoidItem( EE_FEATURE_LINEBR );
--        ppDefItems[48] = new SvxCharSetColorItem( Color( COL_RED ), RTL_TEXTENCODING_DONTKNOW, EE_FEATURE_NOTCONV );
--        ppDefItems[49] = new SvxFieldItem( SvxFieldData(), EE_FEATURE_FIELD );
-+        ppDefItems[48] = new SfxVoidItem( EE_FEATURE_TAB );
-+        ppDefItems[49] = new SfxVoidItem( EE_FEATURE_LINEBR );
-+        ppDefItems[50] = new SvxCharSetColorItem( Color( COL_RED ), RTL_TEXTENCODING_DONTKNOW, EE_FEATURE_NOTCONV );
-+        ppDefItems[51] = new SvxFieldItem( SvxFieldData(), EE_FEATURE_FIELD );
- 
--        DBG_ASSERT( EDITITEMCOUNT == 50, "ITEMCOUNT geaendert, DefItems nicht angepasst!" );
-+        DBG_ASSERT( EDITITEMCOUNT == 52, "ITEMCOUNT geaendert, DefItems nicht angepasst!" );
- 
-         // Init DefFonts:
-         GetDefaultFonts( *(SvxFontItem*)ppDefItems[EE_CHAR_FONTINFO - EE_ITEMS_START],
-diff --git editeng/source/editeng/impedit.hxx editeng/source/editeng/impedit.hxx
-index 02ccb76..f84d9d1 100755
---- editeng/source/editeng/impedit.hxx
-+++ editeng/source/editeng/impedit.hxx
-@@ -665,6 +665,8 @@ private:
-     void				SetBackgroundColor( const Color& rColor ) { maBackgroundColor = rColor; }
-     Color				GetBackgroundColor() const { return maBackgroundColor; }
- 
-+    long                CalcVertLineSpacing(Point& rStartPos) const;
-+
-     Color				GetAutoColor() const;
-     void                EnableAutoColor( BOOL b ) { bUseAutoColor = b; }
-     BOOL                IsAutoColorEnabled() const { return bUseAutoColor; }
-@@ -987,6 +989,8 @@ public:
- 
-     const SvxLRSpaceItem&	GetLRSpaceItem( ContentNode* pNode );
-     SvxAdjust               GetJustification( USHORT nPara ) const;
-+    SvxCellJustifyMethod    GetJustifyMethod( USHORT nPara ) const;
-+    SvxCellVerJustify       GetVerJustification( USHORT nPara ) const;
- 
-     void				SetCharStretching( sal_uInt16 nX, sal_uInt16 nY );
-     inline void			GetCharStretching( sal_uInt16& rX, sal_uInt16& rY );
-diff --git editeng/source/editeng/impedit2.cxx editeng/source/editeng/impedit2.cxx
-index 8308852..e250bc3 100755
---- editeng/source/editeng/impedit2.cxx
-+++ editeng/source/editeng/impedit2.cxx
-@@ -58,6 +58,7 @@
- #include <editeng/scripttypeitem.hxx>
- #include <editeng/frmdiritem.hxx>
- #include <editeng/fontitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <vcl/cmdevt.h>
- 
- #include <com/sun/star/i18n/CharacterIteratorMode.hpp>
-@@ -2136,6 +2137,20 @@ SvxAdjust ImpEditEngine::GetJustification( USHORT nPara ) const
-     return eJustification;
- }
- 
-+SvxCellJustifyMethod ImpEditEngine::GetJustifyMethod( USHORT nPara ) const
-+{
-+    const SvxJustifyMethodItem& rItem = static_cast<const SvxJustifyMethodItem&>(
-+        GetParaAttrib(nPara, EE_PARA_JUST_METHOD));
-+    return static_cast<SvxCellJustifyMethod>(rItem.GetEnumValue());
-+}
-+
-+SvxCellVerJustify ImpEditEngine::GetVerJustification( USHORT nPara ) const
-+{
-+    const SvxVerJustifyItem& rItem = static_cast<const SvxVerJustifyItem&>(
-+        GetParaAttrib(nPara, EE_PARA_VER_JUST));
-+    return static_cast<SvxCellVerJustify>(rItem.GetEnumValue());
-+}
-+
- 
- //	----------------------------------------------------------------------
- //	Textaenderung
-diff --git editeng/source/editeng/impedit3.cxx editeng/source/editeng/impedit3.cxx
-index 8ed92e7..eb0613d 100644
---- editeng/source/editeng/impedit3.cxx
-+++ editeng/source/editeng/impedit3.cxx
-@@ -61,6 +61,7 @@
- #include <editeng/scriptspaceitem.hxx>
- #include <editeng/charscaleitem.hxx>
- #include <editeng/numitem.hxx>
-+#include <editeng/justifyitem.hxx>
- 
- #include <svtools/colorcfg.hxx>
- #include <svl/ctloptions.hxx>
-@@ -1434,9 +1435,10 @@ sal_Bool ImpEditEngine::CreateLines( USHORT nPara, sal_uInt32 nStartPosY )
-             break;
-             case SVX_ADJUST_BLOCK:
-             {
-+                bool bDistLastLine = (GetJustifyMethod(nPara) == SVX_JUSTIFY_METHOD_DISTRIBUTE);
-                 long nRemainingSpace = nMaxLineWidth - aTextSize.Width();
-                 pLine->SetStartPosX( (sal_uInt16)nStartX );
--                if ( !bEOC && ( nRemainingSpace > 0 ) ) // nicht die letzte Zeile...
-+                if ( nRemainingSpace > 0 && (!bEOC || bDistLastLine) )
-                     ImpAdjustBlocks( pParaPortion, pLine, nRemainingSpace );
-             }
-             break;
-@@ -2018,22 +2020,42 @@ void ImpEditEngine::ImpAdjustBlocks( ParaPortion* pParaPortion, EditLine* pLine,
- 
-     // Search blanks or Kashidas...
-     SvUShorts aPositions;
--    USHORT nChar;
--    for ( nChar = nFirstChar; nChar <= nLastChar; nChar++ )
-+    USHORT nLastScript = i18n::ScriptType::LATIN;
-+    for ( USHORT nChar = nFirstChar; nChar <= nLastChar; nChar++ )
-     {
-+        EditPaM aPaM( pNode, nChar+1 );
-+        LanguageType eLang = GetLanguage(aPaM);
-+        USHORT nScript = GetScriptType(aPaM);
-+        if ( MsLangId::getPrimaryLanguage( eLang) == LANGUAGE_ARABIC_PRIMARY_ONLY )
-+            // Arabic script is handled later.
-+            continue;
-+
-         if ( pNode->GetChar(nChar) == ' ' )
-         {
--            // Don't use blank if language is arabic
--            LanguageType eLang = GetLanguage( EditPaM( pNode, nChar ) );
--            if ( MsLangId::getPrimaryLanguage( eLang) != LANGUAGE_ARABIC_PRIMARY_ONLY )
--                aPositions.Insert( nChar, aPositions.Count() );
-+            // Normal latin script.
-+            aPositions.Insert( nChar, aPositions.Count() );
-+        }
-+        else if (nChar > nFirstChar)
-+        {
-+            if (nLastScript == i18n::ScriptType::ASIAN)
-+            {
-+                // Set break position between this and the last character if
-+                // the last character is asian script.
-+                aPositions.Insert( nChar-1, aPositions.Count() );
-+            }
-+            else if (nScript == i18n::ScriptType::ASIAN)
-+            {
-+                // Set break position between a latin script and asian script.
-+                aPositions.Insert( nChar-1, aPositions.Count() );
-+            }
-         }
-+
-+        nLastScript = nScript;
-     }
- 
-     // Kashidas ?
-     ImpFindKashidas( pNode, nFirstChar, nLastChar, aPositions );
- 
--
-     if ( !aPositions.Count() )
-         return;
- 
-@@ -2073,12 +2095,13 @@ void ImpEditEngine::ImpAdjustBlocks( ParaPortion* pParaPortion, EditLine* pLine,
-     // Letztes Zeichen wird schon nicht mehr beachtet...
-     for ( USHORT n = 0; n < aPositions.Count(); n++ )
-     {
--        nChar = aPositions[n];
-+        USHORT nChar = aPositions[n];
-         if ( nChar < nLastChar )
-         {
-             USHORT nPortionStart, nPortion;
--            nPortion = pParaPortion->GetTextPortions().FindPortion( nChar, nPortionStart );
-+            nPortion = pParaPortion->GetTextPortions().FindPortion( nChar, nPortionStart, true );
-             TextPortion* pLastPortion = pParaPortion->GetTextPortions()[ nPortion ];
-+            USHORT nPortionEnd = nPortionStart + pLastPortion->GetLen();
- 
-             // Die Breite der Portion:
-             pLastPortion->GetSize().Width() += nMore4Everyone;
-@@ -2087,7 +2110,7 @@ void ImpEditEngine::ImpAdjustBlocks( ParaPortion* pParaPortion, EditLine* pLine,
- 
-             // Correct positions in array
-             // Even for kashidas just change positions, VCL will then draw the kashida automaticly
--            USHORT nPortionEnd = nPortionStart + pLastPortion->GetLen();
-+
-             for ( USHORT _n = nChar; _n < nPortionEnd; _n++ )
-             {
-                 pLine->GetCharPosArray()[_n-nFirstChar] += nMore4Everyone;
-@@ -2890,6 +2913,8 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRec, Point aSta
- //	if( GetStatus().DoOnlineSpelling() && pActiveView )
- //		aCurPos = pActiveView->pImpEditView->GetEditSelections().Max();
- 
-+    long nVertLineSpacing = CalcVertLineSpacing(aStartPos);
-+
-     // --------------------------------------------------
-     // Ueber alle Absaetze...
-     // --------------------------------------------------
-@@ -2938,12 +2963,16 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRec, Point aSta
-                     aTmpPos.X() += pLine->GetStartPosX();
-                     aTmpPos.Y() += pLine->GetMaxAscent();
-                     aStartPos.Y() += pLine->GetHeight();
-+                    if (nLine != nLastLine)
-+                        aStartPos.Y() += nVertLineSpacing;
-                 }
-                 else
-                 {
-                     aTmpPos.Y() += pLine->GetStartPosX();
-                     aTmpPos.X() -= pLine->GetMaxAscent();
-                     aStartPos.X() -= pLine->GetHeight();
-+                    if (nLine != nLastLine)
-+                        aStartPos.X() -= nVertLineSpacing;
-                 }
- 
-                 if ( ( !IsVertical() && ( aStartPos.Y() > aClipRec.Top() ) )
-@@ -4026,6 +4055,54 @@ ParaPortion* ImpEditEngine::GetNextVisPortion( ParaPortion* pCurPortion )
-     return pPortion;
- }
- 
-+long ImpEditEngine::CalcVertLineSpacing(Point& rStartPos) const
-+{
-+    long nTotalOccupiedHeight = 0;
-+    sal_uInt16 nTotalLineCount = 0;
-+    const ParaPortionList& rParaPortions = GetParaPortions();
-+    sal_uInt16 nParaCount = rParaPortions.Count();
-+
-+    for (sal_uInt16 i = 0; i < nParaCount; ++i)
-+    {
-+        if (GetVerJustification(i) != SVX_VER_JUSTIFY_BLOCK)
-+            // All paragraphs must have the block justification set.
-+            return 0;
-+
-+        ParaPortion* pPortion = rParaPortions.GetObject(i);
-+        nTotalOccupiedHeight += pPortion->GetFirstLineOffset();
-+
-+        const SvxLineSpacingItem& rLSItem = (const SvxLineSpacingItem&)pPortion->GetNode()->GetContentAttribs().GetItem(EE_PARA_SBL);
-+        sal_uInt16 nSBL = ( rLSItem.GetInterLineSpaceRule() == SVX_INTER_LINE_SPACE_FIX )
-+                            ? GetYValue( rLSItem.GetInterLineSpace() ) : 0;
-+
-+        const SvxULSpaceItem& rULItem = (const SvxULSpaceItem&)pPortion->GetNode()->GetContentAttribs().GetItem(EE_PARA_ULSPACE);
-+        long nUL = GetYValue( rULItem.GetLower() );
-+
-+        EditLineList& rLines = pPortion->GetLines();
-+        sal_uInt16 nLineCount = rLines.Count();
-+        nTotalLineCount += nLineCount;
-+        for (sal_uInt16 j = 0; j < nLineCount; ++j)
-+        {
-+            EditLine* pLine = rLines.GetObject(j);
-+            nTotalOccupiedHeight += pLine->GetHeight();
-+            if (j < nLineCount-1)
-+                nTotalOccupiedHeight += nSBL;
-+            nTotalOccupiedHeight += nUL;
-+        }
-+    }
-+
-+    long nTotalSpace = IsVertical() ? aPaperSize.Width() : aPaperSize.Height();
-+    nTotalSpace -= nTotalOccupiedHeight;
-+    if (nTotalSpace <= 0 || nTotalLineCount <= 1)
-+        return 0;
-+
-+    if (IsVertical())
-+        // Shift the text to the right for the asian layout mode.
-+        rStartPos.X() += nTotalSpace;
-+
-+    return nTotalSpace / (nTotalLineCount-1);
-+}
-+
- EditPaM ImpEditEngine::InsertParagraph( sal_uInt16 nPara )
- {
-     EditPaM aPaM;
-diff --git editeng/source/items/frmitems.cxx editeng/source/items/frmitems.cxx
-index a7cc6bd..00a7cfb 100644
---- editeng/source/items/frmitems.cxx
-+++ editeng/source/items/frmitems.cxx
-@@ -32,14 +32,12 @@
- #include <com/sun/star/uno/Any.hxx>
- #include <com/sun/star/script/XTypeConverter.hpp>
- #include <com/sun/star/lang/XMultiServiceFactory.hpp>
--#include <com/sun/star/table/CellVertJustify.hpp>
- #include <com/sun/star/table/ShadowLocation.hpp>
- #include <com/sun/star/table/TableBorder.hpp>
- #include <com/sun/star/table/ShadowFormat.hpp>
- #include <com/sun/star/table/CellRangeAddress.hpp>
- #include <com/sun/star/table/CellContentType.hpp>
- #include <com/sun/star/table/TableOrientation.hpp>
--#include <com/sun/star/table/CellHoriJustify.hpp>
- #include <com/sun/star/util/SortField.hpp>
- #include <com/sun/star/util/SortFieldType.hpp>
- #include <com/sun/star/table/CellOrientation.hpp>
-diff --git editeng/source/items/justifyitem.cxx editeng/source/items/justifyitem.cxx
-new file mode 100644
-index 0000000..01b9fef
---- /dev/null
-+++ editeng/source/items/justifyitem.cxx
-@@ -0,0 +1,485 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ * 
-+ * Copyright 2000, 2010 Oracle and/or its affiliates.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+// MARKER(update_precomp.py): autogen include statement, do not remove
-+#include "precompiled_editeng.hxx"
-+
-+// include ---------------------------------------------------------------
-+
-+#include "editeng/justifyitem.hxx"
-+#include "editeng/memberids.hrc"
-+#include "editeng/editrids.hrc"
-+#include "editeng/eerdll.hxx"
-+
-+#include <tools/stream.hxx>
-+
-+#include <com/sun/star/table/CellHoriJustify.hpp>
-+#include <com/sun/star/style/ParagraphAdjust.hpp>
-+#include <com/sun/star/table/CellJustifyMethod.hpp>
-+#include <com/sun/star/table/CellVertJustify2.hpp>
-+#include <com/sun/star/style/VerticalAlignment.hpp>
-+
-+// STATIC DATA -----------------------------------------------------------
-+
-+TYPEINIT1_FACTORY( SvxHorJustifyItem, SfxEnumItem, new SvxHorJustifyItem(SVX_HOR_JUSTIFY_STANDARD, 0) );
-+TYPEINIT1_FACTORY( SvxVerJustifyItem, SfxEnumItem, new SvxVerJustifyItem(SVX_VER_JUSTIFY_STANDARD, 0) );
-+
-+using namespace ::com::sun::star;
-+
-+// class SvxHorJustifyItem -----------------------------------------------
-+
-+
-+SvxHorJustifyItem::SvxHorJustifyItem( const USHORT nId ) :
-+    SfxEnumItem( nId, (USHORT)SVX_HOR_JUSTIFY_STANDARD )
-+{
-+}
-+
-+SvxHorJustifyItem::SvxHorJustifyItem( const SvxCellHorJustify eJustify,
-+                                      const USHORT nId ) :
-+    SfxEnumItem( nId, (USHORT)eJustify )
-+{
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxItemPresentation SvxHorJustifyItem::GetPresentation
-+(
-+    SfxItemPresentation ePres,
-+    SfxMapUnit          /*eCoreUnit*/,
-+    SfxMapUnit          /*ePresUnit*/,
-+    XubString&              rText, const IntlWrapper *)    const
-+{
-+    switch ( ePres )
-+    {
-+        case SFX_ITEM_PRESENTATION_NONE:
-+            rText.Erase();
-+            return SFX_ITEM_PRESENTATION_NONE;
-+        case SFX_ITEM_PRESENTATION_NAMELESS:
-+        case SFX_ITEM_PRESENTATION_COMPLETE:
-+            rText = GetValueText( GetValue() );
-+            return SFX_ITEM_PRESENTATION_COMPLETE;
-+        default: ; //prevent warning
-+    }
-+    return SFX_ITEM_PRESENTATION_NONE;
-+}
-+
-+//------------------------------------------------------------------------
-+
-+sal_Bool SvxHorJustifyItem::QueryValue( uno::Any& rVal, BYTE nMemberId ) const
-+{
-+//    sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
-+    nMemberId &= ~CONVERT_TWIPS;
-+    switch ( nMemberId )
-+    {
-+        case MID_HORJUST_HORJUST:
-+            {
-+                table::CellHoriJustify eUno = table::CellHoriJustify_STANDARD;
-+                switch ( (SvxCellHorJustify)GetValue() )
-+                {
-+                    case SVX_HOR_JUSTIFY_STANDARD: eUno = table::CellHoriJustify_STANDARD; break;
-+                    case SVX_HOR_JUSTIFY_LEFT:	   eUno = table::CellHoriJustify_LEFT;	   break;
-+                    case SVX_HOR_JUSTIFY_CENTER:   eUno = table::CellHoriJustify_CENTER;   break;
-+                    case SVX_HOR_JUSTIFY_RIGHT:	   eUno = table::CellHoriJustify_RIGHT;	   break;
-+                    case SVX_HOR_JUSTIFY_BLOCK:	   eUno = table::CellHoriJustify_BLOCK;	   break;
-+                    case SVX_HOR_JUSTIFY_REPEAT:   eUno = table::CellHoriJustify_REPEAT;   break;
-+                }
-+                rVal <<= eUno;
-+            }
-+            break;
-+        case MID_HORJUST_ADJUST:
-+            {
-+                //	ParagraphAdjust values, as in SvxAdjustItem
-+                //	(same value for ParaAdjust and ParaLastLineAdjust)
-+
-+                sal_Int16 nAdjust = style::ParagraphAdjust_LEFT;
-+                switch ( (SvxCellHorJustify)GetValue() )
-+                {
-+                    // ParagraphAdjust_LEFT is used for STANDARD and REPEAT
-+                    case SVX_HOR_JUSTIFY_STANDARD:
-+                    case SVX_HOR_JUSTIFY_REPEAT:
-+                    case SVX_HOR_JUSTIFY_LEFT:	 nAdjust = style::ParagraphAdjust_LEFT;	  break;
-+                    case SVX_HOR_JUSTIFY_CENTER: nAdjust = style::ParagraphAdjust_CENTER; break;
-+                    case SVX_HOR_JUSTIFY_RIGHT:	 nAdjust = style::ParagraphAdjust_RIGHT;  break;
-+                    case SVX_HOR_JUSTIFY_BLOCK:	 nAdjust = style::ParagraphAdjust_BLOCK;  break;
-+                }
-+                rVal <<= nAdjust;		// as sal_Int16
-+            }
-+            break;
-+    }
-+    return sal_True;
-+}
-+
-+sal_Bool SvxHorJustifyItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
-+{
-+//    sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
-+    nMemberId &= ~CONVERT_TWIPS;
-+    switch ( nMemberId )
-+    {
-+        case MID_HORJUST_HORJUST:
-+            {
-+                table::CellHoriJustify eUno;
-+                if(!(rVal >>= eUno))
-+                {
-+                    sal_Int32 nValue = 0;
-+                    if(!(rVal >>= nValue))
-+                        return sal_False;
-+                    eUno = (table::CellHoriJustify)nValue;
-+                }
-+                SvxCellHorJustify eSvx = SVX_HOR_JUSTIFY_STANDARD;
-+                switch (eUno)
-+                {
-+                    case table::CellHoriJustify_STANDARD: eSvx = SVX_HOR_JUSTIFY_STANDARD; break;
-+                    case table::CellHoriJustify_LEFT:	  eSvx = SVX_HOR_JUSTIFY_LEFT;	   break;
-+                    case table::CellHoriJustify_CENTER:   eSvx = SVX_HOR_JUSTIFY_CENTER;   break;
-+                    case table::CellHoriJustify_RIGHT:	  eSvx = SVX_HOR_JUSTIFY_RIGHT;	   break;
-+                    case table::CellHoriJustify_BLOCK:	  eSvx = SVX_HOR_JUSTIFY_BLOCK;	   break;
-+                    case table::CellHoriJustify_REPEAT:   eSvx = SVX_HOR_JUSTIFY_REPEAT;   break;
-+                    default: ; //prevent warning
-+                }
-+                SetValue( (USHORT)eSvx );
-+            }
-+            break;
-+        case MID_HORJUST_ADJUST:
-+            {
-+                //	property contains ParagraphAdjust values as sal_Int16
-+                sal_Int16 nVal = sal_Int16();
-+                if(!(rVal >>= nVal))
-+                    return sal_False;
-+
-+                SvxCellHorJustify eSvx = SVX_HOR_JUSTIFY_STANDARD;
-+                switch (nVal)
-+                {
-+                    //	STRETCH is treated as BLOCK
-+                    case style::ParagraphAdjust_LEFT:    eSvx = SVX_HOR_JUSTIFY_LEFT;   break;
-+                    case style::ParagraphAdjust_RIGHT:   eSvx = SVX_HOR_JUSTIFY_RIGHT;  break;
-+                    case style::ParagraphAdjust_STRETCH:
-+                    case style::ParagraphAdjust_BLOCK:   eSvx = SVX_HOR_JUSTIFY_BLOCK;  break;
-+                    case style::ParagraphAdjust_CENTER:  eSvx = SVX_HOR_JUSTIFY_CENTER; break;
-+                }
-+                SetValue( (USHORT)eSvx );
-+            }
-+    }
-+    return sal_True;
-+}
-+
-+//------------------------------------------------------------------------
-+
-+XubString SvxHorJustifyItem::GetValueText( USHORT nVal ) const
-+{
-+    DBG_ASSERT( nVal <= SVX_HOR_JUSTIFY_REPEAT, "enum overflow!" );
-+    return EE_RESSTR(RID_SVXITEMS_HORJUST_STANDARD + nVal);
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxPoolItem* SvxHorJustifyItem::Clone( SfxItemPool* ) const
-+{
-+    return new SvxHorJustifyItem( *this );
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxPoolItem* SvxHorJustifyItem::Create( SvStream& rStream, USHORT ) const
-+{
-+    USHORT nVal;
-+    rStream >> nVal;
-+    return new SvxHorJustifyItem( (SvxCellHorJustify)nVal, Which() );
-+}
-+//------------------------------------------------------------------------
-+
-+USHORT SvxHorJustifyItem::GetValueCount() const
-+{
-+    return SVX_HOR_JUSTIFY_REPEAT + 1;	// letzter Enum-Wert + 1
-+}
-+
-+// class SvxVerJustifyItem -----------------------------------------------
-+
-+SvxVerJustifyItem::SvxVerJustifyItem( const USHORT nId ) :
-+    SfxEnumItem( nId, (USHORT)SVX_VER_JUSTIFY_STANDARD )
-+{
-+}
-+
-+SvxVerJustifyItem::SvxVerJustifyItem( const SvxCellVerJustify eJustify,
-+                                      const USHORT nId ) :
-+    SfxEnumItem( nId, (USHORT)eJustify )
-+{
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxItemPresentation SvxVerJustifyItem::GetPresentation
-+(
-+    SfxItemPresentation ePres,
-+    SfxMapUnit          /*eCoreUnit*/,
-+    SfxMapUnit          /*ePresUnit*/,
-+    XubString&              rText,
-+    const IntlWrapper * )    const
-+{
-+    switch ( ePres )
-+    {
-+        case SFX_ITEM_PRESENTATION_NONE:
-+            rText.Erase();
-+            return SFX_ITEM_PRESENTATION_NONE;
-+        case SFX_ITEM_PRESENTATION_NAMELESS:
-+        case SFX_ITEM_PRESENTATION_COMPLETE:
-+            rText = GetValueText( GetValue() );
-+            return SFX_ITEM_PRESENTATION_COMPLETE;
-+        default: ; //prevent warning
-+    }
-+    return SFX_ITEM_PRESENTATION_NONE;
-+}
-+
-+//------------------------------------------------------------------------
-+
-+sal_Bool SvxVerJustifyItem::QueryValue( uno::Any& rVal, BYTE nMemberId ) const
-+{
-+    nMemberId &= ~CONVERT_TWIPS;
-+    switch ( nMemberId )
-+    {
-+        case MID_HORJUST_ADJUST:
-+            {
-+                style::VerticalAlignment eUno = style::VerticalAlignment_TOP;
-+                switch ( (SvxCellVerJustify)GetValue() )
-+                {
-+                    case SVX_VER_JUSTIFY_TOP:	   eUno = style::VerticalAlignment_TOP;	    break;
-+                    case SVX_VER_JUSTIFY_CENTER:   eUno = style::VerticalAlignment_MIDDLE;	break;
-+                    case SVX_VER_JUSTIFY_BOTTOM:   eUno = style::VerticalAlignment_BOTTOM;	break;
-+                    default: ; //prevent warning
-+                }
-+                rVal <<= eUno;
-+                break;
-+            }
-+        default:
-+            {
-+                sal_Int32 nUno = table::CellVertJustify2::STANDARD;
-+                switch ( (SvxCellVerJustify)GetValue() )
-+                {
-+                    case SVX_VER_JUSTIFY_STANDARD: nUno = table::CellVertJustify2::STANDARD; break;
-+                    case SVX_VER_JUSTIFY_TOP:      nUno = table::CellVertJustify2::TOP;     break;
-+                    case SVX_VER_JUSTIFY_CENTER:   nUno = table::CellVertJustify2::CENTER;  break;
-+                    case SVX_VER_JUSTIFY_BOTTOM:   nUno = table::CellVertJustify2::BOTTOM;  break;
-+                    case SVX_VER_JUSTIFY_BLOCK:    nUno = table::CellVertJustify2::BLOCK;  break;
-+                    default: ; //prevent warning
-+                }
-+                rVal <<= nUno;
-+                break;
-+            }
-+    }
-+    return sal_True;
-+}
-+
-+sal_Bool SvxVerJustifyItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
-+{
-+    nMemberId &= ~CONVERT_TWIPS;
-+    switch ( nMemberId )
-+    {
-+        case MID_HORJUST_ADJUST:
-+            {
-+                //	property contains ParagraphAdjust values as sal_Int16
-+                style::VerticalAlignment nVal = style::VerticalAlignment_TOP;
-+                if(!(rVal >>= nVal))
-+                    return sal_False;
-+
-+                SvxCellVerJustify eSvx = SVX_VER_JUSTIFY_STANDARD;
-+                switch (nVal)
-+                {
-+                    case style::VerticalAlignment_TOP:      eSvx = SVX_VER_JUSTIFY_TOP;     break;
-+                    case style::VerticalAlignment_MIDDLE:   eSvx = SVX_VER_JUSTIFY_CENTER;  break;
-+                    case style::VerticalAlignment_BOTTOM:   eSvx = SVX_VER_JUSTIFY_BOTTOM;  break;
-+                    default:;
-+                }
-+                SetValue( (USHORT)eSvx );
-+                break;
-+            }
-+        default:
-+            {
-+                sal_Int32 eUno;
-+                if(!(rVal >>= eUno))
-+                {
-+                    eUno = table::CellVertJustify2::STANDARD;
-+                }
-+
-+                SvxCellVerJustify eSvx = SVX_VER_JUSTIFY_STANDARD;
-+                switch (eUno)
-+                {
-+                    case table::CellVertJustify2::STANDARD: eSvx = SVX_VER_JUSTIFY_STANDARD;  break;
-+                    case table::CellVertJustify2::TOP:      eSvx = SVX_VER_JUSTIFY_TOP;       break;
-+                    case table::CellVertJustify2::CENTER:   eSvx = SVX_VER_JUSTIFY_CENTER;    break;
-+                    case table::CellVertJustify2::BOTTOM:   eSvx = SVX_VER_JUSTIFY_BOTTOM;    break;
-+                    case table::CellVertJustify2::BLOCK:    eSvx = SVX_VER_JUSTIFY_BLOCK;     break;
-+                    default: ; //prevent warning
-+                }
-+                SetValue( (USHORT)eSvx );
-+                break;
-+            }
-+    }
-+
-+    return sal_True;
-+}
-+
-+//------------------------------------------------------------------------
-+
-+XubString SvxVerJustifyItem::GetValueText( USHORT nVal ) const
-+{
-+    DBG_ASSERT( nVal <= SVX_VER_JUSTIFY_BOTTOM, "enum overflow!" );
-+    return EE_RESSTR(RID_SVXITEMS_VERJUST_STANDARD + nVal);
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxPoolItem* SvxVerJustifyItem::Clone( SfxItemPool* ) const
-+{
-+    return new SvxVerJustifyItem( *this );
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxPoolItem* SvxVerJustifyItem::Create( SvStream& rStream, USHORT ) const
-+{
-+    USHORT nVal;
-+    rStream >> nVal;
-+    return new SvxVerJustifyItem( (SvxCellVerJustify)nVal, Which() );
-+}
-+
-+//------------------------------------------------------------------------
-+
-+USHORT SvxVerJustifyItem::GetValueCount() const
-+{
-+    return SVX_VER_JUSTIFY_BOTTOM + 1;	// letzter Enum-Wert + 1
-+}
-+
-+
-+// class SvxJustifyMethodItem -----------------------------------------------
-+
-+SvxJustifyMethodItem::SvxJustifyMethodItem( const USHORT nId ) :
-+    SfxEnumItem( nId, (USHORT)SVX_JUSTIFY_METHOD_AUTO )
-+{
-+}
-+
-+SvxJustifyMethodItem::SvxJustifyMethodItem( const SvxCellJustifyMethod eJustify,
-+                                      const USHORT nId ) :
-+    SfxEnumItem( nId, (USHORT)eJustify )
-+{
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxItemPresentation SvxJustifyMethodItem::GetPresentation
-+(
-+    SfxItemPresentation ePres,
-+    SfxMapUnit          /*eCoreUnit*/,
-+    SfxMapUnit          /*ePresUnit*/,
-+    XubString&              rText,
-+    const IntlWrapper * )    const
-+{
-+    switch ( ePres )
-+    {
-+        case SFX_ITEM_PRESENTATION_NONE:
-+            rText.Erase();
-+            return SFX_ITEM_PRESENTATION_NONE;
-+        case SFX_ITEM_PRESENTATION_NAMELESS:
-+        case SFX_ITEM_PRESENTATION_COMPLETE:
-+            rText = GetValueText( GetValue() );
-+            return SFX_ITEM_PRESENTATION_COMPLETE;
-+        default: ; //prevent warning
-+    }
-+    return SFX_ITEM_PRESENTATION_NONE;
-+}
-+
-+//------------------------------------------------------------------------
-+
-+sal_Bool SvxJustifyMethodItem::QueryValue( uno::Any& rVal, BYTE /*nMemberId*/ ) const
-+{
-+    sal_Int32 nUno = table::CellJustifyMethod::AUTO;
-+    switch (static_cast<SvxCellJustifyMethod>(GetValue()))
-+    {
-+        case SVX_JUSTIFY_METHOD_AUTO:       nUno = table::CellJustifyMethod::AUTO;       break;
-+        case SVX_JUSTIFY_METHOD_DISTRIBUTE: nUno = table::CellJustifyMethod::DISTRIBUTE; break;
-+        default:;
-+    }
-+    rVal <<= nUno;
-+    return true;
-+}
-+
-+sal_Bool SvxJustifyMethodItem::PutValue( const uno::Any& rVal, BYTE /*nMemberId*/ )
-+{
-+    sal_Int32 nVal = table::CellJustifyMethod::AUTO;
-+    if (!(rVal >>= nVal))
-+        return false;
-+
-+    SvxCellJustifyMethod eSvx = SVX_JUSTIFY_METHOD_AUTO;
-+    switch (nVal)
-+    {
-+        case table::CellJustifyMethod::AUTO:
-+            eSvx = SVX_JUSTIFY_METHOD_AUTO;
-+        break;
-+        case table::CellJustifyMethod::DISTRIBUTE:
-+            eSvx = SVX_JUSTIFY_METHOD_DISTRIBUTE;
-+        break;
-+        default:;
-+    }
-+    SetValue(static_cast<USHORT>(eSvx));
-+    return true;
-+}
-+
-+//------------------------------------------------------------------------
-+
-+XubString SvxJustifyMethodItem::GetValueText( USHORT nVal ) const
-+{
-+    DBG_ASSERT( nVal <= SVX_VER_JUSTIFY_BOTTOM, "enum overflow!" );
-+    return EE_RESSTR(RID_SVXITEMS_JUSTMETHOD_AUTO + nVal);
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxPoolItem* SvxJustifyMethodItem::Clone( SfxItemPool* ) const
-+{
-+    return new SvxJustifyMethodItem( *this );
-+}
-+
-+//------------------------------------------------------------------------
-+
-+SfxPoolItem* SvxJustifyMethodItem::Create( SvStream& rStream, USHORT ) const
-+{
-+    USHORT nVal;
-+    rStream >> nVal;
-+    return new SvxJustifyMethodItem( (SvxCellJustifyMethod)nVal, Which() );
-+}
-+
-+//------------------------------------------------------------------------
-+
-+USHORT SvxJustifyMethodItem::GetValueCount() const
-+{
-+    return SVX_JUSTIFY_METHOD_DISTRIBUTE + 1;	// letzter Enum-Wert + 1
-+}
-+
-+SvxJustifyMethodItem& SvxJustifyMethodItem::operator=(const SvxJustifyMethodItem& r)
-+{
-+    SetValue( r.GetValue() );
-+    return *this;
-+}
-+
-diff --git editeng/source/items/makefile.mk editeng/source/items/makefile.mk
-index 512db7c..1a24244 100644
---- editeng/source/items/makefile.mk
-+++ editeng/source/items/makefile.mk
-@@ -56,6 +56,7 @@ SLOFILES= \
-                 $(SLO)$/svdfield.obj \
-         $(SLO)$/writingmodeitem.obj \
-         $(SLO)$/frmitems.obj \
-+        $(SLO)$/justifyitem.obj \
-         $(SLO)$/paraitem.obj \
-         $(SLO)$/textitem.obj \
-         $(SLO)$/flditem.obj \
-diff --git editeng/source/items/svxitems.src editeng/source/items/svxitems.src
-index 3b50d35..d99c004 100644
---- editeng/source/items/svxitems.src
-+++ editeng/source/items/svxitems.src
-@@ -1023,5 +1023,56 @@ String RID_SVXITEMS_CHARHIDDEN_TRUE
- {
-     Text [ en-US ] = "Hidden";
- };
-+ // enum SvxCellHorJustify ----------------------------------------------------
-+String RID_SVXITEMS_HORJUST_STANDARD
-+{
-+    Text [ en-US ] = "Horizontal alignment default" ;
-+};
-+String RID_SVXITEMS_HORJUST_LEFT
-+{
-+    Text [ en-US ] = "Align left" ;
-+};
-+String RID_SVXITEMS_HORJUST_CENTER
-+{
-+    Text [ en-US ] = "Centered horizontally" ;
-+};
-+String RID_SVXITEMS_HORJUST_RIGHT
-+{
-+    Text [ en-US ] = "Align right" ;
-+};
-+String RID_SVXITEMS_HORJUST_BLOCK
-+{
-+    Text [ en-US ] = "Justify" ;
-+};
-+String RID_SVXITEMS_HORJUST_REPEAT
-+{
-+    Text [ en-US ] = "Repeat alignment" ;
-+};
-+ // enum SvxCellVerJustify ----------------------------------------------------
-+String RID_SVXITEMS_VERJUST_STANDARD
-+{
-+    Text [ en-US ] = "Vertical alignment default" ;
-+};
-+String RID_SVXITEMS_VERJUST_TOP
-+{
-+    Text [ en-US ] = "Align to top" ;
-+};
-+String RID_SVXITEMS_VERJUST_CENTER
-+{
-+    Text [ en-US ] = "Centered vertically" ;
-+};
-+String RID_SVXITEMS_VERJUST_BOTTOM
-+{
-+    Text [ en-US ] = "Align to bottom" ;
-+};
-+ // enum SvxCellJustifyMethod ----------------------------------------------------
-+String RID_SVXITEMS_JUSTMETHOD_AUTO
-+{
-+    Text [ en-US ] = "Automatic" ;
-+};
-+String RID_SVXITEMS_JUSTMETHOD_DISTRIBUTE
-+{
-+    Text [ en-US ] = "Distributed" ;
-+};
- // ********************************************************************** EOF
- 
--- 
-1.7.0.1
-
diff --git a/patches/dev300/calc-distributed-cell-text-offapi.diff b/patches/dev300/calc-distributed-cell-text-offapi.diff
deleted file mode 100644
index b0a8b6b..0000000
--- a/patches/dev300/calc-distributed-cell-text-offapi.diff
+++ /dev/null
@@ -1,189 +0,0 @@
----
- offapi/com/sun/star/table/CellJustifyMethod.idl |   69 ++++++++++++++++++++
- offapi/com/sun/star/table/CellVertJustify2.idl  |   79 +++++++++++++++++++++++
- offapi/com/sun/star/table/makefile.mk           |    2 +
- 3 files changed, 150 insertions(+), 0 deletions(-)
- create mode 100644 offapi/com/sun/star/table/CellJustifyMethod.idl
- create mode 100644 offapi/com/sun/star/table/CellVertJustify2.idl
-
-diff --git offapi/com/sun/star/table/CellJustifyMethod.idl offapi/com/sun/star/table/CellJustifyMethod.idl
-new file mode 100644
-index 0000000..0273e8d
---- /dev/null
-+++ offapi/com/sun/star/table/CellJustifyMethod.idl
-@@ -0,0 +1,69 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: CellHoriJustify.idl,v $
-+ * $Revision: 1.7 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef __com_sun_star_table_CellJustifyMethod_idl__
-+#define __com_sun_star_table_CellJustifyMethod_idl__
-+
-+//=============================================================================
-+
-+module com {  module sun {  module star {  module table {
-+
-+//=============================================================================
-+
-+/** Specifies how text inside a cell is justified.  The justification methods
-+    closely follow the methods described under the text-jutify property of the
-+    CSS Text Level 3 specification.  The latest version of the aforementioned
-+    specification is found here http://www.w3.org/TR/css3-text/.
-+ */
-+constants CellJustifyMethod
-+{
-+    //-------------------------------------------------------------------------
-+
-+    /** Automatic.
-+     */
-+    const long AUTO = 0;
-+
-+    //-------------------------------------------------------------------------
-+
-+    /** When applied in the direction of text flow, characters in each line are
-+        distributed at equal intervals so that the ends of each line are aligned
-+        with the start and end edges of the cell.  When applied in the
-+        perpendicular direction of text flow, the lines are distributed at equal
-+        intervals so that the first and last lines are aligned with the start and
-+        end edges of the cell.
-+     */
-+    const long DISTRIBUTE = 1;
-+};
-+
-+//=============================================================================
-+
-+}; }; }; };
-+
-+#endif
-diff --git offapi/com/sun/star/table/CellVertJustify2.idl offapi/com/sun/star/table/CellVertJustify2.idl
-new file mode 100644
-index 0000000..7778e23
---- /dev/null
-+++ offapi/com/sun/star/table/CellVertJustify2.idl
-@@ -0,0 +1,79 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: CellVertJustify.idl,v $
-+ * $Revision: 1.7 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef __com_sun_star_table_CellVertJustify_idl__
-+#define __com_sun_star_table_CellVertJustify_idl__
-+
-+//=============================================================================
-+
-+module com {  module sun {  module star {  module table {
-+
-+//=============================================================================
-+
-+/** specifies how cell contents are aligned vertically.
-+ */
-+constants CellVertJustify2
-+{
-+    //-------------------------------------------------------------------------
-+
-+    /** default alignment is used.
-+     */
-+    const long STANDARD = 0;
-+
-+    //-------------------------------------------------------------------------
-+
-+    /** contents are aligned with the upper edge of the cell.
-+     */
-+    const long TOP = 1;
-+
-+    //-------------------------------------------------------------------------
-+
-+    /** contents are aligned to the vertical middle of the cell.
-+     */
-+    const long CENTER = 2;
-+
-+    //-------------------------------------------------------------------------
-+
-+    /** contents are aligned to the lower edge of the cell.
-+     */
-+    const long BOTTOM = 3;
-+
-+    //-------------------------------------------------------------------------
-+
-+    /** contents are justified to the cell height.
-+     */
-+    const long BLOCK = 4;
-+};
-+
-+//=============================================================================
-+
-+}; }; }; };
-+
-+#endif
-diff --git offapi/com/sun/star/table/makefile.mk offapi/com/sun/star/table/makefile.mk
-index 8b78c4b..605a7a9 100644
---- offapi/com/sun/star/table/makefile.mk
-+++ offapi/com/sun/star/table/makefile.mk
-@@ -46,11 +46,13 @@ IDLFILES=\
-     CellContentType.idl\
-     CellCursor.idl\
-     CellHoriJustify.idl\
-+    CellJustifyMethod.idl\
-     CellOrientation.idl\
-     CellProperties.idl\
-     CellRange.idl\
-     CellRangeAddress.idl\
-     CellVertJustify.idl\
-+    CellVertJustify2.idl\
-     ShadowFormat.idl\
-     ShadowLocation.idl\
-     TableBorder.idl\
--- 
-1.7.0.1
-
diff --git a/patches/dev300/calc-distributed-cell-text-oox.diff b/patches/dev300/calc-distributed-cell-text-oox.diff
deleted file mode 100644
index 2eeccea..0000000
--- a/patches/dev300/calc-distributed-cell-text-oox.diff
+++ /dev/null
@@ -1,123 +0,0 @@
----
- oox/inc/oox/xls/stylesbuffer.hxx |    5 +++--
- oox/source/token/properties.txt  |    2 ++
- oox/source/xls/stylesbuffer.cxx  |   31 ++++++++++++++++++++++---------
- 3 files changed, 27 insertions(+), 11 deletions(-)
-
-diff --git oox/inc/oox/xls/stylesbuffer.hxx oox/inc/oox/xls/stylesbuffer.hxx
-index d3134fb..3a5efc7 100644
---- oox/inc/oox/xls/stylesbuffer.hxx
-+++ oox/inc/oox/xls/stylesbuffer.hxx
-@@ -360,11 +360,12 @@ struct AlignmentModel
- struct ApiAlignmentData
- {
-     typedef ::com::sun::star::table::CellHoriJustify ApiCellHoriJustify;
--    typedef ::com::sun::star::table::CellVertJustify ApiCellVertJustify;
-     typedef ::com::sun::star::table::CellOrientation ApiCellOrientation;
- 
-     ApiCellHoriJustify  meHorJustify;       /// Horizontal alignment.
--    ApiCellVertJustify  meVerJustify;       /// Vertical alignment.
-+    sal_Int32           mnHorJustifyMethod;
-+    sal_Int32           mnVerJustify;       /// Vertical alignment.
-+    sal_Int32           mnVerJustifyMethod;
-     ApiCellOrientation  meOrientation;      /// Normal or stacked text.
-     sal_Int32           mnRotation;         /// Text rotation angle.
-     sal_Int16           mnWritingMode;      /// CTL text direction.
-diff --git oox/source/token/properties.txt oox/source/token/properties.txt
-index 5a8cf5b..9405c5c 100644
---- oox/source/token/properties.txt
-+++ oox/source/token/properties.txt
-@@ -197,6 +197,7 @@ Height
- HelpText
- HideInactiveSelection
- HoriJustify
-+HoriJustifyMethod
- HorizontalSplitMode
- HorizontalSplitPositionTwips
- IgnoreBlankCells
-@@ -442,6 +443,7 @@ VScroll
- Validation
- VaryColorsByPoint
- VertJustify
-+VertJustifyMethod
- VerticalAlign
- VerticalSplitMode
- VerticalSplitPositionTwips
-diff --git oox/source/xls/stylesbuffer.cxx oox/source/xls/stylesbuffer.cxx
-index cfc42ee..1ed6277 100644
---- oox/source/xls/stylesbuffer.cxx
-+++ oox/source/xls/stylesbuffer.cxx
-@@ -41,7 +41,8 @@
- #include <com/sun/star/style/XStyle.hpp>
- #include <com/sun/star/text/WritingMode2.hpp>
- #include <com/sun/star/text/XText.hpp>
--#include <com/sun/star/table/CellVertJustify.hpp>
-+#include <com/sun/star/table/CellVertJustify2.hpp>
-+#include <com/sun/star/table/CellJustifyMethod.hpp>
- #include <rtl/tencinfo.h>
- #include <rtl/ustrbuf.hxx>
- #include "properties.hxx"
-@@ -1254,7 +1255,9 @@ void AlignmentModel::setBinTextOrient( sal_uInt8 nTextOrient )
- 
- ApiAlignmentData::ApiAlignmentData() :
-     meHorJustify( ::com::sun::star::table::CellHoriJustify_STANDARD ),
--    meVerJustify( ::com::sun::star::table::CellVertJustify_STANDARD ),
-+    mnHorJustifyMethod( ::com::sun::star::table::CellJustifyMethod::AUTO ),
-+    mnVerJustify( ::com::sun::star::table::CellVertJustify2::STANDARD ),
-+    mnVerJustifyMethod( ::com::sun::star::table::CellJustifyMethod::AUTO ),
-     meOrientation( ::com::sun::star::table::CellOrientation_STANDARD ),
-     mnRotation( 0 ),
-     mnWritingMode( ::com::sun::star::text::WritingMode2::PAGE ),
-@@ -1268,7 +1271,9 @@ bool operator==( const ApiAlignmentData& rLeft, const ApiAlignmentData& rRight )
- {
-     return
-         (rLeft.meHorJustify  == rRight.meHorJustify) &&
--        (rLeft.meVerJustify  == rRight.meVerJustify) &&
-+        (rLeft.mnHorJustifyMethod == rRight.mnHorJustifyMethod) &&
-+        (rLeft.mnVerJustify  == rRight.mnVerJustify) &&
-+        (rLeft.mnVerJustifyMethod == rRight.mnVerJustifyMethod) &&
-         (rLeft.meOrientation == rRight.meOrientation) &&
-         (rLeft.mnRotation    == rRight.mnRotation) &&
-         (rLeft.mnWritingMode == rRight.mnWritingMode) &&
-@@ -1365,16 +1370,22 @@ void Alignment::finalizeImport()
-         case XML_right:             maApiData.meHorJustify = csstab::CellHoriJustify_RIGHT;     break;
-     }
- 
-+    if (maModel.mnHorAlign == XML_distributed)
-+        maApiData.mnHorJustifyMethod = csstab::CellJustifyMethod::DISTRIBUTE;
-+
-     // vertical alignment
-     switch( maModel.mnVerAlign )
-     {
--        case XML_bottom:        maApiData.meVerJustify = csstab::CellVertJustify_BOTTOM;    break;
--        case XML_center:        maApiData.meVerJustify = csstab::CellVertJustify_CENTER;    break;
--        case XML_distributed:   maApiData.meVerJustify = csstab::CellVertJustify_TOP;       break;
--        case XML_justify:       maApiData.meVerJustify = csstab::CellVertJustify_TOP;       break;
--        case XML_top:           maApiData.meVerJustify = csstab::CellVertJustify_TOP;       break;
-+        case XML_bottom:        maApiData.mnVerJustify = csstab::CellVertJustify2::BOTTOM;    break;
-+        case XML_center:        maApiData.mnVerJustify = csstab::CellVertJustify2::CENTER;    break;
-+        case XML_distributed:   maApiData.mnVerJustify = csstab::CellVertJustify2::BLOCK;     break;
-+        case XML_justify:       maApiData.mnVerJustify = csstab::CellVertJustify2::BLOCK;     break;
-+        case XML_top:           maApiData.mnVerJustify = csstab::CellVertJustify2::TOP;       break;
-     }
- 
-+    if (maModel.mnVerAlign == XML_distributed)
-+        maApiData.mnVerJustifyMethod = csstab::CellJustifyMethod::DISTRIBUTE;
-+
-     /*  indentation: expressed as number of blocks of 3 space characters in
-         OOX, and as multiple of 10 points in BIFF. */
-     sal_Int32 nIndent = 0;
-@@ -1414,7 +1425,9 @@ void Alignment::finalizeImport()
- void Alignment::writeToPropertyMap( PropertyMap& rPropMap ) const
- {
-     rPropMap[ PROP_HoriJustify ]     <<= maApiData.meHorJustify;
--    rPropMap[ PROP_VertJustify ]     <<= maApiData.meVerJustify;
-+    rPropMap[ PROP_HoriJustifyMethod ] <<= maApiData.mnHorJustifyMethod;
-+    rPropMap[ PROP_VertJustify ]     <<= maApiData.mnVerJustify;
-+    rPropMap[ PROP_VertJustifyMethod ] <<= maApiData.mnVerJustifyMethod;
-     rPropMap[ PROP_WritingMode ]     <<= maApiData.mnWritingMode;
-     rPropMap[ PROP_RotateAngle ]     <<= maApiData.mnRotation;
-     rPropMap[ PROP_Orientation ]     <<= maApiData.meOrientation;
--- 
-1.7.0.1
-
diff --git a/patches/dev300/calc-distributed-cell-text-reportdesign.diff b/patches/dev300/calc-distributed-cell-text-reportdesign.diff
deleted file mode 100644
index f36b64d..0000000
--- a/patches/dev300/calc-distributed-cell-text-reportdesign.diff
+++ /dev/null
@@ -1,19 +0,0 @@
----
- reportdesign/source/ui/misc/UITools.cxx |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git reportdesign/source/ui/misc/UITools.cxx reportdesign/source/ui/misc/UITools.cxx
-index 6217b40..563b552 100644
---- reportdesign/source/ui/misc/UITools.cxx
-+++ reportdesign/source/ui/misc/UITools.cxx
-@@ -69,6 +69,7 @@
- #include <editeng/flstitem.hxx>
- #include <editeng/akrnitem.hxx>
- #include <editeng/colritem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <svx/drawitem.hxx>
- #include <editeng/twolinesitem.hxx>
- #include <editeng/charreliefitem.hxx>
--- 
-1.7.0.1
-
diff --git a/patches/dev300/calc-distributed-cell-text-sc.diff b/patches/dev300/calc-distributed-cell-text-sc.diff
deleted file mode 100644
index 64bda10..0000000
--- a/patches/dev300/calc-distributed-cell-text-sc.diff
+++ /dev/null
@@ -1,2296 +0,0 @@
- sc/inc/autoform.hxx                           |    1 +
- sc/inc/scitems.hxx                            |  138 +++---
- sc/inc/unonames.hxx                           |    2 +
- sc/source/core/data/attarray.cxx              |    1 +
- sc/source/core/data/column2.cxx               |    1 +
- sc/source/core/data/docpool.cxx               |    5 +
- sc/source/core/data/dpoutput.cxx              |    1 +
- sc/source/core/data/patattr.cxx               |    1 +
- sc/source/core/data/stlpool.cxx               |    1 +
- sc/source/core/data/table1.cxx                |    1 +
- sc/source/core/tool/editutil.cxx              |    1 +
- sc/source/core/tool/interpr1.cxx              |    1 +
- sc/source/filter/excel/xestyle.cxx            |   27 ++-
- sc/source/filter/excel/xistyle.cxx            |    3 +
- sc/source/filter/excel/xlstyle.cxx            |   12 +-
- sc/source/filter/html/htmlexp.cxx             |    1 +
- sc/source/filter/html/htmlpars.cxx            |    1 +
- sc/source/filter/inc/xlstyle.hxx              |    4 +
- sc/source/filter/lotus/lotattr.cxx            |    1 +
- sc/source/filter/lotus/memory.cxx             |    1 +
- sc/source/filter/lotus/op.cxx                 |    1 +
- sc/source/filter/lotus/tool.cxx               |    1 +
- sc/source/filter/qpro/qprostyle.cxx           |    1 +
- sc/source/filter/rtf/rtfexp.cxx               |    1 +
- sc/source/filter/starcalc/scflt.cxx           |    1 +
- sc/source/filter/xml/xmlstyle.cxx             |  144 ++++++-
- sc/source/filter/xml/xmlstyle.hxx             |   37 +-
- sc/source/ui/Accessibility/AccessibleText.cxx |    1 +
- sc/source/ui/app/inputhdl.cxx                 |    1 +
- sc/source/ui/app/transobj.cxx                 |    1 +
- sc/source/ui/app/typemap.cxx                  |    1 +
- sc/source/ui/docshell/docsh.cxx               |    1 +
- sc/source/ui/undo/undoblk.cxx                 |    1 +
- sc/source/ui/undo/undoblk3.cxx                |    1 +
- sc/source/ui/unoobj/afmtuno.cxx               |    8 +-
- sc/source/ui/unoobj/cellsuno.cxx              |   39 ++-
- sc/source/ui/unoobj/styleuno.cxx              |    8 +-
- sc/source/ui/vba/vbaformat.cxx                |   22 +-
- sc/source/ui/view/formatsh.cxx                |    1 +
- sc/source/ui/view/gridwin.cxx                 |    1 +
- sc/source/ui/view/output2.cxx                 |  557 ++++++++++++++++---------
- sc/source/ui/view/viewdata.cxx                |    1 +
- sc/source/ui/view/viewfunc.cxx                |    1 +
- 43 files changed, 706 insertions(+), 329 deletions(-)
-
-diff --git sc/inc/autoform.hxx sc/inc/autoform.hxx
-index 1fce4cb..3e4a94d 100644
---- sc/inc/autoform.hxx
-+++ sc/inc/autoform.hxx
-@@ -60,6 +60,7 @@ JP 20.07.95:
- #include <editeng/shdditem.hxx>
- #include <editeng/udlnitem.hxx>
- #include <editeng/wghtitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <svx/rotmodit.hxx>
- #include <svl/intitem.hxx>
- #include <editeng/bolnitem.hxx>
-diff --git sc/inc/scitems.hxx sc/inc/scitems.hxx
-index dbdb5d3..2da2bf1 100644
---- sc/inc/scitems.hxx
-+++ sc/inc/scitems.hxx
-@@ -93,75 +93,77 @@
- #define ATTR_HANGPUNCTUATION	127
- #define ATTR_FORBIDDEN_RULES	128
- #define	ATTR_HOR_JUSTIFY		129
--#define ATTR_INDENT				130
--#define	ATTR_VER_JUSTIFY		131
--#define ATTR_STACKED            132
--#define ATTR_ROTATE_VALUE		133
--#define ATTR_ROTATE_MODE		134
--#define ATTR_VERTICAL_ASIAN		135
--#define ATTR_WRITINGDIR			136
--#define ATTR_LINEBREAK			137
--#define ATTR_SHRINKTOFIT        138
--#define ATTR_BORDER_TLBR        139
--#define ATTR_BORDER_BLTR        140
--#define ATTR_MARGIN             141
--#define ATTR_MERGE              142
--#define ATTR_MERGE_FLAG         143
--#define ATTR_VALUE_FORMAT       144
--#define ATTR_LANGUAGE_FORMAT    145
--#define ATTR_BACKGROUND         146
--#define ATTR_PROTECTION         147
--#define ATTR_BORDER             148
--#define ATTR_BORDER_INNER       149     // innen, wg. Vorlagen-EditDialog
--#define ATTR_SHADOW             150
--#define ATTR_VALIDDATA          151
--#define ATTR_CONDITIONAL        152
--
--#define ATTR_PATTERN_END        152     // Ende Zellattribut-Pattern
--
--#define ATTR_PATTERN            153
-+#define ATTR_HOR_JUSTIFY_METHOD 130
-+#define ATTR_INDENT				131
-+#define	ATTR_VER_JUSTIFY		132
-+#define ATTR_VER_JUSTIFY_METHOD 133
-+#define ATTR_STACKED            134
-+#define ATTR_ROTATE_VALUE		135
-+#define ATTR_ROTATE_MODE		136
-+#define ATTR_VERTICAL_ASIAN		137
-+#define ATTR_WRITINGDIR			138
-+#define ATTR_LINEBREAK			139
-+#define ATTR_SHRINKTOFIT        140
-+#define ATTR_BORDER_TLBR        141
-+#define ATTR_BORDER_BLTR        142
-+#define ATTR_MARGIN             143
-+#define ATTR_MERGE              144
-+#define ATTR_MERGE_FLAG         145
-+#define ATTR_VALUE_FORMAT       146
-+#define ATTR_LANGUAGE_FORMAT    147
-+#define ATTR_BACKGROUND         148
-+#define ATTR_PROTECTION         149
-+#define ATTR_BORDER             150
-+#define ATTR_BORDER_INNER       151     // innen, wg. Vorlagen-EditDialog
-+#define ATTR_SHADOW             152
-+#define ATTR_VALIDDATA          153
-+#define ATTR_CONDITIONAL        154
-+
-+#define ATTR_PATTERN_END        154     // Ende Zellattribut-Pattern
-+
-+#define ATTR_PATTERN            155
-                                         // Seitenattribute
--#define ATTR_LRSPACE            154     // Editor: PageDesc-TabPage
--#define ATTR_ULSPACE            155
--#define ATTR_PAGE               156
--#define ATTR_PAGE_PAPERTRAY     157
--#define ATTR_PAGE_PAPERBIN      158
--#define ATTR_PAGE_SIZE          159
--#define ATTR_PAGE_MAXSIZE       160
--#define ATTR_PAGE_HORCENTER     161
--#define ATTR_PAGE_VERCENTER     162
--
--#define ATTR_PAGE_ON            163     // Editor: Header/Footer-Page
--#define ATTR_PAGE_DYNAMIC       164
--#define ATTR_PAGE_SHARED        165
--
--#define ATTR_PAGE_NOTES         166     // Editor: Tabelle
--#define ATTR_PAGE_GRID          167
--#define ATTR_PAGE_HEADERS       168
--#define ATTR_PAGE_CHARTS        169
--#define ATTR_PAGE_OBJECTS       170
--#define ATTR_PAGE_DRAWINGS      171
--#define ATTR_PAGE_TOPDOWN       172
--#define ATTR_PAGE_SCALE         173
--#define ATTR_PAGE_SCALETOPAGES  174
--#define ATTR_PAGE_FIRSTPAGENO   175
--
--#define ATTR_PAGE_PRINTAREA     176     // Editor: Druckbereiche
--#define ATTR_PAGE_REPEATROW     177
--#define ATTR_PAGE_REPEATCOL     178
--#define ATTR_PAGE_PRINTTABLES   179
--
--#define ATTR_PAGE_HEADERLEFT    180     // Inhalte der Kopf-/
--#define ATTR_PAGE_FOOTERLEFT    181     // Fusszeilen (links)
--#define ATTR_PAGE_HEADERRIGHT   182     // Inhalte der Kopf-/
--#define ATTR_PAGE_FOOTERRIGHT   183     // Fusszeilen (rechts)
--#define ATTR_PAGE_HEADERSET     184     // die Sets dazu...
--#define ATTR_PAGE_FOOTERSET     185
--
--#define ATTR_PAGE_FORMULAS      186
--#define ATTR_PAGE_NULLVALS      187
--
--#define ATTR_PAGE_SCALETO       188     // #i8868# scale printout to with/height
-+#define ATTR_LRSPACE            156     // Editor: PageDesc-TabPage
-+#define ATTR_ULSPACE            157
-+#define ATTR_PAGE               158
-+#define ATTR_PAGE_PAPERTRAY     159
-+#define ATTR_PAGE_PAPERBIN      160
-+#define ATTR_PAGE_SIZE          161
-+#define ATTR_PAGE_MAXSIZE       162
-+#define ATTR_PAGE_HORCENTER     163
-+#define ATTR_PAGE_VERCENTER     164
-+
-+#define ATTR_PAGE_ON            165     // Editor: Header/Footer-Page
-+#define ATTR_PAGE_DYNAMIC       166
-+#define ATTR_PAGE_SHARED        167
-+
-+#define ATTR_PAGE_NOTES         168     // Editor: Tabelle
-+#define ATTR_PAGE_GRID          169
-+#define ATTR_PAGE_HEADERS       170
-+#define ATTR_PAGE_CHARTS        171
-+#define ATTR_PAGE_OBJECTS       172
-+#define ATTR_PAGE_DRAWINGS      173
-+#define ATTR_PAGE_TOPDOWN       174
-+#define ATTR_PAGE_SCALE         175
-+#define ATTR_PAGE_SCALETOPAGES  176
-+#define ATTR_PAGE_FIRSTPAGENO   177
-+
-+#define ATTR_PAGE_PRINTAREA     178     // Editor: Druckbereiche
-+#define ATTR_PAGE_REPEATROW     179
-+#define ATTR_PAGE_REPEATCOL     180
-+#define ATTR_PAGE_PRINTTABLES   181
-+
-+#define ATTR_PAGE_HEADERLEFT    182     // Inhalte der Kopf-/
-+#define ATTR_PAGE_FOOTERLEFT    183     // Fusszeilen (links)
-+#define ATTR_PAGE_HEADERRIGHT   184     // Inhalte der Kopf-/
-+#define ATTR_PAGE_FOOTERRIGHT   185     // Fusszeilen (rechts)
-+#define ATTR_PAGE_HEADERSET     186     // die Sets dazu...
-+#define ATTR_PAGE_FOOTERSET     187
-+
-+#define ATTR_PAGE_FORMULAS      188
-+#define ATTR_PAGE_NULLVALS      189
-+
-+#define ATTR_PAGE_SCALETO       190     // #i8868# scale printout to with/height
- 
- #define ATTR_ENDINDEX           ATTR_PAGE_SCALETO        // Ende Pool-Range
- 
-diff --git sc/inc/unonames.hxx sc/inc/unonames.hxx
-index 497fd00..7de3097 100644
---- sc/inc/unonames.hxx
-+++ sc/inc/unonames.hxx
-@@ -106,6 +106,8 @@
- #define SC_UNONAME_CELLPRO			"CellProtection"
- #define SC_UNONAME_CELLHJUS			"HoriJustify"
- #define SC_UNONAME_CELLVJUS			"VertJustify"
-+#define SC_UNONAME_CELLHJUS_METHOD  "HoriJustifyMethod"
-+#define SC_UNONAME_CELLVJUS_METHOD  "VertJustifyMethod"
- #define SC_UNONAME_CELLORI			"Orientation"
- #define SC_UNONAME_NUMFMT			"NumberFormat"
- #define SC_UNONAME_SHADOW			"ShadowFormat"
-diff --git sc/source/core/data/attarray.cxx sc/source/core/data/attarray.cxx
-index d0b457f..019f3e1 100644
---- sc/source/core/data/attarray.cxx
-+++ sc/source/core/data/attarray.cxx
-@@ -39,6 +39,7 @@
- #include <editeng/frmdiritem.hxx>
- #include <editeng/shaditem.hxx>
- #include <editeng/editobj.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <svl/poolcach.hxx>
- #include <editeng/fontitem.hxx>
- #include <unotools/fontcvt.hxx>
-diff --git sc/source/core/data/column2.cxx sc/source/core/data/column2.cxx
-index 83e25a7..08a59f1 100644
---- sc/source/core/data/column2.cxx
-+++ sc/source/core/data/column2.cxx
-@@ -44,6 +44,7 @@
- #include <svx/rotmodit.hxx>
- #include <editeng/scripttypeitem.hxx>
- #include <editeng/unolingu.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <svl/zforlist.hxx>
- #include <svl/broadcast.hxx>
- #include <svl/listeneriter.hxx>
-diff --git sc/source/core/data/docpool.cxx sc/source/core/data/docpool.cxx
-index 1430bee..b43cda4 100644
---- sc/source/core/data/docpool.cxx
-+++ sc/source/core/data/docpool.cxx
-@@ -67,6 +67,7 @@
- #include <editeng/wghtitem.hxx>
- #include <editeng/wrlmitem.hxx>
- #include <editeng/xmlcnitm.hxx>
-+#include <editeng/justifyitem.hxx>
- 
- #include "docpool.hxx"
- #include "global.hxx"
-@@ -127,8 +128,10 @@ static SfxItemInfo __READONLY_DATA  aItemInfos[] =
-     { 0,							SFX_ITEM_POOLABLE },	// ATTR_HANGPUNCTUATION		from 614d
-     { SID_ATTR_PARA_FORBIDDEN_RULES,SFX_ITEM_POOLABLE },	// ATTR_FORBIDDEN_RULES		from 614d
-     { SID_ATTR_ALIGN_HOR_JUSTIFY,	SFX_ITEM_POOLABLE },	// ATTR_HOR_JUSTIFY
-+    { SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD, SFX_ITEM_POOLABLE }, // ATTR_HOR_JUSTIFY_METHOD
-     { SID_ATTR_ALIGN_INDENT,		SFX_ITEM_POOLABLE },	// ATTR_INDENT			ab 350
-     { SID_ATTR_ALIGN_VER_JUSTIFY,	SFX_ITEM_POOLABLE },	// ATTR_VER_JUSTIFY
-+    { SID_ATTR_ALIGN_VER_JUSTIFY_METHOD, SFX_ITEM_POOLABLE }, // ATTR_VER_JUSTIFY_METHOD
-     { SID_ATTR_ALIGN_STACKED,       SFX_ITEM_POOLABLE },    // ATTR_STACKED         from 680/dr14 (replaces ATTR_ORIENTATION)
-     { SID_ATTR_ALIGN_DEGREES,		SFX_ITEM_POOLABLE },	// ATTR_ROTATE_VALUE	ab 367
-     { SID_ATTR_ALIGN_LOCKPOS,		SFX_ITEM_POOLABLE },	// ATTR_ROTATE_MODE		ab 367
-@@ -260,8 +263,10 @@ ScDocumentPool::ScDocumentPool( SfxItemPool* pSecPool, BOOL bLoadRefCounts )
-     ppPoolDefaults[ ATTR_HANGPUNCTUATION - ATTR_STARTINDEX ] = new SvxHangingPunctuationItem( sal_False, ATTR_HANGPUNCTUATION);
-     ppPoolDefaults[ ATTR_FORBIDDEN_RULES - ATTR_STARTINDEX ] = new SvxForbiddenRuleItem( sal_False, ATTR_FORBIDDEN_RULES);
-     ppPoolDefaults[ ATTR_HOR_JUSTIFY     - ATTR_STARTINDEX ] = new SvxHorJustifyItem( SVX_HOR_JUSTIFY_STANDARD, ATTR_HOR_JUSTIFY);
-+    ppPoolDefaults[ ATTR_HOR_JUSTIFY_METHOD - ATTR_STARTINDEX ] = new SvxJustifyMethodItem( SVX_JUSTIFY_METHOD_AUTO, ATTR_HOR_JUSTIFY_METHOD);
-     ppPoolDefaults[	ATTR_INDENT			 - ATTR_STARTINDEX ] = new SfxUInt16Item( ATTR_INDENT, 0 );
-     ppPoolDefaults[ ATTR_VER_JUSTIFY     - ATTR_STARTINDEX ] = new SvxVerJustifyItem( SVX_VER_JUSTIFY_STANDARD, ATTR_VER_JUSTIFY);
-+    ppPoolDefaults[ ATTR_VER_JUSTIFY_METHOD - ATTR_STARTINDEX ] = new SvxJustifyMethodItem( SVX_JUSTIFY_METHOD_AUTO, ATTR_VER_JUSTIFY_METHOD);
-     ppPoolDefaults[ ATTR_STACKED         - ATTR_STARTINDEX ] = new SfxBoolItem( ATTR_STACKED, FALSE );
-     ppPoolDefaults[	ATTR_ROTATE_VALUE	 - ATTR_STARTINDEX ] = new SfxInt32Item( ATTR_ROTATE_VALUE, 0 );
-     ppPoolDefaults[	ATTR_ROTATE_MODE	 - ATTR_STARTINDEX ] = new SvxRotateModeItem( SVX_ROTATE_MODE_BOTTOM, ATTR_ROTATE_MODE );
-diff --git sc/source/core/data/dpoutput.cxx sc/source/core/data/dpoutput.cxx
-index efb5b16..8d1c0f4 100755
---- sc/source/core/data/dpoutput.cxx
-+++ sc/source/core/data/dpoutput.cxx
-@@ -37,6 +37,7 @@
- #include <editeng/boxitem.hxx>
- #include <editeng/brshitem.hxx>
- #include <editeng/wghtitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <unotools/transliterationwrapper.hxx>
- 
- #include "dpoutput.hxx"
-diff --git sc/source/core/data/patattr.cxx sc/source/core/data/patattr.cxx
-index 7b63093..e7ac975 100644
---- sc/source/core/data/patattr.cxx
-+++ sc/source/core/data/patattr.cxx
-@@ -57,6 +57,7 @@
- #include <editeng/udlnitem.hxx>
- #include <editeng/wghtitem.hxx>
- #include <editeng/wrlmitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <svl/intitem.hxx>
- #include <svl/zforlist.hxx>
- #include <vcl/outdev.hxx>
-diff --git sc/source/core/data/stlpool.cxx sc/source/core/data/stlpool.cxx
-index 863ff1c..a02215d 100644
---- sc/source/core/data/stlpool.cxx
-+++ sc/source/core/data/stlpool.cxx
-@@ -46,6 +46,7 @@
- #include <editeng/postitem.hxx>
- #include <editeng/udlnitem.hxx>
- #include <editeng/wghtitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <svl/itemset.hxx>
- #include <svl/zforlist.hxx>
- #include <unotools/charclass.hxx>
-diff --git sc/source/core/data/table1.cxx sc/source/core/data/table1.cxx
-index 030f0b1..9bb2032 100644
---- sc/source/core/data/table1.cxx
-+++ sc/source/core/data/table1.cxx
-@@ -93,6 +93,7 @@
- 
- #include "scitems.hxx"
- #include <svx/algitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <unotools/textsearch.hxx>
- #include <sfx2/objsh.hxx>
- 
-diff --git sc/source/core/tool/editutil.cxx sc/source/core/tool/editutil.cxx
-index 66a275d..61ad3f8 100644
---- sc/source/core/tool/editutil.cxx
-+++ sc/source/core/tool/editutil.cxx
-@@ -44,6 +44,7 @@
- #include <editeng/escpitem.hxx>
- #include <editeng/flditem.hxx>
- #include <editeng/numitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <vcl/svapp.hxx>
- #include <vcl/outdev.hxx>
- #include <svl/inethist.hxx>
-diff --git sc/source/core/tool/interpr1.cxx sc/source/core/tool/interpr1.cxx
-index d53d565..32e1a16 100644
---- sc/source/core/tool/interpr1.cxx
-+++ sc/source/core/tool/interpr1.cxx
-@@ -32,6 +32,7 @@
- 
- #include "scitems.hxx"
- #include <editeng/langitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include <svx/algitem.hxx>
- #include <unotools/textsearch.hxx>
- #include <svl/zforlist.hxx>
-diff --git sc/source/filter/excel/xestyle.cxx sc/source/filter/excel/xestyle.cxx
-index 3800c2f..3f99147 100644
---- sc/source/filter/excel/xestyle.cxx
-+++ sc/source/filter/excel/xestyle.cxx
-@@ -47,6 +47,7 @@
- #include <editeng/frmdiritem.hxx>
- #include <editeng/eeitem.hxx>
- #include <editeng/escpitem.hxx>
-+#include <editeng/justifyitem.hxx>
- #include "document.hxx"
- #include "stlpool.hxx"

... etc. - the rest is truncated


More information about the ooo-build-commit mailing list