When exporting in Word 97/2003 format, the result file has the FibBase::nFib field set to 0x101. According to spec, the maximum value for this field is 0xC1. The following versions should be stored in FibRgCswNew struct (absent in LO file).
Way above my head - requesting input from Robinson and/or developers on this one.
Thanks Urmas for the suggestion.
@Robinson - any thoughts on this one? If not, let me know and I'll try to track someone down :)
(In reply to Urmas from comment #0)
> When exporting in Word 97/2003 format, the result file has the FibBase::nFib
> field set to 0x101. According to spec, the maximum value for this field is
> 0xC1. The following versions should be stored in FibRgCswNew struct (absent
> in LO file).
Word binary format spec:
According to Section "2.5.1 Fib" (pp 50, 51):
"The Fib structure contains information about the document and specifies the file pointers to various portions that make up the document."
It goes on to mention "cbRgFcLcb (2 bytes): An unsigned integer that specifies the count of 64-bit values corresponding to fibRgFcLcbBlo" and give a table that includes the following rows:
Value of nFib cbRgFcLcb
From the table, it appears that nFib can be 0x101, as well as an even larger value. Of course, this is all based on my quick read of the spec.
Urmas: Where did you read that the max value of nFib is 0xC1?
nFib (2 bytes): An unsigned integer that specifies the version number of the file format used. Superseded by FibRgCswNew.nFibNew if it is present. This value SHOULD be 0x00C1.
(In reply to Urmas from comment #3)
> From 2.5.2:
> nFib (2 bytes): An unsigned integer that specifies the version number of the
> file format used.
Footnote #12 sounds like they made the application and documents first, and the spec 2nd:
<12> Section 2.5.2: A special empty document is installed with Word 97, Word 2000, Word 2002, and Office Word 2003 to allow "Create New Word Document" from the operating system. This document has an nFib of 0x00C0. In addition the BiDi build of Word 97 differentiates its documents by saving 0x00C2 as the nFib. In both cases treat them as if they were 0x00C1.
> Superseded by FibRgCswNew.nFibNew if it is present. This
> value SHOULD be 0x00C1.
Anyhow, I agree with Urmas' read of the spec here.
Status -> NEW