summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Deller <luke@deller.id.au>2014-04-06 21:31:49 +1000
committerCaolán McNamara <caolanm@redhat.com>2014-04-07 08:47:44 -0500
commit6a7d04a9cb82cee083cf83c7354b89fa42458396 (patch)
tree752fba71ee8cd28a88a4248b1791ec5ffe856cc2
parenta3c5ed4918d1320ac8fae18debe4d025a26455b4 (diff)
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@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--include/filter/msfilter/sprmids.hxx71
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx7
-rw-r--r--sw/source/filter/ww8/ww8atr.cxx30
-rw-r--r--sw/source/filter/ww8/ww8par2.cxx59
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx68
-rw-r--r--sw/source/filter/ww8/ww8scan.cxx60
6 files changed, 153 insertions, 142 deletions
diff --git a/include/filter/msfilter/sprmids.hxx b/include/filter/msfilter/sprmids.hxx
index b12d907e8d31..e3c3923f1482 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 1a666d0bb15e..fdb323c25eb1 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 c853be03c01c..5579be46be7c 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 ca7cdc227725..6b1cde9dafb4 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 76e2d16d3999..2df5e392d6f8 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 6c835eda8744..f2711945cd19 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