[ooo-build-commit] .: 2 commits - bin/unpack patches/dev300 patches/vba

Petr Mladek pmladek at kemper.freedesktop.org
Tue Aug 31 12:25:09 PDT 2010


 bin/unpack                                                         |   14 
 patches/dev300/apply                                               |  106 
 patches/dev300/border-types-dotted-dashed-m2.diff                  | 4480 
 patches/dev300/calc-distributed-cell-text-sc-m2.diff               | 2296 
 patches/dev300/calc-formula-variable-sep-config-check-sfx2-m2.diff |  105 
 patches/dev300/calc-perf-import-dbf-sc-m2.diff                     |  908 
 patches/dev300/cws-koheicopyborder-sc-m2.diff                      |  578 
 patches/dev300/ooxml-sc-docpropsimp-m2.diff                        |   96 
 patches/dev300/pptx-snapshot-at-ooxml03-creation-m2.diff           |10324 --
 patches/dev300/xlsx-shared-xlsx-shared-import-and-export-m2.diff   |  587 
 patches/dev300/xlsx-shared-xlsx-snapshot-m2.diff                   | 2492 
 patches/vba/cws-vbasupportdev300-m2.diff                           |49817 ----------
 patches/vba/oox-projectname-oobuild-specifix-m2.diff               |  110 
 patches/vba/vba-container-controls-m2.diff                         | 7950 -
 patches/vba/vba-msvbahelper-splitbuilt-m2.diff                     | 1844 
 patches/vba/vba-oox-autocodename-m2.diff                           |  242 
 patches/vba/vba-oox-olenameoverride-m2.diff                        |  465 
 patches/vba/vba-use-ooxfilter-forcontrols-m2.diff                  |  623 
 18 files changed, 14 insertions(+), 83023 deletions(-)

New commits:
commit 4880d44f76cb5649d77ae6c09709ab47ade83353
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 31 21:22:25 2010 +0200

    Bin support for ooo330 < m4
    
    * patches/dev300/border-types-dotted-dashed-m2.diff
    * patches/dev300/calc-distributed-cell-text-sc-m2.diff
    * patches/dev300/calc-formula-variable-sep-config-check-sfx2-m2.diff
    * patches/dev300/calc-perf-import-dbf-sc-m2.diff
    * patches/dev300/cws-koheicopyborder-sc-m2.diff
    * patches/dev300/ooxml-sc-docpropsimp-m2.diff
    * patches/dev300/pptx-snapshot-at-ooxml03-creation-m2.diff
    * patches/dev300/xlsx-shared-xlsx-shared-import-and-export-m2.diff
    * patches/dev300/xlsx-shared-xlsx-snapshot-m2.diff
    * patches/vba/cws-vbasupportdev300-m2.diff
    * patches/vba/oox-projectname-oobuild-specifix-m2.diff
    * patches/vba/vba-container-controls-m2.diff
    * patches/vba/vba-msvbahelper-splitbuilt-m2.diff
    * patches/vba/vba-oox-autocodename-m2.diff
    * patches/vba/vba-oox-olenameoverride-m2.diff
    * patches/vba/vba-use-ooxfilter-forcontrols-m2.diff:
    * patches/dev300/apply: support only ooo330-m4 and ooo-build-3.2.98.0;
      bin the unused diffs

diff --git a/patches/dev300/apply b/patches/dev300/apply
index c74fb01..62b8177 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -7,7 +7,7 @@
 PATCHPATH=.:../evo2:../vba:../mono:../64bit:../cairo:../gstreamer:../ooxml:../postgresql:../emf+:../unittesting:../lwp
 
 # might be space separated list to support more MWS
-OLDEST_SUPPORTED=ooo330-m2,ooo-build-3.2.98.0
+OLDEST_SUPPORTED=ooo330-m4 ooo-build-3.2.98.0
 
 # -------- Functional sub-sets --------
 Common : PreprocessPatches, BuildBits, TemporaryHacks, FixesNotForUpstream, \
@@ -183,11 +183,7 @@ cws-koheichart02-chart2.diff, kohei
 cws-koheichart02-sc.diff,     kohei
 cws-koheichart02-xmloff.diff, kohei
 
-[ CWSBackports < ooo330-m3 ]
-# koheicopyborder cws (paste on enter, and animated border for copied ranges).
-cws-koheicopyborder-sc-m2.diff,  kohei
-cws-koheicopyborder-svx.diff, kohei
-[ CWSBackports >= ooo330-m3 ]
+[ CWSBackports ]
 # koheicopyborder cws (paste on enter, and animated border for copied ranges).
 cws-koheicopyborder-sc.diff,  kohei
 cws-koheicopyborder-svx.diff, kohei
@@ -1492,9 +1488,6 @@ mono-climaker-bridgetest.diff
 SectionOwner => noelpwer
 # FIXME: half of the diff is somehow fixed to apply by pmladek
 #        few things need double checking
-[ VBAObjects < ooo330-m3 ]
-cws-vbasupportdev300-m2.diff
-[ VBAObjects >= ooo330-m3 ]
 cws-vbasupportdev300.diff
 # FIXME ooo330-m2 old version (m83) of the diff cws-vbasupportdev300_m83.diff, noelpwer
 
@@ -1502,57 +1495,34 @@ cws-vbasupportdev300.diff
 # is disabled in vbasupportdev300 upstream )
 cws-vbasupportdev300_m83-fix.diff, cbosdo
 vba-enable-fieldrelatedbits.diff
-[ VBAObjects < ooo330-m3 ]
-vba-container-controls-m2.diff
-# need to adapt ooo-build wrt the changes intorduced into container_controls
-oox-projectname-oobuild-specifix-m2.diff
-[ VBAObjects >= ooo330-m3 ]
 vba-container-controls.diff
 # need to adapt ooo-build wrt the changes intorduced into container_controls
 oox-projectname-oobuild-specifix.diff
-[ VBAObjects ]
 # fix problem with inserting imported modules with oox
 oox-insert-module-bug.diff
 # tweak oox filter to handle any passed generated code names 
 # there is a strange scenario with one cust doc where a code module is missing
-[ VBAObjects < ooo330-m3 ]
-vba-oox-autocodename-m2.diff,  n#507768
-# tweak oox filter to handle strange scenario where there might be some
-# missing codenmames in excel
-vba-oox-olenameoverride-m2.diff, n#359933, n#403974 
-[ VBAObjects >= ooo330-m3 ]
 vba-oox-autocodename.diff,  n#507768
 # tweak oox filter to handle strange scenario where there might be some
 # missing codenmames in excel
 vba-oox-olenameoverride.diff, n#359933, n#403974 
 # fix strange ranges seperator regression problem
-[ VBAObjects ]
 fix-name-range-separator.diff, n#597351
 # remove dependency of vbahelper on oox ( added by container_controls.diff )
 vbahelper-no-oox.diff
-
-[ VBAObjects <= ooo330-m2 ]
 # misc changes to modify strange upstream changes
-vba-misc-tweakupstream-m2.diff
-# unoize msvbahelper to solve some dependency issues for split build
-vba-msvbahelper-splitbuilt-m2.diff
-[ VBAObjects > ooo330-m3 ]
 vba-misc-tweakupstream.diff
 # unoize msvbahelper to solve some dependency issues for split build
 # FIXME disabled for m3f
 # FIXME cause build problems with m4; some stuff is missing
 vba-msvbahelper-splitbuilt.diff
-
-[VBAObjects]
 # fix upstream introduced Application::Intersection problem
 vba-fix-interesection.diff
 # use oox filter exclusively for import of controls  ( excel/word )
-[ VBAObjects < ooo330-m3 ]
-vba-use-ooxfilter-forcontrols-m2.diff
-[ VBAObjects >= ooo330-m3 ]
 vba-use-ooxfilter-forcontrols.diff
 # fix hlink & macro import/export for autoshapes and pictures
 vba-fix-shapepic-hlinkmacro.diff
+
 [ VBAUntested ]
 SectionOwner => noelpwer
 # KEEP - unfinished autotext stuff 
@@ -2882,12 +2852,9 @@ pptx-filter-as-a-separate-lib-sd-build-lst-with-transogl.diff
 # Snapshot of the pptx export filter at the time of creation of ooxml03
 # This is until 0475--fix-crash-introduced-by-Jonathan-s-changes-in-eppt.patch
 # (including)
-[ OOXMLExport < ooo330-m3 ]
-pptx-snapshot-at-ooxml03-creation-m2.diff
-[ OOXMLExport >= ooo330-m3 ]
+[ OOXMLExport ]
 pptx-snapshot-at-ooxml03-creation.diff
 
-[ OOXMLExport ]
 # ...and the rest from the git tree
 # (until 'more qnimations export work', including)
 
@@ -2905,18 +2872,6 @@ pptx-fix-connector-crash.diff, n#499129, thorsten
 # doesn't include 
 # xlsx-export-row-limit-fix.diff, n#504623, kohei
 
-
-[ OOXMLExportDevel <= ooo330-m2 ]
-# Snapshot of the xlsx export filter at the time of creation of ooxml03
-# This is until 0453-Fix-formatted-text-change-tracking.patch, inluding, and
-# should contain all the available changes.
-xlsx-shared-xlsx-snapshot-m2.diff
-
-# Make the xlsx export and import work at the same time
-# (converts the xlsx export to a UNO filter)
-xlsx-shared-xlsx-shared-import-and-export-m2.diff
-
-[ OOXMLExportDevel > ooo330-m2 ]
 # Snapshot of the xlsx export filter at the time of creation of ooxml03
 # This is until 0453-Fix-formatted-text-change-tracking.patch, inluding, and
 # should contain all the available changes.
@@ -2926,8 +2881,6 @@ xlsx-shared-xlsx-snapshot.diff
 # (converts the xlsx export to a UNO filter)
 xlsx-shared-xlsx-shared-import-and-export.diff
 
-
-[ OOXMLExportDevel ]
 xlsx-shared-xlsx-arabic-export-crash.diff, n#497419, janneke
 
 xlsx-shared-xlsx-export-set-xml-2007-flavour.diff, n#502090, janneke
@@ -2974,13 +2927,7 @@ ooxml-sc-page-date.diff, muthusuba
 ooxml-schema.diff, muthusuba
 ooxml-sc-paneexport.diff, muthusuba
 ooxml-sc-showdropdown-fix.diff, muthusuba
-
-[ OOXMLExportDevel <= ooo330-m2 ]
-ooxml-sc-docpropsimp-m2.diff, muthusuba
-[ OOXMLExportDevel > ooo330-m2 ]
 ooxml-sc-docpropsimp.diff, muthusuba
-
-[ OOXMLExportDevel ]
 ooxml-sc-page-date-imp.diff, muthusuba
 ooxml-sc-brk.diff, muthusuba
 ooxml-sw-fix-2010-import-crash.diff, bubli
@@ -3096,10 +3043,8 @@ emf+-driver-string.diff, n#519715, rodo
 [ Fixes ]
 # FIXME dev300-m77 sd-print-fix-pageoffset.diff, n#537931, rodo # the code has moved to sd/source/ui/view/DocumentRenderer.cxx
 svx-ppt-import-fix-bullet-size.diff, n#515972, rodo
-[ Fixes < ooo330-m3 ]
-# #FIXME ooo3330-m4: doesn't apply in m3f
 # correctly import connector style attribute.
-svx-msdff-import-connector-style-fix.diff, n#631804, kohei
+# FIXME ooo3330-m4: doesn't apply in m3f svx-msdff-import-connector-style-fix.diff, n#631804, kohei
 
 [ Win32Only ]
 # FIXME dev300-m77: Doesn't apply, maybe not needed
@@ -3128,9 +3073,7 @@ sd-ppt-fix-document-summary-reading.diff, n#546758, rodo
 # fixes crasher in xml parser
 unoxml-fix-empty-xmlns.diff, rodo
 build-fix-xulrunner-npapi-inc.diff, janneke
-
-[ Fixes < ooo330-m1 ]
-configure-fix-lpsolve-depends.diff, janneke
+# FIXME ooo330-m2: does not apply: configure-fix-lpsolve-depends.diff, janneke
 
 [ DebianSidOnly ]
 # link dynamically with liblpsolve55.so
@@ -3184,7 +3127,8 @@ system-lpsolve-link-with-colamd.diff, rengelha
 # it doesn't hurt if we force it not to work on Windows, either.
 win32-dont-attempt-restart.diff, n#524250, tml
 
-[ SystemBitsWithSTLport < ooo330-m5 ]
+[ SystemBitsWithSTLport ]
+# FIXME: most likely get integrated in ooo330-m5
 fixup-graphite-layout-stl-type.diff, i#113563, cmc
 [ SystemBitsWithSTLport ]
 system-cppunit-with-stlport-ooo.diff, i#113503, cmc
@@ -3358,11 +3302,6 @@ svtools-wmf-clean-warnings.diff, rodo
 # Improve import performance of dbf files by ~80%.
 calc-perf-import-dbf-connectivity.diff, n#558505, kohei
 calc-perf-import-dbf-dbaccess.diff,     n#558505, kohei
-
-[ CalcRowLimit <= ooo330-m2 ]
-calc-perf-import-dbf-sc-m2.diff,           n#558505, kohei
-
-[ CalcRowLimit > ooo330-m2 ]
 calc-perf-import-dbf-sc.diff,           n#558505, kohei
 
 [ CalcRowLimit ]
@@ -3375,15 +3314,9 @@ calc-perf-xls-import-cellstyles-fix2.diff, n#594235, kohei
 # Adjust the size of the broadcast slot machine to match the new row limit.
 calc-perf-adjust-slot-machine.diff, n#588554, kohei
 
-[ CalcFixes <= ooo330-m2 ]
-# Check for separator options' potential conflict with custom locale setting.
-calc-formula-variable-sep-config-check-sfx2-m2.diff, n#556142, i#106959, kohei
-
-[ CalcFixes > ooo330-m2 ]
+[ CalcFixes ]
 # Check for separator options' potential conflict with custom locale setting.
 calc-formula-variable-sep-config-check-sfx2.diff, n#556142, i#106959, kohei
-
-[ CalcFixes ]
 calc-formula-variable-sep-config-check-sc.diff,   n#556142, i#106959, kohei
 
 # Distributed text alignment support for cell text.
@@ -3393,13 +3326,7 @@ 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
-
-[ CalcFixes <= ooo330-m2 ]
-calc-distributed-cell-text-sc-m2.diff,      kohei
-[ CalcFixes > ooo330-m2 ]
 calc-distributed-cell-text-sc.diff,      kohei
-
-[ CalcFixes ]
 calc-distributed-cell-text-svx.diff,     kohei
 calc-distributed-cell-text-sw.diff,      kohei
 calc-distributed-cell-text-xmloff.diff,  kohei
@@ -3446,9 +3373,7 @@ calc-formula-r1c1-parser-fix.diff, n#604903, kohei
 
 # Fix poor performance on saving document with hidden rows.
 # #FIXME ooo330-m4: doesn't apply in m3f
-[ CalcFixes < ooo330-m3 ]
-calc-perf-ods-export-hidden-rows.diff, deb#582785, kohei
-[ CalcFixes ]
+# FIXME ooo330-m3: does not apply: calc-perf-ods-export-hidden-rows.diff, deb#582785, kohei
 
 # Opening an xml file with xls extension
 sc-xml-with-xls-ext.diff, n#527738, muthusuba
@@ -3571,18 +3496,11 @@ toolbar-decorations-svx-undo-redo.diff
 # Not too well looking, but might be useful?
 #toolbar-decorations-vcl-nwf.diff
 
-[ BorderTypes <= ooo330-m2 ]
-SectionOwner => cbosdo
-#Only adds the dotted / dashed lines
-border-types-dotted-dashed-m2.diff, fate#307731, fate 307730
-
-
-[ BorderTypes > ooo330-m2 ]
+[ BorderTypes ]
 SectionOwner => cbosdo
 #Only adds the dotted / dashed lines
 border-types-dotted-dashed.diff, fate#307731, fate 307730
 
-[ BorderTypes ]
 #Adds some more types, and more of unifying the drawing methods
 #FIXME: Incomplete, not to be included in 3.2.1
 #border-types-more.diff, fate#309127
@@ -3634,7 +3552,7 @@ sfx2-style-edit-greyentry.diff, i#85003, simonaw
 [ Netbook ]
 netbook-window-decoration-update.diff, n#621116, rodo
 
-[ CalcFixes >= ooo330-m2 ]
+[ CalcFixes ]
 sc-ooo330-m2-fixes.diff, muthusuba
 
 [ OOXMLExportDevel ]
diff --git a/patches/dev300/border-types-dotted-dashed-m2.diff b/patches/dev300/border-types-dotted-dashed-m2.diff
deleted file mode 100644
index 05a5c54..0000000
--- a/patches/dev300/border-types-dotted-dashed-m2.diff
+++ /dev/null
@@ -1,4480 +0,0 @@
----
- cui/source/tabpages/border.cxx                     |   27 +++-
- .../primitive2d/borderlineprimitive2d.hxx          |    7 +-
- .../source/primitive2d/borderlineprimitive2d.cxx   |   35 ++++-
- editeng/inc/editeng/borderline.hxx                 |   14 ++-
- editeng/inc/editeng/boxitem.hxx                    |    4 +-
- editeng/inc/editeng/memberids.hrc                  |    2 +
- editeng/source/items/frmitems.cxx                  |   19 ++-
- editeng/source/rtf/rtfitem.cxx                     |    9 +-
- filter/inc/filter/msfilter/msdffimp.hxx            |    1 +
- filter/source/msfilter/msdffimp.cxx                |    6 +
- .../source/xslt/export/uof/odf2uof_spreadsheet.xsl |    8 +-
- filter/source/xslt/export/uof/odf2uof_text.xsl     |    8 +-
- offapi/com/sun/star/table/BorderLine.idl           |    1 -
- offapi/com/sun/star/table/BorderLine2.idl          |   55 +++++++
- offapi/com/sun/star/table/BorderLineStyle.idl      |   63 ++++++++
- offapi/com/sun/star/table/makefile.mk              |    2 +
- oox/inc/oox/helper/helper.hxx                      |    4 +
- oox/inc/oox/xls/stylesbuffer.hxx                   |   12 +-
- oox/source/drawingml/table/tablecell.cxx           |    6 +-
- oox/source/drawingml/table/tableproperties.cxx     |    2 +-
- oox/source/drawingml/table/tablerow.cxx            |    2 +-
- oox/source/xls/stylesbuffer.cxx                    |   87 ++++++-----
- sc/source/filter/excel/xestyle.cxx                 |   20 +++
- sc/source/filter/excel/xistyle.cxx                 |   33 ++--
- sc/source/filter/html/htmlexp.cxx                  |    9 +-
- sc/source/filter/inc/xlstyle.hxx                   |    3 +
- sc/source/filter/xml/xmlstyle.cxx                  |    9 +-
- sc/source/filter/xml/xmlstyli.cxx                  |   12 +-
- sc/source/ui/unoobj/cellsuno.cxx                   |   73 +++++-----
- sc/source/ui/view/formatsh.cxx                     |    1 +
- sc/source/ui/view/viewfun2.cxx                     |    2 +
- svtools/inc/borderhelper.hxx                       |   49 ++++++
- svtools/inc/ctrlbox.hxx                            |   39 ++++-
- svtools/inc/rtfkeywd.hxx                           |    2 +
- svtools/source/control/ctrlbox.cxx                 |  147 ++++++++++++++++--
- svtools/util/makefile.mk                           |    3 +-
- svx/inc/svx/framelink.hxx                          |   25 ++--
- svx/inc/svx/frmsel.hxx                             |    7 +-
- svx/source/dialog/framelink.cxx                    |  163 ++++++-------------
- svx/source/dialog/frmsel.cxx                       |   39 ++++-
- svx/source/table/cell.cxx                          |    1 +
- svx/source/table/viewcontactoftableobj.cxx         |   12 +-
- svx/source/tbxctrls/tbcontrl.cxx                   |   30 ++++-
- sw/source/core/inc/frame.hxx                       |    3 +-
- sw/source/core/layout/paintfrm.cxx                 |  107 ++++++++++----
- sw/source/filter/html/css1atr.cxx                  |   27 +++-
- sw/source/filter/html/htmltabw.cxx                 |   18 +--
- sw/source/filter/html/svxcss1.cxx                  |   12 +-
- sw/source/filter/html/wrthtml.hxx                  |    1 +
- sw/source/filter/rtf/rtfatr.cxx                    |   27 +++-
- sw/source/filter/rtf/swparrtf.cxx                  |    4 +
- sw/source/filter/rtf/wrtrtf.cxx                    |   15 ++-
- sw/source/filter/ww1/w1sprm.cxx                    |   10 ++
- sw/source/filter/ww8/docxattributeoutput.cxx       |   14 ++
- sw/source/filter/ww8/wrtw8esh.cxx                  |   15 ++
- sw/source/filter/ww8/ww8atr.cxx                    |   20 +++
- sw/source/filter/ww8/ww8graf.cxx                   |   60 +++++---
- sw/source/filter/ww8/ww8graf2.cxx                  |    4 +-
- sw/source/filter/ww8/ww8par.cxx                    |    4 +-
- sw/source/filter/ww8/ww8par.hxx                    |    4 +-
- sw/source/filter/ww8/ww8par6.cxx                   |   11 +-
- sw/source/filter/ww8/ww8scan.cxx                   |    2 +-
- sw/source/filter/ww8/ww8struc.hxx                  |    4 +
- sw/source/filter/xml/xmlexpit.cxx                  |   14 ++-
- sw/source/filter/xml/xmlithlp.cxx                  |   25 +++-
- writerfilter/source/dmapper/BorderHandler.cxx      |    6 +-
- writerfilter/source/dmapper/BorderHandler.hxx      |    6 +-
- writerfilter/source/dmapper/CellColorHandler.hxx   |    2 -
- writerfilter/source/dmapper/ConversionHelper.cxx   |   61 +++++---
- writerfilter/source/dmapper/ConversionHelper.hxx   |    7 +-
- writerfilter/source/dmapper/DomainMapper.cxx       |   10 +-
- .../source/dmapper/DomainMapperTableHandler.cxx    |    3 +-
- writerfilter/source/dmapper/DomainMapper_Impl.cxx  |    4 +-
- writerfilter/source/dmapper/GraphicImport.cxx      |    4 +-
- writerfilter/source/dmapper/PageBordersHandler.hxx |    4 +-
- writerfilter/source/dmapper/PropertyMap.cxx        |    6 +-
- writerfilter/source/dmapper/PropertyMap.hxx        |    6 +-
- writerfilter/source/dmapper/TDefTableHandler.cxx   |    4 +-
- writerfilter/source/dmapper/TDefTableHandler.hxx   |   19 +--
- xmloff/source/style/PageMasterExportPropMapper.cxx |   11 +-
- xmloff/source/style/PageMasterImportPropMapper.cxx |   14 +-
- xmloff/source/style/bordrhdl.cxx                   |   54 ++++++-
- xmloff/source/text/txtexppr.cxx                    |   16 ++-
- xmloff/source/text/txtimppr.cxx                    |   10 +-
- 84 files changed, 1210 insertions(+), 491 deletions(-)
- create mode 100644 offapi/com/sun/star/table/BorderLine2.idl
- create mode 100644 offapi/com/sun/star/table/BorderLineStyle.idl
- create mode 100644 svtools/inc/borderhelper.hxx
-
-diff --git cui/source/tabpages/border.cxx cui/source/tabpages/border.cxx
-index 48aac82..e1ac8fc 100644
---- cui/source/tabpages/border.cxx
-+++ cui/source/tabpages/border.cxx
-@@ -565,9 +565,10 @@ void SvxBorderTabPage::Reset( const SfxItemSet& rSet )
-     {
-         // Do all visible lines show the same line widths?
-         USHORT nPrim, nDist, nSecn;
--        bool bWidthEq = aFrameSel.GetVisibleWidth( nPrim, nDist, nSecn );
-+        SvxBorderStyle nStyle;
-+        bool bWidthEq = aFrameSel.GetVisibleWidth( nPrim, nDist, nSecn, nStyle );
-         if( bWidthEq )
--            aLbLineStyle.SelectEntry( nPrim * 100, nSecn * 100, nDist * 100 );
-+            aLbLineStyle.SelectEntry( nPrim * 100, nSecn * 100, nDist * 100, nStyle );
-         else
-             aLbLineStyle.SelectEntryPos( 1 );
- 
-@@ -932,13 +933,31 @@ IMPL_LINK( SvxBorderTabPage, SelColHdl_Impl, ListBox *, pLb )
- 
- // -----------------------------------------------------------------------
- 
-+SvxBorderStyle lcl_getBorderStyle( USHORT nStyle )
-+{
-+    SvxBorderStyle nResult = SOLID;
-+    switch ( nStyle )
-+    {
-+        case STYLE_DOTTED:
-+            nResult = DOTTED;
-+            break;
-+        case STYLE_DASHED:
-+            nResult = DASHED;
-+            break;
-+        default:
-+            nResult = SOLID;
-+    }
-+    return nResult;
-+}
-+
- IMPL_LINK( SvxBorderTabPage, SelStyleHdl_Impl, ListBox *, pLb )
- {
-     if ( pLb == &aLbLineStyle )
-         aFrameSel.SetStyleToSelection(
-             static_cast< USHORT >( aLbLineStyle.GetSelectEntryLine1() / 100 ),
-             static_cast< USHORT >( aLbLineStyle.GetSelectEntryDistance() / 100 ),
--            static_cast< USHORT >( aLbLineStyle.GetSelectEntryLine2() / 100 ) );
-+            static_cast< USHORT >( aLbLineStyle.GetSelectEntryLine2() / 100 ),
-+            lcl_getBorderStyle( aLbLineStyle.GetSelectEntryStyle() ) );
- 
-     return 0;
- }
-@@ -1102,6 +1121,8 @@ void SvxBorderTabPage::FillLineListBox_Impl()
- 
-     aLbLineStyle.InsertEntry( LINE_WIDTH0 );
-     aLbLineStyle.InsertEntry( LINE_WIDTH5 );
-+    aLbLineStyle.InsertEntry( LINE_WIDTH5, 0, 0, STYLE_DOTTED );
-+    aLbLineStyle.InsertEntry( LINE_WIDTH5, 0, 0, STYLE_DASHED );
-     aLbLineStyle.InsertEntry( LINE_WIDTH1 );
-     aLbLineStyle.InsertEntry( LINE_WIDTH2 );
-     aLbLineStyle.InsertEntry( LINE_WIDTH3 );
-diff --git drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
-index 07a1f8b..8a13430 100644
---- drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
-+++ drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
-@@ -66,6 +66,7 @@ namespace drawinglayer
- 
-             /// the line color
-             basegfx::BColor									maRGBColor;
-+            short                                           mnStyle;
- 
-             /// bitfield
-             /// flags to influence inside/outside creation
-@@ -131,7 +132,8 @@ namespace drawinglayer
-                 double fExtendOuterEnd,
-                 bool bCreateInside,
-                 bool bCreateOutside,
--                const basegfx::BColor& rRGBColor);
-+                const basegfx::BColor& rRGBColor,
-+                const short nStyle );
- 
-             /// data read access
-             const basegfx::B2DPoint& getStart() const { return maStart; }
-@@ -145,7 +147,8 @@ namespace drawinglayer
-             double getExtendOuterEnd() const { return mfExtendOuterEnd; }
-             bool getCreateInside() const { return mbCreateInside; }
-             bool getCreateOutside() const { return mbCreateOutside; }
--            const basegfx::BColor& getRGBColor() const { return maRGBColor; }
-+            const basegfx::BColor& getRGBColor () const { return maRGBColor; }
-+            short getStyle () const { return mnStyle; }
- 
-             /// compare operator
-             virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-diff --git drawinglayer/source/primitive2d/borderlineprimitive2d.cxx drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
-index 088f9bb..5dafced 100644
---- drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
-+++ drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
-@@ -33,6 +33,7 @@
- #include <basegfx/polygon/b2dpolygon.hxx>
- #include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
- #include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
-+#include <svtools/borderhelper.hxx>
- #include <numeric>
- 
- //////////////////////////////////////////////////////////////////////////////
-@@ -157,14 +158,29 @@ namespace drawinglayer
-                             // create filled polygon primitive
-                             const basegfx::B2DVector aLineWidthOffset((getCorrectedLeftWidth() * 0.5) * aPerpendicular);
-                             
--                            aPolygon.append(aTmpStart + aLineWidthOffset);
--                            aPolygon.append(aTmpEnd + aLineWidthOffset);
--                            aPolygon.append(aTmpEnd - aLineWidthOffset);
--                            aPolygon.append(aTmpStart - aLineWidthOffset);
--                            aPolygon.setClosed(true);
-+                            aPolygon.append( aTmpStart );
-+                            aPolygon.append( aTmpEnd );
-+
-+                            basegfx::B2DPolyPolygon aDashed = svtools::ApplyLineDashing(
-+                                   aPolygon, getStyle(), MAP_100TH_MM );
-+                            for (sal_uInt32 i = 0; i < aDashed.count(); i++ )
-+                            {
-+                                basegfx::B2DPolygon aDash = aDashed.getB2DPolygon( i );
-+                                basegfx::B2DPoint aDashStart = aDash.getB2DPoint( 0 );
-+                                basegfx::B2DPoint aDashEnd = aDash.getB2DPoint( aDash.count() - 1 );
-+
-+                                basegfx::B2DPolygon aDashPolygon;
-+                                aDashPolygon.append( aDashStart + aLineWidthOffset );
-+                                aDashPolygon.append( aDashEnd + aLineWidthOffset );
-+                                aDashPolygon.append( aDashEnd - aLineWidthOffset );
-+                                aDashPolygon.append( aDashStart - aLineWidthOffset );
-+                                aDashPolygon.setClosed( true );
-+
-+                                aDashed.setB2DPolygon( i, aDashPolygon );
-+                            }
- 
-                             xRetval[0] = Primitive2DReference(new PolyPolygonColorPrimitive2D(
--                                basegfx::B2DPolyPolygon(aPolygon), getRGBColor()));
-+                                    basegfx::B2DPolyPolygon( aDashed ), getRGBColor()));
-                         }
-                     }
-                 }
-@@ -185,7 +201,8 @@ namespace drawinglayer
-             double fExtendOuterEnd,
-             bool bCreateInside,
-             bool bCreateOutside,
--            const basegfx::BColor& rRGBColor)
-+            const basegfx::BColor& rRGBColor,
-+            const short nStyle)
-         :	BufferedDecompositionPrimitive2D(),
-             maStart(rStart),
-             maEnd(rEnd),
-@@ -197,6 +214,7 @@ namespace drawinglayer
-             mfExtendOuterStart(fExtendOuterStart),
-             mfExtendOuterEnd(fExtendOuterEnd),
-             maRGBColor(rRGBColor),
-+            mnStyle(nStyle),
-             mbCreateInside(bCreateInside),
-             mbCreateOutside(bCreateOutside)
-         {
-@@ -219,7 +237,8 @@ namespace drawinglayer
-                     && getExtendOuterEnd() == rCompare.getExtendOuterEnd()
-                     && getCreateInside() == rCompare.getCreateInside()
-                     && getCreateOutside() == rCompare.getCreateOutside()
--                    && getRGBColor() == rCompare.getRGBColor());
-+                    && getRGBColor() == rCompare.getRGBColor()
-+                    && getStyle() == rCompare.getStyle());
-             }
- 
-             return false;
-diff --git editeng/inc/editeng/borderline.hxx editeng/inc/editeng/borderline.hxx
-index 78d173b..88458fa 100644
---- editeng/inc/editeng/borderline.hxx
-+++ editeng/inc/editeng/borderline.hxx
-@@ -90,6 +90,13 @@
- 
- // ============================================================================
- 
-+enum SvxBorderStyle
-+{
-+    SOLID,
-+    DOTTED,
-+    DASHED
-+};
-+
- class EDITENG_DLLPUBLIC SvxBorderLine
- {
- protected:
-@@ -97,9 +104,11 @@ protected:
-     USHORT nOutWidth;
-     USHORT nInWidth;
-     USHORT nDistance;
-+    SvxBorderStyle   m_nStyle;
- 
- public:
--    SvxBorderLine( const Color *pCol = 0, USHORT nOut = 0, USHORT nIn = 0, USHORT nDist = 0 );
-+    SvxBorderLine( const Color *pCol = 0, USHORT nOut = 0, USHORT nIn = 0, USHORT nDist = 0,
-+           SvxBorderStyle nStyle = SOLID );
-     SvxBorderLine( const SvxBorderLine& r );
- 
-     SvxBorderLine& operator=( const SvxBorderLine& r );
-@@ -109,10 +118,13 @@ public:
-     USHORT 			GetInWidth() const { return nInWidth; }
-     USHORT 			GetDistance() const { return nDistance; }
- 
-+    SvxBorderStyle  GetStyle() const { return m_nStyle; }
-+
-     void 			SetColor( const Color &rColor ) { aColor = rColor; }
-     void			SetOutWidth( USHORT nNew ) { nOutWidth = nNew; }
-     void			SetInWidth( USHORT nNew ) { nInWidth = nNew;  }
-     void			SetDistance( USHORT nNew ) { nDistance = nNew; }
-+    void            SetStyle( SvxBorderStyle nNew ) { m_nStyle = nNew; }
-     void			ScaleMetrics( long nMult, long nDiv );
- 
-     BOOL			operator==( const SvxBorderLine &rCmp ) const;
-diff --git editeng/inc/editeng/boxitem.hxx editeng/inc/editeng/boxitem.hxx
-index d85f7c2..03671cd 100644
---- editeng/inc/editeng/boxitem.hxx
-+++ editeng/inc/editeng/boxitem.hxx
-@@ -30,7 +30,7 @@
- #include <svl/poolitem.hxx>
- #include <editeng/borderline.hxx>
- #include <editeng/editengdllapi.h>
--#include <com/sun/star/table/BorderLine.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- 
- namespace rtl { class OUString; }
- 
-@@ -106,7 +106,7 @@ public:
-         //JP 09.06.99: bIgnoreLine = TRUE -> Distance auch returnen, wenn
-         //							keine Line gesetzt ist
-     USHORT 	CalcLineSpace( USHORT nLine, BOOL bIgnoreLine = FALSE ) const;
--    static com::sun::star::table::BorderLine SvxLineToLine( const SvxBorderLine* pLine, sal_Bool bConvert );
-+    static com::sun::star::table::BorderLine2 SvxLineToLine( const SvxBorderLine* pLine, sal_Bool bConvert );
-     static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert);
- };
- 
-diff --git editeng/inc/editeng/memberids.hrc editeng/inc/editeng/memberids.hrc
-index e9cb0b5..0a4ac48 100644
---- editeng/inc/editeng/memberids.hrc
-+++ editeng/inc/editeng/memberids.hrc
-@@ -41,6 +41,8 @@
- #define MID_OUTER_WIDTH         0x41
- #define MID_INNER_WIDTH         0x35
- #define MID_LINESPACE           0x3b
-+#define MID_LINE_STYLE          0x90
-+
- 
- //NameOrIndex
- #define MID_NAME				16
-diff --git editeng/source/items/frmitems.cxx editeng/source/items/frmitems.cxx
-index 00a7cfb..b335b0a 100644
---- editeng/source/items/frmitems.cxx
-+++ editeng/source/items/frmitems.cxx
-@@ -40,6 +40,7 @@
- #include <com/sun/star/table/TableOrientation.hpp>
- #include <com/sun/star/util/SortField.hpp>
- #include <com/sun/star/util/SortFieldType.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include <com/sun/star/table/CellOrientation.hpp>
- #include <com/sun/star/table/CellAddress.hpp>
- #include <com/sun/star/style/PageStyleLayout.hpp>
-@@ -1565,10 +1566,12 @@ void SvxShadowItem::SetEnumValue( sal_uInt16 nVal )
- 
- // class SvxBorderLine  --------------------------------------------------
- 
--SvxBorderLine::SvxBorderLine( const Color *pCol, sal_uInt16 nOut, sal_uInt16 nIn, sal_uInt16 nDist )
-+SvxBorderLine::SvxBorderLine( const Color *pCol, sal_uInt16 nOut, sal_uInt16 nIn, sal_uInt16 nDist,
-+       SvxBorderStyle nStyle )
- : nOutWidth( nOut )
- , nInWidth ( nIn )
- , nDistance( nDist )
-+, m_nStyle( nStyle )
- {
-     if ( pCol )
-         aColor = *pCol;
-@@ -1589,6 +1592,7 @@ SvxBorderLine& SvxBorderLine::operator=( const SvxBorderLine& r )
-     nOutWidth = r.nOutWidth;
-     nInWidth = r.nInWidth;
-     nDistance = r.nDistance;
-+    m_nStyle = r.m_nStyle;
-     return *this;
- }
- 
-@@ -1608,7 +1612,8 @@ sal_Bool SvxBorderLine::operator==( const SvxBorderLine& rCmp ) const
-     return ( ( aColor    == rCmp.GetColor() ) 	 &&
-              ( nInWidth  == rCmp.GetInWidth() )  &&
-              ( nOutWidth == rCmp.GetOutWidth() ) &&
--             ( nDistance == rCmp.GetDistance() ) );
-+             ( nDistance == rCmp.GetDistance() ) &&
-+             ( m_nStyle == rCmp.GetStyle() ) );
- }
- 
- // -----------------------------------------------------------------------
-@@ -1825,15 +1830,16 @@ int SvxBoxItem::operator==( const SfxPoolItem& rAttr ) const
- }
- 
- // -----------------------------------------------------------------------
--table::BorderLine SvxBoxItem::SvxLineToLine(const SvxBorderLine* pLine, sal_Bool bConvert)
-+table::BorderLine2 SvxBoxItem::SvxLineToLine(const SvxBorderLine* pLine, sal_Bool bConvert)
- {
--    table::BorderLine aLine;
-+    table::BorderLine2 aLine;
-     if(pLine)
-     {
-         aLine.Color			 = pLine->GetColor().GetColor() ;
-         aLine.InnerLineWidth = sal_uInt16( bConvert ? TWIP_TO_MM100_UNSIGNED(pLine->GetInWidth() ): pLine->GetInWidth() );
-         aLine.OuterLineWidth = sal_uInt16( bConvert ? TWIP_TO_MM100_UNSIGNED(pLine->GetOutWidth()): pLine->GetOutWidth() );
-         aLine.LineDistance   = sal_uInt16( bConvert ? TWIP_TO_MM100_UNSIGNED(pLine->GetDistance()): pLine->GetDistance() );
-+        aLine.LineStyle      = pLine->GetStyle( );
-     }
-     else
-         aLine.Color			 = aLine.InnerLineWidth = aLine.OuterLineWidth = aLine.LineDistance	 = 0;
-@@ -1843,7 +1849,7 @@ table::BorderLine SvxBoxItem::SvxLineToLine(const SvxBorderLine* pLine, sal_Bool
- sal_Bool SvxBoxItem::QueryValue( uno::Any& rVal, BYTE nMemberId  ) const
- {
-     sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
--    table::BorderLine aRetLine;
-+    table::BorderLine2 aRetLine;
-     sal_uInt16 nDist = 0;
-     sal_Bool bDistMember = sal_False;
-     nMemberId &= ~CONVERT_TWIPS;
-@@ -2780,7 +2786,7 @@ void SvxBoxInfoItem::ResetFlags()
- sal_Bool SvxBoxInfoItem::QueryValue( uno::Any& rVal, BYTE nMemberId  ) const
- {
-     sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
--    table::BorderLine aRetLine;
-+    table::BorderLine2 aRetLine;
-     sal_Int16 nVal=0;
-     sal_Bool bIntMember = sal_False;
-     nMemberId &= ~CONVERT_TWIPS;
-@@ -3321,6 +3327,7 @@ sal_Bool SvxLineItem::PutValue( const uno::Any& rVal, BYTE nMemId )
-             case MID_OUTER_WIDTH:   pLine->SetOutWidth((USHORT)nVal);   break;
-             case MID_INNER_WIDTH:   pLine->SetInWidth((USHORT)nVal);   break;
-             case MID_DISTANCE:      pLine->SetDistance((USHORT)nVal);   break;
-+            case MID_LINE_STYLE:    pLine->SetStyle((SvxBorderStyle)nVal); break;
-             default:
-                 DBG_ERROR( "Wrong MemberId" );
-                 return sal_False;
-diff --git editeng/source/rtf/rtfitem.cxx editeng/source/rtf/rtfitem.cxx
-index ce2adc3..4334b0f 100644
---- editeng/source/rtf/rtfitem.cxx
-+++ editeng/source/rtf/rtfitem.cxx
-@@ -1627,10 +1627,15 @@ case RTF_BRDRBAR:			break;
-             }
-             goto SETBORDERLINE;
- 
--        case RTF_BRDRS:
-         case RTF_BRDRDOT:
--        case RTF_BRDRHAIR:
-+            aBrd.SetStyle( DOTTED );
-+            break;
-         case RTF_BRDRDASH:
-+            aBrd.SetStyle( DASHED );
-+            break;
-+        case RTF_BRDRS:
-+        case RTF_BRDRHAIR:
-+            aBrd.SetStyle( SOLID );
- SETBORDERLINE:
-             SetBorderLine( nBorderTyp, aAttr, aBrd );
-             break;
-diff --git filter/inc/filter/msfilter/msdffimp.hxx filter/inc/filter/msfilter/msdffimp.hxx
-index 67571fb..9d2026e 100644
---- filter/inc/filter/msfilter/msdffimp.hxx
-+++ filter/inc/filter/msfilter/msdffimp.hxx
-@@ -289,6 +289,7 @@ struct MSFILTER_DLLPUBLIC SvxMSDffImportRec
-     ULONG		nShapeId;
-     MSO_SPT		eShapeType;
-     MSO_LineStyle eLineStyle;	// Umrandungs-Arten
-+    MSO_LineDashing eLineDashing;
-     BOOL		bDrawHell		:1;
-     BOOL		bHidden			:1;
-     BOOL		bReplaceByFly	:1;
-diff --git filter/source/msfilter/msdffimp.cxx filter/source/msfilter/msdffimp.cxx
-index 48309b1..ca3a353 100644
---- filter/source/msfilter/msdffimp.cxx
-+++ filter/source/msfilter/msdffimp.cxx
-@@ -6023,6 +6023,10 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt,
-                             : (MSO_LineStyle)USHRT_MAX;
-         pTextImpRec->eLineStyle = pImpRec->eLineStyle;
- 
-+        pImpRec->eLineDashing = (MSO_LineDashing)GetPropertyValue(
-+                DFF_Prop_lineDashing, mso_lineSolid );
-+        pTextImpRec->eLineDashing = pImpRec->eLineDashing;
-+
-         if( pImpRec->nShapeId )
-         {
-             // Import-Record-Liste ergaenzen
-@@ -8062,6 +8066,7 @@ SvxMSDffImportRec::SvxMSDffImportRec()
-       eShapeType( mso_sptNil )
- {
-       eLineStyle      = mso_lineSimple; // GPF-Bug #66227#
-+      eLineDashing    = mso_lineSolid;
-       bDrawHell       = FALSE;
-       bHidden         = FALSE;
- //	  bInGroup		  = FALSE;
-@@ -8109,6 +8114,7 @@ SvxMSDffImportRec::SvxMSDffImportRec(const SvxMSDffImportRec& rCopy)
-        *pYRelTo = *(rCopy.pYRelTo);
-     }
-     eLineStyle       = rCopy.eLineStyle; // GPF-Bug #66227#
-+    eLineDashing     = rCopy.eLineDashing;
-     bDrawHell        = rCopy.bDrawHell;
-     bHidden          = rCopy.bHidden;
- //			bInGroup		 = rCopy.bInGroup;
-diff --git filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
-index 1507305..78a37f9 100644
---- filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
-+++ filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
-@@ -4262,7 +4262,7 @@
- 				<xsl:element name="uof:å·¦">
- 					<xsl:attribute name="uof:locID">u0057</xsl:attribute>
- 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 					<xsl:if test="$border!='none'">
- 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
- 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-@@ -4274,7 +4274,7 @@
- 				<xsl:element name="uof:上">
- 					<xsl:attribute name="uof:locID">u0058</xsl:attribute>
- 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 					<xsl:if test="$border!='none'">
- 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
- 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-@@ -4286,7 +4286,7 @@
- 				<xsl:element name="uof:右">
- 					<xsl:attribute name="uof:locID">u0059</xsl:attribute>
- 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 					<xsl:if test="$border!='none'">
- 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
- 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-@@ -4298,7 +4298,7 @@
- 				<xsl:element name="uof:下">
- 					<xsl:attribute name="uof:locID">u0060</xsl:attribute>
- 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 					<xsl:if test="$border!='none'">
- 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
- 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-diff --git filter/source/xslt/export/uof/odf2uof_text.xsl filter/source/xslt/export/uof/odf2uof_text.xsl
-index cea93c8..04596c4 100644
---- filter/source/xslt/export/uof/odf2uof_text.xsl
-+++ filter/source/xslt/export/uof/odf2uof_text.xsl
-@@ -3248,7 +3248,7 @@
- 		<xsl:element name="uof:å·¦">
- 			<xsl:attribute name="uof:locID">u0057</xsl:attribute>
- 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 			<xsl:if test="$border!='none'">
- 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
- 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-@@ -3266,7 +3266,7 @@
- 		<xsl:element name="uof:上">
- 			<xsl:attribute name="uof:locID">u0058</xsl:attribute>
- 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 			<xsl:if test="$border!='none'">
- 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
- 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-@@ -3284,7 +3284,7 @@
- 		<xsl:element name="uof:右">
- 			<xsl:attribute name="uof:locID">u0059</xsl:attribute>
- 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 			<xsl:if test="$border!='none'">
- 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
- 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-@@ -3302,7 +3302,7 @@
- 		<xsl:element name="uof:下">
- 			<xsl:attribute name="uof:locID">u0060</xsl:attribute>
- 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
--			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
-+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
- 			<xsl:if test="$border!='none'">
- 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
- 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
-diff --git offapi/com/sun/star/table/BorderLine.idl offapi/com/sun/star/table/BorderLine.idl
-index 96d1a68..0ecd6da 100644
---- offapi/com/sun/star/table/BorderLine.idl
-+++ offapi/com/sun/star/table/BorderLine.idl
-@@ -71,7 +71,6 @@ published struct BorderLine
-         double line (in 1/100 mm).
-      */
-     short LineDistance;
--
- };
- 
- //=============================================================================
-diff --git offapi/com/sun/star/table/BorderLine2.idl offapi/com/sun/star/table/BorderLine2.idl
-new file mode 100644
-index 0000000..4627305
---- /dev/null
-+++ offapi/com/sun/star/table/BorderLine2.idl
-@@ -0,0 +1,55 @@
-+/*************************************************************************
-+ *
-+ * 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: BorderLine.idl,v $
-+ * $Revision: 1.8 $
-+ *
-+ * 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_BorderLine2_idl__
-+#define __com_sun_star_table_BorderLine2_idl__
-+
-+
-+#include <com/sun/star/table/BorderLine.idl>
-+#include <com/sun/star/table/BorderLineStyle.idl>
-+
-+//=============================================================================
-+
-+module com {  module sun {  module star {  module table {
-+
-+//=============================================================================
-+
-+struct BorderLine2 : BorderLine
-+{
-+    /** Style of the border. @see BorderLineStyle
-+     */
-+    short LineStyle;
-+};
-+
-+//=============================================================================
-+
-+}; }; }; };
-+
-+#endif
-diff --git offapi/com/sun/star/table/BorderLineStyle.idl offapi/com/sun/star/table/BorderLineStyle.idl
-new file mode 100644
-index 0000000..1914373
---- /dev/null
-+++ offapi/com/sun/star/table/BorderLineStyle.idl
-@@ -0,0 +1,63 @@
-+/*************************************************************************
-+ *
-+ * 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: TableSortFieldType.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_BorderLineStyle_idl__
-+#define __com_sun_star_table_BorderLineStyle_idl__
-+
-+
-+//=============================================================================
-+
-+module com {  module sun {  module star {  module table {
-+
-+//=============================================================================
-+
-+constants BorderLineStyle
-+{
-+    //-------------------------------------------------------------------------
-+    /** Solid border line.
-+     */
-+    const short SOLID = 0;
-+
-+    //-------------------------------------------------------------------------
-+    /** Dotted border line.
-+     */
-+    const short DOTTED = 1;
-+
-+    //-------------------------------------------------------------------------
-+    /** Dashed border line.
-+     */
-+    const short DASHED = 2;
-+
-+};
-+
-+//=============================================================================
-+
-+}; }; }; };
-+
-+#endif
-diff --git offapi/com/sun/star/table/makefile.mk offapi/com/sun/star/table/makefile.mk
-index 605a7a9..9b7e185 100644
---- offapi/com/sun/star/table/makefile.mk
-+++ offapi/com/sun/star/table/makefile.mk
-@@ -41,6 +41,8 @@ IDLFILES=\
-     AccessibleCellView.idl      \
-     AccessibleTableView.idl	\
-     BorderLine.idl\
-+    BorderLine2.idl\
-+    BorderLineStyle.idl\
-     Cell.idl\
-     CellAddress.idl\
-     CellContentType.idl\
-diff --git oox/inc/oox/helper/helper.hxx oox/inc/oox/helper/helper.hxx
-index 67a5f16..4206cf9 100644
---- oox/inc/oox/helper/helper.hxx
-+++ oox/inc/oox/helper/helper.hxx
-@@ -97,6 +97,10 @@ const sal_Int32 API_RGB_TRANSPARENT         = -1;       /// Transparent color fo
- const sal_Int32 API_RGB_BLACK               = 0x000000;  /// Black color for API calls.
- const sal_Int32 API_RGB_WHITE               = 0xFFFFFF;  /// White color for API calls.
- 
-+const sal_Int16 API_LINE_SOLID              = 0;
-+const sal_Int16 API_LINE_DOTTED             = 1;
-+const sal_Int16 API_LINE_DASHED             = 2;
-+
- const sal_Int16 API_LINE_NONE               = 0;
- const sal_Int16 API_LINE_HAIR               = 2;
- const sal_Int16 API_LINE_THIN               = 35;
-diff --git oox/inc/oox/xls/stylesbuffer.hxx oox/inc/oox/xls/stylesbuffer.hxx
-index 3a5efc7..ea134c5 100644
---- oox/inc/oox/xls/stylesbuffer.hxx
-+++ oox/inc/oox/xls/stylesbuffer.hxx
-@@ -33,7 +33,7 @@
- #include <com/sun/star/table/CellHoriJustify.hpp>
- #include <com/sun/star/table/CellOrientation.hpp>
- #include <com/sun/star/table/CellVertJustify.hpp>
--#include <com/sun/star/table/TableBorder.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include "oox/helper/containerhelper.hxx"
- #include "oox/helper/graphichelper.hxx"
- #include "oox/drawingml/color.hxx"
-@@ -517,10 +517,12 @@ struct BorderModel
- /** Contains API attributes of a complete cell border. */
- struct ApiBorderData
- {
--    typedef ::com::sun::star::table::TableBorder    ApiTableBorder;
--    typedef ::com::sun::star::table::BorderLine     ApiBorderLine;
-+    typedef ::com::sun::star::table::BorderLine2     ApiBorderLine;
- 
--    ApiTableBorder      maBorder;           /// Left/right/top/bottom line format.
-+    ApiBorderLine       maLeft;             /// Left line format
-+    ApiBorderLine       maRight;            /// Right line format
-+    ApiBorderLine       maTop;              /// Top line format
-+    ApiBorderLine       maBottom;           /// Bottom line format
-     ApiBorderLine       maTLtoBR;           /// Diagonal top-left to bottom-right line format.
-     ApiBorderLine       maBLtoTR;           /// Diagonal bottom-left to top-right line format.
-     bool                mbBorderUsed;       /// True = left/right/top/bottom line format used.
-@@ -583,7 +585,7 @@ private:
- 
-     /** Converts border line data to an API struct, returns true, if the line is marked as used. */
-     bool                convertBorderLine(
--                            ::com::sun::star::table::BorderLine& rBorderLine,
-+                            ::com::sun::star::table::BorderLine2& rBorderLine,
-                             const BorderLineModel& rModel );
- 
- private:
-diff --git oox/source/drawingml/table/tablecell.cxx oox/source/drawingml/table/tablecell.cxx
-index bb3287c..6decf3a 100644
---- oox/source/drawingml/table/tablecell.cxx
-+++ oox/source/drawingml/table/tablecell.cxx
-@@ -37,7 +37,7 @@
- #include <com/sun/star/beans/XMultiPropertySet.hpp>
- #include <com/sun/star/table/XTable.hpp>
- #include <com/sun/star/table/XMergeableCellRange.hpp>
--#include <com/sun/star/table/BorderLine.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include <com/sun/star/drawing/LineStyle.hpp>
- #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
- #include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
-@@ -48,7 +48,7 @@ using namespace ::oox::core;
- using namespace ::com::sun::star;
- using namespace ::com::sun::star::uno;
- using namespace ::com::sun::star::beans;
--using ::com::sun::star::table::BorderLine;
-+using ::com::sun::star::table::BorderLine2;
- using ::com::sun::star::drawing::LineStyle;
- 
- namespace oox { namespace drawingml { namespace table {
-@@ -76,7 +76,7 @@ void applyLineAttributes( const ::oox::core::XmlFilterBase& rFilterBase,
-         Reference< XPropertySet >& rxPropSet, oox::drawingml::LineProperties& rLineProperties,
-         sal_Int32 nPropId )
- {
--    BorderLine aBorderLine( 0, 0, 0, 0 );
-+    BorderLine2 aBorderLine( 0, 0, 0, 0, API_LINE_SOLID );
-     if( rLineProperties.maLineFill.moFillType.differsFrom( XML_noFill ) )
-     {
-         Color aColor = rLineProperties.maLineFill.getBestSolidColor();
-diff --git oox/source/drawingml/table/tableproperties.cxx oox/source/drawingml/table/tableproperties.cxx
-index 5c0af81..9357c9f 100644
---- oox/source/drawingml/table/tableproperties.cxx
-+++ oox/source/drawingml/table/tableproperties.cxx
-@@ -32,7 +32,7 @@
- #include <com/sun/star/beans/XMultiPropertySet.hpp>
- #include <com/sun/star/lang/XMultiServiceFactory.hpp>
- #include <com/sun/star/table/XMergeableCellRange.hpp>
--#include <com/sun/star/table/BorderLine.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include "oox/core/namespaces.hxx"
- #include "oox/core/xmlfilterbase.hxx"
- #include "oox/helper/propertyset.hxx"
-diff --git oox/source/drawingml/table/tablerow.cxx oox/source/drawingml/table/tablerow.cxx
-index af53830..0184a7e 100644
---- oox/source/drawingml/table/tablerow.cxx
-+++ oox/source/drawingml/table/tablerow.cxx
-@@ -34,7 +34,7 @@
- #include "oox/helper/propertyset.hxx"
- #include <com/sun/star/table/XTable.hpp>
- #include <com/sun/star/table/XMergeableCellRange.hpp>
--#include <com/sun/star/table/BorderLine.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- 
- using rtl::OUString;
- using namespace ::oox::core;
-diff --git oox/source/xls/stylesbuffer.cxx oox/source/xls/stylesbuffer.cxx
-index 1ed6277..5c97f73 100644
---- oox/source/xls/stylesbuffer.cxx
-+++ oox/source/xls/stylesbuffer.cxx
-@@ -43,6 +43,7 @@
- #include <com/sun/star/text/XText.hpp>
- #include <com/sun/star/table/CellVertJustify2.hpp>
- #include <com/sun/star/table/CellJustifyMethod.hpp>
-+#include <com/sun/star/table/TableBorder.hpp>
- #include <rtl/tencinfo.h>
- #include <rtl/ustrbuf.hxx>
- #include "properties.hxx"
-@@ -71,6 +72,7 @@ using ::com::sun::star::awt::FontDescriptor;
- using ::com::sun::star::awt::XDevice;
- using ::com::sun::star::awt::XFont2;
- using ::com::sun::star::table::BorderLine;
-+using ::com::sun::star::table::BorderLine2;
- using ::com::sun::star::table::TableBorder;
- using ::com::sun::star::text::XText;
- using ::com::sun::star::style::XStyle;
-@@ -1504,6 +1506,15 @@ void Protection::writeToPropertyMap( PropertyMap& rPropMap ) const
- 
- // ============================================================================
- 
-+namespace {
-+
-+bool lcl_isBorder(const ::com::sun::star::table::BorderLine& rBorder)
-+{
-+    return (rBorder.InnerLineWidth > 0) || (rBorder.OuterLineWidth > 0);
-+}
-+
-+}
-+
- BorderLineModel::BorderLineModel( bool bDxf ) :
-     mnStyle( XML_none ),
-     mbUsed( !bDxf )
-@@ -1551,10 +1562,10 @@ ApiBorderData::ApiBorderData() :
- bool ApiBorderData::hasAnyOuterBorder() const
- {
-     return
--        (maBorder.IsTopLineValid    && (maBorder.TopLine.OuterLineWidth > 0)) ||
--        (maBorder.IsBottomLineValid && (maBorder.BottomLine.OuterLineWidth > 0)) ||
--        (maBorder.IsLeftLineValid   && (maBorder.LeftLine.OuterLineWidth > 0)) ||
--        (maBorder.IsRightLineValid  && (maBorder.RightLine.OuterLineWidth > 0));
-+        ( ( lcl_isBorder( maTop ) &&  maTop.OuterLineWidth > 0 ) ) ||
-+        ( ( lcl_isBorder( maBottom ) && maBottom.OuterLineWidth > 0 ) ) ||
-+        ( ( lcl_isBorder( maLeft ) && maLeft.OuterLineWidth > 0 ) ) ||
-+        ( ( lcl_isBorder( maRight ) && maRight.OuterLineWidth > 0 ) );
- }
- 
- namespace {
-@@ -1592,7 +1603,10 @@ bool operator==( const TableBorder& rLeft, const TableBorder& rRight )
- bool operator==( const ApiBorderData& rLeft, const ApiBorderData& rRight )
- {
-     return
--        (rLeft.maBorder     == rRight.maBorder) &&
-+        (rLeft.maLeft       == rRight.maLeft)   &&
-+        (rLeft.maRight      == rRight.maRight)  &&
-+        (rLeft.maTop        == rRight.maTop)    &&
-+        (rLeft.maBottom     == rRight.maBottom) &&
-         (rLeft.maTLtoBR     == rRight.maTLtoBR) &&
-         (rLeft.maBLtoTR     == rRight.maBLtoTR) &&
-         (rLeft.mbBorderUsed == rRight.mbBorderUsed) &&
-@@ -1616,7 +1630,7 @@ inline sal_Int32 lclGetBorderLineWidth( const BorderLine& rBorderLine )
-     return rBorderLine.OuterLineWidth + rBorderLine.LineDistance + rBorderLine.InnerLineWidth;
- }
- 
--const BorderLine* lclGetThickerLine( const BorderLine& rBorderLine1, sal_Bool bValid1, const BorderLine& rBorderLine2, sal_Bool bValid2 )
-+const BorderLine2* lclGetThickerLine( const BorderLine2& rBorderLine1, sal_Bool bValid1, const BorderLine2& rBorderLine2, sal_Bool bValid2 )
- {
-     if( bValid1 && bValid2 )
-         return (lclGetBorderLineWidth( rBorderLine1 ) < lclGetBorderLineWidth( rBorderLine2 )) ? &rBorderLine2 : &rBorderLine1;
-@@ -1754,21 +1768,10 @@ void Border::finalizeImport()
-     maApiData.mbBorderUsed = maModel.maLeft.mbUsed || maModel.maRight.mbUsed || maModel.maTop.mbUsed || maModel.maBottom.mbUsed;
-     maApiData.mbDiagUsed   = maModel.maDiagonal.mbUsed;
- 
--    maApiData.maBorder.IsLeftLineValid   = convertBorderLine( maApiData.maBorder.LeftLine,   maModel.maLeft );
--    maApiData.maBorder.IsRightLineValid  = convertBorderLine( maApiData.maBorder.RightLine,  maModel.maRight );
--    maApiData.maBorder.IsTopLineValid    = convertBorderLine( maApiData.maBorder.TopLine,    maModel.maTop );
--    maApiData.maBorder.IsBottomLineValid = convertBorderLine( maApiData.maBorder.BottomLine, maModel.maBottom );
--
--    if( !mbDxf )
--    {
--        maApiData.maBorder.IsVerticalLineValid = maApiData.maBorder.IsLeftLineValid || maApiData.maBorder.IsRightLineValid;
--        if( const BorderLine* pVertLine = lclGetThickerLine( maApiData.maBorder.LeftLine, maApiData.maBorder.IsLeftLineValid, maApiData.maBorder.RightLine, maApiData.maBorder.IsRightLineValid ) )
--            maApiData.maBorder.VerticalLine = *pVertLine;
--
--        maApiData.maBorder.IsHorizontalLineValid = maApiData.maBorder.IsTopLineValid || maApiData.maBorder.IsBottomLineValid;
--        if( const BorderLine* pHorLine = lclGetThickerLine( maApiData.maBorder.TopLine, maApiData.maBorder.IsTopLineValid, maApiData.maBorder.BottomLine, maApiData.maBorder.IsBottomLineValid ) )
--            maApiData.maBorder.HorizontalLine = *pHorLine;
--    }
-+    convertBorderLine( maApiData.maLeft,   maModel.maLeft );
-+    convertBorderLine( maApiData.maRight,  maModel.maRight );
-+    convertBorderLine( maApiData.maTop,    maModel.maTop );
-+    convertBorderLine( maApiData.maBottom, maModel.maBottom );
- 
-     if( maModel.mbDiagTLtoBR )
-         convertBorderLine( maApiData.maTLtoBR, maModel.maDiagonal );
-@@ -1779,7 +1782,12 @@ void Border::finalizeImport()
- void Border::writeToPropertyMap( PropertyMap& rPropMap ) const
- {
-     if( maApiData.mbBorderUsed )
--        rPropMap[ PROP_TableBorder ] <<= maApiData.maBorder;
-+    {
-+        rPropMap[ PROP_LeftBorder ]   <<= maApiData.maLeft;
-+        rPropMap[ PROP_RightBorder ]  <<= maApiData.maRight;
-+        rPropMap[ PROP_TopBorder ]    <<= maApiData.maTop;
-+        rPropMap[ PROP_BottomBorder ] <<= maApiData.maBottom;
-+    }
-     if( maApiData.mbDiagUsed )
-     {
-         rPropMap[ PROP_DiagonalTLBR ] <<= maApiData.maTLtoBR;
-@@ -1787,29 +1795,18 @@ void Border::writeToPropertyMap( PropertyMap& rPropMap ) const
-     }
- }
- 
--namespace {
--
--bool lcl_isBorder(const ::com::sun::star::table::BorderLine& rBorder)
--{
--    return (rBorder.InnerLineWidth > 0) || (rBorder.OuterLineWidth > 0);
--}
--
--}
--
- bool Border::hasBorder() const
- {
--    const ApiBorderData::ApiTableBorder& rTabBorder = maApiData.maBorder;
--
--    if (rTabBorder.IsBottomLineValid && lcl_isBorder(rTabBorder.BottomLine))
-+    if (lcl_isBorder(maApiData.maBottom))
-         return true;
- 
--    if (rTabBorder.IsTopLineValid && lcl_isBorder(rTabBorder.TopLine))
-+    if (lcl_isBorder(maApiData.maTop))
-         return true;
- 
--    if (rTabBorder.IsLeftLineValid && lcl_isBorder(rTabBorder.LeftLine))
-+    if (lcl_isBorder(maApiData.maLeft))
-         return true;
- 
--    if (rTabBorder.IsRightLineValid && lcl_isBorder(rTabBorder.RightLine))
-+    if (lcl_isBorder(maApiData.maRight))
-         return true;
- 
-     return false;
-@@ -1828,15 +1825,25 @@ BorderLineModel* Border::getBorderLine( sal_Int32 nElement )
-     return 0;
- }
- 
--bool Border::convertBorderLine( BorderLine& rBorderLine, const BorderLineModel& rModel )
-+bool Border::convertBorderLine( BorderLine2& rBorderLine, const BorderLineModel& rModel )
- {
-     rBorderLine.Color = rModel.maColor.getColor( getBaseFilter().getGraphicHelper(), API_RGB_BLACK );
-     switch( rModel.mnStyle )
-     {
-         case XML_dashDot:           lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
-         case XML_dashDotDot:        lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
--        case XML_dashed:            lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
--        case XML_dotted:            lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
-+        case XML_dashed:
-+        {
-+                                    lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );
-+                                    rBorderLine.LineStyle = API_LINE_DASHED;
-+                                    break;
-+        }
-+        case XML_dotted:
-+        {
-+                                    lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );
-+                                    rBorderLine.LineStyle = API_LINE_DOTTED;
-+                                    break;
-+        }
-         case XML_double:            lclSetBorderLineWidth( rBorderLine, API_LINE_THIN, API_LINE_THIN, API_LINE_THIN ); break;
-         case XML_hair:              lclSetBorderLineWidth( rBorderLine, API_LINE_HAIR );    break;
-         case XML_medium:            lclSetBorderLineWidth( rBorderLine, API_LINE_MEDIUM );  break;
-diff --git sc/source/filter/excel/xestyle.cxx sc/source/filter/excel/xestyle.cxx
-index 3f99147..55dac60 100644
---- sc/source/filter/excel/xestyle.cxx
-+++ sc/source/filter/excel/xestyle.cxx
-@@ -1570,9 +1570,26 @@ void lclGetBorderLine(
-         else if( nOuterWidth > DEF_LINE_WIDTH_2 )
-             rnXclLine = EXC_LINE_THICK;
-         else if( nOuterWidth > DEF_LINE_WIDTH_1 )
-+        {
-             rnXclLine = EXC_LINE_MEDIUM;
-+            if ( pLine->GetStyle( ) == DASHED )
-+                rnXclLine = EXC_LINE_MEDIUMDASHED;
-+        }
-         else if( nOuterWidth > DEF_LINE_WIDTH_0 )
-+        {
-             rnXclLine = EXC_LINE_THIN;
-+            switch ( pLine->GetStyle( ) )
-+            {
-+                case DASHED:
-+                    rnXclLine = EXC_LINE_DASHED;
-+                    break;
-+                case DOTTED:
-+                    rnXclLine = EXC_LINE_DOTTED;
-+                    break;
-+                default:
-+                    break;
-+            }
-+        }
-         else if( nOuterWidth > 0 )
-             rnXclLine = EXC_LINE_HAIR;
-         else
-@@ -1738,6 +1755,9 @@ static const char* ToLineStyle( sal_uInt8 nLineStyle )
-         case EXC_LINE_THICK:    return "thick";
-         case EXC_LINE_DOUBLE:   return "double";
-         case EXC_LINE_HAIR:     return "hair";
-+        case EXC_LINE_DOTTED:     return "dotted";
-+        case EXC_LINE_DASHED:     return "dashed";
-+        case EXC_LINE_MEDIUMDASHED:     return "mediumdashed";
-     }
-     return "*unknown*";
- }
-diff --git sc/source/filter/excel/xistyle.cxx sc/source/filter/excel/xistyle.cxx
-index 8824e2f..7c9d7c3 100644
---- sc/source/filter/excel/xistyle.cxx
-+++ sc/source/filter/excel/xistyle.cxx
-@@ -821,23 +821,23 @@ namespace {
- /** Converts the passed line style to a SvxBorderLine, or returns false, if style is "no line". */
- bool lclConvertBorderLine( SvxBorderLine& rLine, const XclImpPalette& rPalette, sal_uInt8 nXclLine, sal_uInt16 nXclColor )
- {
--    static const sal_uInt16 ppnLineParam[][ 3 ] =
-+    static const sal_uInt16 ppnLineParam[][ 4 ] =
-     {
--        //  outer width,        inner width,        distance
--        {   0,                  0,                  0 },                // 0 = none
--        {   DEF_LINE_WIDTH_1,   0,                  0 },                // 1 = thin
--        {   DEF_LINE_WIDTH_2,   0,                  0 },                // 2 = medium
--        {   DEF_LINE_WIDTH_1,   0,                  0 },                // 3 = dashed
--        {   DEF_LINE_WIDTH_0,   0,                  0 },                // 4 = dotted
--        {   DEF_LINE_WIDTH_3,   0,                  0 },                // 5 = thick
--        {   DEF_LINE_WIDTH_1,   DEF_LINE_WIDTH_1,   DEF_LINE_WIDTH_1 }, // 6 = double
--        {   DEF_LINE_WIDTH_0,   0,                  0 },                // 7 = hair
--        {   DEF_LINE_WIDTH_2,   0,                  0 },                // 8 = med dash
--        {   DEF_LINE_WIDTH_1,   0,                  0 },                // 9 = thin dashdot
--        {   DEF_LINE_WIDTH_2,   0,                  0 },                // A = med dashdot
--        {   DEF_LINE_WIDTH_1,   0,                  0 },                // B = thin dashdotdot
--        {   DEF_LINE_WIDTH_2,   0,                  0 },                // C = med dashdotdot
--        {   DEF_LINE_WIDTH_2,   0,                  0 }                 // D = med slant dashdot
-+        //  outer width,        inner width,        distance    type
-+        {   0,                  0,                  0,          SOLID },                // 0 = none
-+        {   DEF_LINE_WIDTH_1,   0,                  0,          SOLID },                // 1 = thin
-+        {   DEF_LINE_WIDTH_2,   0,                  0,          SOLID },                // 2 = medium
-+        {   DEF_LINE_WIDTH_1,   0,                  0,          DASHED },               // 3 = dashed
-+        {   DEF_LINE_WIDTH_1,   0,                  0,          DOTTED },               // 4 = dotted
-+        {   DEF_LINE_WIDTH_3,   0,                  0,          SOLID },                // 5 = thick
-+        {   DEF_LINE_WIDTH_1,   DEF_LINE_WIDTH_1,   DEF_LINE_WIDTH_1 },                 // 6 = double
-+        {   DEF_LINE_WIDTH_0,   0,                  0,          SOLID },                // 7 = hair
-+        {   DEF_LINE_WIDTH_2,   0,                  0,          DASHED },               // 8 = med dash
-+        {   DEF_LINE_WIDTH_1,   0,                  0,          SOLID },                // 9 = thin dashdot
-+        {   DEF_LINE_WIDTH_2,   0,                  0,          SOLID },                // A = med dashdot
-+        {   DEF_LINE_WIDTH_1,   0,                  0,          SOLID },                // B = thin dashdotdot
-+        {   DEF_LINE_WIDTH_2,   0,                  0,          SOLID },                // C = med dashdotdot
-+        {   DEF_LINE_WIDTH_2,   0,                  0,          SOLID }                 // D = med slant dashdot
-     };
- 
-     if( nXclLine == EXC_LINE_NONE )
-@@ -849,6 +849,7 @@ bool lclConvertBorderLine( SvxBorderLine& rLine, const XclImpPalette& rPalette,
-     rLine.SetOutWidth( ppnLineParam[ nXclLine ][ 0 ] );
-     rLine.SetInWidth(  ppnLineParam[ nXclLine ][ 1 ] );
-     rLine.SetDistance( ppnLineParam[ nXclLine ][ 2 ] );
-+    rLine.SetStyle( (SvxBorderStyle)ppnLineParam[ nXclLine ][ 3 ] );
-     return true;
- }
- 
-diff --git sc/source/filter/html/htmlexp.cxx sc/source/filter/html/htmlexp.cxx
-index 382a3c5..6fc4db2 100644
---- sc/source/filter/html/htmlexp.cxx
-+++ sc/source/filter/html/htmlexp.cxx
-@@ -528,7 +528,14 @@ void ScHTMLExport::BorderToStyle( ByteString& rOut, const char* pBorderName,
-         // thickness
-         int nWidth = pLine->GetOutWidth();
-         int nPxWidth = ( nWidth > 0 )? std::max( int( nWidth / TWIPS_PER_PIXEL ), 1 ): 0;
--        (rOut += ByteString::CreateFromInt32( nPxWidth )) += "px solid #";
-+        (rOut += ByteString::CreateFromInt32( nPxWidth )) += "px ";
-+        switch ( pLine->GetStyle() )
-+        {
-+            case DOTTED:    rOut += "dotted"; break;
-+            case DASHED:    rOut += "dashed"; break;
-+            default:        rOut += "solid";
-+        }
-+        rOut += " #";
- 
-         // color
-         char hex[7];
-diff --git sc/source/filter/inc/xlstyle.hxx sc/source/filter/inc/xlstyle.hxx
-index 6216165..0b98a8c 100644
---- sc/source/filter/inc/xlstyle.hxx
-+++ sc/source/filter/inc/xlstyle.hxx
-@@ -48,9 +48,12 @@ class XclRoot;
- const sal_uInt8 EXC_LINE_NONE               = 0x00;
- const sal_uInt8 EXC_LINE_THIN               = 0x01;
- const sal_uInt8 EXC_LINE_MEDIUM             = 0x02;
-+const sal_uInt8 EXC_LINE_DASHED             = 0x03;
-+const sal_uInt8 EXC_LINE_DOTTED             = 0x04;
- const sal_uInt8 EXC_LINE_THICK              = 0x05;
- const sal_uInt8 EXC_LINE_DOUBLE             = 0x06;
- const sal_uInt8 EXC_LINE_HAIR               = 0x07;
-+const sal_uInt8 EXC_LINE_MEDIUMDASHED       = 0x08;
- 
- // Background patterns --------------------------------------------------------
- 
-diff --git sc/source/filter/xml/xmlstyle.cxx sc/source/filter/xml/xmlstyle.cxx
-index 15b70d6..4c626e2 100644
---- sc/source/filter/xml/xmlstyle.cxx
-+++ sc/source/filter/xml/xmlstyle.cxx
-@@ -54,6 +54,7 @@
- #include <com/sun/star/table/CellHoriJustify.hpp>
- #include <com/sun/star/table/CellJustifyMethod.hpp>
- #include <com/sun/star/table/TableBorder.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include <com/sun/star/sheet/XSheetConditionalEntries.hpp>
- #include <com/sun/star/sheet/XSheetConditionalEntry.hpp>
- #include <com/sun/star/sheet/XSheetCondition.hpp>
-@@ -320,7 +321,7 @@ void ScXMLCellExportPropertyMapper::ContextFilter(
-     {
-         if( pBorder_Left && pBorder_Right && pBorder_Top && pBorder_Bottom )
-         {
--            table::BorderLine aLeft, aRight, aTop, aBottom;
-+            table::BorderLine2 aLeft, aRight, aTop, aBottom;
- 
-             pBorder_Left->maValue >>= aLeft;
-             pBorder_Right->maValue >>= aRight;
-@@ -331,7 +332,9 @@ void ScXMLCellExportPropertyMapper::ContextFilter(
-                 aLeft.Color == aTop.Color && aLeft.InnerLineWidth == aTop.InnerLineWidth &&
-                 aLeft.OuterLineWidth == aTop.OuterLineWidth && aLeft.LineDistance == aTop.LineDistance &&
-                 aLeft.Color == aBottom.Color && aLeft.InnerLineWidth == aBottom.InnerLineWidth &&
--                aLeft.OuterLineWidth == aBottom.OuterLineWidth && aLeft.LineDistance == aBottom.LineDistance )
-+                aLeft.OuterLineWidth == aBottom.OuterLineWidth && aLeft.LineDistance == aBottom.LineDistance &&
-+                aLeft.LineStyle == aRight.LineStyle && aLeft.LineStyle == aTop.LineStyle && 
-+                aLeft.LineStyle == aBottom.LineStyle )
-             {
-                 pBorder_Left->mnIndex = -1;
-                 pBorder_Left->maValue.clear();
-@@ -358,7 +361,7 @@ void ScXMLCellExportPropertyMapper::ContextFilter(
-     {
-         if( pLeftBorderWidthState && pRightBorderWidthState && pTopBorderWidthState && pBottomBorderWidthState )
-         {
--            table::BorderLine aLeft, aRight, aTop, aBottom;
-+            table::BorderLine2 aLeft, aRight, aTop, aBottom;
- 
-             pLeftBorderWidthState->maValue >>= aLeft;
-             pRightBorderWidthState->maValue >>= aRight;
-diff --git sc/source/filter/xml/xmlstyli.cxx sc/source/filter/xml/xmlstyli.cxx
-index 0213ac8..49dea66 100644
---- sc/source/filter/xml/xmlstyli.cxx
-+++ sc/source/filter/xml/xmlstyli.cxx
-@@ -40,7 +40,7 @@
- #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
- #include <com/sun/star/container/XNameContainer.hpp>
- #include <com/sun/star/sheet/XSheetConditionalEntries.hpp>
--#include <com/sun/star/table/BorderLine.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include <comphelper/extract.hxx>
- #include <xmloff/xmlprcon.hxx>
- #include <xmloff/xmluconv.hxx>
-@@ -164,15 +164,16 @@ void ScXMLCellImportPropertyMapper::finished(::std::vector< XMLPropertyState >&
-             pBorderWidths[i]->mnIndex = -1;
-         if( pBorders[i] )
-         {
--            table::BorderLine aBorderLine;
-+            table::BorderLine2 aBorderLine;
-             pBorders[i]->maValue >>= aBorderLine;
-              if( pBorderWidths[i] )
-             {
--                table::BorderLine aBorderLineWidth;
-+                table::BorderLine2 aBorderLineWidth;
-                 pBorderWidths[i]->maValue >>= aBorderLineWidth;
-                 aBorderLine.OuterLineWidth = aBorderLineWidth.OuterLineWidth;
-                 aBorderLine.InnerLineWidth = aBorderLineWidth.InnerLineWidth;
-                 aBorderLine.LineDistance = aBorderLineWidth.LineDistance;
-+                aBorderLine.LineStyle = aBorderLineWidth.LineStyle;
-                 pBorders[i]->maValue <<= aBorderLine;
-             }
-         }
-@@ -181,13 +182,14 @@ void ScXMLCellImportPropertyMapper::finished(::std::vector< XMLPropertyState >&
-     {
-         if( pDiagBorders[i] && pDiagBorderWidths[i] )
-         {
--            table::BorderLine aBorderLine;
-+            table::BorderLine2 aBorderLine;
-             pDiagBorders[i]->maValue >>= aBorderLine;
--            table::BorderLine aBorderLineWidth;
-+            table::BorderLine2 aBorderLineWidth;
-             pDiagBorderWidths[i]->maValue >>= aBorderLineWidth;
-             aBorderLine.OuterLineWidth = aBorderLineWidth.OuterLineWidth;
-             aBorderLine.InnerLineWidth = aBorderLineWidth.InnerLineWidth;
-             aBorderLine.LineDistance = aBorderLineWidth.LineDistance;
-+            aBorderLine.LineStyle = aBorderLineWidth.LineStyle;
-             pDiagBorders[i]->maValue <<= aBorderLine;
-             pDiagBorderWidths[i]->mnIndex = -1;
-         }
-diff --git sc/source/ui/unoobj/cellsuno.cxx sc/source/ui/unoobj/cellsuno.cxx
-index 0f1e8c3..3f3bf2f 100644
---- sc/source/ui/unoobj/cellsuno.cxx
-+++ sc/source/ui/unoobj/cellsuno.cxx
-@@ -60,6 +60,7 @@
- #include <com/sun/star/table/CellVertJustify2.hpp>
- #include <com/sun/star/table/ShadowFormat.hpp>
- #include <com/sun/star/table/TableBorder.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include <com/sun/star/sheet/CellFlags.hpp>
- #include <com/sun/star/sheet/FormulaResult.hpp>
- #include <com/sun/star/beans/PropertyAttribute.hpp>
-@@ -160,7 +161,7 @@ const SfxItemPropertySet* lcl_GetCellsPropertySet()
-     {
-         {MAP_CHAR_LEN(SC_UNONAME_ABSNAME),	SC_WID_UNO_ABSNAME,	&getCppuType((rtl::OUString*)0),		0 | beans::PropertyAttribute::READONLY, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLBACK),	ATTR_BACKGROUND,	&getCppuType((sal_Int32*)0),			0, MID_BACK_COLOR },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLPRO),	ATTR_PROTECTION,	&getCppuType((util::CellProtection*)0),	0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL),	SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0),		0, 0 },
-@@ -211,13 +212,13 @@ const SfxItemPropertySet* lcl_GetCellsPropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_CONDFMT),	SC_WID_UNO_CONDFMT,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDLOC),	SC_WID_UNO_CONDLOC,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDXML),	SC_WID_UNO_CONDXML,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS),	ATTR_HOR_JUSTIFY,	&getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0),   0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN),	ATTR_BACKGROUND,	&getBooleanCppuType(),					0, MID_GRAPHIC_TRANSPARENT },
-         {MAP_CHAR_LEN(SC_UNONAME_WRAP),		ATTR_LINEBREAK,		&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMFMT),	ATTR_VALUE_FORMAT,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMRULES),	SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLORI),  ATTR_STACKED,       &getCppuType((table::CellOrientation*)0), 0, 0 },
-@@ -232,13 +233,13 @@ const SfxItemPropertySet* lcl_GetCellsPropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_PLMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_L_MARGIN  | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_R_MARGIN  | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTANG),	ATTR_ROTATE_VALUE,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTREF),	ATTR_ROTATE_MODE,	&getCppuType((sal_Int32*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_SHADOW),	ATTR_SHADOW,		&getCppuType((table::ShadowFormat*)0),	0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(),			    0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_TBLBORD),	SC_WID_UNO_TBLBORD,	&getCppuType((table::TableBorder*)0),	0, 0 | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_USERDEF),	ATTR_USERDEF,		&getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_VALIDAT),	SC_WID_UNO_VALIDAT,	&getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_VALILOC),	SC_WID_UNO_VALILOC,	&getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -261,7 +262,7 @@ const SfxItemPropertySet* lcl_GetRangePropertySet()
-     {
-         {MAP_CHAR_LEN(SC_UNONAME_ABSNAME),	SC_WID_UNO_ABSNAME,	&getCppuType((rtl::OUString*)0),		0 | beans::PropertyAttribute::READONLY, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLBACK),	ATTR_BACKGROUND,	&getCppuType((sal_Int32*)0),			0, MID_BACK_COLOR },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLPRO),	ATTR_PROTECTION,	&getCppuType((util::CellProtection*)0),	0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL),	SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0),		0, 0 },
-@@ -312,13 +313,13 @@ const SfxItemPropertySet* lcl_GetRangePropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_CONDFMT),	SC_WID_UNO_CONDFMT,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDLOC),	SC_WID_UNO_CONDLOC,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDXML),	SC_WID_UNO_CONDXML,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS),	ATTR_HOR_JUSTIFY,	&getCppuType((table::CellHoriJustify*)0),	0, MID_HORJUST_HORJUST },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0),   0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN),	ATTR_BACKGROUND,	&getBooleanCppuType(),					0, MID_GRAPHIC_TRANSPARENT },
-         {MAP_CHAR_LEN(SC_UNONAME_WRAP),		ATTR_LINEBREAK,		&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMFMT),	ATTR_VALUE_FORMAT,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMRULES),	SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLORI),  ATTR_STACKED,       &getCppuType((table::CellOrientation*)0), 0, 0 },
-@@ -334,14 +335,14 @@ const SfxItemPropertySet* lcl_GetRangePropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_R_MARGIN  | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_POS),		SC_WID_UNO_POS,		&getCppuType((awt::Point*)0),			0 | beans::PropertyAttribute::READONLY, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTANG),	ATTR_ROTATE_VALUE,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTREF),	ATTR_ROTATE_MODE,	&getCppuType((sal_Int32*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_SHADOW),	ATTR_SHADOW,		&getCppuType((table::ShadowFormat*)0),	0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(),			    0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_SIZE),		SC_WID_UNO_SIZE,	&getCppuType((awt::Size*)0),			0 | beans::PropertyAttribute::READONLY, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_TBLBORD),	SC_WID_UNO_TBLBORD,	&getCppuType((table::TableBorder*)0),	0, 0 | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_USERDEF),	ATTR_USERDEF,		&getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_VALIDAT),	SC_WID_UNO_VALIDAT,	&getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_VALILOC),	SC_WID_UNO_VALILOC,	&getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -364,7 +365,7 @@ const SfxItemPropertySet* lcl_GetCellPropertySet()
-     {
-         {MAP_CHAR_LEN(SC_UNONAME_ABSNAME),	SC_WID_UNO_ABSNAME,	&getCppuType((rtl::OUString*)0),		0 | beans::PropertyAttribute::READONLY, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLBACK),	ATTR_BACKGROUND,	&getCppuType((sal_Int32*)0),			0, MID_BACK_COLOR },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLPRO),	ATTR_PROTECTION,	&getCppuType((util::CellProtection*)0),	0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL),	SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0),		0, 0 },
-@@ -415,15 +416,15 @@ const SfxItemPropertySet* lcl_GetCellPropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_CONDFMT),	SC_WID_UNO_CONDFMT,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDLOC),	SC_WID_UNO_CONDLOC,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDXML),	SC_WID_UNO_CONDXML,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_FORMLOC),	SC_WID_UNO_FORMLOC,	&getCppuType((rtl::OUString*)0),		0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_FORMRT),	SC_WID_UNO_FORMRT,	&getCppuType((table::CellContentType*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS),	ATTR_HOR_JUSTIFY,	&getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0),   0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN),	ATTR_BACKGROUND,	&getBooleanCppuType(),					0, MID_GRAPHIC_TRANSPARENT },
-         {MAP_CHAR_LEN(SC_UNONAME_WRAP),		ATTR_LINEBREAK,		&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMFMT),	ATTR_VALUE_FORMAT,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMRULES),	SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLORI),  ATTR_STACKED,       &getCppuType((table::CellOrientation*)0), 0, 0 },
-@@ -439,14 +440,14 @@ const SfxItemPropertySet* lcl_GetCellPropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_R_MARGIN  | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_POS),		SC_WID_UNO_POS,		&getCppuType((awt::Point*)0),			0 | beans::PropertyAttribute::READONLY, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTANG),	ATTR_ROTATE_VALUE,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTREF),	ATTR_ROTATE_MODE,	&getCppuType((sal_Int32*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_SHADOW),	ATTR_SHADOW,		&getCppuType((table::ShadowFormat*)0),	0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(),			    0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_SIZE),		SC_WID_UNO_SIZE,	&getCppuType((awt::Size*)0),			0 | beans::PropertyAttribute::READONLY, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_TBLBORD),	SC_WID_UNO_TBLBORD,	&getCppuType((table::TableBorder*)0),	0, 0 | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_USERDEF),	ATTR_USERDEF,		&getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_VALIDAT),	SC_WID_UNO_VALIDAT,	&getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_VALILOC),	SC_WID_UNO_VALILOC,	&getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -469,7 +470,7 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
-     {
-         {MAP_CHAR_LEN(SC_UNONAME_ABSNAME),	SC_WID_UNO_ABSNAME,	&getCppuType((rtl::OUString*)0),		0 | beans::PropertyAttribute::READONLY, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLBACK),	ATTR_BACKGROUND,	&getCppuType((sal_Int32*)0),			0, MID_BACK_COLOR },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLPRO),	ATTR_PROTECTION,	&getCppuType((util::CellProtection*)0),	0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL),	SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0),		0, 0 },
-@@ -520,8 +521,8 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_CONDFMT),	SC_WID_UNO_CONDFMT,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDLOC),	SC_WID_UNO_CONDLOC,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CONDXML),	SC_WID_UNO_CONDXML,	&getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
--        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS),	ATTR_HOR_JUSTIFY,	&getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0),   0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN),	ATTR_BACKGROUND,	&getBooleanCppuType(),					0, MID_GRAPHIC_TRANSPARENT },
-@@ -530,7 +531,7 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_NEWPAGE),	SC_WID_UNO_NEWPAGE,	&getBooleanCppuType(),					0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_WRAP),		ATTR_LINEBREAK,		&getBooleanCppuType(),					0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_CELLVIS),	SC_WID_UNO_CELLVIS,	&getBooleanCppuType(),					0, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMFMT),	ATTR_VALUE_FORMAT,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_NUMRULES),	SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_OWIDTH),	SC_WID_UNO_OWIDTH,	&getBooleanCppuType(),					0, 0 },
-@@ -547,14 +548,14 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
-         {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_R_MARGIN  | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN),	ATTR_MARGIN,		&getCppuType((sal_Int32*)0),			0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_POS),		SC_WID_UNO_POS,		&getCppuType((awt::Point*)0),			0 | beans::PropertyAttribute::READONLY, 0 },
--        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+        {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER,		&::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTANG),	ATTR_ROTATE_VALUE,	&getCppuType((sal_Int32*)0),			0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_ROTREF),	ATTR_ROTATE_MODE,	&getCppuType((sal_Int32*)0), 0, 0 },
-         {MAP_CHAR_LEN(SC_UNONAME_SHADOW),	ATTR_SHADOW,		&getCppuType((table::ShadowFormat*)0),	0, 0 | CONVERT_TWIPS },
-         {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(),			    0, 0 },

... etc. - the rest is truncated


More information about the ooo-build-commit mailing list