All of the structures of a Word 6.0 or 95 document are in the
WordDocument stream. Text is 8-bit, in the code page of chse
(usually Windows-1252).
Text
Characters are addressed by CP. If the document is not fast-saved, its text is one
run of bytes from fcMin. If fComplex is set, a piece table
(Clx) maps CP ranges to byte positions the same way as in Word 97, without
the 8-bit flag: every piece is single-byte text at its byte position.
Bin tables and pages
PlcfBteChpx and PlcfBtePapx are PLCs of FCs followed by 2-byte
page numbers: a table of n entries has size 4 × (n + 1) + 2 ×
n. Page n is 512 bytes at offset n × 512 in the
stream.
rgfccrun + 1 positions4 × (crun + 1)rgbcharacter page: one byte per run. Paragraph page: 7-byte BxPap per run (one offset byte and 6 of height information)variesPropertiesat the back of the pagevariescrunthe number of runs1 (last byte)
A character run’s properties are a size byte and a grpprl. A paragraph run’s are a count
byte cw; 2 × cw bytes follow, beginning with the 16-bit
istd of the paragraph style, then a grpprl.
Sprms
Each entry of a grpprl is a one-byte code and an operand of a size fixed by the code,
or with a length byte first. A 16-bit length is used for sprmTDefTable.
| Code | Operand | Meaning |
|---|---|---|
| 2 | 2 | sprmPIstd: paragraph style |
| 24 | 1 | sprmPFInTable |
| 25 | 1 | sprmPFTtp: table row end |
| 13 | 1 | sprmPNLvlAnm: a list or outline level |
| 85 | 1 | sprmCFBold |
| 86 | 1 | sprmCFItalic |
| 92 | 1 | sprmCFVanish: hidden |
| 117 | 1 | sprmCFSpec: a special character |
| 68 | 1 + 4 | sprmCPicLocation: picture offset |
| 190 | 2-byte size | sprmTDefTable: a table row’s cells |
Styles and fonts
The style sheet, at Stshf, has the same outer shape as in later versions: a
16-bit size of the Stshi, then per style a 16-bit size and a style record. A style name
is 8-bit, one length byte and then the characters.
The font table, at SttbfFfn, starts with a 16-bit total size. Each entry is
a size byte and a record; the 8-bit font name starts 6 bytes into the record: after the
size, the family byte, a 16-bit weight, the character set and an alternate-name byte.
Summary streams
The title, author and dates are kept in the same SummaryInformation and
DocumentSummaryInformation property streams as in later versions.