[Libreoffice-commits] core.git: include/filter sw/source

Luke Deller luke at deller.id.au
Mon Apr 7 06:48:11 PDT 2014


 include/filter/msfilter/sprmids.hxx |   71 ++++++++++++++++++------------------
 sw/source/filter/ww8/wrtww8.cxx     |    7 ++-
 sw/source/filter/ww8/ww8atr.cxx     |   30 ++++++++-------
 sw/source/filter/ww8/ww8par2.cxx    |   59 ++++++++++++++++-------------
 sw/source/filter/ww8/ww8par6.cxx    |   68 +++++++++++++++++-----------------
 sw/source/filter/ww8/ww8scan.cxx    |   60 +++++++++++++++---------------
 6 files changed, 153 insertions(+), 142 deletions(-)

New commits:
commit 6a7d04a9cb82cee083cf83c7354b89fa42458396
Author: Luke Deller <luke at deller.id.au>
Date:   Sun Apr 6 21:31:49 2014 +1000

    Rename .doc SPRM IDs to match current MS specs
    
    I understand that Libreoffice's names for SPRM IDs come from old
    documentation for WW8 (Word '97), plus some later additions named by
    OpenOffice developers as they encountered newer SPRMs in the wild.
    
    Meanwhile Microsoft has released newer documentation which supplies
    names for these previously undocumented SPRMs, plus it renames some
    WW8 properties to have the suffix "80" to make room for newer
    versions of those properties.
    
    This commit aims to bring LibreOffice's SPRM ID names in line with
    the current file format specification from Microsoft.
    http://msdn.microsoft.com/en-us/library/dd923581.aspx
    
    Change-Id: I904c1db17a776e2d9e6076f87369160e3b80f2e4
    Reviewed-on: https://gerrit.libreoffice.org/8884
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/filter/msfilter/sprmids.hxx b/include/filter/msfilter/sprmids.hxx
index b12d907..e3c3923 100644
--- a/include/filter/msfilter/sprmids.hxx
+++ b/include/filter/msfilter/sprmids.hxx
@@ -165,8 +165,9 @@ namespace NS_sprm {
     const sal_uInt16 LN_CDispFldRMark = 0xca62;
     const sal_uInt16 LN_CIbstRMarkDel = 0x4863;
     const sal_uInt16 LN_CDttmRMarkDel = 0x6864;
-    const sal_uInt16 LN_CBrc = 0x6865;
-    const sal_uInt16 LN_CShd = 0x4866;
+    const sal_uInt16 LN_CBrc80 = 0x6865;
+    const sal_uInt16 LN_CShd80 = 0x4866;
+    const sal_uInt16 LN_CShd = 0xca71;
     const sal_uInt16 LN_CIdslRMarkDel = 0x4867;
     const sal_uInt16 LN_CFUsePgsuSettings = 0x0868;
     const sal_uInt16 LN_CCpg = 0x486b;
@@ -177,10 +178,10 @@ namespace NS_sprm {
     const sal_uInt16 LN_CIdctHint = 0x286f;
     const sal_uInt16 LN_PicBrcl = 0x2e00;
     const sal_uInt16 LN_PicScale = 0xce01;
-    const sal_uInt16 LN_PicBrcTop = 0x6c02;
-    const sal_uInt16 LN_PicBrcLeft = 0x6c03;
-    const sal_uInt16 LN_PicBrcBottom = 0x6c04;
-    const sal_uInt16 LN_PicBrcRight = 0x6c05;
+    const sal_uInt16 LN_PicBrcTop80 = 0x6c02;
+    const sal_uInt16 LN_PicBrcLeft80 = 0x6c03;
+    const sal_uInt16 LN_PicBrcBottom80 = 0x6c04;
+    const sal_uInt16 LN_PicBrcRight80 = 0x6c05;
     const sal_uInt16 LN_ScnsPgn = 0x3000;
     const sal_uInt16 LN_SiHeadingPgn = 0x3001;
     const sal_uInt16 LN_SOlstAnm = 0xd202;
@@ -224,30 +225,31 @@ namespace NS_sprm {
     const sal_uInt16 LN_SFBiDi = 0x3228;
     const sal_uInt16 LN_SFFacingCol = 0x3229;
     const sal_uInt16 LN_SFRTLGutter = 0x322a;
-    const sal_uInt16 LN_SBrcTop = 0x702b;
-    const sal_uInt16 LN_SBrcLeft = 0x702c;
-    const sal_uInt16 LN_SBrcBottom = 0x702d;
-    const sal_uInt16 LN_SBrcRight = 0x702e;
-    const sal_uInt16 LN_SBorderTop = 0xd234;
-    const sal_uInt16 LN_SBorderLeft = 0xd235;
-    const sal_uInt16 LN_SBorderBottom = 0xd236;
-    const sal_uInt16 LN_SBorderRight = 0xd237;
+    const sal_uInt16 LN_SBrcTop80 = 0x702b;
+    const sal_uInt16 LN_SBrcLeft80 = 0x702c;
+    const sal_uInt16 LN_SBrcBottom80 = 0x702d;
+    const sal_uInt16 LN_SBrcRight80 = 0x702e;
+    const sal_uInt16 LN_SBrcTop = 0xd234;
+    const sal_uInt16 LN_SBrcLeft = 0xd235;
+    const sal_uInt16 LN_SBrcBottom = 0xd236;
+    const sal_uInt16 LN_SBrcRight = 0xd237;
     const sal_uInt16 LN_SPgbProp = 0x522f;
     const sal_uInt16 LN_SDxtCharSpace = 0x7030;
     const sal_uInt16 LN_SDyaLinePitch = 0x9031;
     const sal_uInt16 LN_SClm = 0x5032;
     const sal_uInt16 LN_STextFlow = 0x5033;
-    const sal_uInt16 LN_TJc = 0x5400;
+    const sal_uInt16 LN_TJc = 0x548A;
+    const sal_uInt16 LN_TJc90 = 0x5400;
     const sal_uInt16 LN_TDxaLeft = 0x9601;
     const sal_uInt16 LN_TDxaGapHalf = 0x9602;
     const sal_uInt16 LN_TFCantSplit = 0x3403;
     const sal_uInt16 LN_TTableHeader = 0x3404;
-    const sal_uInt16 LN_TTableBorders = 0xd605;
+    const sal_uInt16 LN_TTableBorders80 = 0xd605;
     const sal_uInt16 LN_TDefTable10 = 0xd606;
     const sal_uInt16 LN_TDyaRowHeight = 0x9407;
     const sal_uInt16 LN_TDefTable = 0xd608;
-    const sal_uInt16 LN_TDefTableShd = 0xd609;
-    const sal_uInt16 LN_TCellShd = 0xd612;
+    const sal_uInt16 LN_TDefTableShd80 = 0xd609;
+    const sal_uInt16 LN_TDefTableShd = 0xd612;
     const sal_uInt16 LN_TTlp = 0x740a;
     const sal_uInt16 LN_TFBiDi = 0x560b;
     const sal_uInt16 LN_THTMLProps = 0x740c;
@@ -259,8 +261,8 @@ namespace NS_sprm {
     const sal_uInt16 LN_TMerge = 0x5624;
     const sal_uInt16 LN_TSplit = 0x5625;
     const sal_uInt16 LN_TSetBrc10 = 0xd626;
-    const sal_uInt16 LN_TSetShd = 0x7627;
-    const sal_uInt16 LN_TSetShdOdd = 0x7628;
+    const sal_uInt16 LN_TSetShd80 = 0x7627;
+    const sal_uInt16 LN_TSetShdOdd80 = 0x7628;
     const sal_uInt16 LN_TTextFlow = 0x7629;
     const sal_uInt16 LN_TDiagLine = 0xd62a;
     const sal_uInt16 LN_TVertMerge = 0xd62b;
@@ -269,22 +271,22 @@ namespace NS_sprm {
     const sal_uInt16 LN_TCellLeftColor = 0xd61b;
     const sal_uInt16 LN_TCellBottomColor = 0xd61c;
     const sal_uInt16 LN_TCellRightColor = 0xd61d;
-    const sal_uInt16 LN_TGridLineProps = 0xd613;
+    const sal_uInt16 LN_TTableBorders = 0xd613;
     const sal_uInt16 LN_Cdelrsid = 0x6817;
     const sal_uInt16 LN_PTableDepth = 0x6649;
-    const sal_uInt16 LN_TCellShadow = 0xd670;
-    const sal_uInt16 LN_PBrcTop = 0x6424;
-    const sal_uInt16 LN_PBrcLeft = 0x6425;
-    const sal_uInt16 LN_PBrcBottom = 0x6426;
-    const sal_uInt16 LN_PBrcRight = 0x6427;
-    const sal_uInt16 LN_PBrcBetween = 0x6428;
-    const sal_uInt16 LN_PBorderTop = 0xc64e;
-    const sal_uInt16 LN_PBorderLeft = 0xc64f;
-    const sal_uInt16 LN_PBorderBottom = 0xc650;
-    const sal_uInt16 LN_PBorderRight = 0xc651;
-    const sal_uInt16 LN_PBorderBetween = 0xc652;
-    const sal_uInt16 LN_CBorder = 0xca72;
-    const sal_uInt16 LN_TTPreferredWidth = 0xf614;
+    const sal_uInt16 LN_TDefTableShdRaw = 0xd670;
+    const sal_uInt16 LN_PBrcTop80 = 0x6424;
+    const sal_uInt16 LN_PBrcLeft80 = 0x6425;
+    const sal_uInt16 LN_PBrcBottom80 = 0x6426;
+    const sal_uInt16 LN_PBrcRight80 = 0x6427;
+    const sal_uInt16 LN_PBrcBetween80 = 0x6428;
+    const sal_uInt16 LN_PBrcTop = 0xc64e;
+    const sal_uInt16 LN_PBrcLeft = 0xc64f;
+    const sal_uInt16 LN_PBrcBottom = 0xc650;
+    const sal_uInt16 LN_PBrcRight = 0xc651;
+    const sal_uInt16 LN_PBrcBetween = 0xc652;
+    const sal_uInt16 LN_CBrc = 0xca72;
+    const sal_uInt16 LN_TTableWidth = 0xf614;
     const sal_uInt16 LN_CFELayout = 0xca78;
     const sal_uInt16 LN_TWidthBefore = 0xf617;
     const sal_uInt16 LN_TWidthAfter = 0xf618;
@@ -293,6 +295,7 @@ namespace NS_sprm {
     const sal_uInt16 LN_CRsidProp = 0x6815;
     const sal_uInt16 LN_CRgLid0 = 0x4873;
     const sal_uInt16 LN_CRgLid1 = 0x4874;
+    const sal_uInt16 LN_TCellPadding = 0xd632;
     const sal_uInt16 LN_TCellPaddingDefault = 0xd634;
     const sal_uInt16 LN_TRsid = 0x7479;
     const sal_uInt16 LN_TFAutofit = 0x3615;
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 1a666d0..fdb323c 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -2137,7 +2137,7 @@ void WW8AttributeOutput::TableOrientation( ww8::WW8TableNodeInfoInner::Pointer_t
             case text::HoriOrientation::CENTER:
             case text::HoriOrientation::RIGHT:
                 if ( m_rWW8Export.bWrtWW8 )
-                    m_rWW8Export.InsUInt16( NS_sprm::LN_TJc );
+                    m_rWW8Export.InsUInt16( NS_sprm::LN_TJc90 );
                 else
                     m_rWW8Export.pO->push_back( 182 );
                 m_rWW8Export.InsUInt16( text::HoriOrientation::RIGHT == eHOri ? 2 : 1 );
@@ -2454,7 +2454,7 @@ void WW8AttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t
 
     sal_uInt8 nBoxes = rTabBoxes.size();
     if ( m_rWW8Export.bWrtWW8 )
-        m_rWW8Export.InsUInt16( NS_sprm::LN_TDefTableShd );
+        m_rWW8Export.InsUInt16( NS_sprm::LN_TDefTableShd80 );
     else
         m_rWW8Export.pO->push_back( (sal_uInt8)191 );
     m_rWW8Export.pO->push_back( (sal_uInt8)(nBoxes * 2) );  // Len
@@ -2480,7 +2480,8 @@ void WW8AttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t
 
     if ( m_rWW8Export.bWrtWW8 )
     {
-        sal_uInt32 aSprmIds[] = {NS_sprm::LN_TCellShd, NS_sprm::LN_TCellShadow};
+        sal_uInt32 aSprmIds[] = { NS_sprm::LN_TDefTableShd,
+                                  NS_sprm::LN_TDefTableShdRaw };
         sal_uInt8 nBoxes0 = rTabBoxes.size();
         if (nBoxes0 > 21)
             nBoxes0 = 21;
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index c853be0..5579be4 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -1253,7 +1253,7 @@ void WW8AttributeOutput::CharHidden( const SvxCharHiddenItem& rHidden )
 
 void WW8AttributeOutput::CharBorder( const SvxBorderLine* pAllBorder, const sal_uInt16 /*nDist*/, const bool bShadow )
 {
-    m_rWW8Export.Out_BorderLine( *m_rWW8Export.pO, pAllBorder, 0, NS_sprm::LN_CBrc, NS_sprm::LN_CBorder, bShadow );
+    m_rWW8Export.Out_BorderLine( *m_rWW8Export.pO, pAllBorder, 0, NS_sprm::LN_CBrc80, NS_sprm::LN_CBrc, bShadow );
 }
 
 void WW8AttributeOutput::CharUnderline( const SvxUnderlineItem& rUnderline )
@@ -1666,13 +1666,13 @@ void WW8AttributeOutput::CharBackground( const SvxBrushItem& rBrush )
         WW8_SHD aSHD;
 
         m_rWW8Export.TransBrush( rBrush.GetColor(), aSHD );
-        // sprmCShd
-        m_rWW8Export.InsUInt16( NS_sprm::LN_CShd );
+        // sprmCShd80
+        m_rWW8Export.InsUInt16( NS_sprm::LN_CShd80 );
         m_rWW8Export.InsUInt16( aSHD.GetValue() );
 
         //Quite a few unknowns, some might be transparency or something
         //of that nature...
-        m_rWW8Export.InsUInt16( 0xCA71 );
+        m_rWW8Export.InsUInt16( NS_sprm::LN_CShd );
         m_rWW8Export.pO->push_back( 10 );
         m_rWW8Export.InsUInt32( 0xFF000000 );
         m_rWW8Export.InsUInt32( SuitableBGColor( rBrush.GetColor().GetColor() ) );
@@ -4316,8 +4316,10 @@ void WW8Export::Out_BorderLine(ww::bytes& rO, const SvxBorderLine* pLine,
 {
     OSL_ENSURE( ( nSprmNo == 0 ) ||
             ( nSprmNo >= 38 && nSprmNo <= 41 ) ||
-            ( nSprmNo >= NS_sprm::LN_PBrcTop && nSprmNo <= NS_sprm::LN_PBrcRight ) ||
-            ( nSprmNo >= NS_sprm::LN_SBrcTop && nSprmNo <= NS_sprm::LN_SBrcRight ),
+            ( nSprmNo >= NS_sprm::LN_PBrcTop80
+              && nSprmNo <= NS_sprm::LN_PBrcRight80 ) ||
+            ( nSprmNo >= NS_sprm::LN_SBrcTop80
+              && nSprmNo <= NS_sprm::LN_SBrcRight80 ),
             "Sprm for border out is of range" );
 
     WW8_BRCVer9 aBrcVer9;
@@ -4370,20 +4372,20 @@ void WW8Export::Out_SwFmtBox(const SvxBoxItem& rBox, bool bShadow)
     static const sal_uInt16 aPBrc[] =
     {
         // WW8 SPRMs
-        NS_sprm::LN_PBrcTop, NS_sprm::LN_PBrcLeft,
-        NS_sprm::LN_PBrcBottom, NS_sprm::LN_PBrcRight,
+        NS_sprm::LN_PBrcTop80, NS_sprm::LN_PBrcLeft80,
+        NS_sprm::LN_PBrcBottom80, NS_sprm::LN_PBrcRight80,
         // WW9 SPRMs
-        NS_sprm::LN_PBorderTop, NS_sprm::LN_PBorderLeft,
-        NS_sprm::LN_PBorderBottom, NS_sprm::LN_PBorderRight
+        NS_sprm::LN_PBrcTop, NS_sprm::LN_PBrcLeft,
+        NS_sprm::LN_PBrcBottom, NS_sprm::LN_PBrcRight
     };
     static const sal_uInt16 aSBrc[] =
     {
         // WW8 SPRMs
-        NS_sprm::LN_SBrcTop, NS_sprm::LN_SBrcLeft,
-        NS_sprm::LN_SBrcBottom, NS_sprm::LN_SBrcRight,
+        NS_sprm::LN_SBrcTop80, NS_sprm::LN_SBrcLeft80,
+        NS_sprm::LN_SBrcBottom80, NS_sprm::LN_SBrcRight80,
         // WW9 SPRMs
-        NS_sprm::LN_SBorderTop, NS_sprm::LN_SBorderLeft,
-        NS_sprm::LN_SBorderBottom, NS_sprm::LN_SBorderRight,
+        NS_sprm::LN_SBrcTop, NS_sprm::LN_SBrcLeft,
+        NS_sprm::LN_SBrcBottom, NS_sprm::LN_SBrcRight
     };
     static const sal_uInt16 aWW6PBrc[] =
     {
diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx
index ca7cdc2..6b1cde9 100644
--- a/sw/source/filter/ww8/ww8par2.cxx
+++ b/sw/source/filter/ww8/ww8par2.cxx
@@ -57,6 +57,7 @@
 #include <fmtrowsplt.hxx>
 #include <fmtfollowtextflow.hxx>
 #include <numrule.hxx>
+#include <filter/msfilter/sprmids.hxx>
 #include "../inc/wwstyles.hxx"
 #include "writerhelper.hxx"
 #include "ww8struc.hxx"
@@ -1556,7 +1557,7 @@ enum wwTableSprm
     sprmTSetBrc90, sprmTDxaCol, sprmTInsert, sprmTDelete, sprmTTableHeader,
     sprmTDxaGapHalf, sprmTTableBorders, sprmTTableBorders90,
 
-    sprmTDefTableNewShd, sprmTSpacing, sprmTNewSpacing
+    sprmTDefTableNewShd, sprmTCellPadding, sprmTCellPaddingDefault
 };
 
 wwTableSprm GetTableSprm(sal_uInt16 nId, ww::WordVersion eVer)
@@ -1566,50 +1567,52 @@ wwTableSprm GetTableSprm(sal_uInt16 nId, ww::WordVersion eVer)
         case ww::eWW8:
             switch (nId)
             {
-                case 0xF614:
+                case NS_sprm::LN_TTableWidth:
                     return sprmTTableWidth;
-                case 0x7629:
+                case NS_sprm::LN_TTextFlow:
                     return sprmTTextFlow;
-                case 0x3403:
+                case NS_sprm::LN_TFCantSplit90:
+                    // FIXME this code gets the names of sprmTFCantSplit and
+                    // sprmTFCantSplit90 the wrong way around.
                     return sprmTFCantSplit;
-                case 0x3404:
+                case NS_sprm::LN_TTableHeader:
                     return sprmTTableHeader;
-                case 0x3466:
+                case NS_sprm::LN_TFCantSplit:
                     return sprmTFCantSplit90;
-                case 0x5400:
+                case NS_sprm::LN_TJc90:
                     return sprmTJc;
-                case 0x560B:
+                case NS_sprm::LN_TFBiDi:
                     return sprmTFBiDi;
-                case 0x5622:
+                case NS_sprm::LN_TDelete:
                     return sprmTDelete;
-                case 0x7621:
+                case NS_sprm::LN_TInsert:
                     return sprmTInsert;
-                case 0x7623:
+                case NS_sprm::LN_TDxaCol:
                     return sprmTDxaCol;
-                case 0x9407:
+                case NS_sprm::LN_TDyaRowHeight:
                     return sprmTDyaRowHeight;
-                case 0x9601:
+                case NS_sprm::LN_TDxaLeft:
                     return sprmTDxaLeft;
-                case 0x9602:
+                case NS_sprm::LN_TDxaGapHalf:
                     return sprmTDxaGapHalf;
-                case 0xD605:
+                case NS_sprm::LN_TTableBorders80:
                     return sprmTTableBorders;
-                case 0xD608:
+                case NS_sprm::LN_TDefTable:
                     return sprmTDefTable;
-                case 0xD609:
+                case NS_sprm::LN_TDefTableShd80:
                     return sprmTDefTableShd;
-                case 0xD612:
+                case NS_sprm::LN_TDefTableShd:
                     return sprmTDefTableNewShd;
-                case 0xD613:
+                case NS_sprm::LN_TTableBorders:
                     return sprmTTableBorders90;
-                case 0xD620:
+                case NS_sprm::LN_TSetBrc80:
                     return sprmTSetBrc;
-                case 0xD62F:
+                case NS_sprm::LN_TSetBrc:
                     return sprmTSetBrc90;
-                case 0xD632:
-                    return sprmTSpacing;
-                case 0xD634:
-                    return sprmTNewSpacing;
+                case NS_sprm::LN_TCellPadding:
+                    return sprmTCellPadding;
+                case NS_sprm::LN_TCellPaddingDefault:
+                    return sprmTCellPaddingDefault;
             }
             break;
         case ww::eWW7:
@@ -1846,10 +1849,10 @@ WW8TabDesc::WW8TabDesc(SwWW8ImplReader* pIoClass, WW8_CP nStartCp) :
                     case sprmTDelete:
                         pNewBand->ProcessSprmTDelete(pParams);
                         break;
-                    case sprmTNewSpacing:
+                    case sprmTCellPaddingDefault:
                         pNewBand->ProcessSpacing(pParams);
                         break;
-                    case sprmTSpacing:
+                    case sprmTCellPadding:
                         pNewBand->ProcessSpecificSpacing(pParams);
                         break;
                     default:
@@ -3068,6 +3071,8 @@ void WW8TabDesc::AdjustNewBand()
     // bCantSplit: Always true for rows containing merged cells (Word <= 2000 crashes otherwise)
     // So in case bCantSplit is true, we check for bCantSplit90, which has been introduced for
     // Word versions >= 2002.
+    // FIXME the above comment is suspect because bCantSplit and bCantSplit90
+    // have been populated the wrong way around.
     bool bSetCantSplit = pActBand->bCantSplit;
     if(bSetCantSplit)
         bSetCantSplit = pActBand->bCantSplit90;
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 76e2d16..2df5e39 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -1235,8 +1235,8 @@ static sal_uInt8 lcl_ReadBorders(bool bVer67, WW8_BRCVer9* brc, WW8PLCFx_Cp_FKP*
             sal_uInt8* pSprm[4];
 
             if( pSep->Find4Sprms(
-                    NS_sprm::LN_SBrcTop, NS_sprm::LN_SBrcLeft,
-                    NS_sprm::LN_SBrcBottom, NS_sprm::LN_SBrcRight,
+                    NS_sprm::LN_SBrcTop80, NS_sprm::LN_SBrcLeft80,
+                    NS_sprm::LN_SBrcBottom80, NS_sprm::LN_SBrcRight80,
                     pSprm[0], pSprm[1], pSprm[2], pSprm[3] ) )
             {
                 for( int i = 0; i < 4; ++i )
@@ -1244,8 +1244,8 @@ static sal_uInt8 lcl_ReadBorders(bool bVer67, WW8_BRCVer9* brc, WW8PLCFx_Cp_FKP*
             }
             // Version 9 BRCs if present will override version 8
             if( pSep->Find4Sprms(
-                    NS_sprm::LN_SBorderTop, NS_sprm::LN_SBorderLeft,
-                    NS_sprm::LN_SBorderBottom, NS_sprm::LN_SBorderRight,
+                    NS_sprm::LN_SBrcTop, NS_sprm::LN_SBrcLeft,
+                    NS_sprm::LN_SBrcBottom, NS_sprm::LN_SBrcRight,
                     pSprm[0], pSprm[1], pSprm[2], pSprm[3] ) )
             {
                 for( int i = 0; i < 4; ++i )
@@ -4760,7 +4760,7 @@ void SwWW8ImplReader::Read_CharBorder(sal_uInt16 nId, const sal_uInt8* pData, sh
             SvxBoxItem aBoxItem(RES_CHRATR_BOX);
             aBoxItem = *pBox;
             WW8_BRCVer9 aBrc;
-            int nBrcVer = (nId == NS_sprm::LN_CBorder) ? 9 : (bVer67 ? 6 : 8);
+            int nBrcVer = (nId == NS_sprm::LN_CBrc) ? 9 : (bVer67 ? 6 : 8);
 
             _SetWW8_BRC(nBrcVer, aBrc, pData);
 
@@ -5627,15 +5627,15 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
         {0x4622, 0},                                 //"sprmPDxaFromText10"
                                                      //pap.dxaFromText;dxa;word;
         {0x2423, 0},                                 //"sprmPWr" pap.wr;wr;byte;
-        {0x6424, &SwWW8ImplReader::Read_Border},     //"sprmPBrcTop" pap.brcTop;BRC;
+        {0x6424, &SwWW8ImplReader::Read_Border},     //"sprmPBrcTop80" pap.brcTop;BRC;
                                                      //long;
-        {0x6425, &SwWW8ImplReader::Read_Border},     //"sprmPBrcLeft" pap.brcLeft;
+        {0x6425, &SwWW8ImplReader::Read_Border},     //"sprmPBrcLeft80" pap.brcLeft;
                                                      //BRC;long;
-        {0x6426, &SwWW8ImplReader::Read_Border},     //"sprmPBrcBottom"
+        {0x6426, &SwWW8ImplReader::Read_Border},     //"sprmPBrcBottom80"
                                                      //pap.brcBottom;BRC;long;
-        {0x6427, &SwWW8ImplReader::Read_Border},     //"sprmPBrcRight" pap.brcRight;
+        {0x6427, &SwWW8ImplReader::Read_Border},     //"sprmPBrcRight80" pap.brcRight;
                                                      //BRC;long;
-        {0x6428, &SwWW8ImplReader::Read_Border},     //"sprmPBrcBetween"
+        {0x6428, &SwWW8ImplReader::Read_Border},     //"sprmPBrcBetween80"
                                                      //pap.brcBetween;BRC;long;
         {0x6629, 0},                                 //"sprmPBrcBar" pap.brcBar;BRC;
                                                      //long;
@@ -5858,9 +5858,9 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
                                                      //sttbRMark;short;
         {NS_sprm::LN_CDttmRMarkDel, 0},
                                                      //chp.dttmRMarkDel;DTTM;long;
-        {0x6865, &SwWW8ImplReader::Read_CharBorder}, //"sprmCBrc" chp.brc;BRC;long;
-        {0xca72, &SwWW8ImplReader::Read_CharBorder}, //"sprmCBorder" chp.brc;BRC;long;
-        {0x4866, &SwWW8ImplReader::Read_CharShadow}, //"sprmCShd" chp.shd;SHD;short;
+        {0x6865, &SwWW8ImplReader::Read_CharBorder}, //"sprmCBrc80" chp.brc;BRC;long;
+        {0xca72, &SwWW8ImplReader::Read_CharBorder}, //"sprmCBrc" chp.brc;BRC;long;
+        {0x4866, &SwWW8ImplReader::Read_CharShadow}, //"sprmCShd80" chp.shd;SHD;short;
         {0x4867, 0},                                 //"sprmCIdslRMarkDel"
                                                      //chp.idslRMReasonDel;an index
                                                      //to a table of strings
@@ -5886,13 +5886,13 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
                                                      //pic.dxaCropRight,
                                                      //pic.dyaCropBottom;Complex;
                                                      //length byte plus 12 bytes;
-        {0x6C02, 0},                                 //"sprmPicBrcTop" pic.brcTop;
+        {0x6C02, 0},                                 //"sprmPicBrcTop80" pic.brcTop;
                                                      //BRC;long;
-        {0x6C03, 0},                                 //"sprmPicBrcLeft" pic.brcLeft;
+        {0x6C03, 0},                                 //"sprmPicBrcLeft80" pic.brcLeft;
                                                      //BRC;long;
-        {0x6C04, 0},                                 //"sprmPicBrcBottom"
+        {0x6C04, 0},                                 //"sprmPicBrcBottom80"
                                                      //pic.brcBottom;BRC;long;
-        {0x6C05, 0},                                 //"sprmPicBrcRight"
+        {0x6C05, 0},                                 //"sprmPicBrcRight80"
                                                      //pic.brcRight;BRC;long;
         {0x3000, 0},                                 //"sprmScnsPgn" sep.cnsPgn;cns;
                                                      //byte;
@@ -5982,13 +5982,13 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
       //0x3229, ? ? ?,                               //"sprmSFFacingCol"
         {0x322A, 0},                                 //"sprmSFRTLGutter", set to 1
                                                      //if gutter is on the right.
-        {0x702B, 0},                                 //"sprmSBrcTop" sep.brcTop;BRC;
+        {0x702B, 0},                                 //"sprmSBrcTop80" sep.brcTop;BRC;
                                                      //long;
-        {0x702C, 0},                                 //"sprmSBrcLeft" sep.brcLeft;
+        {0x702C, 0},                                 //"sprmSBrcLeft80" sep.brcLeft;
                                                      //BRC;long;
-        {0x702D, 0},                                 //"sprmSBrcBottom"
+        {0x702D, 0},                                 //"sprmSBrcBottom80"
                                                      //sep.brcBottom;BRC;long;
-        {0x702E, 0},                                 //"sprmSBrcRight" sep.brcRight;
+        {0x702E, 0},                                 //"sprmSBrcRight80" sep.brcRight;
                                                      //BRC;long;
         {0x522F, 0},                                 //"sprmSPgbProp" sep.pgbProp;
                                                      //word;
@@ -6000,7 +6000,7 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
       //0x5032, ? ? ?,                               //"sprmSClm"
         {0x5033, 0},                                 //"sprmSTextFlow"
                                                      //sep.wTextFlow;complex ;short
-        {0x5400, 0},                                 //"sprmTJc" tap.jc;jc;word (low
+        {0x5400, 0},                                 //"sprmTJc90" tap.jc;jc;word (low
                                                      //order byte is significant);
         {0x9601, 0},                                 //"sprmTDxaLeft"
                                                      //tap.rgdxaCenter; dxa; word;
@@ -6013,7 +6013,7 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
                                                      //tap.fTableHeader;1 or 0;byte;
         {0x3466, 0},                                 //"sprmTFCantSplit90"
                                                      //tap.fCantSplit90;1 or 0;byte;
-        {0xD605, 0},                                 //"sprmTTableBorders"
+        {0xD605, 0},                                 //"sprmTTableBorders80"
                                                      //tap.rgbrcTable;complex;
                                                      //24 bytes;
         {0xD606, 0},                                 //"sprmTDefTable10"
@@ -6024,13 +6024,13 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
                                                      //tap.dyaRowHeight;dya;word;
         {0xD608, 0},                                 //"sprmTDefTable"
                                                      //tap.rgtc;complex
-        {0xD609, 0},                                 //"sprmTDefTableShd"
+        {0xD609, 0},                                 //"sprmTDefTableShd80"
                                                      //tap.rgshd;complex
         {0x740A, 0},                                 //"sprmTTlp" tap.tlp;TLP;
                                                      //4 bytes;
       //0x560B, ? ? ?,                               //"sprmTFBiDi"
       //0x740C, ? ? ?,                               //"sprmTHTMLProps"
-        {0xD620, 0},                                 //"sprmTSetBrc"
+        {0xD620, 0},                                 //"sprmTSetBrc80"
                                                      //tap.rgtc[].rgbrc;complex;
                                                      //5 bytes;
         {0x7621, 0},                                 //"sprmTInsert"
@@ -6051,9 +6051,9 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
         {0xD626, 0},                                 //"sprmTSetBrc10"
                                                      //tap.rgtc[].rgbrc;complex;
                                                      //5 bytes;
-        {0x7627, 0},                                 //"sprmTSetShd" tap.rgshd;
+        {0x7627, 0},                                 //"sprmTSetShd80" tap.rgshd;
                                                      //complex; 4 bytes;
-        {0x7628, 0},                                 //"sprmTSetShdOdd"
+        {0x7628, 0},                                 //"sprmTSetShdOdd80"
                                                      //tap.rgshd;complex;4 bytes;
         {0x7629, 0},                                 //"sprmTTextFlow"
                                                      //tap.rgtc[].fVertical
@@ -6073,8 +6073,8 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
         {0x6649, 0},                                 //undocumented
         {0xF614, 0},                                 //"sprmTTableWidth"
                                                      //recorded as 3 bytes;
-        {0xD612, 0},                                 //undocumented
-        {0xD613, 0},                                 //undocumented
+        {0xD612, 0},                                 //"sprmTCellShd"
+        {0xD613, 0},                                 //"sprmTTableBorders"
         {0xD61A, 0},                                 //undocumented
         {0xD61B, 0},                                 //undocumented
         {0xD61C, 0},                                 //undocumented
@@ -6082,10 +6082,10 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
         {0xD634, 0},                                 //undocumented
         {0xD632, 0},                                 //undocumented
         {0xD238, 0},                                 //undocumented sep
-        {0xC64E, &SwWW8ImplReader::Read_Border},     //"sprmPBorderTop"
-        {0xC64F, &SwWW8ImplReader::Read_Border},     //"sprmPBorderLeft"
-        {0xC650, &SwWW8ImplReader::Read_Border},     //"sprmPBorderBottom"
-        {0xC651, &SwWW8ImplReader::Read_Border},     //"sprmPBorderRight"
+        {0xC64E, &SwWW8ImplReader::Read_Border},     //"sprmPBrcTop"
+        {0xC64F, &SwWW8ImplReader::Read_Border},     //"sprmPBrcLeft"
+        {0xC650, &SwWW8ImplReader::Read_Border},     //"sprmPBrcBottom"
+        {0xC651, &SwWW8ImplReader::Read_Border},     //"sprmPBrcRight"
         {0xC652, &SwWW8ImplReader::Read_Border},     //"sprmPBorderBetween"
         {0xF661, 0},                                 //undocumented
         {0x4873, &SwWW8ImplReader::Read_Language},   //"sprmCRgLid0" chp.rglid[0];
@@ -6120,7 +6120,7 @@ const wwSprmDispatcher *GetWW8SprmDispatcher()
         {0xF617, 0},                                 //undocumented
         {0xD660, 0},                                 //undocumented
         {0xD670, 0},                                 //undocumented
-        {0xCA71, &SwWW8ImplReader::Read_TxtBackColor},//undocumented
+        {0xCA71, &SwWW8ImplReader::Read_TxtBackColor},//"sprmCShd"
         {0x303C, 0},                                 //undocumented
         {0x245B, &SwWW8ImplReader::Read_ParaAutoBefore},//undocumented, para
         {0x245C, &SwWW8ImplReader::Read_ParaAutoAfter},//undocumented, para
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 6c835ed..f271194 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -493,12 +493,12 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {0x4621, 2, L_FIX}, // "sprmPBrcBar10" pap.brcBar;BRC10;word;
         {0x4622, 2, L_FIX}, // "sprmPDxaFromText10" pap.dxaFromText;dxa;word;
         {0x2423, 1, L_FIX}, // "sprmPWr" pap.wr;wr
-        {0x6424, 4, L_FIX}, // "sprmPBrcTop" pap.brcTop;BRC;long;
-        {0x6425, 4, L_FIX}, // "sprmPBrcLeft" pap.brcLeft;BRC;long;
-        {0x6426, 4, L_FIX}, // "sprmPBrcBottom" pap.brcBottom;BRC;long;
-        {0x6427, 4, L_FIX}, // "sprmPBrcRight" pap.brcRight;BRC;long;
-        {0x6428, 4, L_FIX}, // "sprmPBrcBetween" pap.brcBetween;BRC;long;
-        {0x6629, 4, L_FIX}, // "sprmPBrcBar" pap.brcBar;BRC;long;
+        {0x6424, 4, L_FIX}, // "sprmPBrcTop80" pap.brcTop;BRC;long;
+        {0x6425, 4, L_FIX}, // "sprmPBrcLeft80" pap.brcLeft;BRC;long;
+        {0x6426, 4, L_FIX}, // "sprmPBrcBottom80" pap.brcBottom;BRC;long;
+        {0x6427, 4, L_FIX}, // "sprmPBrcRight80" pap.brcRight;BRC;long;
+        {0x6428, 4, L_FIX}, // "sprmPBrcBetween80" pap.brcBetween;BRC;long;
+        {0x6629, 4, L_FIX}, // "sprmPBrcBar80" pap.brcBar;BRC;long;
         {0x242A, 1, L_FIX}, // "sprmPFNoAutoHyph" pap.fNoAutoHyph;0 or 1;byte;
         {0x442B, 2, L_FIX}, // "sprmPWHeightAbs" pap.wHeightAbs;w;word;
         {0x442C, 2, L_FIX}, // "sprmPDcs" pap.dcs;DCS;short;
@@ -620,8 +620,8 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {0x4863, 2, L_FIX}, // "sprmCIbstRMarkDel" chp.ibstRMarkDel;index into
                             // sttbRMark;short;
         {NS_sprm::LN_CDttmRMarkDel, 4, L_FIX}, // chp.dttmRMarkDel;DTTM;long;
-        {0x6865, 4, L_FIX}, // "sprmCBrc" chp.brc;BRC;long;
-        {0x4866, 2, L_FIX}, // "sprmCShd" chp.shd;SHD;short;
+        {0x6865, 4, L_FIX}, // "sprmCBrc80" chp.brc;BRC;long;
+        {0x4866, 2, L_FIX}, // "sprmCShd80" chp.shd;SHD;short;
         {0x4867, 2, L_FIX}, // "sprmCIdslRMarkDel" chp.idslRMReasonDel;an index
                             // to a table of strings defined in Word 6.0
                             // executables;short;
@@ -635,10 +635,10 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {0xCE01, 0, L_VAR}, // "sprmPicScale" pic.mx, pic.my, pic.dxaCropleft,
                             // pic.dyaCropTop pic.dxaCropRight,
                             // pic.dyaCropBottom;Complex
-        {0x6C02, 4, L_FIX}, // "sprmPicBrcTop" pic.brcTop;BRC;long;
-        {0x6C03, 4, L_FIX}, // "sprmPicBrcLeft" pic.brcLeft;BRC;long;
-        {0x6C04, 4, L_FIX}, // "sprmPicBrcBottom" pic.brcBottom;BRC;long;
-        {0x6C05, 4, L_FIX}, // "sprmPicBrcRight" pic.brcRight;BRC;long;
+        {0x6C02, 4, L_FIX}, // "sprmPicBrcTop80" pic.brcTop;BRC;long;
+        {0x6C03, 4, L_FIX}, // "sprmPicBrcLeft80" pic.brcLeft;BRC;long;
+        {0x6C04, 4, L_FIX}, // "sprmPicBrcBottom80" pic.brcBottom;BRC;long;
+        {0x6C05, 4, L_FIX}, // "sprmPicBrcRight80" pic.brcRight;BRC;long;
         {0x3000, 1, L_FIX}, // "sprmScnsPgn" sep.cnsPgn;cns;byte;
         {0x3001, 1, L_FIX}, // "sprmSiHeadingPgn" sep.iHeadingPgn;heading number
                             // level;byte;
@@ -686,17 +686,17 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {0x3229, 1, L_FIX}, // "sprmSFFacingCol" ;;;
         {0x322A, 1, L_FIX}, // "sprmSFRTLGutter", set to one if gutter is on
                             // right
-        {0x702B, 4, L_FIX}, // "sprmSBrcTop" sep.brcTop;BRC;long;
-        {0x702C, 4, L_FIX}, // "sprmSBrcLeft" sep.brcLeft;BRC;long;
-        {0x702D, 4, L_FIX}, // "sprmSBrcBottom" sep.brcBottom;BRC;long;
-        {0x702E, 4, L_FIX}, // "sprmSBrcRight" sep.brcRight;BRC;long;
+        {0x702B, 4, L_FIX}, // "sprmSBrcTop80" sep.brcTop;BRC;long;
+        {0x702C, 4, L_FIX}, // "sprmSBrcLeft80" sep.brcLeft;BRC;long;
+        {0x702D, 4, L_FIX}, // "sprmSBrcBottom80" sep.brcBottom;BRC;long;
+        {0x702E, 4, L_FIX}, // "sprmSBrcRight80" sep.brcRight;BRC;long;
         {0x522F, 2, L_FIX}, // "sprmSPgbProp" sep.pgbProp;;word;
         {0x7030, 4, L_FIX}, // "sprmSDxtCharSpace" sep.dxtCharSpace;dxt;long;
         {0x9031, 2, L_FIX}, // "sprmSDyaLinePitch"
                             // sep.dyaLinePitch;dya; WRONG:long; RIGHT:short; !
         {0x5032, 2, L_FIX}, // "sprmSClm" ;;;
         {0x5033, 2, L_FIX}, // "sprmSTextFlow" sep.wTextFlow;complex
-        {0x5400, 2, L_FIX}, // "sprmTJc" tap.jc;jc;word (low order byte is
+        {0x5400, 2, L_FIX}, // "sprmTJc90" tap.jc;jc;word (low order byte is
                             // significant);
         {0x9601, 2, L_FIX}, // "sprmTDxaLeft" tap.rgdxaCenter
         {0x9602, 2, L_FIX}, // "sprmTDxaGapHalf" tap.dxaGapHalf,
@@ -704,24 +704,24 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {0x3403, 1, L_FIX}, // "sprmTFCantSplit" tap.fCantSplit;1 or 0;byte;
         {0x3404, 1, L_FIX}, // "sprmTTableHeader" tap.fTableHeader;1 or 0;byte;
         {0x3466, 1, L_FIX}, // "sprmTFCantSplit90" tap.fCantSplit90;1 or 0;byte;
-        {0xD605, 0, L_VAR}, // "sprmTTableBorders" tap.rgbrcTable;complex
+        {0xD605, 0, L_VAR}, // "sprmTTableBorders80" tap.rgbrcTable;complex
         {0xD606, 0, L_VAR}, // "sprmTDefTable10" tap.rgdxaCenter,
                             // tap.rgtc;complex
         {0x9407, 2, L_FIX}, // "sprmTDyaRowHeight" tap.dyaRowHeight;dya;word;
         {0xD608, 0, L_VAR}, // "sprmTDefTable" tap.rgtc;complex
-        {0xD609, 0, L_VAR}, // "sprmTDefTableShd" tap.rgshd;complex
+        {0xD609, 0, L_VAR}, // "sprmTDefTableShd80" tap.rgshd;complex
         {0x740A, 4, L_FIX}, // "sprmTTlp" tap.tlp;TLP;4 bytes;
         {0x560B, 2, L_FIX}, // "sprmTFBiDi" ;;;
         {0x740C, 1, L_FIX}, // "sprmTHTMLProps" ;;;
-        {0xD620, 0, L_VAR}, // "sprmTSetBrc" tap.rgtc[].rgbrc;complex
+        {0xD620, 0, L_VAR}, // "sprmTSetBrc80" tap.rgtc[].rgbrc;complex
         {0x7621, 4, L_FIX}, // "sprmTInsert" tap.rgdxaCenter, tap.rgtc;complex
         {0x5622, 2, L_FIX}, // "sprmTDelete" tap.rgdxaCenter, tap.rgtc;complex
         {0x7623, 4, L_FIX}, // "sprmTDxaCol" tap.rgdxaCenter;complex
         {0x5624, 0, L_VAR}, // "sprmTMerge" tap.fFirstMerged, tap.fMerged;
         {0x5625, 0, L_VAR}, // "sprmTSplit" tap.fFirstMerged, tap.fMerged;
         {0xD626, 0, L_VAR}, // "sprmTSetBrc10" tap.rgtc[].rgbrc;complex
-        {0x7627, 0, L_VAR}, // "sprmTSetShd" tap.rgshd;complex
-        {0x7628, 0, L_VAR}, // "sprmTSetShdOdd" tap.rgshd;complex
+        {0x7627, 0, L_VAR}, // "sprmTSetShd80" tap.rgshd;complex
+        {0x7628, 0, L_VAR}, // "sprmTSetShdOdd80" tap.rgshd;complex
         {0x7629, 4, L_FIX}, // "sprmTTextFlow" tap.rgtc[].fVerticaltap,
                             // rgtc[].fBackwardtap, rgtc[].fRotateFont;0 or 10
                             // or 10 or 1;word;
@@ -731,8 +731,8 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {NS_sprm::LN_CFELayout, 0, L_VAR},
         {0x6649, 4, L_FIX}, // undocumented
         {0xF614, 3, L_FIX}, // undocumented
-        {0xD612, 0, L_VAR}, // undocumented, new background colours.
-        {0xD613, 0, L_VAR}, // undocumented
+        {0xD612, 0, L_VAR}, // "sprmTDefTableShd"
+        {0xD613, 0, L_VAR}, // "sprmTTableBorders"
         {0xD61A, 0, L_VAR}, // undocumented
         {0xD61B, 0, L_VAR}, // undocumented
         {0xD61C, 0, L_VAR}, // undocumented
@@ -740,11 +740,11 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {0xD632, 0, L_VAR}, // undocumented
         {0xD634, 0, L_VAR}, // undocumented
         {0xD238, 0, L_VAR}, // undocumented sep
-        {0xC64E, 0, L_VAR}, // "sprmPBorderTop"
-        {0xC64F, 0, L_VAR}, // "sprmPBorderLeft"
-        {0xC650, 0, L_VAR}, // "sprmPBorderBottom"
-        {0xC651, 0, L_VAR}, // "sprmPBorderRight"
-        {0xC652, 0, L_VAR}, // "sprmPBorderBetween"
+        {0xC64E, 0, L_VAR}, // "sprmPBrcTop"
+        {0xC64F, 0, L_VAR}, // "sprmPBrcLeft"
+        {0xC650, 0, L_VAR}, // "sprmPBrcBottom"
+        {0xC651, 0, L_VAR}, // "sprmPBrcRight"
+        {0xC652, 0, L_VAR}, // "sprmPBrcBetween"
         {0xF661, 3, L_FIX}, // undocumented
         {0x4873, 2, L_FIX}, // "sprmCRgLid0" chp.rglid[0];LID: for non-FE text
         {0x4874, 2, L_FIX}, // "sprmCRgLid1" chp.rglid[1];LID: for Far East text
@@ -771,7 +771,7 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher()
         {0xF617, 3, L_FIX}, // undocumented
         {0xD660, 0, L_VAR}, // undocumented, something to do with colour.
         {0xD670, 0, L_VAR}, // undocumented, something to do with colour.
-        {0xCA71, 0, L_VAR}, // undocumented, text backcolour
+        {0xCA71, 0, L_VAR}, // "sprmCShd", text backcolour
         {0x303C, 1, L_FIX}, // undocumented, sep
         {0x245B, 1, L_FIX}, // undocumented, para autobefore
         {0x245C, 1, L_FIX}, // undocumented, para autoafter


More information about the Libreoffice-commits mailing list