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

Mike Kaganski mike.kaganski at collabora.com
Fri Feb 24 15:12:28 UTC 2017


 sw/source/filter/ww8/sprmids.hxx  |  599 ++++++++++++++++++++++----------------
 sw/source/filter/ww8/wrtw8nds.cxx |   24 -
 sw/source/filter/ww8/wrtw8num.cxx |    8 
 sw/source/filter/ww8/wrtw8sty.cxx |   26 -
 sw/source/filter/ww8/wrtww8.cxx   |   48 +--
 sw/source/filter/ww8/wrtww8gr.cxx |   12 
 sw/source/filter/ww8/ww8atr.cxx   |  242 +++++++--------
 sw/source/filter/ww8/ww8graf.cxx  |    3 
 sw/source/filter/ww8/ww8par2.cxx  |   50 +--
 sw/source/filter/ww8/ww8par3.cxx  |    6 
 sw/source/filter/ww8/ww8par4.cxx  |    2 
 sw/source/filter/ww8/ww8par6.cxx  |  138 ++++----
 sw/source/filter/ww8/ww8scan.cxx  |  114 +++----
 13 files changed, 697 insertions(+), 575 deletions(-)

New commits:
commit 237685fdfad448ddb8493c6c8162f7db085ec45c
Author: Mike Kaganski <mike.kaganski at collabora.com>
Date:   Fri Feb 24 16:15:56 2017 +0300

    Restructure sprm value definition using ispmd, fSpec, sgc, spra
    
    ... from [MS-DOC] documentation.
    This also makes operand size explicit.
    
    Change-Id: I5adb439a5b26f4692a2152433279b0baa77ed00a
    Reviewed-on: https://gerrit.libreoffice.org/34612
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/sw/source/filter/ww8/sprmids.hxx b/sw/source/filter/ww8/sprmids.hxx
index 872df41..6a97a40 100644
--- a/sw/source/filter/ww8/sprmids.hxx
+++ b/sw/source/filter/ww8/sprmids.hxx
@@ -73,337 +73,365 @@ const sal_uInt16 LN_TSetShd80 = 0x7627;
 const sal_uInt16 LN_TSetShdOdd80 = 0x7628;
 const sal_uInt16 LN_TDiagLine = 0xd62a;
 
+// [MS-DOC] - v20170112 Section 2.2.5.1
+enum class sgc
+{
+    paragraph = 1,
+    character = 2,
+    picture   = 3,
+    section   = 4,
+    table     = 5
+};
+enum class spra
+{
+    operand_toggle_1b_0 = 0,
+    operand_1b_1        = 1,
+    operand_2b_2        = 2,
+    operand_4b_3        = 3,
+    operand_2b_4        = 4,
+    operand_2b_5        = 5,
+    operand_varlen_6    = 6,
+    operand_3b_7        = 7
+};
+#define SPRM_PART(num, mask, shift) ((static_cast<sal_uInt16>(num) & mask) << shift)
+#define SPRM(ispmd, fSpec, sgc, spra) SPRM_PART(ispmd, 0x01FF, 0) + SPRM_PART(fSpec, 0x0001, 9) + SPRM_PART(sgc, 0x0007, 10) + SPRM_PART(spra, 0x0007, 13)
+#define SPRM_PAR(ispmd, fSpec, spra) SPRM(ispmd, fSpec, sgc::paragraph, spra)
+#define SPRM_CHR(ispmd, fSpec, spra) SPRM(ispmd, fSpec, sgc::character, spra)
+#define SPRM_PIC(ispmd, fSpec, spra) SPRM(ispmd, fSpec, sgc::picture, spra)
+#define SPRM_SEC(ispmd, fSpec, spra) SPRM(ispmd, fSpec, sgc::section, spra)
+#define SPRM_TBL(ispmd, fSpec, spra) SPRM(ispmd, fSpec, sgc::table, spra)
+
 // [MS-DOC] - v20170112 Section 2.6.1
-const sal_uInt16 sprmCFRMarkDel        = 0x0800;
-const sal_uInt16 sprmCFRMarkIns        = 0x0801;
-const sal_uInt16 sprmCFFldVanish       = 0x0802;
-const sal_uInt16 sprmCPicLocation      = 0x6A03;
-const sal_uInt16 sprmCIbstRMark        = 0x4804;
-const sal_uInt16 sprmCDttmRMark        = 0x6805;
-const sal_uInt16 sprmCFData            = 0x0806;
-const sal_uInt16 sprmCIdslRMark        = 0x4807;
-const sal_uInt16 sprmCSymbol           = 0x6A09;
-const sal_uInt16 sprmCFOle2            = 0x080A;
-const sal_uInt16 sprmCHighlight        = 0x2A0C;
-const sal_uInt16 sprmCFWebHidden       = 0x0811;
-const sal_uInt16 sprmCRsidProp         = 0x6815;
-const sal_uInt16 sprmCRsidText         = 0x6816;
-const sal_uInt16 sprmCRsidRMDel        = 0x6817;
-const sal_uInt16 sprmCFSpecVanish      = 0x0818;
-const sal_uInt16 sprmCFMathPr          = 0xC81A;
-const sal_uInt16 sprmCIstd             = 0x4A30;
-const sal_uInt16 sprmCIstdPermute      = 0xCA31;
-const sal_uInt16 sprmCPlain            = 0x2A33;
-const sal_uInt16 sprmCKcd              = 0x2A34;
-const sal_uInt16 sprmCFBold            = 0x0835;
-const sal_uInt16 sprmCFItalic          = 0x0836;
-const sal_uInt16 sprmCFStrike          = 0x0837;
-const sal_uInt16 sprmCFOutline         = 0x0838;
-const sal_uInt16 sprmCFShadow          = 0x0839;
-const sal_uInt16 sprmCFSmallCaps       = 0x083A;
-const sal_uInt16 sprmCFCaps            = 0x083B;
-const sal_uInt16 sprmCFVanish          = 0x083C;
-const sal_uInt16 sprmCKul              = 0x2A3E;
-const sal_uInt16 sprmCDxaSpace         = 0x8840;
-const sal_uInt16 sprmCIco              = 0x2A42;
-const sal_uInt16 sprmCHps              = 0x4A43;
-const sal_uInt16 sprmCHpsPos           = 0x4845;
-const sal_uInt16 sprmCMajority         = 0xCA47;
-const sal_uInt16 sprmCIss              = 0x2A48;
-const sal_uInt16 sprmCHpsKern          = 0x484B;
-const sal_uInt16 sprmCHresi            = 0x484E;
-const sal_uInt16 sprmCRgFtc0           = 0x4A4F;
-const sal_uInt16 sprmCRgFtc1           = 0x4A50;
-const sal_uInt16 sprmCRgFtc2           = 0x4A51;
-const sal_uInt16 sprmCCharScale        = 0x4852;
-const sal_uInt16 sprmCFDStrike         = 0x2A53;
-const sal_uInt16 sprmCFImprint         = 0x0854;
-const sal_uInt16 sprmCFSpec            = 0x0855;
-const sal_uInt16 sprmCFObj             = 0x0856;
-const sal_uInt16 sprmCPropRMark90      = 0xCA57;
-const sal_uInt16 sprmCFEmboss          = 0x0858;
-const sal_uInt16 sprmCSfxText          = 0x2859;
-const sal_uInt16 sprmCFBiDi            = 0x085A;
-const sal_uInt16 sprmCFBoldBi          = 0x085C;
-const sal_uInt16 sprmCFItalicBi        = 0x085D;
-const sal_uInt16 sprmCFtcBi            = 0x4A5E;
-const sal_uInt16 sprmCLidBi            = 0x485F;
-const sal_uInt16 sprmCIcoBi            = 0x4A60;
-const sal_uInt16 sprmCHpsBi            = 0x4A61;
-const sal_uInt16 sprmCDispFldRMark     = 0xCA62;
-const sal_uInt16 sprmCIbstRMarkDel     = 0x4863;
-const sal_uInt16 sprmCDttmRMarkDel     = 0x6864;
-const sal_uInt16 sprmCBrc80            = 0x6865;
-const sal_uInt16 sprmCShd80            = 0x4866;
-const sal_uInt16 sprmCIdslRMarkDel     = 0x4867;
-const sal_uInt16 sprmCFUsePgsuSettings = 0x0868;
-const sal_uInt16 sprmCRgLid0_80        = 0x486D;
-const sal_uInt16 sprmCRgLid1_80        = 0x486E;
-const sal_uInt16 sprmCIdctHint         = 0x286F;
-const sal_uInt16 sprmCCv               = 0x6870;
-const sal_uInt16 sprmCShd              = 0xCA71;
-const sal_uInt16 sprmCBrc              = 0xCA72;
-const sal_uInt16 sprmCRgLid0           = 0x4873;
-const sal_uInt16 sprmCRgLid1           = 0x4874;
-const sal_uInt16 sprmCFNoProof         = 0x0875;
-const sal_uInt16 sprmCFitText          = 0xCA76;
-const sal_uInt16 sprmCCvUl             = 0x6877;
-const sal_uInt16 sprmCFELayout         = 0xCA78;
-const sal_uInt16 sprmCLbcCRJ           = 0x2879;
-const sal_uInt16 sprmCFComplexScripts  = 0x0882;
-const sal_uInt16 sprmCWall             = 0x2A83;
-const sal_uInt16 sprmCCnf              = 0xCA85;
-const sal_uInt16 sprmCNeedFontFixup    = 0x2A86;
-const sal_uInt16 sprmCPbiIBullet       = 0x6887;
-const sal_uInt16 sprmCPbiGrf           = 0x4888;
-const sal_uInt16 sprmCPropRMark        = 0xCA89;
-const sal_uInt16 sprmCFSdtVanish       = 0x2A90;
+const sal_uInt16 sprmCFRMarkDel        = SPRM_CHR(0x00, 0, spra::operand_toggle_1b_0); // 0x0800
+const sal_uInt16 sprmCFRMarkIns        = SPRM_CHR(0x01, 0, spra::operand_toggle_1b_0); // 0x0801
+const sal_uInt16 sprmCFFldVanish       = SPRM_CHR(0x02, 0, spra::operand_toggle_1b_0); // 0x0802
+const sal_uInt16 sprmCPicLocation      = SPRM_CHR(0x03, 1, spra::operand_4b_3);        // 0x6A03
+const sal_uInt16 sprmCIbstRMark        = SPRM_CHR(0x04, 0, spra::operand_2b_2);        // 0x4804
+const sal_uInt16 sprmCDttmRMark        = SPRM_CHR(0x05, 0, spra::operand_4b_3);        // 0x6805
+const sal_uInt16 sprmCFData            = SPRM_CHR(0x06, 0, spra::operand_toggle_1b_0); // 0x0806
+const sal_uInt16 sprmCIdslRMark        = SPRM_CHR(0x07, 0, spra::operand_2b_2);        // 0x4807
+const sal_uInt16 sprmCSymbol           = SPRM_CHR(0x09, 1, spra::operand_4b_3);        // 0x6A09
+const sal_uInt16 sprmCFOle2            = SPRM_CHR(0x0A, 0, spra::operand_toggle_1b_0); // 0x080A
+const sal_uInt16 sprmCHighlight        = SPRM_CHR(0x0C, 1, spra::operand_1b_1);        // 0x2A0C
+const sal_uInt16 sprmCFWebHidden       = SPRM_CHR(0x11, 0, spra::operand_toggle_1b_0); // 0x0811
+const sal_uInt16 sprmCRsidProp         = SPRM_CHR(0x15, 0, spra::operand_4b_3);        // 0x6815
+const sal_uInt16 sprmCRsidText         = SPRM_CHR(0x16, 0, spra::operand_4b_3);        // 0x6816
+const sal_uInt16 sprmCRsidRMDel        = SPRM_CHR(0x17, 0, spra::operand_4b_3);        // 0x6817
+const sal_uInt16 sprmCFSpecVanish      = SPRM_CHR(0x18, 0, spra::operand_toggle_1b_0); // 0x0818
+const sal_uInt16 sprmCFMathPr          = SPRM_CHR(0x1A, 0, spra::operand_varlen_6);    // 0xC81A
+const sal_uInt16 sprmCIstd             = SPRM_CHR(0x30, 1, spra::operand_2b_2);        // 0x4A30
+const sal_uInt16 sprmCIstdPermute      = SPRM_CHR(0x31, 1, spra::operand_varlen_6);    // 0xCA31
+const sal_uInt16 sprmCPlain            = SPRM_CHR(0x33, 1, spra::operand_1b_1);        // 0x2A33
+const sal_uInt16 sprmCKcd              = SPRM_CHR(0x34, 1, spra::operand_1b_1);        // 0x2A34
+const sal_uInt16 sprmCFBold            = SPRM_CHR(0x35, 0, spra::operand_toggle_1b_0); // 0x0835
+const sal_uInt16 sprmCFItalic          = SPRM_CHR(0x36, 0, spra::operand_toggle_1b_0); // 0x0836
+const sal_uInt16 sprmCFStrike          = SPRM_CHR(0x37, 0, spra::operand_toggle_1b_0); // 0x0837
+const sal_uInt16 sprmCFOutline         = SPRM_CHR(0x38, 0, spra::operand_toggle_1b_0); // 0x0838
+const sal_uInt16 sprmCFShadow          = SPRM_CHR(0x39, 0, spra::operand_toggle_1b_0); // 0x0839
+const sal_uInt16 sprmCFSmallCaps       = SPRM_CHR(0x3A, 0, spra::operand_toggle_1b_0); // 0x083A
+const sal_uInt16 sprmCFCaps            = SPRM_CHR(0x3B, 0, spra::operand_toggle_1b_0); // 0x083B
+const sal_uInt16 sprmCFVanish          = SPRM_CHR(0x3C, 0, spra::operand_toggle_1b_0); // 0x083C
+const sal_uInt16 sprmCKul              = SPRM_CHR(0x3E, 1, spra::operand_1b_1);        // 0x2A3E
+const sal_uInt16 sprmCDxaSpace         = SPRM_CHR(0x40, 0, spra::operand_2b_4);        // 0x8840
+const sal_uInt16 sprmCIco              = SPRM_CHR(0x42, 1, spra::operand_1b_1);        // 0x2A42
+const sal_uInt16 sprmCHps              = SPRM_CHR(0x43, 1, spra::operand_2b_2);        // 0x4A43
+const sal_uInt16 sprmCHpsPos           = SPRM_CHR(0x45, 0, spra::operand_2b_2);        // 0x4845
+const sal_uInt16 sprmCMajority         = SPRM_CHR(0x47, 1, spra::operand_varlen_6);    // 0xCA47
+const sal_uInt16 sprmCIss              = SPRM_CHR(0x48, 1, spra::operand_1b_1);        // 0x2A48
+const sal_uInt16 sprmCHpsKern          = SPRM_CHR(0x4B, 0, spra::operand_2b_2);        // 0x484B
+const sal_uInt16 sprmCHresi            = SPRM_CHR(0x4E, 0, spra::operand_2b_2);        // 0x484E
+const sal_uInt16 sprmCRgFtc0           = SPRM_CHR(0x4F, 1, spra::operand_2b_2);        // 0x4A4F
+const sal_uInt16 sprmCRgFtc1           = SPRM_CHR(0x50, 1, spra::operand_2b_2);        // 0x4A50
+const sal_uInt16 sprmCRgFtc2           = SPRM_CHR(0x51, 1, spra::operand_2b_2);        // 0x4A51
+const sal_uInt16 sprmCCharScale        = SPRM_CHR(0x52, 0, spra::operand_2b_2);        // 0x4852
+const sal_uInt16 sprmCFDStrike         = SPRM_CHR(0x53, 1, spra::operand_1b_1);        // 0x2A53
+const sal_uInt16 sprmCFImprint         = SPRM_CHR(0x54, 0, spra::operand_toggle_1b_0); // 0x0854
+const sal_uInt16 sprmCFSpec            = SPRM_CHR(0x55, 0, spra::operand_toggle_1b_0); // 0x0855
+const sal_uInt16 sprmCFObj             = SPRM_CHR(0x56, 0, spra::operand_toggle_1b_0); // 0x0856
+const sal_uInt16 sprmCPropRMark90      = SPRM_CHR(0x57, 1, spra::operand_varlen_6);    // 0xCA57
+const sal_uInt16 sprmCFEmboss          = SPRM_CHR(0x58, 0, spra::operand_toggle_1b_0); // 0x0858
+const sal_uInt16 sprmCSfxText          = SPRM_CHR(0x59, 0, spra::operand_1b_1);        // 0x2859
+const sal_uInt16 sprmCFBiDi            = SPRM_CHR(0x5A, 0, spra::operand_toggle_1b_0); // 0x085A
+const sal_uInt16 sprmCFBoldBi          = SPRM_CHR(0x5C, 0, spra::operand_toggle_1b_0); // 0x085C
+const sal_uInt16 sprmCFItalicBi        = SPRM_CHR(0x5D, 0, spra::operand_toggle_1b_0); // 0x085D
+const sal_uInt16 sprmCFtcBi            = SPRM_CHR(0x5E, 1, spra::operand_2b_2);        // 0x4A5E
+const sal_uInt16 sprmCLidBi            = SPRM_CHR(0x5F, 0, spra::operand_2b_2);        // 0x485F
+const sal_uInt16 sprmCIcoBi            = SPRM_CHR(0x60, 1, spra::operand_2b_2);        // 0x4A60
+const sal_uInt16 sprmCHpsBi            = SPRM_CHR(0x61, 1, spra::operand_2b_2);        // 0x4A61
+const sal_uInt16 sprmCDispFldRMark     = SPRM_CHR(0x62, 1, spra::operand_varlen_6);    // 0xCA62
+const sal_uInt16 sprmCIbstRMarkDel     = SPRM_CHR(0x63, 0, spra::operand_2b_2);        // 0x4863
+const sal_uInt16 sprmCDttmRMarkDel     = SPRM_CHR(0x64, 0, spra::operand_4b_3);        // 0x6864
+const sal_uInt16 sprmCBrc80            = SPRM_CHR(0x65, 0, spra::operand_4b_3);        // 0x6865
+const sal_uInt16 sprmCShd80            = SPRM_CHR(0x66, 0, spra::operand_2b_2);        // 0x4866
+const sal_uInt16 sprmCIdslRMarkDel     = SPRM_CHR(0x67, 0, spra::operand_2b_2);        // 0x4867
+const sal_uInt16 sprmCFUsePgsuSettings = SPRM_CHR(0x68, 0, spra::operand_toggle_1b_0); // 0x0868
+const sal_uInt16 sprmCRgLid0_80        = SPRM_CHR(0x6D, 0, spra::operand_2b_2);        // 0x486D
+const sal_uInt16 sprmCRgLid1_80        = SPRM_CHR(0x6E, 0, spra::operand_2b_2);        // 0x486E
+const sal_uInt16 sprmCIdctHint         = SPRM_CHR(0x6F, 0, spra::operand_1b_1);        // 0x286F
+const sal_uInt16 sprmCCv               = SPRM_CHR(0x70, 0, spra::operand_4b_3);        // 0x6870
+const sal_uInt16 sprmCShd              = SPRM_CHR(0x71, 1, spra::operand_varlen_6);    // 0xCA71
+const sal_uInt16 sprmCBrc              = SPRM_CHR(0x72, 1, spra::operand_varlen_6);    // 0xCA72
+const sal_uInt16 sprmCRgLid0           = SPRM_CHR(0x73, 0, spra::operand_2b_2);        // 0x4873
+const sal_uInt16 sprmCRgLid1           = SPRM_CHR(0x74, 0, spra::operand_2b_2);        // 0x4874
+const sal_uInt16 sprmCFNoProof         = SPRM_CHR(0x75, 0, spra::operand_toggle_1b_0); // 0x0875
+const sal_uInt16 sprmCFitText          = SPRM_CHR(0x76, 1, spra::operand_varlen_6);    // 0xCA76
+const sal_uInt16 sprmCCvUl             = SPRM_CHR(0x77, 0, spra::operand_4b_3);        // 0x6877
+const sal_uInt16 sprmCFELayout         = SPRM_CHR(0x78, 1, spra::operand_varlen_6);    // 0xCA78
+const sal_uInt16 sprmCLbcCRJ           = SPRM_CHR(0x79, 0, spra::operand_1b_1);        // 0x2879
+const sal_uInt16 sprmCFComplexScripts  = SPRM_CHR(0x82, 0, spra::operand_toggle_1b_0); // 0x0882
+const sal_uInt16 sprmCWall             = SPRM_CHR(0x83, 1, spra::operand_1b_1);        // 0x2A83
+const sal_uInt16 sprmCCnf              = SPRM_CHR(0x85, 1, spra::operand_varlen_6);    // 0xCA85
+const sal_uInt16 sprmCNeedFontFixup    = SPRM_CHR(0x86, 1, spra::operand_1b_1);        // 0x2A86
+const sal_uInt16 sprmCPbiIBullet       = SPRM_CHR(0x87, 0, spra::operand_4b_3);        // 0x6887
+const sal_uInt16 sprmCPbiGrf           = SPRM_CHR(0x88, 0, spra::operand_2b_2);        // 0x4888
+const sal_uInt16 sprmCPropRMark        = SPRM_CHR(0x89, 1, spra::operand_varlen_6);    // 0xCA89
+const sal_uInt16 sprmCFSdtVanish       = SPRM_CHR(0x90, 1, spra::operand_1b_1);        // 0x2A90
 
 // [MS-DOC] - v20170112 Section 2.6.2
-const sal_uInt16 sprmPIstd               = 0x4600;
-const sal_uInt16 sprmPIstdPermute        = 0xC601;
-const sal_uInt16 sprmPIncLvl             = 0x2602;
-const sal_uInt16 sprmPJc80               = 0x2403;
-const sal_uInt16 sprmPFKeep              = 0x2405;
-const sal_uInt16 sprmPFKeepFollow        = 0x2406;
-const sal_uInt16 sprmPFPageBreakBefore   = 0x2407;
-const sal_uInt16 sprmPIlvl               = 0x260A;
-const sal_uInt16 sprmPIlfo               = 0x460B;
-const sal_uInt16 sprmPFNoLineNumb        = 0x240C;
-const sal_uInt16 sprmPChgTabsPapx        = 0xC60D;
-const sal_uInt16 sprmPDxaRight80         = 0x840E;
-const sal_uInt16 sprmPDxaLeft80          = 0x840F;
-const sal_uInt16 sprmPNest80             = 0x4610;
-const sal_uInt16 sprmPDxaLeft180         = 0x8411;
-const sal_uInt16 sprmPDyaLine            = 0x6412;
-const sal_uInt16 sprmPDyaBefore          = 0xA413;
-const sal_uInt16 sprmPDyaAfter           = 0xA414;
-const sal_uInt16 sprmPChgTabs            = 0xC615;
-const sal_uInt16 sprmPFInTable           = 0x2416;
-const sal_uInt16 sprmPFTtp               = 0x2417;
-const sal_uInt16 sprmPDxaAbs             = 0x8418;
-const sal_uInt16 sprmPDyaAbs             = 0x8419;
-const sal_uInt16 sprmPDxaWidth           = 0x841A;
-const sal_uInt16 sprmPPc                 = 0x261B;
-const sal_uInt16 sprmPWr                 = 0x2423;
-const sal_uInt16 sprmPBrcTop80           = 0x6424;
-const sal_uInt16 sprmPBrcLeft80          = 0x6425;
-const sal_uInt16 sprmPBrcBottom80        = 0x6426;
-const sal_uInt16 sprmPBrcRight80         = 0x6427;
-const sal_uInt16 sprmPBrcBetween80       = 0x6428;
-const sal_uInt16 sprmPBrcBar80           = 0x6629;
-const sal_uInt16 sprmPFNoAutoHyph        = 0x242A;
-const sal_uInt16 sprmPWHeightAbs         = 0x442B;
-const sal_uInt16 sprmPDcs                = 0x442C;
-const sal_uInt16 sprmPShd80              = 0x442D;
-const sal_uInt16 sprmPDyaFromText        = 0x842E;
-const sal_uInt16 sprmPDxaFromText        = 0x842F;
-const sal_uInt16 sprmPFLocked            = 0x2430;
-const sal_uInt16 sprmPFWidowControl      = 0x2431;
-const sal_uInt16 sprmPFKinsoku           = 0x2433;
-const sal_uInt16 sprmPFWordWrap          = 0x2434;
-const sal_uInt16 sprmPFOverflowPunct     = 0x2435;
-const sal_uInt16 sprmPFTopLinePunct      = 0x2436;
-const sal_uInt16 sprmPFAutoSpaceDE       = 0x2437;
-const sal_uInt16 sprmPFAutoSpaceDN       = 0x2438;
-const sal_uInt16 sprmPWAlignFont         = 0x4439;
-const sal_uInt16 sprmPFrameTextFlow      = 0x443A;
-const sal_uInt16 sprmPOutLvl             = 0x2640;
-const sal_uInt16 sprmPFBiDi              = 0x2441;
-const sal_uInt16 sprmPFNumRMIns          = 0x2443;
-const sal_uInt16 sprmPNumRM              = 0xC645;
-const sal_uInt16 sprmPHugePapx           = 0x6646;
-const sal_uInt16 sprmPFUsePgsuSettings   = 0x2447;
-const sal_uInt16 sprmPFAdjustRight       = 0x2448;
-const sal_uInt16 sprmPItap               = 0x6649;
-const sal_uInt16 sprmPDtap               = 0x664A;
-const sal_uInt16 sprmPFInnerTableCell    = 0x244B;
-const sal_uInt16 sprmPFInnerTtp          = 0x244C;
-const sal_uInt16 sprmPShd                = 0xC64D;
-const sal_uInt16 sprmPBrcTop             = 0xC64E;
-const sal_uInt16 sprmPBrcLeft            = 0xC64F;
-const sal_uInt16 sprmPBrcBottom          = 0xC650;
-const sal_uInt16 sprmPBrcRight           = 0xC651;
-const sal_uInt16 sprmPBrcBetween         = 0xC652;
-const sal_uInt16 sprmPBrcBar             = 0xC653;
-const sal_uInt16 sprmPDxcRight           = 0x4455;
-const sal_uInt16 sprmPDxcLeft            = 0x4456;
-const sal_uInt16 sprmPDxcLeft1           = 0x4457;
-const sal_uInt16 sprmPDylBefore          = 0x4458;
-const sal_uInt16 sprmPDylAfter           = 0x4459;
-const sal_uInt16 sprmPFOpenTch           = 0x245A;
-const sal_uInt16 sprmPFDyaBeforeAuto     = 0x245B;
-const sal_uInt16 sprmPFDyaAfterAuto      = 0x245C;
-const sal_uInt16 sprmPDxaRight           = 0x845D;
-const sal_uInt16 sprmPDxaLeft            = 0x845E;
-const sal_uInt16 sprmPNest               = 0x465F;
-const sal_uInt16 sprmPDxaLeft1           = 0x8460;
-const sal_uInt16 sprmPJc                 = 0x2461;
-const sal_uInt16 sprmPFNoAllowOverlap    = 0x2462;
-const sal_uInt16 sprmPWall               = 0x2664;
-const sal_uInt16 sprmPIpgp               = 0x6465;
-const sal_uInt16 sprmPCnf                = 0xC666;
-const sal_uInt16 sprmPRsid               = 0x6467;
-const sal_uInt16 sprmPIstdListPermute    = 0xC669;
-const sal_uInt16 sprmPTableProps         = 0x646B;
-const sal_uInt16 sprmPTIstdInfo          = 0xC66C;
-const sal_uInt16 sprmPFContextualSpacing = 0x246D;
-const sal_uInt16 sprmPPropRMark          = 0xC66F;
-const sal_uInt16 sprmPFMirrorIndents     = 0x2470;
-const sal_uInt16 sprmPTtwo               = 0x2471;
+const sal_uInt16 sprmPIstd               = SPRM_PAR(0x00, 1, spra::operand_2b_2);     // 0x4600
+const sal_uInt16 sprmPIstdPermute        = SPRM_PAR(0x01, 1, spra::operand_varlen_6); // 0xC601
+const sal_uInt16 sprmPIncLvl             = SPRM_PAR(0x02, 1, spra::operand_1b_1);     // 0x2602
+const sal_uInt16 sprmPJc80               = SPRM_PAR(0x03, 0, spra::operand_1b_1);     // 0x2403
+const sal_uInt16 sprmPFKeep              = SPRM_PAR(0x05, 0, spra::operand_1b_1);     // 0x2405
+const sal_uInt16 sprmPFKeepFollow        = SPRM_PAR(0x06, 0, spra::operand_1b_1);     // 0x2406
+const sal_uInt16 sprmPFPageBreakBefore   = SPRM_PAR(0x07, 0, spra::operand_1b_1);     // 0x2407
+const sal_uInt16 sprmPIlvl               = SPRM_PAR(0x0A, 1, spra::operand_1b_1);     // 0x260A
+const sal_uInt16 sprmPIlfo               = SPRM_PAR(0x0B, 1, spra::operand_2b_2);     // 0x460B
+const sal_uInt16 sprmPFNoLineNumb        = SPRM_PAR(0x0C, 0, spra::operand_1b_1);     // 0x240C
+const sal_uInt16 sprmPChgTabsPapx        = SPRM_PAR(0x0D, 1, spra::operand_varlen_6); // 0xC60D
+const sal_uInt16 sprmPDxaRight80         = SPRM_PAR(0x0E, 0, spra::operand_2b_4);     // 0x840E
+const sal_uInt16 sprmPDxaLeft80          = SPRM_PAR(0x0F, 0, spra::operand_2b_4);     // 0x840F
+const sal_uInt16 sprmPNest80             = SPRM_PAR(0x10, 1, spra::operand_2b_2);     // 0x4610
+const sal_uInt16 sprmPDxaLeft180         = SPRM_PAR(0x11, 0, spra::operand_2b_4);     // 0x8411
+const sal_uInt16 sprmPDyaLine            = SPRM_PAR(0x12, 0, spra::operand_4b_3);     // 0x6412
+const sal_uInt16 sprmPDyaBefore          = SPRM_PAR(0x13, 0, spra::operand_2b_5);     // 0xA413
+const sal_uInt16 sprmPDyaAfter           = SPRM_PAR(0x14, 0, spra::operand_2b_5);     // 0xA414
+const sal_uInt16 sprmPChgTabs            = SPRM_PAR(0x15, 1, spra::operand_varlen_6); // 0xC615
+const sal_uInt16 sprmPFInTable           = SPRM_PAR(0x16, 0, spra::operand_1b_1);     // 0x2416
+const sal_uInt16 sprmPFTtp               = SPRM_PAR(0x17, 0, spra::operand_1b_1);     // 0x2417
+const sal_uInt16 sprmPDxaAbs             = SPRM_PAR(0x18, 0, spra::operand_2b_4);     // 0x8418
+const sal_uInt16 sprmPDyaAbs             = SPRM_PAR(0x19, 0, spra::operand_2b_4);     // 0x8419
+const sal_uInt16 sprmPDxaWidth           = SPRM_PAR(0x1A, 0, spra::operand_2b_4);     // 0x841A
+const sal_uInt16 sprmPPc                 = SPRM_PAR(0x1B, 1, spra::operand_1b_1);     // 0x261B
+const sal_uInt16 sprmPWr                 = SPRM_PAR(0x23, 0, spra::operand_1b_1);     // 0x2423
+const sal_uInt16 sprmPBrcTop80           = SPRM_PAR(0x24, 0, spra::operand_4b_3);     // 0x6424
+const sal_uInt16 sprmPBrcLeft80          = SPRM_PAR(0x25, 0, spra::operand_4b_3);     // 0x6425
+const sal_uInt16 sprmPBrcBottom80        = SPRM_PAR(0x26, 0, spra::operand_4b_3);     // 0x6426
+const sal_uInt16 sprmPBrcRight80         = SPRM_PAR(0x27, 0, spra::operand_4b_3);     // 0x6427
+const sal_uInt16 sprmPBrcBetween80       = SPRM_PAR(0x28, 0, spra::operand_4b_3);     // 0x6428
+const sal_uInt16 sprmPBrcBar80           = SPRM_PAR(0x29, 1, spra::operand_4b_3);     // 0x6629
+const sal_uInt16 sprmPFNoAutoHyph        = SPRM_PAR(0x2A, 0, spra::operand_1b_1);     // 0x242A
+const sal_uInt16 sprmPWHeightAbs         = SPRM_PAR(0x2B, 0, spra::operand_2b_2);     // 0x442B
+const sal_uInt16 sprmPDcs                = SPRM_PAR(0x2C, 0, spra::operand_2b_2);     // 0x442C
+const sal_uInt16 sprmPShd80              = SPRM_PAR(0x2D, 0, spra::operand_2b_2);     // 0x442D
+const sal_uInt16 sprmPDyaFromText        = SPRM_PAR(0x2E, 0, spra::operand_2b_4);     // 0x842E
+const sal_uInt16 sprmPDxaFromText        = SPRM_PAR(0x2F, 0, spra::operand_2b_4);     // 0x842F
+const sal_uInt16 sprmPFLocked            = SPRM_PAR(0x30, 0, spra::operand_1b_1);     // 0x2430
+const sal_uInt16 sprmPFWidowControl      = SPRM_PAR(0x31, 0, spra::operand_1b_1);     // 0x2431
+const sal_uInt16 sprmPFKinsoku           = SPRM_PAR(0x33, 0, spra::operand_1b_1);     // 0x2433
+const sal_uInt16 sprmPFWordWrap          = SPRM_PAR(0x34, 0, spra::operand_1b_1);     // 0x2434
+const sal_uInt16 sprmPFOverflowPunct     = SPRM_PAR(0x35, 0, spra::operand_1b_1);     // 0x2435
+const sal_uInt16 sprmPFTopLinePunct      = SPRM_PAR(0x36, 0, spra::operand_1b_1);     // 0x2436
+const sal_uInt16 sprmPFAutoSpaceDE       = SPRM_PAR(0x37, 0, spra::operand_1b_1);     // 0x2437
+const sal_uInt16 sprmPFAutoSpaceDN       = SPRM_PAR(0x38, 0, spra::operand_1b_1);     // 0x2438
+const sal_uInt16 sprmPWAlignFont         = SPRM_PAR(0x39, 0, spra::operand_2b_2);     // 0x4439
+const sal_uInt16 sprmPFrameTextFlow      = SPRM_PAR(0x3A, 0, spra::operand_2b_2);     // 0x443A
+const sal_uInt16 sprmPOutLvl             = SPRM_PAR(0x40, 1, spra::operand_1b_1);     // 0x2640
+const sal_uInt16 sprmPFBiDi              = SPRM_PAR(0x41, 0, spra::operand_1b_1);     // 0x2441
+const sal_uInt16 sprmPFNumRMIns          = SPRM_PAR(0x43, 0, spra::operand_1b_1);     // 0x2443
+const sal_uInt16 sprmPNumRM              = SPRM_PAR(0x45, 1, spra::operand_varlen_6); // 0xC645
+const sal_uInt16 sprmPHugePapx           = SPRM_PAR(0x46, 1, spra::operand_4b_3);     // 0x6646
+const sal_uInt16 sprmPFUsePgsuSettings   = SPRM_PAR(0x47, 0, spra::operand_1b_1);     // 0x2447
+const sal_uInt16 sprmPFAdjustRight       = SPRM_PAR(0x48, 0, spra::operand_1b_1);     // 0x2448
+const sal_uInt16 sprmPItap               = SPRM_PAR(0x49, 1, spra::operand_4b_3);     // 0x6649
+const sal_uInt16 sprmPDtap               = SPRM_PAR(0x4A, 1, spra::operand_4b_3);     // 0x664A
+const sal_uInt16 sprmPFInnerTableCell    = SPRM_PAR(0x4B, 0, spra::operand_1b_1);     // 0x244B
+const sal_uInt16 sprmPFInnerTtp          = SPRM_PAR(0x4C, 0, spra::operand_1b_1);     // 0x244C
+const sal_uInt16 sprmPShd                = SPRM_PAR(0x4D, 1, spra::operand_varlen_6); // 0xC64D
+const sal_uInt16 sprmPBrcTop             = SPRM_PAR(0x4E, 1, spra::operand_varlen_6); // 0xC64E
+const sal_uInt16 sprmPBrcLeft            = SPRM_PAR(0x4F, 1, spra::operand_varlen_6); // 0xC64F
+const sal_uInt16 sprmPBrcBottom          = SPRM_PAR(0x50, 1, spra::operand_varlen_6); // 0xC650
+const sal_uInt16 sprmPBrcRight           = SPRM_PAR(0x51, 1, spra::operand_varlen_6); // 0xC651
+const sal_uInt16 sprmPBrcBetween         = SPRM_PAR(0x52, 1, spra::operand_varlen_6); // 0xC652
+const sal_uInt16 sprmPBrcBar             = SPRM_PAR(0x53, 1, spra::operand_varlen_6); // 0xC653
+const sal_uInt16 sprmPDxcRight           = SPRM_PAR(0x55, 0, spra::operand_2b_2);     // 0x4455
+const sal_uInt16 sprmPDxcLeft            = SPRM_PAR(0x56, 0, spra::operand_2b_2);     // 0x4456
+const sal_uInt16 sprmPDxcLeft1           = SPRM_PAR(0x57, 0, spra::operand_2b_2);     // 0x4457
+const sal_uInt16 sprmPDylBefore          = SPRM_PAR(0x58, 0, spra::operand_2b_2);     // 0x4458
+const sal_uInt16 sprmPDylAfter           = SPRM_PAR(0x59, 0, spra::operand_2b_2);     // 0x4459
+const sal_uInt16 sprmPFOpenTch           = SPRM_PAR(0x5A, 0, spra::operand_1b_1);     // 0x245A
+const sal_uInt16 sprmPFDyaBeforeAuto     = SPRM_PAR(0x5B, 0, spra::operand_1b_1);     // 0x245B
+const sal_uInt16 sprmPFDyaAfterAuto      = SPRM_PAR(0x5C, 0, spra::operand_1b_1);     // 0x245C
+const sal_uInt16 sprmPDxaRight           = SPRM_PAR(0x5D, 0, spra::operand_2b_4);     // 0x845D
+const sal_uInt16 sprmPDxaLeft            = SPRM_PAR(0x5E, 0, spra::operand_2b_4);     // 0x845E
+const sal_uInt16 sprmPNest               = SPRM_PAR(0x5F, 1, spra::operand_2b_2);     // 0x465F
+const sal_uInt16 sprmPDxaLeft1           = SPRM_PAR(0x60, 0, spra::operand_2b_4);     // 0x8460
+const sal_uInt16 sprmPJc                 = SPRM_PAR(0x61, 0, spra::operand_1b_1);     // 0x2461
+const sal_uInt16 sprmPFNoAllowOverlap    = SPRM_PAR(0x62, 0, spra::operand_1b_1);     // 0x2462
+const sal_uInt16 sprmPWall               = SPRM_PAR(0x64, 1, spra::operand_1b_1);     // 0x2664
+const sal_uInt16 sprmPIpgp               = SPRM_PAR(0x65, 0, spra::operand_4b_3);     // 0x6465
+const sal_uInt16 sprmPCnf                = SPRM_PAR(0x66, 1, spra::operand_varlen_6); // 0xC666
+const sal_uInt16 sprmPRsid               = SPRM_PAR(0x67, 0, spra::operand_4b_3);     // 0x6467
+const sal_uInt16 sprmPIstdListPermute    = SPRM_PAR(0x69, 1, spra::operand_varlen_6); // 0xC669
+const sal_uInt16 sprmPTableProps         = SPRM_PAR(0x6B, 0, spra::operand_4b_3);     // 0x646B
+const sal_uInt16 sprmPTIstdInfo          = SPRM_PAR(0x6C, 1, spra::operand_varlen_6); // 0xC66C
+const sal_uInt16 sprmPFContextualSpacing = SPRM_PAR(0x6D, 0, spra::operand_1b_1);     // 0x246D
+const sal_uInt16 sprmPPropRMark          = SPRM_PAR(0x6F, 1, spra::operand_varlen_6); // 0xC66F
+const sal_uInt16 sprmPFMirrorIndents     = SPRM_PAR(0x70, 0, spra::operand_1b_1);     // 0x2470
+const sal_uInt16 sprmPTtwo               = SPRM_PAR(0x71, 0, spra::operand_1b_1);     // 0x2471
 
 // [MS-DOC] - v20170112 Section 2.6.3
-const sal_uInt16 sprmTJc90                = 0x5400;
-const sal_uInt16 sprmTDxaLeft             = 0x9601;
-const sal_uInt16 sprmTDxaGapHalf          = 0x9602;
-const sal_uInt16 sprmTFCantSplit90        = 0x3403;
-const sal_uInt16 sprmTTableHeader         = 0x3404;
-const sal_uInt16 sprmTTableBorders80      = 0xD605;
-const sal_uInt16 sprmTDyaRowHeight        = 0x9407;
-const sal_uInt16 sprmTDefTable            = 0xD608;
-const sal_uInt16 sprmTDefTableShd80       = 0xD609;
-const sal_uInt16 sprmTTlp                 = 0x740A;
-const sal_uInt16 sprmTFBiDi               = 0x560B;
-const sal_uInt16 sprmTDefTableShd3rd      = 0xD60C;
-const sal_uInt16 sprmTPc                  = 0x360D;
-const sal_uInt16 sprmTDxaAbs              = 0x940E;
-const sal_uInt16 sprmTDyaAbs              = 0x940F;
-const sal_uInt16 sprmTDxaFromText         = 0x9410;
-const sal_uInt16 sprmTDyaFromText         = 0x9411;
-const sal_uInt16 sprmTDefTableShd         = 0xD612;
-const sal_uInt16 sprmTTableBorders        = 0xD613;
-const sal_uInt16 sprmTTableWidth          = 0xF614;
-const sal_uInt16 sprmTFAutofit            = 0x3615;
-const sal_uInt16 sprmTDefTableShd2nd      = 0xD616;
-const sal_uInt16 sprmTWidthBefore         = 0xF617;
-const sal_uInt16 sprmTWidthAfter          = 0xF618;
-const sal_uInt16 sprmTFKeepFollow         = 0x3619;
-const sal_uInt16 sprmTBrcTopCv            = 0xD61A;
-const sal_uInt16 sprmTBrcLeftCv           = 0xD61B;
-const sal_uInt16 sprmTBrcBottomCv         = 0xD61C;
-const sal_uInt16 sprmTBrcRightCv          = 0xD61D;
-const sal_uInt16 sprmTDxaFromTextRight    = 0x941E;
-const sal_uInt16 sprmTDyaFromTextBottom   = 0x941F;
-const sal_uInt16 sprmTSetBrc80            = 0xD620;
-const sal_uInt16 sprmTInsert              = 0x7621;
-const sal_uInt16 sprmTDelete              = 0x5622;
-const sal_uInt16 sprmTDxaCol              = 0x7623;
-const sal_uInt16 sprmTMerge               = 0x5624;
-const sal_uInt16 sprmTSplit               = 0x5625;
-const sal_uInt16 sprmTTextFlow            = 0x7629;
-const sal_uInt16 sprmTVertMerge           = 0xD62B;
-const sal_uInt16 sprmTVertAlign           = 0xD62C;
-const sal_uInt16 sprmTSetShd              = 0xD62D;
-const sal_uInt16 sprmTSetShdOdd           = 0xD62E;
-const sal_uInt16 sprmTSetBrc              = 0xD62F;
-const sal_uInt16 sprmTCellPadding         = 0xD632;
-const sal_uInt16 sprmTCellSpacingDefault  = 0xD633;
-const sal_uInt16 sprmTCellPaddingDefault  = 0xD634;
-const sal_uInt16 sprmTCellWidth           = 0xD635;
-const sal_uInt16 sprmTFitText             = 0xF636;
-const sal_uInt16 sprmTFCellNoWrap         = 0xD639;
-const sal_uInt16 sprmTIstd                = 0x563A;
-const sal_uInt16 sprmTCellPaddingStyle    = 0xD63E;
-const sal_uInt16 sprmTCellFHideMark       = 0xD642;
-const sal_uInt16 sprmTSetShdTable         = 0xD660;
-const sal_uInt16 sprmTWidthIndent         = 0xF661;
-const sal_uInt16 sprmTCellBrcType         = 0xD662;
-const sal_uInt16 sprmTFBiDi90             = 0x5664;
-const sal_uInt16 sprmTFNoAllowOverlap     = 0x3465;
-const sal_uInt16 sprmTFCantSplit          = 0x3466;
-const sal_uInt16 sprmTPropRMark           = 0xD667;
-const sal_uInt16 sprmTWall                = 0x3668;
-const sal_uInt16 sprmTIpgp                = 0x7469;
-const sal_uInt16 sprmTCnf                 = 0xD66A;
-const sal_uInt16 sprmTDefTableShdRaw      = 0xD670;
-const sal_uInt16 sprmTDefTableShdRaw2nd   = 0xD671;
-const sal_uInt16 sprmTDefTableShdRaw3rd   = 0xD672;
-const sal_uInt16 sprmTRsid                = 0x7479;
-const sal_uInt16 sprmTCellVertAlignStyle  = 0x347C;
-const sal_uInt16 sprmTCellNoWrapStyle     = 0x347D;
-const sal_uInt16 sprmTCellBrcTopStyle     = 0xD47F;
-const sal_uInt16 sprmTCellBrcBottomStyle  = 0xD680;
-const sal_uInt16 sprmTCellBrcLeftStyle    = 0xD681;
-const sal_uInt16 sprmTCellBrcRightStyle   = 0xD682;
-const sal_uInt16 sprmTCellBrcInsideHStyle = 0xD683;
-const sal_uInt16 sprmTCellBrcInsideVStyle = 0xD684;
-const sal_uInt16 sprmTCellBrcTL2BRStyle   = 0xD685;
-const sal_uInt16 sprmTCellBrcTR2BLStyle   = 0xD686;
-const sal_uInt16 sprmTCellShdStyle        = 0xD687;
-const sal_uInt16 sprmTCHorzBands          = 0x3488;
-const sal_uInt16 sprmTCVertBands          = 0x3489;
-const sal_uInt16 sprmTJc                  = 0x548A;
+const sal_uInt16 sprmTJc90                = SPRM_TBL(0x00, 0, spra::operand_2b_2);     // 0x5400
+const sal_uInt16 sprmTDxaLeft             = SPRM_TBL(0x01, 1, spra::operand_2b_4);     // 0x9601
+const sal_uInt16 sprmTDxaGapHalf          = SPRM_TBL(0x02, 1, spra::operand_2b_4);     // 0x9602
+const sal_uInt16 sprmTFCantSplit90        = SPRM_TBL(0x03, 0, spra::operand_1b_1);     // 0x3403
+const sal_uInt16 sprmTTableHeader         = SPRM_TBL(0x04, 0, spra::operand_1b_1);     // 0x3404
+const sal_uInt16 sprmTTableBorders80      = SPRM_TBL(0x05, 1, spra::operand_varlen_6); // 0xD605
+const sal_uInt16 sprmTDyaRowHeight        = SPRM_TBL(0x07, 0, spra::operand_2b_4);     // 0x9407
+const sal_uInt16 sprmTDefTable            = SPRM_TBL(0x08, 1, spra::operand_varlen_6); // 0xD608
+const sal_uInt16 sprmTDefTableShd80       = SPRM_TBL(0x09, 1, spra::operand_varlen_6); // 0xD609
+const sal_uInt16 sprmTTlp                 = SPRM_TBL(0x0A, 0, spra::operand_4b_3);     // 0x740A
+const sal_uInt16 sprmTFBiDi               = SPRM_TBL(0x0B, 1, spra::operand_2b_2);     // 0x560B
+const sal_uInt16 sprmTDefTableShd3rd      = SPRM_TBL(0x0C, 1, spra::operand_varlen_6); // 0xD60C
+const sal_uInt16 sprmTPc                  = SPRM_TBL(0x0D, 1, spra::operand_1b_1);     // 0x360D
+const sal_uInt16 sprmTDxaAbs              = SPRM_TBL(0x0E, 0, spra::operand_2b_4);     // 0x940E
+const sal_uInt16 sprmTDyaAbs              = SPRM_TBL(0x0F, 0, spra::operand_2b_4);     // 0x940F
+const sal_uInt16 sprmTDxaFromText         = SPRM_TBL(0x10, 0, spra::operand_2b_4);     // 0x9410
+const sal_uInt16 sprmTDyaFromText         = SPRM_TBL(0x11, 0, spra::operand_2b_4);     // 0x9411
+const sal_uInt16 sprmTDefTableShd         = SPRM_TBL(0x12, 1, spra::operand_varlen_6); // 0xD612
+const sal_uInt16 sprmTTableBorders        = SPRM_TBL(0x13, 1, spra::operand_varlen_6); // 0xD613
+const sal_uInt16 sprmTTableWidth          = SPRM_TBL(0x14, 1, spra::operand_3b_7);     // 0xF614
+const sal_uInt16 sprmTFAutofit            = SPRM_TBL(0x15, 1, spra::operand_1b_1);     // 0x3615
+const sal_uInt16 sprmTDefTableShd2nd      = SPRM_TBL(0x16, 1, spra::operand_varlen_6); // 0xD616
+const sal_uInt16 sprmTWidthBefore         = SPRM_TBL(0x17, 1, spra::operand_3b_7);     // 0xF617
+const sal_uInt16 sprmTWidthAfter          = SPRM_TBL(0x18, 1, spra::operand_3b_7);     // 0xF618
+const sal_uInt16 sprmTFKeepFollow         = SPRM_TBL(0x19, 1, spra::operand_1b_1);     // 0x3619
+const sal_uInt16 sprmTBrcTopCv            = SPRM_TBL(0x1A, 1, spra::operand_varlen_6); // 0xD61A
+const sal_uInt16 sprmTBrcLeftCv           = SPRM_TBL(0x1B, 1, spra::operand_varlen_6); // 0xD61B
+const sal_uInt16 sprmTBrcBottomCv         = SPRM_TBL(0x1C, 1, spra::operand_varlen_6); // 0xD61C
+const sal_uInt16 sprmTBrcRightCv          = SPRM_TBL(0x1D, 1, spra::operand_varlen_6); // 0xD61D
+const sal_uInt16 sprmTDxaFromTextRight    = SPRM_TBL(0x1E, 0, spra::operand_2b_4);     // 0x941E
+const sal_uInt16 sprmTDyaFromTextBottom   = SPRM_TBL(0x1F, 0, spra::operand_2b_4);     // 0x941F
+const sal_uInt16 sprmTSetBrc80            = SPRM_TBL(0x20, 1, spra::operand_varlen_6); // 0xD620
+const sal_uInt16 sprmTInsert              = SPRM_TBL(0x21, 1, spra::operand_4b_3);     // 0x7621
+const sal_uInt16 sprmTDelete              = SPRM_TBL(0x22, 1, spra::operand_2b_2);     // 0x5622
+const sal_uInt16 sprmTDxaCol              = SPRM_TBL(0x23, 1, spra::operand_4b_3);     // 0x7623
+const sal_uInt16 sprmTMerge               = SPRM_TBL(0x24, 1, spra::operand_2b_2);     // 0x5624
+const sal_uInt16 sprmTSplit               = SPRM_TBL(0x25, 1, spra::operand_2b_2);     // 0x5625
+const sal_uInt16 sprmTTextFlow            = SPRM_TBL(0x29, 1, spra::operand_4b_3);     // 0x7629
+const sal_uInt16 sprmTVertMerge           = SPRM_TBL(0x2B, 1, spra::operand_varlen_6); // 0xD62B
+const sal_uInt16 sprmTVertAlign           = SPRM_TBL(0x2C, 1, spra::operand_varlen_6); // 0xD62C
+const sal_uInt16 sprmTSetShd              = SPRM_TBL(0x2D, 1, spra::operand_varlen_6); // 0xD62D
+const sal_uInt16 sprmTSetShdOdd           = SPRM_TBL(0x2E, 1, spra::operand_varlen_6); // 0xD62E
+const sal_uInt16 sprmTSetBrc              = SPRM_TBL(0x2F, 1, spra::operand_varlen_6); // 0xD62F
+const sal_uInt16 sprmTCellPadding         = SPRM_TBL(0x32, 1, spra::operand_varlen_6); // 0xD632
+const sal_uInt16 sprmTCellSpacingDefault  = SPRM_TBL(0x33, 1, spra::operand_varlen_6); // 0xD633
+const sal_uInt16 sprmTCellPaddingDefault  = SPRM_TBL(0x34, 1, spra::operand_varlen_6); // 0xD634
+const sal_uInt16 sprmTCellWidth           = SPRM_TBL(0x35, 1, spra::operand_varlen_6); // 0xD635
+const sal_uInt16 sprmTFitText             = SPRM_TBL(0x36, 1, spra::operand_3b_7);     // 0xF636
+const sal_uInt16 sprmTFCellNoWrap         = SPRM_TBL(0x39, 1, spra::operand_varlen_6); // 0xD639
+const sal_uInt16 sprmTIstd                = SPRM_TBL(0x3A, 1, spra::operand_2b_2);     // 0x563A
+const sal_uInt16 sprmTCellPaddingStyle    = SPRM_TBL(0x3E, 1, spra::operand_varlen_6); // 0xD63E
+const sal_uInt16 sprmTCellFHideMark       = SPRM_TBL(0x42, 1, spra::operand_varlen_6); // 0xD642
+const sal_uInt16 sprmTSetShdTable         = SPRM_TBL(0x60, 1, spra::operand_varlen_6); // 0xD660
+const sal_uInt16 sprmTWidthIndent         = SPRM_TBL(0x61, 1, spra::operand_3b_7);     // 0xF661
+const sal_uInt16 sprmTCellBrcType         = SPRM_TBL(0x62, 1, spra::operand_varlen_6); // 0xD662
+const sal_uInt16 sprmTFBiDi90             = SPRM_TBL(0x64, 1, spra::operand_2b_2);     // 0x5664
+const sal_uInt16 sprmTFNoAllowOverlap     = SPRM_TBL(0x65, 0, spra::operand_1b_1);     // 0x3465
+const sal_uInt16 sprmTFCantSplit          = SPRM_TBL(0x66, 0, spra::operand_1b_1);     // 0x3466
+const sal_uInt16 sprmTPropRMark           = SPRM_TBL(0x67, 1, spra::operand_varlen_6); // 0xD667
+const sal_uInt16 sprmTWall                = SPRM_TBL(0x68, 1, spra::operand_1b_1);     // 0x3668
+const sal_uInt16 sprmTIpgp                = SPRM_TBL(0x69, 0, spra::operand_4b_3);     // 0x7469
+const sal_uInt16 sprmTCnf                 = SPRM_TBL(0x6A, 1, spra::operand_varlen_6); // 0xD66A
+const sal_uInt16 sprmTDefTableShdRaw      = SPRM_TBL(0x70, 1, spra::operand_varlen_6); // 0xD670
+const sal_uInt16 sprmTDefTableShdRaw2nd   = SPRM_TBL(0x71, 1, spra::operand_varlen_6); // 0xD671
+const sal_uInt16 sprmTDefTableShdRaw3rd   = SPRM_TBL(0x72, 1, spra::operand_varlen_6); // 0xD672
+const sal_uInt16 sprmTRsid                = SPRM_TBL(0x79, 0, spra::operand_4b_3);     // 0x7479
+const sal_uInt16 sprmTCellVertAlignStyle  = SPRM_TBL(0x7C, 0, spra::operand_1b_1);     // 0x347C
+const sal_uInt16 sprmTCellNoWrapStyle     = SPRM_TBL(0x7D, 0, spra::operand_1b_1);     // 0x347D
+const sal_uInt16 sprmTCellBrcTopStyle     = SPRM_TBL(0x7F, 0, spra::operand_varlen_6); // 0xD47F
+const sal_uInt16 sprmTCellBrcBottomStyle  = SPRM_TBL(0x80, 1, spra::operand_varlen_6); // 0xD680
+const sal_uInt16 sprmTCellBrcLeftStyle    = SPRM_TBL(0x81, 1, spra::operand_varlen_6); // 0xD681
+const sal_uInt16 sprmTCellBrcRightStyle   = SPRM_TBL(0x82, 1, spra::operand_varlen_6); // 0xD682
+const sal_uInt16 sprmTCellBrcInsideHStyle = SPRM_TBL(0x83, 1, spra::operand_varlen_6); // 0xD683
+const sal_uInt16 sprmTCellBrcInsideVStyle = SPRM_TBL(0x84, 1, spra::operand_varlen_6); // 0xD684
+const sal_uInt16 sprmTCellBrcTL2BRStyle   = SPRM_TBL(0x85, 1, spra::operand_varlen_6); // 0xD685
+const sal_uInt16 sprmTCellBrcTR2BLStyle   = SPRM_TBL(0x86, 1, spra::operand_varlen_6); // 0xD686
+const sal_uInt16 sprmTCellShdStyle        = SPRM_TBL(0x87, 1, spra::operand_varlen_6); // 0xD687
+const sal_uInt16 sprmTCHorzBands          = SPRM_TBL(0x88, 0, spra::operand_1b_1);     // 0x3488
+const sal_uInt16 sprmTCVertBands          = SPRM_TBL(0x89, 0, spra::operand_1b_1);     // 0x3489
+const sal_uInt16 sprmTJc                  = SPRM_TBL(0x8A, 0, spra::operand_2b_2);     // 0x548A
 
 // [MS-DOC] - v20170112 Section 2.6.4
-const sal_uInt16 sprmScnsPgn        = 0x3000;
-const sal_uInt16 sprmSiHeadingPgn   = 0x3001;
-const sal_uInt16 sprmSDxaColWidth   = 0xF203;
-const sal_uInt16 sprmSDxaColSpacing = 0xF204;
-const sal_uInt16 sprmSFEvenlySpaced = 0x3005;
-const sal_uInt16 sprmSFProtected    = 0x3006;
-const sal_uInt16 sprmSDmBinFirst    = 0x5007;
-const sal_uInt16 sprmSDmBinOther    = 0x5008;
-const sal_uInt16 sprmSBkc           = 0x3009;
-const sal_uInt16 sprmSFTitlePage    = 0x300A;
-const sal_uInt16 sprmSCcolumns      = 0x500B;
-const sal_uInt16 sprmSDxaColumns    = 0x900C;
-const sal_uInt16 sprmSNfcPgn        = 0x300E;
-const sal_uInt16 sprmSFPgnRestart   = 0x3011;
-const sal_uInt16 sprmSFEndnote      = 0x3012;
-const sal_uInt16 sprmSLnc           = 0x3013;
-const sal_uInt16 sprmSNLnnMod       = 0x5015;
-const sal_uInt16 sprmSDxaLnn        = 0x9016;
-const sal_uInt16 sprmSDyaHdrTop     = 0xB017;
-const sal_uInt16 sprmSDyaHdrBottom  = 0xB018;
-const sal_uInt16 sprmSLBetween      = 0x3019;
-const sal_uInt16 sprmSVjc           = 0x301A;
-const sal_uInt16 sprmSLnnMin        = 0x501B;
-const sal_uInt16 sprmSPgnStart97    = 0x501C;
-const sal_uInt16 sprmSBOrientation  = 0x301D;
-const sal_uInt16 sprmSXaPage        = 0xB01F;
-const sal_uInt16 sprmSYaPage        = 0xB020;
-const sal_uInt16 sprmSDxaLeft       = 0xB021;
-const sal_uInt16 sprmSDxaRight      = 0xB022;
-const sal_uInt16 sprmSDyaTop        = 0x9023;
-const sal_uInt16 sprmSDyaBottom     = 0x9024;
-const sal_uInt16 sprmSDzaGutter     = 0xB025;
-const sal_uInt16 sprmSDmPaperReq    = 0x5026;
-const sal_uInt16 sprmSFBiDi         = 0x3228;
-const sal_uInt16 sprmSFRTLGutter    = 0x322A;
-const sal_uInt16 sprmSBrcTop80      = 0x702B;
-const sal_uInt16 sprmSBrcLeft80     = 0x702C;
-const sal_uInt16 sprmSBrcBottom80   = 0x702D;
-const sal_uInt16 sprmSBrcRight80    = 0x702E;
-const sal_uInt16 sprmSPgbProp       = 0x522F;
-const sal_uInt16 sprmSDxtCharSpace  = 0x7030;
-const sal_uInt16 sprmSDyaLinePitch  = 0x9031;
-const sal_uInt16 sprmSClm           = 0x5032;
-const sal_uInt16 sprmSTextFlow      = 0x5033;
-const sal_uInt16 sprmSBrcTop        = 0xD234;
-const sal_uInt16 sprmSBrcLeft       = 0xD235;
-const sal_uInt16 sprmSBrcBottom     = 0xD236;
-const sal_uInt16 sprmSBrcRight      = 0xD237;
-const sal_uInt16 sprmSWall          = 0x3239;
-const sal_uInt16 sprmSRsid          = 0x703A;
-const sal_uInt16 sprmSFpc           = 0x303B;
-const sal_uInt16 sprmSRncFtn        = 0x303C;
-const sal_uInt16 sprmSRncEdn        = 0x303E;
-const sal_uInt16 sprmSNFtn          = 0x503F;
-const sal_uInt16 sprmSNfcFtnRef     = 0x5040;
-const sal_uInt16 sprmSNEdn          = 0x5041;
-const sal_uInt16 sprmSNfcEdnRef     = 0x5042;
-const sal_uInt16 sprmSPropRMark     = 0xD243;
-const sal_uInt16 sprmSPgnStart      = 0x7044;
+const sal_uInt16 sprmScnsPgn        = SPRM_SEC(0x00, 0, spra::operand_1b_1);     // 0x3000
+const sal_uInt16 sprmSiHeadingPgn   = SPRM_SEC(0x01, 0, spra::operand_1b_1);     // 0x3001
+const sal_uInt16 sprmSDxaColWidth   = SPRM_SEC(0x03, 1, spra::operand_3b_7);     // 0xF203
+const sal_uInt16 sprmSDxaColSpacing = SPRM_SEC(0x04, 1, spra::operand_3b_7);     // 0xF204
+const sal_uInt16 sprmSFEvenlySpaced = SPRM_SEC(0x05, 0, spra::operand_1b_1);     // 0x3005
+const sal_uInt16 sprmSFProtected    = SPRM_SEC(0x06, 0, spra::operand_1b_1);     // 0x3006
+const sal_uInt16 sprmSDmBinFirst    = SPRM_SEC(0x07, 0, spra::operand_2b_2);     // 0x5007
+const sal_uInt16 sprmSDmBinOther    = SPRM_SEC(0x08, 0, spra::operand_2b_2);     // 0x5008
+const sal_uInt16 sprmSBkc           = SPRM_SEC(0x09, 0, spra::operand_1b_1);     // 0x3009
+const sal_uInt16 sprmSFTitlePage    = SPRM_SEC(0x0A, 0, spra::operand_1b_1);     // 0x300A
+const sal_uInt16 sprmSCcolumns      = SPRM_SEC(0x0B, 0, spra::operand_2b_2);     // 0x500B
+const sal_uInt16 sprmSDxaColumns    = SPRM_SEC(0x0C, 0, spra::operand_2b_4);     // 0x900C
+const sal_uInt16 sprmSNfcPgn        = SPRM_SEC(0x0E, 0, spra::operand_1b_1);     // 0x300E
+const sal_uInt16 sprmSFPgnRestart   = SPRM_SEC(0x11, 0, spra::operand_1b_1);     // 0x3011
+const sal_uInt16 sprmSFEndnote      = SPRM_SEC(0x12, 0, spra::operand_1b_1);     // 0x3012
+const sal_uInt16 sprmSLnc           = SPRM_SEC(0x13, 0, spra::operand_1b_1);     // 0x3013
+const sal_uInt16 sprmSNLnnMod       = SPRM_SEC(0x15, 0, spra::operand_2b_2);     // 0x5015
+const sal_uInt16 sprmSDxaLnn        = SPRM_SEC(0x16, 0, spra::operand_2b_4);     // 0x9016
+const sal_uInt16 sprmSDyaHdrTop     = SPRM_SEC(0x17, 0, spra::operand_2b_5);     // 0xB017
+const sal_uInt16 sprmSDyaHdrBottom  = SPRM_SEC(0x18, 0, spra::operand_2b_5);     // 0xB018
+const sal_uInt16 sprmSLBetween      = SPRM_SEC(0x19, 0, spra::operand_1b_1);     // 0x3019
+const sal_uInt16 sprmSVjc           = SPRM_SEC(0x1A, 0, spra::operand_1b_1);     // 0x301A
+const sal_uInt16 sprmSLnnMin        = SPRM_SEC(0x1B, 0, spra::operand_2b_2);     // 0x501B
+const sal_uInt16 sprmSPgnStart97    = SPRM_SEC(0x1C, 0, spra::operand_2b_2);     // 0x501C
+const sal_uInt16 sprmSBOrientation  = SPRM_SEC(0x1D, 0, spra::operand_1b_1);     // 0x301D
+const sal_uInt16 sprmSXaPage        = SPRM_SEC(0x1F, 0, spra::operand_2b_5);     // 0xB01F
+const sal_uInt16 sprmSYaPage        = SPRM_SEC(0x20, 0, spra::operand_2b_5);     // 0xB020
+const sal_uInt16 sprmSDxaLeft       = SPRM_SEC(0x21, 0, spra::operand_2b_5);     // 0xB021
+const sal_uInt16 sprmSDxaRight      = SPRM_SEC(0x22, 0, spra::operand_2b_5);     // 0xB022
+const sal_uInt16 sprmSDyaTop        = SPRM_SEC(0x23, 0, spra::operand_2b_4);     // 0x9023
+const sal_uInt16 sprmSDyaBottom     = SPRM_SEC(0x24, 0, spra::operand_2b_4);     // 0x9024
+const sal_uInt16 sprmSDzaGutter     = SPRM_SEC(0x25, 0, spra::operand_2b_5);     // 0xB025
+const sal_uInt16 sprmSDmPaperReq    = SPRM_SEC(0x26, 0, spra::operand_2b_2);     // 0x5026
+const sal_uInt16 sprmSFBiDi         = SPRM_SEC(0x28, 1, spra::operand_1b_1);     // 0x3228
+const sal_uInt16 sprmSFRTLGutter    = SPRM_SEC(0x2A, 1, spra::operand_1b_1);     // 0x322A
+const sal_uInt16 sprmSBrcTop80      = SPRM_SEC(0x2B, 0, spra::operand_4b_3);     // 0x702B
+const sal_uInt16 sprmSBrcLeft80     = SPRM_SEC(0x2C, 0, spra::operand_4b_3);     // 0x702C
+const sal_uInt16 sprmSBrcBottom80   = SPRM_SEC(0x2D, 0, spra::operand_4b_3);     // 0x702D
+const sal_uInt16 sprmSBrcRight80    = SPRM_SEC(0x2E, 0, spra::operand_4b_3);     // 0x702E
+const sal_uInt16 sprmSPgbProp       = SPRM_SEC(0x2F, 1, spra::operand_2b_2);     // 0x522F
+const sal_uInt16 sprmSDxtCharSpace  = SPRM_SEC(0x30, 0, spra::operand_4b_3);     // 0x7030
+const sal_uInt16 sprmSDyaLinePitch  = SPRM_SEC(0x31, 0, spra::operand_2b_4);     // 0x9031
+const sal_uInt16 sprmSClm           = SPRM_SEC(0x32, 0, spra::operand_2b_2);     // 0x5032
+const sal_uInt16 sprmSTextFlow      = SPRM_SEC(0x33, 0, spra::operand_2b_2);     // 0x5033
+const sal_uInt16 sprmSBrcTop        = SPRM_SEC(0x34, 1, spra::operand_varlen_6); // 0xD234
+const sal_uInt16 sprmSBrcLeft       = SPRM_SEC(0x35, 1, spra::operand_varlen_6); // 0xD235
+const sal_uInt16 sprmSBrcBottom     = SPRM_SEC(0x36, 1, spra::operand_varlen_6); // 0xD236
+const sal_uInt16 sprmSBrcRight      = SPRM_SEC(0x37, 1, spra::operand_varlen_6); // 0xD237
+const sal_uInt16 sprmSWall          = SPRM_SEC(0x39, 1, spra::operand_1b_1);     // 0x3239
+const sal_uInt16 sprmSRsid          = SPRM_SEC(0x3A, 0, spra::operand_4b_3);     // 0x703A
+const sal_uInt16 sprmSFpc           = SPRM_SEC(0x3B, 0, spra::operand_1b_1);     // 0x303B
+const sal_uInt16 sprmSRncFtn        = SPRM_SEC(0x3C, 0, spra::operand_1b_1);     // 0x303C
+const sal_uInt16 sprmSRncEdn        = SPRM_SEC(0x3E, 0, spra::operand_1b_1);     // 0x303E
+const sal_uInt16 sprmSNFtn          = SPRM_SEC(0x3F, 0, spra::operand_2b_2);     // 0x503F
+const sal_uInt16 sprmSNfcFtnRef     = SPRM_SEC(0x40, 0, spra::operand_2b_2);     // 0x5040
+const sal_uInt16 sprmSNEdn          = SPRM_SEC(0x41, 0, spra::operand_2b_2);     // 0x5041
+const sal_uInt16 sprmSNfcEdnRef     = SPRM_SEC(0x42, 0, spra::operand_2b_2);     // 0x5042
+const sal_uInt16 sprmSPropRMark     = SPRM_SEC(0x43, 1, spra::operand_varlen_6); // 0xD243
+const sal_uInt16 sprmSPgnStart      = SPRM_SEC(0x44, 0, spra::operand_4b_3);     // 0x7044
 
 // [MS-DOC] - v20170112 Section 2.6.5
-const sal_uInt16 sprmPicBrcTop80    = 0x6C02;
-const sal_uInt16 sprmPicBrcLeft80   = 0x6C03;
-const sal_uInt16 sprmPicBrcBottom80 = 0x6C04;
-const sal_uInt16 sprmPicBrcRight80  = 0x6C05;
-const sal_uInt16 sprmPicBrcTop      = 0xCE08;
-const sal_uInt16 sprmPicBrcLeft     = 0xCE09;
-const sal_uInt16 sprmPicBrcBottom   = 0xCE0A;
-const sal_uInt16 sprmPicBrcRight    = 0xCE0B;
+const sal_uInt16 sprmPicBrcTop80    = SPRM_PIC(0x02, 0, spra::operand_4b_3);     // 0x6C02
+const sal_uInt16 sprmPicBrcLeft80   = SPRM_PIC(0x03, 0, spra::operand_4b_3);     // 0x6C03
+const sal_uInt16 sprmPicBrcBottom80 = SPRM_PIC(0x04, 0, spra::operand_4b_3);     // 0x6C04
+const sal_uInt16 sprmPicBrcRight80  = SPRM_PIC(0x05, 0, spra::operand_4b_3);     // 0x6C05
+const sal_uInt16 sprmPicBrcTop      = SPRM_PIC(0x08, 1, spra::operand_varlen_6); // 0xCE08
+const sal_uInt16 sprmPicBrcLeft     = SPRM_PIC(0x09, 1, spra::operand_varlen_6); // 0xCE09
+const sal_uInt16 sprmPicBrcBottom   = SPRM_PIC(0x0A, 1, spra::operand_varlen_6); // 0xCE0A
+const sal_uInt16 sprmPicBrcRight    = SPRM_PIC(0x0B, 1, spra::operand_varlen_6); // 0xCE0B
 }
 
 #endif // INCLUDED_SW_SOURCE_FILTER_WW8_SPRMIDS_HXX
commit 2213bfefb347e3ee00274714ee25ead97be55537
Author: Mike Kaganski <mike.kaganski at collabora.com>
Date:   Fri Feb 24 09:59:04 2017 +0300

    Rename sprm ids to match [MS-DOC] documentation
    
    Change-Id: Iab5b7c10c635dfdf832df3d0864939a7984282d1
    Reviewed-on: https://gerrit.libreoffice.org/34599
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/sw/source/filter/ww8/sprmids.hxx b/sw/source/filter/ww8/sprmids.hxx
index 3d58ab5..872df41 100644
--- a/sw/source/filter/ww8/sprmids.hxx
+++ b/sw/source/filter/ww8/sprmids.hxx
@@ -24,40 +24,9 @@
 
 namespace NS_sprm
 {
-const sal_uInt16 LN_PContextualSpacing = 0x246d;
-const sal_uInt16 LN_PIstdPermute = 0xc601;
-const sal_uInt16 LN_PTabProps = 0x646b;
-const sal_uInt16 LN_TFCantSplit90 = 0x3466;
-const sal_uInt16 LN_TCantSplit = 0x3644;
-const sal_uInt16 LN_PIncLvl = 0x2602;
-const sal_uInt16 LN_PJcExtra = 0x2461;
-const sal_uInt16 LN_PJc = 0x2403;
 const sal_uInt16 LN_PFSideBySide = 0x2404;
-const sal_uInt16 LN_PFKeep = 0x2405;
-const sal_uInt16 LN_PFKeepFollow = 0x2406;
-const sal_uInt16 LN_PFPageBreakBefore = 0x2407;
 const sal_uInt16 LN_PBrcl = 0x2408;
 const sal_uInt16 LN_PBrcp = 0x2409;
-const sal_uInt16 LN_PIlvl = 0x260a;
-const sal_uInt16 LN_PIlfo = 0x460b;
-const sal_uInt16 LN_PFNoLineNumb = 0x240c;
-const sal_uInt16 LN_PChgTabsPapx = 0xc60d;
-const sal_uInt16 LN_PDxaRight = 0x840e;
-const sal_uInt16 LN_PDxaLeft = 0x840f;
-const sal_uInt16 LN_PNest = 0x4610;
-const sal_uInt16 LN_PDxaLeft180 = 0x8411;
-const sal_uInt16 LN_PDyaLine = 0x6412;
-const sal_uInt16 LN_PDyaBefore = 0xa413;
-const sal_uInt16 LN_PDyaAfter = 0xa414;
-const sal_uInt16 LN_PChgTabs = 0xc615;
-const sal_uInt16 LN_PFInTable = 0x2416;
-const sal_uInt16 LN_PCell = 0x244b;
-const sal_uInt16 LN_PRow = 0x244c;
-const sal_uInt16 LN_PFTtp = 0x2417;
-const sal_uInt16 LN_PDxaAbs = 0x8418;
-const sal_uInt16 LN_PDyaAbs = 0x8419;
-const sal_uInt16 LN_PDxaWidth = 0x841a;
-const sal_uInt16 LN_PPc = 0x261b;
 const sal_uInt16 LN_PBrcTop10 = 0x461c;
 const sal_uInt16 LN_PBrcLeft10 = 0x461d;
 const sal_uInt16 LN_PBrcBottom10 = 0x461e;
@@ -65,252 +34,376 @@ const sal_uInt16 LN_PBrcRight10 = 0x461f;
 const sal_uInt16 LN_PBrcBetween10 = 0x4620;
 const sal_uInt16 LN_PBrcBar10 = 0x4621;
 const sal_uInt16 LN_PDxaFromText10 = 0x4622;
-const sal_uInt16 LN_PWr = 0x2423;
-const sal_uInt16 LN_PBrcBar = 0x6629;
-const sal_uInt16 LN_PFNoAutoHyph = 0x242a;
-const sal_uInt16 LN_PWHeightAbs = 0x442b;
-const sal_uInt16 LN_PDcs = 0x442c;
-const sal_uInt16 LN_PShd = 0x442d;
-const sal_uInt16 LN_PDyaFromText = 0x842e;
-const sal_uInt16 LN_PDxaFromText = 0x842f;
-const sal_uInt16 LN_PFLocked = 0x2430;
-const sal_uInt16 LN_PFWidowControl = 0x2431;
 const sal_uInt16 LN_PRuler = 0xc632;
-const sal_uInt16 LN_PFKinsoku = 0x2433;
-const sal_uInt16 LN_PFWordWrap = 0x2434;
-const sal_uInt16 LN_PFOverflowPunct = 0x2435;
-const sal_uInt16 LN_PFTopLinePunct = 0x2436;
-const sal_uInt16 LN_PFAutoSpaceDE = 0x2437;
-const sal_uInt16 LN_PFAutoSpaceDN = 0x2438;
-const sal_uInt16 LN_PWAlignFont = 0x4439;
-const sal_uInt16 LN_PFrameTextFlow = 0x443a;
 const sal_uInt16 LN_PISnapBaseLine = 0x243b;
 const sal_uInt16 LN_PAnld = 0xc63e;
 const sal_uInt16 LN_PPropRMark = 0xc63f;
-const sal_uInt16 LN_POutLvl = 0x2640;
-const sal_uInt16 LN_PFBiDi = 0x2441;
-const sal_uInt16 LN_PFNumRMIns = 0x2443;
 const sal_uInt16 LN_PCrLf = 0x2444;
-const sal_uInt16 LN_PNumRM = 0xc645;
 const sal_uInt16 LN_PHugePapx = 0x6645;
-const sal_uInt16 LN_PFUsePgsuSettings = 0x2447;
-const sal_uInt16 LN_PFAdjustRight = 0x2448;
-const sal_uInt16 LN_CFRMarkDel = 0x0800;
-const sal_uInt16 LN_CFRMark = 0x0801;
-const sal_uInt16 LN_CFFieldVanish = 0x0802;
-const sal_uInt16 LN_CPicLocation = 0x6a03;
-const sal_uInt16 LN_CIbstRMark = 0x4804;
-const sal_uInt16 LN_CDttmRMark = 0x6805;
-const sal_uInt16 LN_CFData = 0x0806;
-const sal_uInt16 LN_CIdslRMark = 0x4807;
 const sal_uInt16 LN_CChs = 0xea08;
-const sal_uInt16 LN_CSymbol = 0x6a09;
-const sal_uInt16 LN_CFOle2 = 0x080a;
 const sal_uInt16 LN_CIdCharType = 0x480b;
-const sal_uInt16 LN_CHighlight = 0x2a0c;
 const sal_uInt16 LN_CObjLocation = 0x680e;
 const sal_uInt16 LN_CFFtcAsciSymb = 0x2a10;
-const sal_uInt16 LN_CIstd = 0x4a30;
-const sal_uInt16 LN_CIstdPermute = 0xca31;
 const sal_uInt16 LN_CDefault = 0x2a32;
-const sal_uInt16 LN_CPlain = 0x2a33;
-const sal_uInt16 LN_CKcd = 0x2a34;
-const sal_uInt16 LN_CFBold = 0x0835;
-const sal_uInt16 LN_CFItalic = 0x0836;
-const sal_uInt16 LN_CFStrike = 0x0837;
-const sal_uInt16 LN_CFOutline = 0x0838;
-const sal_uInt16 LN_CFShadow = 0x0839;
-const sal_uInt16 LN_CFSmallCaps = 0x083a;
-const sal_uInt16 LN_CFCaps = 0x083b;
-const sal_uInt16 LN_CFVanish = 0x083c;
 const sal_uInt16 LN_CFtcDefault = 0x4a3d;
-const sal_uInt16 LN_CKul = 0x2a3e;
 const sal_uInt16 LN_CSizePos = 0xea3f;
-const sal_uInt16 LN_CDxaSpace = 0x8840;
 const sal_uInt16 LN_CLid = 0x4a41;
-const sal_uInt16 LN_CIco = 0x2a42;
-const sal_uInt16 LN_CHps = 0x4a43;
 const sal_uInt16 LN_CHpsInc = 0x2a44;
-const sal_uInt16 LN_CHpsPos = 0x4845;
 const sal_uInt16 LN_CHpsPosAdj = 0x2a46;
-const sal_uInt16 LN_CMajority = 0xca47;
-const sal_uInt16 LN_CIss = 0x2a48;
 const sal_uInt16 LN_CHpsNew50 = 0xca49;
 const sal_uInt16 LN_CHpsInc1 = 0xca4a;
-const sal_uInt16 LN_CHpsKern = 0x484b;
 const sal_uInt16 LN_CMajority50 = 0xca4c;
 const sal_uInt16 LN_CHpsMul = 0x4a4d;
-const sal_uInt16 LN_CYsri = 0x484e;
-const sal_uInt16 LN_CRgFtc0 = 0x4a4f;
-const sal_uInt16 LN_CRgFtc1 = 0x4a50;
-const sal_uInt16 LN_CRgFtc2 = 0x4a51;
-const sal_uInt16 LN_CCharScale = 0x4852;
-const sal_uInt16 LN_CFDStrike = 0x2a53;
-const sal_uInt16 LN_CFImprint = 0x0854;
-const sal_uInt16 LN_CFNoProof = 0x0875;
-const sal_uInt16 LN_CFspecVanish = 0x0818;
-const sal_uInt16 LN_CFitText = 0xca76;
-const sal_uInt16 LN_CComplexScript = 0x882;
-const sal_uInt16 LN_PTightWrap = 0x2471;
-const sal_uInt16 LN_CFSpec = 0x0855;
-const sal_uInt16 LN_CFObj = 0x0856;
-const sal_uInt16 LN_CPropRMark = 0xca57;
-const sal_uInt16 LN_CFEmboss = 0x0858;
-const sal_uInt16 LN_CSfxText = 0x2859;
-const sal_uInt16 LN_CFBiDi = 0x085a;
 const sal_uInt16 LN_CFDiacColor = 0x085b;
-const sal_uInt16 LN_CFBoldBi = 0x085c;
-const sal_uInt16 LN_CFItalicBi = 0x085d;
-const sal_uInt16 LN_CFtcBi = 0x4a5e;
-const sal_uInt16 LN_CLidBi = 0x485f;
-const sal_uInt16 LN_CIcoBi = 0x4a60;
-const sal_uInt16 LN_CHpsBi = 0x4a61;
-const sal_uInt16 LN_CDispFieldRMark = 0xca62;
-const sal_uInt16 LN_CIbstRMarkDel = 0x4863;
-const sal_uInt16 LN_CDttmRMarkDel = 0x6864;
-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;
-const sal_uInt16 LN_CPbiGrf = 0x4888;
-const sal_uInt16 LN_CPbiIBullet = 0x6887;
-const sal_uInt16 LN_CRgLid0_80 = 0x486d;
-const sal_uInt16 LN_CRgLid1_80 = 0x486e;
-const sal_uInt16 LN_CIdctHint = 0x286f;
 const sal_uInt16 LN_PicBrcl = 0x2e00;
 const sal_uInt16 LN_PicScale = 0xce01;
-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;
-const sal_uInt16 LN_SDxaColWidth = 0xf203;
-const sal_uInt16 LN_SDxaColSpacing = 0xf204;
-const sal_uInt16 LN_SFEvenlySpaced = 0x3005;
-const sal_uInt16 LN_SFProtected = 0x3006;
-const sal_uInt16 LN_SDmBinFirst = 0x5007;
-const sal_uInt16 LN_SDmBinOther = 0x5008;
-const sal_uInt16 LN_SBkc = 0x3009;
-const sal_uInt16 LN_SFTitlePage = 0x300a;
-const sal_uInt16 LN_SCcolumns = 0x500b;
-const sal_uInt16 LN_SDxaColumns = 0x900c;
 const sal_uInt16 LN_SFAutoPgn = 0x300d;
-const sal_uInt16 LN_SNfcPgn = 0x300e;
 const sal_uInt16 LN_SDyaPgn = 0xb00f;
 const sal_uInt16 LN_SDxaPgn = 0xb010;
-const sal_uInt16 LN_SFPgnRestart = 0x3011;
-const sal_uInt16 LN_SFEndnote = 0x3012;
-const sal_uInt16 LN_SLnc = 0x3013;
 const sal_uInt16 LN_SGprfIhdt = 0x3014;
-const sal_uInt16 LN_SNLnnMod = 0x5015;
-const sal_uInt16 LN_SDxaLnn = 0x9016;
-const sal_uInt16 LN_SDyaHdrTop = 0xb017;
-const sal_uInt16 LN_SDyaHdrBottom = 0xb018;
-const sal_uInt16 LN_SLBetween = 0x3019;
-const sal_uInt16 LN_SVjc = 0x301a;
-const sal_uInt16 LN_SLnnMin = 0x501b;
-const sal_uInt16 LN_SPgnStart = 0x501c;
-const sal_uInt16 LN_SBOrientation = 0x301d;
 const sal_uInt16 LN_SBCustomize = 0x301e;
-const sal_uInt16 LN_SXaPage = 0xb01f;
-const sal_uInt16 LN_SYaPage = 0xb020;
-const sal_uInt16 LN_SDxaLeft = 0xb021;
-const sal_uInt16 LN_SDxaRight = 0xb022;
-const sal_uInt16 LN_SDyaTop = 0x9023;
-const sal_uInt16 LN_SDyaBottom = 0x9024;
-const sal_uInt16 LN_SDzaGutter = 0xb025;
-const sal_uInt16 LN_SDmPaperReq = 0x5026;
 const sal_uInt16 LN_SPropRMark = 0xd227;
-const sal_uInt16 LN_SFBiDi = 0x3228;
 const sal_uInt16 LN_SFFacingCol = 0x3229;
-const sal_uInt16 LN_SFRTLGutter = 0x322a;
-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 = 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_TTableBorders80 = 0xd605;
 const sal_uInt16 LN_TDefTable10 = 0xd606;
-const sal_uInt16 LN_TDyaRowHeight = 0x9407;
-const sal_uInt16 LN_TDefTable = 0xd608;
-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;
-const sal_uInt16 LN_TSetBrc80 = 0xd620;
-const sal_uInt16 LN_TSetBrc = 0xd62f;
-const sal_uInt16 LN_TInsert = 0x7621;
-const sal_uInt16 LN_TDelete = 0x5622;
-const sal_uInt16 LN_TDxaCol = 0x7623;
-const sal_uInt16 LN_TMerge = 0x5624;
-const sal_uInt16 LN_TSplit = 0x5625;
 const sal_uInt16 LN_TSetBrc10 = 0xd626;
 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;
-const sal_uInt16 LN_TVertAlign = 0xd62c;
-const sal_uInt16 LN_TCellTopColor = 0xd61a;
-const sal_uInt16 LN_TCellLeftColor = 0xd61b;
-const sal_uInt16 LN_TCellBottomColor = 0xd61c;
-const sal_uInt16 LN_TCellRightColor = 0xd61d;
-const sal_uInt16 LN_TTableBorders = 0xd613;
-const sal_uInt16 LN_Cdelrsid = 0x6817;
-const sal_uInt16 LN_PTableDepth = 0x6649;
-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;
-const sal_uInt16 LN_PDxaLeft1 = 0x8460;
-const sal_uInt16 LN_PRsid = 0x6467;
-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;
-const sal_uInt16 LN_TPc = 0x360d;
-const sal_uInt16 LN_TDyaAbs = 0x940f;
-const sal_uInt16 LN_TDxaFromText = 0x9410;
-const sal_uInt16 LN_TDyaFromText = 0x9411;
-const sal_uInt16 LN_TDxaFromTextRight = 0x941e;
-const sal_uInt16 LN_TDyaFromTextBottom = 0x941f;
-const sal_uInt16 LN_TFNoAllowOverlap = 0x3465;
-const sal_uInt16 LN_CCv = 0x6870;
-const sal_uInt16 LN_CCvUl = 0x6877;
+
+// [MS-DOC] - v20170112 Section 2.6.1
+const sal_uInt16 sprmCFRMarkDel        = 0x0800;
+const sal_uInt16 sprmCFRMarkIns        = 0x0801;
+const sal_uInt16 sprmCFFldVanish       = 0x0802;
+const sal_uInt16 sprmCPicLocation      = 0x6A03;
+const sal_uInt16 sprmCIbstRMark        = 0x4804;
+const sal_uInt16 sprmCDttmRMark        = 0x6805;
+const sal_uInt16 sprmCFData            = 0x0806;
+const sal_uInt16 sprmCIdslRMark        = 0x4807;
+const sal_uInt16 sprmCSymbol           = 0x6A09;
+const sal_uInt16 sprmCFOle2            = 0x080A;
+const sal_uInt16 sprmCHighlight        = 0x2A0C;
+const sal_uInt16 sprmCFWebHidden       = 0x0811;
+const sal_uInt16 sprmCRsidProp         = 0x6815;
+const sal_uInt16 sprmCRsidText         = 0x6816;
+const sal_uInt16 sprmCRsidRMDel        = 0x6817;
+const sal_uInt16 sprmCFSpecVanish      = 0x0818;
+const sal_uInt16 sprmCFMathPr          = 0xC81A;
+const sal_uInt16 sprmCIstd             = 0x4A30;
+const sal_uInt16 sprmCIstdPermute      = 0xCA31;
+const sal_uInt16 sprmCPlain            = 0x2A33;
+const sal_uInt16 sprmCKcd              = 0x2A34;
+const sal_uInt16 sprmCFBold            = 0x0835;
+const sal_uInt16 sprmCFItalic          = 0x0836;
+const sal_uInt16 sprmCFStrike          = 0x0837;
+const sal_uInt16 sprmCFOutline         = 0x0838;
+const sal_uInt16 sprmCFShadow          = 0x0839;
+const sal_uInt16 sprmCFSmallCaps       = 0x083A;
+const sal_uInt16 sprmCFCaps            = 0x083B;
+const sal_uInt16 sprmCFVanish          = 0x083C;
+const sal_uInt16 sprmCKul              = 0x2A3E;
+const sal_uInt16 sprmCDxaSpace         = 0x8840;
+const sal_uInt16 sprmCIco              = 0x2A42;
+const sal_uInt16 sprmCHps              = 0x4A43;
+const sal_uInt16 sprmCHpsPos           = 0x4845;
+const sal_uInt16 sprmCMajority         = 0xCA47;
+const sal_uInt16 sprmCIss              = 0x2A48;
+const sal_uInt16 sprmCHpsKern          = 0x484B;
+const sal_uInt16 sprmCHresi            = 0x484E;
+const sal_uInt16 sprmCRgFtc0           = 0x4A4F;
+const sal_uInt16 sprmCRgFtc1           = 0x4A50;
+const sal_uInt16 sprmCRgFtc2           = 0x4A51;
+const sal_uInt16 sprmCCharScale        = 0x4852;
+const sal_uInt16 sprmCFDStrike         = 0x2A53;
+const sal_uInt16 sprmCFImprint         = 0x0854;
+const sal_uInt16 sprmCFSpec            = 0x0855;
+const sal_uInt16 sprmCFObj             = 0x0856;
+const sal_uInt16 sprmCPropRMark90      = 0xCA57;
+const sal_uInt16 sprmCFEmboss          = 0x0858;
+const sal_uInt16 sprmCSfxText          = 0x2859;
+const sal_uInt16 sprmCFBiDi            = 0x085A;
+const sal_uInt16 sprmCFBoldBi          = 0x085C;
+const sal_uInt16 sprmCFItalicBi        = 0x085D;
+const sal_uInt16 sprmCFtcBi            = 0x4A5E;
+const sal_uInt16 sprmCLidBi            = 0x485F;
+const sal_uInt16 sprmCIcoBi            = 0x4A60;
+const sal_uInt16 sprmCHpsBi            = 0x4A61;
+const sal_uInt16 sprmCDispFldRMark     = 0xCA62;
+const sal_uInt16 sprmCIbstRMarkDel     = 0x4863;
+const sal_uInt16 sprmCDttmRMarkDel     = 0x6864;
+const sal_uInt16 sprmCBrc80            = 0x6865;
+const sal_uInt16 sprmCShd80            = 0x4866;
+const sal_uInt16 sprmCIdslRMarkDel     = 0x4867;
+const sal_uInt16 sprmCFUsePgsuSettings = 0x0868;
+const sal_uInt16 sprmCRgLid0_80        = 0x486D;
+const sal_uInt16 sprmCRgLid1_80        = 0x486E;
+const sal_uInt16 sprmCIdctHint         = 0x286F;
+const sal_uInt16 sprmCCv               = 0x6870;
+const sal_uInt16 sprmCShd              = 0xCA71;
+const sal_uInt16 sprmCBrc              = 0xCA72;
+const sal_uInt16 sprmCRgLid0           = 0x4873;
+const sal_uInt16 sprmCRgLid1           = 0x4874;
+const sal_uInt16 sprmCFNoProof         = 0x0875;
+const sal_uInt16 sprmCFitText          = 0xCA76;
+const sal_uInt16 sprmCCvUl             = 0x6877;
+const sal_uInt16 sprmCFELayout         = 0xCA78;
+const sal_uInt16 sprmCLbcCRJ           = 0x2879;
+const sal_uInt16 sprmCFComplexScripts  = 0x0882;
+const sal_uInt16 sprmCWall             = 0x2A83;
+const sal_uInt16 sprmCCnf              = 0xCA85;
+const sal_uInt16 sprmCNeedFontFixup    = 0x2A86;
+const sal_uInt16 sprmCPbiIBullet       = 0x6887;
+const sal_uInt16 sprmCPbiGrf           = 0x4888;
+const sal_uInt16 sprmCPropRMark        = 0xCA89;
+const sal_uInt16 sprmCFSdtVanish       = 0x2A90;
+
+// [MS-DOC] - v20170112 Section 2.6.2
+const sal_uInt16 sprmPIstd               = 0x4600;
+const sal_uInt16 sprmPIstdPermute        = 0xC601;
+const sal_uInt16 sprmPIncLvl             = 0x2602;
+const sal_uInt16 sprmPJc80               = 0x2403;
+const sal_uInt16 sprmPFKeep              = 0x2405;
+const sal_uInt16 sprmPFKeepFollow        = 0x2406;
+const sal_uInt16 sprmPFPageBreakBefore   = 0x2407;
+const sal_uInt16 sprmPIlvl               = 0x260A;
+const sal_uInt16 sprmPIlfo               = 0x460B;
+const sal_uInt16 sprmPFNoLineNumb        = 0x240C;
+const sal_uInt16 sprmPChgTabsPapx        = 0xC60D;
+const sal_uInt16 sprmPDxaRight80         = 0x840E;
+const sal_uInt16 sprmPDxaLeft80          = 0x840F;
+const sal_uInt16 sprmPNest80             = 0x4610;
+const sal_uInt16 sprmPDxaLeft180         = 0x8411;
+const sal_uInt16 sprmPDyaLine            = 0x6412;
+const sal_uInt16 sprmPDyaBefore          = 0xA413;
+const sal_uInt16 sprmPDyaAfter           = 0xA414;
+const sal_uInt16 sprmPChgTabs            = 0xC615;
+const sal_uInt16 sprmPFInTable           = 0x2416;
+const sal_uInt16 sprmPFTtp               = 0x2417;
+const sal_uInt16 sprmPDxaAbs             = 0x8418;
+const sal_uInt16 sprmPDyaAbs             = 0x8419;
+const sal_uInt16 sprmPDxaWidth           = 0x841A;
+const sal_uInt16 sprmPPc                 = 0x261B;
+const sal_uInt16 sprmPWr                 = 0x2423;
+const sal_uInt16 sprmPBrcTop80           = 0x6424;
+const sal_uInt16 sprmPBrcLeft80          = 0x6425;
+const sal_uInt16 sprmPBrcBottom80        = 0x6426;
+const sal_uInt16 sprmPBrcRight80         = 0x6427;
+const sal_uInt16 sprmPBrcBetween80       = 0x6428;
+const sal_uInt16 sprmPBrcBar80           = 0x6629;
+const sal_uInt16 sprmPFNoAutoHyph        = 0x242A;
+const sal_uInt16 sprmPWHeightAbs         = 0x442B;
+const sal_uInt16 sprmPDcs                = 0x442C;
+const sal_uInt16 sprmPShd80              = 0x442D;
+const sal_uInt16 sprmPDyaFromText        = 0x842E;
+const sal_uInt16 sprmPDxaFromText        = 0x842F;
+const sal_uInt16 sprmPFLocked            = 0x2430;
+const sal_uInt16 sprmPFWidowControl      = 0x2431;
+const sal_uInt16 sprmPFKinsoku           = 0x2433;
+const sal_uInt16 sprmPFWordWrap          = 0x2434;
+const sal_uInt16 sprmPFOverflowPunct     = 0x2435;
+const sal_uInt16 sprmPFTopLinePunct      = 0x2436;
+const sal_uInt16 sprmPFAutoSpaceDE       = 0x2437;
+const sal_uInt16 sprmPFAutoSpaceDN       = 0x2438;
+const sal_uInt16 sprmPWAlignFont         = 0x4439;
+const sal_uInt16 sprmPFrameTextFlow      = 0x443A;
+const sal_uInt16 sprmPOutLvl             = 0x2640;
+const sal_uInt16 sprmPFBiDi              = 0x2441;
+const sal_uInt16 sprmPFNumRMIns          = 0x2443;
+const sal_uInt16 sprmPNumRM              = 0xC645;
+const sal_uInt16 sprmPHugePapx           = 0x6646;
+const sal_uInt16 sprmPFUsePgsuSettings   = 0x2447;
+const sal_uInt16 sprmPFAdjustRight       = 0x2448;
+const sal_uInt16 sprmPItap               = 0x6649;
+const sal_uInt16 sprmPDtap               = 0x664A;
+const sal_uInt16 sprmPFInnerTableCell    = 0x244B;
+const sal_uInt16 sprmPFInnerTtp          = 0x244C;
+const sal_uInt16 sprmPShd                = 0xC64D;
+const sal_uInt16 sprmPBrcTop             = 0xC64E;
+const sal_uInt16 sprmPBrcLeft            = 0xC64F;
+const sal_uInt16 sprmPBrcBottom          = 0xC650;
+const sal_uInt16 sprmPBrcRight           = 0xC651;
+const sal_uInt16 sprmPBrcBetween         = 0xC652;
+const sal_uInt16 sprmPBrcBar             = 0xC653;
+const sal_uInt16 sprmPDxcRight           = 0x4455;
+const sal_uInt16 sprmPDxcLeft            = 0x4456;
+const sal_uInt16 sprmPDxcLeft1           = 0x4457;
+const sal_uInt16 sprmPDylBefore          = 0x4458;
+const sal_uInt16 sprmPDylAfter           = 0x4459;
+const sal_uInt16 sprmPFOpenTch           = 0x245A;
+const sal_uInt16 sprmPFDyaBeforeAuto     = 0x245B;
+const sal_uInt16 sprmPFDyaAfterAuto      = 0x245C;
+const sal_uInt16 sprmPDxaRight           = 0x845D;
+const sal_uInt16 sprmPDxaLeft            = 0x845E;
+const sal_uInt16 sprmPNest               = 0x465F;
+const sal_uInt16 sprmPDxaLeft1           = 0x8460;
+const sal_uInt16 sprmPJc                 = 0x2461;
+const sal_uInt16 sprmPFNoAllowOverlap    = 0x2462;
+const sal_uInt16 sprmPWall               = 0x2664;
+const sal_uInt16 sprmPIpgp               = 0x6465;
+const sal_uInt16 sprmPCnf                = 0xC666;
+const sal_uInt16 sprmPRsid               = 0x6467;
+const sal_uInt16 sprmPIstdListPermute    = 0xC669;
+const sal_uInt16 sprmPTableProps         = 0x646B;
+const sal_uInt16 sprmPTIstdInfo          = 0xC66C;
+const sal_uInt16 sprmPFContextualSpacing = 0x246D;
+const sal_uInt16 sprmPPropRMark          = 0xC66F;
+const sal_uInt16 sprmPFMirrorIndents     = 0x2470;
+const sal_uInt16 sprmPTtwo               = 0x2471;
+
+// [MS-DOC] - v20170112 Section 2.6.3
+const sal_uInt16 sprmTJc90                = 0x5400;
+const sal_uInt16 sprmTDxaLeft             = 0x9601;
+const sal_uInt16 sprmTDxaGapHalf          = 0x9602;
+const sal_uInt16 sprmTFCantSplit90        = 0x3403;
+const sal_uInt16 sprmTTableHeader         = 0x3404;
+const sal_uInt16 sprmTTableBorders80      = 0xD605;
+const sal_uInt16 sprmTDyaRowHeight        = 0x9407;
+const sal_uInt16 sprmTDefTable            = 0xD608;
+const sal_uInt16 sprmTDefTableShd80       = 0xD609;
+const sal_uInt16 sprmTTlp                 = 0x740A;
+const sal_uInt16 sprmTFBiDi               = 0x560B;
+const sal_uInt16 sprmTDefTableShd3rd      = 0xD60C;
+const sal_uInt16 sprmTPc                  = 0x360D;
+const sal_uInt16 sprmTDxaAbs              = 0x940E;
+const sal_uInt16 sprmTDyaAbs              = 0x940F;
+const sal_uInt16 sprmTDxaFromText         = 0x9410;
+const sal_uInt16 sprmTDyaFromText         = 0x9411;
+const sal_uInt16 sprmTDefTableShd         = 0xD612;
+const sal_uInt16 sprmTTableBorders        = 0xD613;
+const sal_uInt16 sprmTTableWidth          = 0xF614;
+const sal_uInt16 sprmTFAutofit            = 0x3615;
+const sal_uInt16 sprmTDefTableShd2nd      = 0xD616;
+const sal_uInt16 sprmTWidthBefore         = 0xF617;
+const sal_uInt16 sprmTWidthAfter          = 0xF618;
+const sal_uInt16 sprmTFKeepFollow         = 0x3619;
+const sal_uInt16 sprmTBrcTopCv            = 0xD61A;
+const sal_uInt16 sprmTBrcLeftCv           = 0xD61B;
+const sal_uInt16 sprmTBrcBottomCv         = 0xD61C;
+const sal_uInt16 sprmTBrcRightCv          = 0xD61D;
+const sal_uInt16 sprmTDxaFromTextRight    = 0x941E;
+const sal_uInt16 sprmTDyaFromTextBottom   = 0x941F;
+const sal_uInt16 sprmTSetBrc80            = 0xD620;
+const sal_uInt16 sprmTInsert              = 0x7621;
+const sal_uInt16 sprmTDelete              = 0x5622;
+const sal_uInt16 sprmTDxaCol              = 0x7623;
+const sal_uInt16 sprmTMerge               = 0x5624;
+const sal_uInt16 sprmTSplit               = 0x5625;
+const sal_uInt16 sprmTTextFlow            = 0x7629;
+const sal_uInt16 sprmTVertMerge           = 0xD62B;
+const sal_uInt16 sprmTVertAlign           = 0xD62C;
+const sal_uInt16 sprmTSetShd              = 0xD62D;
+const sal_uInt16 sprmTSetShdOdd           = 0xD62E;
+const sal_uInt16 sprmTSetBrc              = 0xD62F;
+const sal_uInt16 sprmTCellPadding         = 0xD632;
+const sal_uInt16 sprmTCellSpacingDefault  = 0xD633;
+const sal_uInt16 sprmTCellPaddingDefault  = 0xD634;
+const sal_uInt16 sprmTCellWidth           = 0xD635;
+const sal_uInt16 sprmTFitText             = 0xF636;
+const sal_uInt16 sprmTFCellNoWrap         = 0xD639;
+const sal_uInt16 sprmTIstd                = 0x563A;
+const sal_uInt16 sprmTCellPaddingStyle    = 0xD63E;
+const sal_uInt16 sprmTCellFHideMark       = 0xD642;
+const sal_uInt16 sprmTSetShdTable         = 0xD660;
+const sal_uInt16 sprmTWidthIndent         = 0xF661;
+const sal_uInt16 sprmTCellBrcType         = 0xD662;
+const sal_uInt16 sprmTFBiDi90             = 0x5664;
+const sal_uInt16 sprmTFNoAllowOverlap     = 0x3465;
+const sal_uInt16 sprmTFCantSplit          = 0x3466;
+const sal_uInt16 sprmTPropRMark           = 0xD667;
+const sal_uInt16 sprmTWall                = 0x3668;
+const sal_uInt16 sprmTIpgp                = 0x7469;
+const sal_uInt16 sprmTCnf                 = 0xD66A;
+const sal_uInt16 sprmTDefTableShdRaw      = 0xD670;
+const sal_uInt16 sprmTDefTableShdRaw2nd   = 0xD671;
+const sal_uInt16 sprmTDefTableShdRaw3rd   = 0xD672;
+const sal_uInt16 sprmTRsid                = 0x7479;
+const sal_uInt16 sprmTCellVertAlignStyle  = 0x347C;
+const sal_uInt16 sprmTCellNoWrapStyle     = 0x347D;
+const sal_uInt16 sprmTCellBrcTopStyle     = 0xD47F;
+const sal_uInt16 sprmTCellBrcBottomStyle  = 0xD680;
+const sal_uInt16 sprmTCellBrcLeftStyle    = 0xD681;
+const sal_uInt16 sprmTCellBrcRightStyle   = 0xD682;
+const sal_uInt16 sprmTCellBrcInsideHStyle = 0xD683;
+const sal_uInt16 sprmTCellBrcInsideVStyle = 0xD684;
+const sal_uInt16 sprmTCellBrcTL2BRStyle   = 0xD685;
+const sal_uInt16 sprmTCellBrcTR2BLStyle   = 0xD686;
+const sal_uInt16 sprmTCellShdStyle        = 0xD687;
+const sal_uInt16 sprmTCHorzBands          = 0x3488;
+const sal_uInt16 sprmTCVertBands          = 0x3489;
+const sal_uInt16 sprmTJc                  = 0x548A;
+
+// [MS-DOC] - v20170112 Section 2.6.4
+const sal_uInt16 sprmScnsPgn        = 0x3000;
+const sal_uInt16 sprmSiHeadingPgn   = 0x3001;
+const sal_uInt16 sprmSDxaColWidth   = 0xF203;
+const sal_uInt16 sprmSDxaColSpacing = 0xF204;
+const sal_uInt16 sprmSFEvenlySpaced = 0x3005;
+const sal_uInt16 sprmSFProtected    = 0x3006;
+const sal_uInt16 sprmSDmBinFirst    = 0x5007;
+const sal_uInt16 sprmSDmBinOther    = 0x5008;
+const sal_uInt16 sprmSBkc           = 0x3009;
+const sal_uInt16 sprmSFTitlePage    = 0x300A;
+const sal_uInt16 sprmSCcolumns      = 0x500B;
+const sal_uInt16 sprmSDxaColumns    = 0x900C;
+const sal_uInt16 sprmSNfcPgn        = 0x300E;
+const sal_uInt16 sprmSFPgnRestart   = 0x3011;
+const sal_uInt16 sprmSFEndnote      = 0x3012;
+const sal_uInt16 sprmSLnc           = 0x3013;
+const sal_uInt16 sprmSNLnnMod       = 0x5015;
+const sal_uInt16 sprmSDxaLnn        = 0x9016;
+const sal_uInt16 sprmSDyaHdrTop     = 0xB017;
+const sal_uInt16 sprmSDyaHdrBottom  = 0xB018;
+const sal_uInt16 sprmSLBetween      = 0x3019;
+const sal_uInt16 sprmSVjc           = 0x301A;
+const sal_uInt16 sprmSLnnMin        = 0x501B;
+const sal_uInt16 sprmSPgnStart97    = 0x501C;
+const sal_uInt16 sprmSBOrientation  = 0x301D;
+const sal_uInt16 sprmSXaPage        = 0xB01F;
+const sal_uInt16 sprmSYaPage        = 0xB020;
+const sal_uInt16 sprmSDxaLeft       = 0xB021;
+const sal_uInt16 sprmSDxaRight      = 0xB022;
+const sal_uInt16 sprmSDyaTop        = 0x9023;
+const sal_uInt16 sprmSDyaBottom     = 0x9024;
+const sal_uInt16 sprmSDzaGutter     = 0xB025;
+const sal_uInt16 sprmSDmPaperReq    = 0x5026;
+const sal_uInt16 sprmSFBiDi         = 0x3228;
+const sal_uInt16 sprmSFRTLGutter    = 0x322A;
+const sal_uInt16 sprmSBrcTop80      = 0x702B;
+const sal_uInt16 sprmSBrcLeft80     = 0x702C;
+const sal_uInt16 sprmSBrcBottom80   = 0x702D;
+const sal_uInt16 sprmSBrcRight80    = 0x702E;
+const sal_uInt16 sprmSPgbProp       = 0x522F;
+const sal_uInt16 sprmSDxtCharSpace  = 0x7030;
+const sal_uInt16 sprmSDyaLinePitch  = 0x9031;
+const sal_uInt16 sprmSClm           = 0x5032;
+const sal_uInt16 sprmSTextFlow      = 0x5033;
+const sal_uInt16 sprmSBrcTop        = 0xD234;
+const sal_uInt16 sprmSBrcLeft       = 0xD235;
+const sal_uInt16 sprmSBrcBottom     = 0xD236;
+const sal_uInt16 sprmSBrcRight      = 0xD237;
+const sal_uInt16 sprmSWall          = 0x3239;
+const sal_uInt16 sprmSRsid          = 0x703A;
+const sal_uInt16 sprmSFpc           = 0x303B;
+const sal_uInt16 sprmSRncFtn        = 0x303C;
+const sal_uInt16 sprmSRncEdn        = 0x303E;
+const sal_uInt16 sprmSNFtn          = 0x503F;
+const sal_uInt16 sprmSNfcFtnRef     = 0x5040;
+const sal_uInt16 sprmSNEdn          = 0x5041;
+const sal_uInt16 sprmSNfcEdnRef     = 0x5042;
+const sal_uInt16 sprmSPropRMark     = 0xD243;
+const sal_uInt16 sprmSPgnStart      = 0x7044;
+
+// [MS-DOC] - v20170112 Section 2.6.5
+const sal_uInt16 sprmPicBrcTop80    = 0x6C02;
+const sal_uInt16 sprmPicBrcLeft80   = 0x6C03;
+const sal_uInt16 sprmPicBrcBottom80 = 0x6C04;
+const sal_uInt16 sprmPicBrcRight80  = 0x6C05;
+const sal_uInt16 sprmPicBrcTop      = 0xCE08;
+const sal_uInt16 sprmPicBrcLeft     = 0xCE09;
+const sal_uInt16 sprmPicBrcBottom   = 0xCE0A;
+const sal_uInt16 sprmPicBrcRight    = 0xCE0B;
 }
 
 #endif // INCLUDED_SW_SOURCE_FILTER_WW8_SPRMIDS_HXX
diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx
index e4d4a24..bfd8a14 100644
--- a/sw/source/filter/ww8/wrtw8nds.cxx
+++ b/sw/source/filter/ww8/wrtw8nds.cxx
@@ -1151,7 +1151,7 @@ void WW8AttributeOutput::FieldVanish( const OUString& rText, ww::eField /*eType*
     m_rWW8Export.GetCurrentItems( aItems );
 
     // sprmCFFieldVanish
-    SwWW8Writer::InsUInt16( aItems, NS_sprm::LN_CFFieldVanish );
+    SwWW8Writer::InsUInt16( aItems, NS_sprm::sprmCFFldVanish );
     aItems.push_back( 1 );
 
     sal_uInt16 nStt_sprmCFSpec = aItems.size();
@@ -1732,22 +1732,22 @@ void WW8AttributeOutput::FormatDrop( const SwTextNode& rNode, const SwFormatDrop
     ShortToSVBT16( nStyle, nSty );
     m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nSty, nSty+2 );     // Style #
 
-    m_rWW8Export.InsUInt16( NS_sprm::LN_PPc );            // Alignment (sprmPPc)
+    m_rWW8Export.InsUInt16( NS_sprm::sprmPPc );            // Alignment (sprmPPc)
     m_rWW8Export.pO->push_back( 0x20 );
 
-    m_rWW8Export.InsUInt16( NS_sprm::LN_PWr );            // Wrapping (sprmPWr)
+    m_rWW8Export.InsUInt16( NS_sprm::sprmPWr );            // Wrapping (sprmPWr)
     m_rWW8Export.pO->push_back( 0x02 );
 
-    m_rWW8Export.InsUInt16( NS_sprm::LN_PDcs );            // Dropcap (sprmPDcs)
+    m_rWW8Export.InsUInt16( NS_sprm::sprmPDcs );            // Dropcap (sprmPDcs)
     int nDCS = ( nDropLines << 3 ) | 0x01;
     m_rWW8Export.InsUInt16( static_cast< sal_uInt16 >( nDCS ) );
 
-    m_rWW8Export.InsUInt16( NS_sprm::LN_PDxaFromText );            // Distance from text (sprmPDxaFromText)
+    m_rWW8Export.InsUInt16( NS_sprm::sprmPDxaFromText );            // Distance from text (sprmPDxaFromText)
     m_rWW8Export.InsUInt16( nDistance );
 
     if ( rNode.GetDropSize( rFontHeight, rDropHeight, rDropDescent ) )
     {
-        m_rWW8Export.InsUInt16( NS_sprm::LN_PDyaLine );            // Line spacing
+        m_rWW8Export.InsUInt16( NS_sprm::sprmPDyaLine );            // Line spacing
         m_rWW8Export.InsUInt16( static_cast< sal_uInt16 >( -rDropHeight ) );
         m_rWW8Export.InsUInt16( 0 );
     }
@@ -1770,14 +1770,14 @@ void WW8AttributeOutput::FormatDrop( const SwTextNode& rNode, const SwFormatDrop
         const SwCharFormat *pSwCharFormat = rSwFormatDrop.GetCharFormat();
         if ( pSwCharFormat )
         {
-            m_rWW8Export.InsUInt16( NS_sprm::LN_CIstd );
+            m_rWW8Export.InsUInt16( NS_sprm::sprmCIstd );
             m_rWW8Export.InsUInt16( m_rWW8Export.GetId( pSwCharFormat ) );
         }
 
-        m_rWW8Export.InsUInt16( NS_sprm::LN_CHpsPos );            // Lower the chars
+        m_rWW8Export.InsUInt16( NS_sprm::sprmCHpsPos );            // Lower the chars
         m_rWW8Export.InsUInt16( static_cast< sal_uInt16 >( -((nDropLines - 1)*rDropDescent) / 10 ) );
 
-        m_rWW8Export.InsUInt16( NS_sprm::LN_CHps );            // Font Size
+        m_rWW8Export.InsUInt16( NS_sprm::sprmCHps );            // Font Size
         m_rWW8Export.InsUInt16( static_cast< sal_uInt16 >( rFontHeight / 10 ) );
     }
 
@@ -3048,12 +3048,12 @@ void WW8AttributeOutput::Redline( const SwRedlineData* pRedline )
     static const sal_uInt16 insSprmIds[ 3 ] =
     {
         // Ids for insert // for WW8
-        NS_sprm::LN_CFRMark, NS_sprm::LN_CIbstRMark, NS_sprm::LN_CDttmRMark,
+        NS_sprm::sprmCFRMarkIns, NS_sprm::sprmCIbstRMark, NS_sprm::sprmCDttmRMark,
     };
     static const sal_uInt16 delSprmIds[ 3 ] =
     {
         // Ids for delete // for WW8
-        NS_sprm::LN_CFRMarkDel, NS_sprm::LN_CIbstRMarkDel, NS_sprm::LN_CDttmRMarkDel,
+        NS_sprm::sprmCFRMarkDel, NS_sprm::sprmCIbstRMarkDel, NS_sprm::sprmCDttmRMarkDel,
     };
 
     const sal_uInt16* pSprmIds = nullptr;
@@ -3068,7 +3068,7 @@ void WW8AttributeOutput::Redline( const SwRedlineData* pRedline )
         break;
 
     case nsRedlineType_t::REDLINE_FORMAT:
-        m_rWW8Export.InsUInt16( NS_sprm::LN_CPropRMark );
+        m_rWW8Export.InsUInt16( NS_sprm::sprmCPropRMark90 );
         m_rWW8Export.pO->push_back( 7 );       // len
         m_rWW8Export.pO->push_back( 1 );
         m_rWW8Export.InsUInt16( m_rWW8Export.AddRedlineAuthor( pRedline->GetAuthor() ) );
diff --git a/sw/source/filter/ww8/wrtw8num.cxx b/sw/source/filter/ww8/wrtw8num.cxx
index f8ad4ab..d4d1843 100644
--- a/sw/source/filter/ww8/wrtw8num.cxx
+++ b/sw/source/filter/ww8/wrtw8num.cxx
@@ -290,9 +290,9 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
         {
             sal_uInt16 nFontID = m_rWW8Export.m_aFontHelper.GetId( *pFont );
 
-            m_rWW8Export.InsUInt16( NS_sprm::LN_CRgFtc0 );
+            m_rWW8Export.InsUInt16( NS_sprm::sprmCRgFtc0 );
             m_rWW8Export.InsUInt16( nFontID );
-            m_rWW8Export.InsUInt16( NS_sprm::LN_CRgFtc2 );
+            m_rWW8Export.InsUInt16( NS_sprm::sprmCRgFtc2 );
             m_rWW8Export.InsUInt16( nFontID );
         }
 
@@ -303,9 +303,9 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
             int nIndex = m_rWW8Export.GetGrfIndex(*pBrush);
             if ( nIndex != -1 )
             {
-                m_rWW8Export.InsUInt16(NS_sprm::LN_CPbiIBullet);
+                m_rWW8Export.InsUInt16(NS_sprm::sprmCPbiIBullet);
                 m_rWW8Export.InsUInt32(nIndex);
-                m_rWW8Export.InsUInt16(NS_sprm::LN_CPbiGrf);
+                m_rWW8Export.InsUInt16(NS_sprm::sprmCPbiGrf);
                 m_rWW8Export.InsUInt16(1);
             }
         }
diff --git a/sw/source/filter/ww8/wrtw8sty.cxx b/sw/source/filter/ww8/wrtw8sty.cxx
index e033ac9..2dea97d 100644
--- a/sw/source/filter/ww8/wrtw8sty.cxx
+++ b/sw/source/filter/ww8/wrtw8sty.cxx
@@ -1324,7 +1324,7 @@ void WW8AttributeOutput::SectionFormProtection( bool bProtected )
     //is not protected, set the unlocked flag
     if ( m_rWW8Export.pSepx->DocumentIsProtected() && !bProtected )
     {
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SFProtected );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSFProtected );
         m_rWW8Export.pO->push_back( 1 );
     }
 }
@@ -1332,24 +1332,24 @@ void WW8AttributeOutput::SectionFormProtection( bool bProtected )
 void WW8AttributeOutput::SectionLineNumbering( sal_uLong nRestartNo, const SwLineNumberInfo& rLnNumInfo )
 {
     // sprmSNLnnMod - activate Line Numbering and define Modulo
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SNLnnMod );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSNLnnMod );
     SwWW8Writer::InsUInt16( *m_rWW8Export.pO, (sal_uInt16)rLnNumInfo.GetCountBy() );
 
     // sprmSDxaLnn - xPosition of Line Number
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SDxaLnn );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSDxaLnn );
     SwWW8Writer::InsUInt16( *m_rWW8Export.pO, (sal_uInt16)rLnNumInfo.GetPosFromLeft() );
 
     // sprmSLnc - restart number: 0 per page, 1 per section, 2 never restart
     if ( nRestartNo || !rLnNumInfo.IsRestartEachPage() )
     {
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SLnc );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSLnc );
         m_rWW8Export.pO->push_back( nRestartNo ? 1 : 2 );
     }
 
     // sprmSLnnMin - Restart the Line Number with given value
     if ( nRestartNo )
     {
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SLnnMin );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSLnnMin );
         SwWW8Writer::InsUInt16( *m_rWW8Export.pO, (sal_uInt16)nRestartNo - 1 );
     }
 }
@@ -1357,7 +1357,7 @@ void WW8AttributeOutput::SectionLineNumbering( sal_uLong nRestartNo, const SwLin
 void WW8AttributeOutput::SectionTitlePage()
 {
     // sprmSFTitlePage
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SFTitlePage );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSFTitlePage );
     m_rWW8Export.pO->push_back( 1 );
 }
 
@@ -1384,14 +1384,14 @@ void WW8AttributeOutput::SectionPageBorders( const SwFrameFormat* pPdFormat, con
     if ( USHRT_MAX != nPgBorder )
     {
         // write the Flag and Border Attribute
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SPgbProp );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSPgbProp );
         SwWW8Writer::InsUInt16( *m_rWW8Export.pO, nPgBorder );
     }
 }
 
 void WW8AttributeOutput::SectionBiDi( bool bBiDi )
 {
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SFBiDi );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSFBiDi );
     m_rWW8Export.pO->push_back( bBiDi? 1: 0 );
 }
 
@@ -1399,17 +1399,17 @@ void WW8AttributeOutput::SectionPageNumbering( sal_uInt16 nNumType, const ::boos
 {
     // sprmSNfcPgn
     sal_uInt8 nb = WW8Export::GetNumId( nNumType );
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SNfcPgn );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSNfcPgn );
     m_rWW8Export.pO->push_back( nb );
 
     if ( oPageRestartNumber )
     {
         // sprmSFPgnRestart
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SFPgnRestart );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSFPgnRestart );
         m_rWW8Export.pO->push_back( 1 );
 
         // sprmSPgnStart
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SPgnStart );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSPgnStart97 );
         SwWW8Writer::InsUInt16( *m_rWW8Export.pO, oPageRestartNumber.get() );
     }
 }
@@ -1418,7 +1418,7 @@ void WW8AttributeOutput::SectionType( sal_uInt8 nBreakCode )
 {
     if ( 2 != nBreakCode ) // new page is the default
     {
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SBkc );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSBkc );
         m_rWW8Export.pO->push_back( nBreakCode );
     }
 }
@@ -1462,7 +1462,7 @@ void WW8AttributeOutput::TextVerticalAdjustment( const drawing::TextVerticalAdju
             default:
                 break;
         }
-        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_SVjc );
+        SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmSVjc );
         m_rWW8Export.pO->push_back( nMSVA );
     }
 }
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index b1604c5..849f325 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -1799,7 +1799,7 @@ void WW8Export::WriteStringAsPara( const OUString& rText )
     if( m_bOutTable )
     {                                               // Tab-Attr
         // sprmPFInTable
-        SwWW8Writer::InsUInt16( aArr, NS_sprm::LN_PFInTable );
+        SwWW8Writer::InsUInt16( aArr, NS_sprm::sprmPFInTable );
         aArr.push_back( 1 );
     }
 
@@ -1991,14 +1991,14 @@ void WW8AttributeOutput::TableInfoCell( ww8::WW8TableNodeInfoInner::Pointer_t pT
     if ( nDepth > 0 )
     {
         /* Cell */
-        m_rWW8Export.InsUInt16( NS_sprm::LN_PFInTable );
+        m_rWW8Export.InsUInt16( NS_sprm::sprmPFInTable );
         m_rWW8Export.pO->push_back( (sal_uInt8)0x1 );
-        m_rWW8Export.InsUInt16( NS_sprm::LN_PTableDepth );
+        m_rWW8Export.InsUInt16( NS_sprm::sprmPItap );
         m_rWW8Export.InsUInt32( nDepth );
 
         if ( nDepth > 1 && pTableTextNodeInfoInner->isEndOfCell() )
         {
-            m_rWW8Export.InsUInt16( NS_sprm::LN_PCell );
+            m_rWW8Export.InsUInt16( NS_sprm::sprmPFInnerTableCell );
             m_rWW8Export.pO->push_back( (sal_uInt8)0x1 );
         }
     }
@@ -2013,23 +2013,23 @@ void WW8AttributeOutput::TableInfoRow( ww8::WW8TableNodeInfoInner::Pointer_t pTa
         /* Row */
         if ( pTableTextNodeInfoInner->isEndOfLine() )
         {
-            m_rWW8Export.InsUInt16( NS_sprm::LN_PFInTable );
+            m_rWW8Export.InsUInt16( NS_sprm::sprmPFInTable );
             m_rWW8Export.pO->push_back( (sal_uInt8)0x1 );
 
             if ( nDepth == 1 )
             {
-                m_rWW8Export.InsUInt16( NS_sprm::LN_PFTtp );
+                m_rWW8Export.InsUInt16( NS_sprm::sprmPFTtp );
                 m_rWW8Export.pO->push_back( (sal_uInt8)0x1 );
             }
 
-            m_rWW8Export.InsUInt16( NS_sprm::LN_PTableDepth );
+            m_rWW8Export.InsUInt16( NS_sprm::sprmPItap );
             m_rWW8Export.InsUInt32( nDepth );
 
             if ( nDepth > 1 )
             {
-                m_rWW8Export.InsUInt16( NS_sprm::LN_PCell );
+                m_rWW8Export.InsUInt16( NS_sprm::sprmPFInnerTableCell );
                 m_rWW8Export.pO->push_back( (sal_uInt8)0x1 );
-                m_rWW8Export.InsUInt16( NS_sprm::LN_PRow );
+                m_rWW8Export.InsUInt16( NS_sprm::sprmPFInnerTtp );
                 m_rWW8Export.pO->push_back( (sal_uInt8)0x1 );
             }
 
@@ -2113,7 +2113,7 @@ void WW8AttributeOutput::TableVerticalCell( ww8::WW8TableNodeInfoInner::Pointer_
 
         if ( FRMDIR_VERT_TOP_RIGHT == m_rWW8Export.TrueFrameDirection( *pFrameFormat ) )
         {
-            m_rWW8Export.InsUInt16( NS_sprm::LN_TTextFlow );
+            m_rWW8Export.InsUInt16( NS_sprm::sprmTTextFlow );
             m_rWW8Export.pO->push_back( sal_uInt8(n) );        //start range
             m_rWW8Export.pO->push_back( sal_uInt8(n + 1) );    //end range
             m_rWW8Export.InsUInt16( 5 ); //Equals vertical writing
@@ -2135,9 +2135,9 @@ void WW8AttributeOutput::TableCanSplit( ww8::WW8TableNodeInfoInner::Pointer_t pT
 
     const SwFormatRowSplit& rSplittable = pLineFormat->GetRowSplit();
     sal_uInt8 nCantSplit = (!rSplittable.GetValue()) ? 1 : 0;
-    m_rWW8Export.InsUInt16( NS_sprm::LN_TFCantSplit );
+    m_rWW8Export.InsUInt16( NS_sprm::sprmTFCantSplit90 );
     m_rWW8Export.pO->push_back( nCantSplit );
-    m_rWW8Export.InsUInt16( NS_sprm::LN_TFCantSplit90 ); // also write fCantSplit90
+    m_rWW8Export.InsUInt16( NS_sprm::sprmTFCantSplit ); // also write fCantSplit90
     m_rWW8Export.pO->push_back( nCantSplit );
 }
 
@@ -2148,7 +2148,7 @@ void WW8AttributeOutput::TableBidi( ww8::WW8TableNodeInfoInner::Pointer_t pTable
 
     if ( m_rWW8Export.TrueFrameDirection(*pFrameFormat) == FRMDIR_HORI_RIGHT_TOP )
     {
-        m_rWW8Export.InsUInt16( NS_sprm::LN_TFBiDi );
+        m_rWW8Export.InsUInt16( NS_sprm::sprmTFBiDi );
         m_rWW8Export.InsUInt16( 1 );
     }
 }
@@ -2180,7 +2180,7 @@ void WW8AttributeOutput::TableHeight( ww8::WW8TableNodeInfoInner::Pointer_t pTab
 
     if ( nHeight )
     {
-        m_rWW8Export.InsUInt16( NS_sprm::LN_TDyaRowHeight );
+        m_rWW8Export.InsUInt16( NS_sprm::sprmTDyaRowHeight );
         m_rWW8Export.InsUInt16( (sal_uInt16)nHeight );
     }
 
@@ -2213,7 +2213,7 @@ void WW8AttributeOutput::TableOrientation( ww8::WW8TableNodeInfoInner::Pointer_t
         {
             case text::HoriOrientation::CENTER:
             case text::HoriOrientation::RIGHT:
-                m_rWW8Export.InsUInt16( NS_sprm::LN_TJc90 );
+                m_rWW8Export.InsUInt16( NS_sprm::sprmTJc90 );
                 m_rWW8Export.InsUInt16( text::HoriOrientation::RIGHT == eHOri ? 2 : 1 );
                 break;
             default:
@@ -2242,19 +2242,19 @@ void WW8AttributeOutput::TableSpacing(ww8::WW8TableNodeInfoInner::Pointer_t pTab
 
             sal_uInt8 nTPc = (nPadding << 4) | (nPcVert << 2) | nPcHorz;
 
-            m_rWW8Export.InsUInt16(NS_sprm::LN_TPc);
+            m_rWW8Export.InsUInt16(NS_sprm::sprmTPc);
             m_rWW8Export.pO->push_back( nTPc );
 
-            m_rWW8Export.InsUInt16(NS_sprm::LN_TDyaAbs);
+            m_rWW8Export.InsUInt16(NS_sprm::sprmTDyaAbs);
             m_rWW8Export.InsUInt16(rUL.GetUpper());
 
-            m_rWW8Export.InsUInt16(NS_sprm::LN_TDyaFromText);
+            m_rWW8Export.InsUInt16(NS_sprm::sprmTDyaFromText);
             m_rWW8Export.InsUInt16(rUL.GetUpper());
         }
 
         if (rUL.GetLower() > 0)
         {
-            m_rWW8Export.InsUInt16(NS_sprm::LN_TDyaFromTextBottom);
+            m_rWW8Export.InsUInt16(NS_sprm::sprmTDyaFromTextBottom);
             m_rWW8Export.InsUInt16(rUL.GetLower());
         }
     }
@@ -2266,7 +2266,7 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
 
     if ( pTable->GetRowsToRepeat() > pTableTextNodeInfoInner->getRow() )
     {
-        m_rWW8Export.InsUInt16( NS_sprm::LN_TTableHeader );
+        m_rWW8Export.InsUInt16( NS_sprm::sprmTTableHeader );
         m_rWW8Export.pO->push_back( 1 );
     }
 
@@ -2277,7 +2277,7 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
     assert(nBoxes <= ww8::MAXTABLECELLS);
 
     // sprm header
-    m_rWW8Export.InsUInt16( NS_sprm::LN_TDefTable );
+    m_rWW8Export.InsUInt16( NS_sprm::sprmTDefTable );
     sal_uInt16 nSprmSize = 2 + (nBoxes + 1) * 2 + nBoxes * 20;
     m_rWW8Export.InsUInt16( nSprmSize ); // length
 
@@ -2521,7 +2521,7 @@ void WW8AttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t
     const SwTableBoxes & rTabBoxes = pTabLine->GetTabBoxes();
 
     sal_uInt8 nBoxes = rTabBoxes.size();
-    m_rWW8Export.InsUInt16( NS_sprm::LN_TDefTableShd80 );
+    m_rWW8Export.InsUInt16( NS_sprm::sprmTDefTableShd80 );
     m_rWW8Export.pO->push_back( (sal_uInt8)(nBoxes * 2) );  // Len
 
     for ( sal_uInt8 n = 0; n < nBoxes; n++ )
@@ -2543,8 +2543,8 @@ void WW8AttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t
         m_rWW8Export.InsUInt16( aShd.GetValue() );
     }
 
-    sal_uInt32 aSprmIds[] = { NS_sprm::LN_TDefTableShd,
-                              NS_sprm::LN_TDefTableShdRaw };
+    sal_uInt32 aSprmIds[] = { NS_sprm::sprmTDefTableShd,
+                              NS_sprm::sprmTDefTableShdRaw };
     sal_uInt8 nBoxes0 = rTabBoxes.size();
     if (nBoxes0 > 21)
         nBoxes0 = 21;
diff --git a/sw/source/filter/ww8/wrtww8gr.cxx b/sw/source/filter/ww8/wrtww8gr.cxx
index e90e349..ca4340a 100644
--- a/sw/source/filter/ww8/wrtww8gr.cxx
+++ b/sw/source/filter/ww8/wrtww8gr.cxx
@@ -336,16 +336,16 @@ void WW8Export::OutputLinkedOLE( const OUString& rOleId )
 
             // Ouput the cPicLocation attribute
             std::unique_ptr<ww::bytes> pBuf( new ww::bytes );
-            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::LN_CPicLocation );
+            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::sprmCPicLocation );
             SwWW8Writer::InsUInt32( *pBuf, rOleId.copy( 1 ).toInt32() );
 
-            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::LN_CFOle2 );
+            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::sprmCFOle2 );
             pBuf->push_back( 1 );
 
-            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::LN_CFSpec );
+            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::sprmCFSpec );
             pBuf->push_back( 1 );
 
-            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::LN_CFObj );
+            SwWW8Writer::InsUInt16( *pBuf, NS_sprm::sprmCFObj );
             pBuf->push_back( 1 );
 
             m_pChpPlc->AppendFkpEntry( Strm().Tell(), pBuf->size(), pBuf->data() );
@@ -423,7 +423,7 @@ void WW8Export::OutGrf(const ww8::Frame &rFrame)
                     GetItem(RES_CHRATR_FONTSIZE)).GetHeight();
                 nHeight-=nFontHeight/20;
 
-                Set_UInt16( pArr, NS_sprm::LN_CHpsPos );
+                Set_UInt16( pArr, NS_sprm::sprmCHpsPos );
                 Set_UInt16( pArr, -((sal_Int16)nHeight));
             }
         }
@@ -434,7 +434,7 @@ void WW8Export::OutGrf(const ww8::Frame &rFrame)
     Set_UInt8( pArr, 1 );
 
     // sprmCPicLocation
-    Set_UInt16( pArr, NS_sprm::LN_CPicLocation );
+    Set_UInt16( pArr, NS_sprm::sprmCPicLocation );
     Set_UInt32( pArr, GRF_MAGIC_321 );
 
     // vary Magic, so that different graphic attributes will not be merged
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 274739e..e2f2de8 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -671,11 +671,11 @@ void WW8AttributeOutput::OutlineNumbering(sal_uInt8 nLvl)
         nLvl = WW8ListManager::nMaxLevel-1;
 
     // write sprmPOutLvl sprmPIlvl and sprmPIlfo
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_POutLvl );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmPOutLvl );
     m_rWW8Export.pO->push_back( nLvl );
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_PIlvl );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmPIlvl );
     m_rWW8Export.pO->push_back( nLvl );
-    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::LN_PIlfo );
+    SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::sprmPIlfo );
     SwWW8Writer::InsUInt16( *m_rWW8Export.pO,
             1 + m_rWW8Export.GetId( *m_rWW8Export.m_pDoc->GetOutlineNumRule() ) );
 }
@@ -695,9 +695,9 @@ bool WW8Export::DisallowInheritingOutlineNumbering(const SwFormat &rFormat)
         {
             if (static_cast<const SwTextFormatColl*>(pParent)->IsAssignedToListLevelOfOutlineStyle())
             {
-                SwWW8Writer::InsUInt16(*pO, NS_sprm::LN_POutLvl);
+                SwWW8Writer::InsUInt16(*pO, NS_sprm::sprmPOutLvl);
                 pO->push_back(sal_uInt8(9));
-                SwWW8Writer::InsUInt16(*pO, NS_sprm::LN_PIlfo);
+                SwWW8Writer::InsUInt16(*pO, NS_sprm::sprmPIlfo);
                 SwWW8Writer::InsUInt16(*pO, 0);
 
                 bRet = true;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list