[Libreoffice-commits] .: 2 commits - src/docrecord.py src/docsprm.py
Miklos Vajna
vmiklos at kemper.freedesktop.org
Mon Jan 7 08:53:43 PST 2013
src/docrecord.py | 12 +++++++-----
src/docsprm.py | 15 +++++++++++++++
2 files changed, 22 insertions(+), 5 deletions(-)
New commits:
commit 1b6338ee50aaba77da82e1eacec81690421348ea
Author: Miklos Vajna <vmiklos at suse.cz>
Date: Mon Jan 7 17:53:33 2013 +0100
even the size of variable SPRMs is known in most cases
diff --git a/src/docrecord.py b/src/docrecord.py
index e487cc0..8d40588 100644
--- a/src/docrecord.py
+++ b/src/docrecord.py
@@ -456,11 +456,12 @@ class Sprm(DOCDirStream):
def getOperandSize(self):
if self.spra == 6: # variable
- if self.sprm == 0xd634:
- return 7
- elif self.sprm in [0xd234, 0xd235, 0xd236, 0xd237]: # sprmSBrcTop / Left / Bottom / Right
- return 9
- raise Exception()
+ if self.sprm not in [0xD608, 0xC615]: # sprmTDefTable, sprmPChgTabs
+ # these structures are prefixed with their size
+ return self.getuInt8() + 1
+ elif self.sprm == 0xD608:
+ return self.getuInt16() + 1
+ raise Exception("No idea what is the size of SPRM %s" % hex(self.sprm))
return self.operandSizeMap[self.spra]
class Prl(DOCDirStream):
commit 9e13db1dbb0b57dc50700b889ad6cd1d59d42fd4
Author: Miklos Vajna <vmiklos at suse.cz>
Date: Mon Jan 7 17:53:28 2013 +0100
add picture sprms
diff --git a/src/docrecord.py b/src/docrecord.py
index 7e31afe..e487cc0 100644
--- a/src/docrecord.py
+++ b/src/docrecord.py
@@ -436,6 +436,7 @@ class Sprm(DOCDirStream):
nameMap = {
1: docsprm.parMap,
2: docsprm.chrMap,
+ 3: docsprm.picMap,
4: docsprm.secMap,
5: docsprm.tblMap,
}
diff --git a/src/docsprm.py b/src/docsprm.py
index fcd01de..5dbffc6 100644
--- a/src/docsprm.py
+++ b/src/docsprm.py
@@ -5,6 +5,18 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
+# see 2.6.5 of the spec
+picMap = {
+ 0x6C02: "sprmPicBrcTop80",
+ 0x6C03: "sprmPicBrcLeft80",
+ 0x6C04: "sprmPicBrcBottom80",
+ 0x6C05: "sprmPicBrcRight80",
+ 0xCE08: "sprmPicBrcTop",
+ 0xCE09: "sprmPicBrcLeft",
+ 0xCE0A: "sprmPicBrcBottom",
+ 0xCE0B: "sprmPicBrcRight",
+ }
+
# see 2.6.4 of the spec
secMap = {
0x3000: "sprmScnsPgn",
@@ -155,6 +167,7 @@ tblMap = {
# see 2.6.2 of the spec
parMap = {
0x4600: "sprmPIstd",
+ 0x6654: "sprmPAnldCv",
0xC601: "sprmPIstdPermute",
0x2602: "sprmPIncLvl",
0x2403: "sprmPJc80",
@@ -213,6 +226,7 @@ parMap = {
0x664A: "sprmPDtap",
0x244B: "sprmPFInnerTableCell",
0x244C: "sprmPFInnerTtp",
+ 0xC63E: "sprmPAnld80",
0xC64D: "sprmPShd",
0xC64E: "sprmPBrcTop",
0xC64F: "sprmPBrcLeft",
@@ -312,6 +326,7 @@ chrMap = {
0x4866: "sprmCShd80",
0x4867: "sprmCIdslRMarkDel",
0x0868: "sprmCFUsePgsuSettings",
+ 0x486B: "sprmCCpg",
0x486D: "sprmCRgLid0_80",
0x486E: "sprmCRgLid1_80",
0x286F: "sprmCIdctHint",
More information about the Libreoffice-commits
mailing list