summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8/ww8par3.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-11-18 10:41:27 +0000
committerCaolán McNamara <caolanm@redhat.com>2016-11-18 10:53:10 +0000
commitc80a0fcdd9a4389616e92cfeafa9d932a784ee71 (patch)
tree7152e67b54bd5dd728c938c69d3d1ee70596c453 /sw/source/filter/ww8/ww8par3.cxx
parent0a840edcc19ad1b8bb1525717d91ce8ade0c0092 (diff)
Resolves: tdf#91916 different word 6/7 vers have ambiguous sprms
See tdf#91916, #i8726, #i42685# there is an ambiguity around certain properties as to what they mean, which appears to be a problem with different versions of the file format where properties conflict, i.e. ooo40606-2.doc, magic is a699 : 0x6f 0x4 0x0 0x71 0x4 0x0 ooo40635-1.doc, magic is a699 : 0x6f 0x4 0x0 0x71 0x4 0x0 ooo31093/SIMPCHIN.doc, magic is a699 : 0x6f 0x2 0x0 0x70 0x0 0x0 0x71 0x2 0x0 : 0x6f 0x5 0x0 0x70 0x5 0x0 ooo31093/TRADCHIN.doc, magic is a699 : 0x6f 0x1 0x0 0x70 0x0 0x0 0x71 0x1 0x0 ooo31093/JAPANESE.doc, magic is a697 : 0x6f 0x2 0x0 0x70 0x0 0x0 0x71 0x2 0x0 ooo31093/KOREAN.doc, magic is a698 : 0x6f 0x2 0x0 0x70 0x0 0x0 0x71 0x2 0x0 ooo31093-1.doc, magic is a698 : 0x6f 0x5 0x0 0x70 0x5 0x0 ooo31093-1.doc, magic is a698 : 0x6f 0x5 0x0 0x70 0x5 0x0 meanwhile... ooo27954-1.doc, magic is a5dc : 0x6f 0x1 0x81 0x71 0x2 0x4 0x0 0x74 0x2 0x20 0x0 ooo33251-1.doc, magic is a5dc : 0x6f 0x1 0x81 0x71 0x2 0x3 0x0 0x74 0x2 0x1c 0x0 --- So we have the same sprm values, but different payloads, where the a5dc versions appear to use a len argument, followed by len bytes, while the a698<->a699 versions use a 2byte argument commit c2213db9ed70c1fd546482d22e36e4029c10aa45 INTEGRATION: CWS tl28 (1.169.24); FILE MERGED 2006/10/25 13:40:41 tl 1.169.24.2: RESYNC: (1.169-1.170); FILE MERGED 2006/09/20 11:55:50 hbrinkm 1.169.24.1: #i42685# applied patch changed 0x6f and 0x70 from Read_BoldBiDiUsw to Read_FontCode for all versions. In the Word for Window 2 spec we have... 78 //sprmCMajority 80 //sprmCFBoldBi 81 //sprmCFItalicBi 82 //sprmCFtcBi 83 //sprmClidBi 84 //sprmCIcoBi 85 //sprmCHpsBi as see in GetWW2SprmDispatcher, different numbers, but the sequence starts with the same sprmCMajority as appears before 0x6f in word 6/95 I think the easiest explanation is that the CJK Word for Window 95, or whatever the product was went rogue, and did their own things with at least first three slots after sprmCMajority to do a different thing. I have no reason to think Tono was wrong with what they do in the a698<->a699 versions versions, but with magic a5dc they probably did mean sprmCFBoldBi, sprmCFItalicBi cause they have that 0x81 pattern which has significance for those types of properties. Change-Id: I44aabf7443391bae21ed5adb074780a1c929a80d
Diffstat (limited to 'sw/source/filter/ww8/ww8par3.cxx')
-rw-r--r--sw/source/filter/ww8/ww8par3.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx
index 3f41f87415ea..5c34fe8c74aa 100644
--- a/sw/source/filter/ww8/ww8par3.cxx
+++ b/sw/source/filter/ww8/ww8par3.cxx
@@ -1136,7 +1136,7 @@ SwNumRule* WW8ListManager::GetNumRule(size_t i)
// oeffentliche Methoden
WW8ListManager::WW8ListManager(SvStream& rSt_, SwWW8ImplReader& rReader_)
- : maSprmParser(rReader_.GetFib().GetFIBVersion()), rReader(rReader_)
+ : maSprmParser(rReader_.GetFib()), rReader(rReader_)
, rDoc(rReader.GetDoc())
, rFib(rReader.GetFib()), rSt(rSt_)
, nUniqueList(1)