2.5.2 FibBase

The FibBase structure is the fixed-size portion of the Fib.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

wIdent

nFib

unused

lid

pnNext

A

B

C

D

E

F

G

H

I

J

K

L

M

nFibBack

lKey

...

envr

N

O

P

Q

R

S

reserved3

reserved4

reserved5

reserved6

wIdent (2 bytes): An unsigned integer that specifies that this is a Word Binary File. This value MUST be 0xA5EC.

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<11> be 0x00C1.

unused (2 bytes): This value is undefined and MUST be ignored.

lid (2 bytes): A LID that specifies the install language of the application that is producing the document. If nFib is 0x00D9 or greater, then any East Asian install lid or any install lid with a base language of Spanish, German or French MUST be recorded as 0x0409. If the nFib is 0x0101 or greater, then any install lid with a base language of Vietnamese, Thai, or Hindi MUST be recorded as 0x0409.

pnNext (2 bytes): An unsigned integer that specifies the offset in the WordDocument stream of the FIB for the document which contains all the AutoText items. If this value is 0, there are no AutoText items attached. Otherwise the FIB is found at file location pnNext×512. If fGlsy is 1 or fDot is 0, this value MUST be 0. If pnNext is not 0, each FIB MUST share the same values for FibRgFcLcb97.fcPlcfBteChpx, FibRgFcLcb97.lcbPlcfBteChpx, FibRgFcLcb97.fcPlcfBtePapx, FibRgFcLcb97.lcbPlcfBtePapx, and FibRgLw97.cbMac.

A - fDot (1 bit): Specifies whether this is a document template.

B - fGlsy (1 bit): Specifies whether this is a document that contains only AutoText items (see FibRgFcLcb97.fcSttbfGlsy, FibRgFcLcb97.fcPlcfGlsy and FibRgFcLcb97.fcSttbGlsyStyle).

C - fComplex (1 bit): Specifies that the last save operation that was performed on this document was an incremental save operation.

D - fHasPic (1 bit): When set to 0, there SHOULD<12> be no pictures in the document.

E - cQuickSaves (4 bits): An unsigned integer. If nFib is less than 0x00D9, then cQuickSaves specifies the number of consecutive times this document was incrementally saved. If nFib is 0x00D9 or greater, then cQuickSaves MUST be 0xF.

F - fEncrypted (1 bit): Specifies whether the document is encrypted or obfuscated as specified in Encryption and Obfuscation.

G - fWhichTblStm (1 bit): Specifies the Table stream to which the FIB refers. When this value is set to 1, use 1Table; when this value is set to 0, use 0Table.

H - fReadOnlyRecommended (1 bit): Specifies whether the document author recommended that the document be opened in read-only mode.

I - fWriteReservation (1 bit): Specifies whether the document has a write-reservation password.

J - fExtChar (1 bit): This value MUST be 1.

K - fLoadOverride (1 bit): Specifies whether to override the language information and font that are specified in the paragraph style at istd 0 (the normal style) with the defaults that are appropriate for the installation language of the application.

L - fFarEast (1 bit): Specifies whether the installation language of the application that created the document was an East Asian language.

M - fObfuscated (1 bit): If fEncrypted is 1, this bit specifies whether the document is obfuscated by using XOR obfuscation (section 2.2.6.1); otherwise, this bit MUST be ignored.

nFibBack (2 bytes): This value SHOULD<13> be 0x00BF. This value MUST be 0x00BF or 0x00C1.

lKey (4 bytes): If fEncrypted is 1 and fObfuscated is 1, this value specifies the XOR obfuscation (section 2.2.6.1) password verifier. If fEncrypted is 1 and fObfuscated is 0, this value specifies the size of the EncryptionHeader that is stored at the beginning of the Table stream as described in Encryption and Obfuscation. Otherwise, this value MUST be 0.

envr (1 byte): This value MUST be 0, and MUST be ignored.

N - fMac (1 bit): This value MUST be 0, and MUST be ignored.

O - fEmptySpecial (1 bit): This value SHOULD<14> be 0 and SHOULD<15> be ignored.

P - fLoadOverridePage (1 bit):  Specifies whether to override the section properties for page size, orientation, and margins with the defaults that are appropriate for the installation language of the application.

Q - reserved1 (1 bit): This value is undefined and MUST be ignored.

R - reserved2 (1 bit): This value is undefined and MUST be ignored.

S - fSpare0 (3 bits): This value is undefined and MUST be ignored.

reserved3 (2 bytes): This value MUST be 0 and MUST be ignored.

reserved4 (2 bytes): This value MUST be 0 and MUST be ignored.

reserved5 (4 bytes): This value is undefined and MUST be ignored.

reserved6 (4 bytes): This value is undefined and MUST be ignored.