2.7.2 DopBase

The DopBase structure contains document and compatibility settings that are common to all versions of the binary document. These settings influence the appearance and behavior of the current document and store document-level state.


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

A

B

C

D

fpc

E

unused4

F

nFtn

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

a

b

c

d

e

f

g

h

i

j

k

l

copts60

dxaTab

cpgWebOpt

dxaHotZ

cConsecHypLim

wSpare2

dttmCreated

dttmRevised

dttmLastPrint

nRevision

tmEdited

...

cWords

...

cCh

...

cPg

cParas

m

nEdn

epc

n

o

p

q

r

s

t

u

cLines

cWordsWithSubdocs

cChWithSubdocs

cPgWithSubdocs

cParasWithSubdocs

...

cLinesWithSubdocs

...

lKeyProtDoc

...

v

pctWwdSaved

w

x

y

A - fFacingPages (1 bit):  A bit that specifies whether even and odd pages have different headers and footers as specified in [ECMA-376] Part4, Section 2.10.1 evenAndOddHeaders, where titlePg corresponds to the section property sprmSFTitlePage.

B - unused1 (1 bit):  This value is undefined and MUST be ignored.

C - fPMHMainDoc (1 bit):  A bit that specifies whether this document is a mail merge main document.

D - unused2 (2 bits):  This value is undefined and MUST be ignored.

fpc (2 bits):  Specifies where footnotes are placed on the page when they are referenced by text in the current document for documents that have an nFib value that is less than or equal to 0x00D9. This MUST be one of the following values.

Value

Meaning

0

Specifies that all footnotes are placed at the end of the section in which they are referenced.

1

Specifies that footnotes are displayed at the bottom margin of the page on which the note reference mark appears.

2

Specifies that footnotes are displayed immediately following the last line of text on the page on which the note reference mark appears.

E - unused3 (1 bit):  This value is undefined and MUST be ignored.

unused4 (8 bits):  This value is undefined and MUST be ignored.

F - rncFtn (2 bits):  Specifies when all automatic numbering for the footnote reference marks is restarted for documents that have an nFib value that is less than or equal to 0x00D9. For those documents that rely on rncFtn, when restarted, the next automatically numbered footnote in the document restarts to the specified nFtn value. This MUST be one of the following values.

Value

Meaning

0

Specifies that the numbering of footnotes continues from the previous section in the document.

1

Specifies that the numbering of footnotes is reset to the starting value for each unique section in the document.

2

Specifies that the numbering of footnotes is reset to the starting value for each unique page in the document.

nFtn (14 bits):  For those documents that have an nFib value that is less than or equal to 0x00D9, this element specifies the starting number for the first automatically numbered footnotes in the document, and the first automatically numbered footnotes after each restart point that is specified by the rncFtn element.

G - unused5 (1 bit):  This value is undefined and MUST be ignored.

H - unused6 (1 bit):  This value is undefined and MUST be ignored.

I - unused7 (1 bit):  This value is undefined and MUST be ignored.

J - unused8 (1 bit):  This value is undefined and MUST be ignored.

K - unused9 (1 bit):  This value is undefined and MUST be ignored.

L - unused10 (1 bit):  This value is undefined and MUST be ignored.

M - fSplAllDone (1 bit):  Specifies whether all content in this document was already checked by the spelling checker.

N - fSplAllClean (1 bit):  Specifies whether all content in this document can be considered to be spelled correctly.

O - fSplHideErrors (1 bit):  Specifies whether visual cues are not displayed around content contained in a document which is flagged as a possible spelling error.

P - fGramHideErrors (1 bit):  Specifies whether visual cues are not displayed around content that is contained in a document and flagged as a possible grammar error.

Q - fLabelDoc (1 bit):  Specifies whether the document is a mail merge labels document.

When the value is 1, the document was created as a labels document.

R - fHyphCapitals (1 bit):  Specifies whether words that are composed of all capital letters are hyphenated in a given document when fAutoHyphen is set to 1.

S - fAutoHyphen (1 bit):  Specifies whether text is hyphenated automatically, as needed, when displayed as specified in [ECMA-376] Part4, section 2.15.1.10 autoHyphenation.

T - fFormNoFields (1 bit):  Specifies that there are no editable regions in a document that is currently protected for form field fill-in (fProtEnabled is 1). This value MUST be 0 if fProtEnabled is 0.

U - fLinkStyles (1 bit):  Specifies whether the styles of the document are updated to match those of the attached template as specified in [ECMA-376] Part4, Section 2.15.1.55 linkStyles, where the attachedTemplate value refers to entry 0x01 in SttbfAssoc.

V - fRevMarking (1 bit):  Specifies whether edits are tracked as revisions. If the value of fLockRev is set to 1, the value of fRevMarking MUST also be set to 1, as specified in [ECMA-376] Part4, Section 2.15.1.90 trackRevisions.

W - unused11 (1 bit):  This value is undefined and MUST be ignored.

X - fExactCWords (1 bit):  In conjunction with fIncludeSubdocsInStats, this bit specifies whether the values stored in cCh, cChWS, cWords, cParas, cLines, cDBC, cChWithSubdocs, cChWSWithSubdocs, cWordsWithSubdocs, cParasWithSubdocs, cLinesWithSubdocs, or cDBCWithSubdocs accurately reflect the current state of the document. When the value of fExactCWords is 0, none of the mentioned fields contain accurate values. When the value of fExactCWords is 1, the value of fIncludeSubdocsInStats determines which set of fields contains accurate values.

Y - fPagHidden (1 bit):  This value is undefined and MUST be ignored.

Z - fPagResults (1 bit): This value is undefined and MUST be ignored.

a - fLockAtn (1 bit):  Specifies whether protection for comments was applied to the document or, if Dop2003.fTreatLockAtnAsReadOnly has a value of 1, whether read-only protection was applied to the document. These restrictions are used to prevent unintentional changes to all or part of a document. Because this protection does not encrypt the document, malicious applications can circumvent its use. This protection is not intended as a security feature and can be ignored. When fLockAtn is 1, fLockRev MUST be 0 and fProtEnabled SHOULD<164> be 0. fLockAtn can be one of the following.

Value

Meaning

0

Specifies that the edits made to this document are restricted to the following:

  • The insertion and deletion of comments within the document.

  • The editing of the regions that are delimited by range permissions matching the editing rights of the user account that is being used to perform the editing.

1

Specifies that the edits made to this document are restricted to the following:

  • The editing of the regions that are delimited by range permissions matching the editing rights of the user account that is being used to perform the editing.

b - fMirrorMargins (1 bit):  Specifies that the left and right margins that are defined in the section properties are swapped on facing pages.

c - fWord97Compat (1 bit):  Specifies that this document was in Word97 compatibility mode when last saved.

d - unused12 (1 bit):  This value is undefined and MUST be ignored.

e - unused13 (1 bit):  This value is undefined and MUST be ignored.

f - fProtEnabled (1 bit):  Specifies that the edits that are made to this document are restricted to the editing of form fields in sections that are protected (see sprmSFProtected). All other sections have no editing restrictions resulting from this setting. When fProtEnabled is 1, both fLockAtn and fLockRev SHOULD<165> be 0.

g - fDispFormFldSel (1 bit):  If the document is currently protected for form field fill-in (fProtEnabled is 1), this bit specifies that the selection was within a display form field (check box or list box) the last time that the document was saved.

h - fRMView (1 bit):  Specifies whether to show any revision markup that is present in this document.

i - fRMPrint (1 bit):  Specifies whether to print any revision markup that is present in the document. SHOULD<166> be the same value as fRMView.

j - fLockVbaProj (1 bit):  Specifies whether the Microsoft Visual Basic project is locked from editing and viewing.

k - fLockRev (1 bit):  Specifies whether to track all edits made to this document as revisions. Additionally specifies that fRevMarking MUST be 1 for the duration that fLockRev is 1. When fLockRev is 1, fLockAtn MUST be 0 and fProtEnabled SHOULD<167> be 0.

l - fEmbedFonts (1 bit):  Specifies that TrueType fonts are embedded in the document when the document is saved as specified in [ECMA-376] Part4, Section 2.8.2.8 embedTrueTypeFonts.

copts60 (2 bytes): A copts60 that specifies compatibility options.

dxaTab (2 bytes):  Specifies the default tab stop interval, in twips, to use when generating automatic tab stops as specified in [ECMA-376] Part4, Section 2.15.1.24 defaultTabStop.

cpgWebOpt (2 bytes):  Specifies the code page to use when saving to HTML.

dxaHotZ (2 bytes):  Specifies the maximum amount of white space, in twips, allowed at the end of the line before attempting to hyphenate the next word as specified in [ECMA-376] Part4, Section 2.15.1.53 hyphenationZone.

cConsecHypLim (2 bytes):  Specifies the maximum number of consecutive lines that can end in a hyphenated word before ignoring automatic hyphenation rules for one line as specified in [ECMA-376] Part4, Section 2.15.1.21 consecutiveHyphenLimit.

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

dttmCreated (4 bytes):  A DTTM that MAY<168> specify the date and time at which the document was created.

dttmRevised (4 bytes):  A DTTM that specifies the date and time at which the document was last saved.

dttmLastPrint (4 bytes):  A DTTM that MAY<169> specify the date and time at which the document was last printed.

nRevision (2 bytes):  A signed integer that MAY<170> specify the number of times that this document was resaved. This MUST be a value between 0 and 0x7FFF.

tmEdited (4 bytes):  A signed integer value that MAY<171> specify the time it took, in minutes, for the document to be opened for editing and then subsequently saved.

cWords (4 bytes):  A signed integer value that specifies the last calculated or the estimated count of words in the main document, depending on fExactCWords and fIncludeSubdocsInStats.

cCh (4 bytes):  A signed integer value that specifies the last calculated or estimated count of characters in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats. The character count excludes whitespace.

cPg (2 bytes):  A signed integer value that specifies the last calculated or estimated count of pages in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

cParas (4 bytes):  A signed integer value that specifies the last calculated or estimated count of paragraphs in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

m - rncEdn (2 bits):  Specifies when automatic numbering for the endnote reference marks is reset to the beginning number for documents that have an nFib value that is less than or equal to 0x00D9. For those documents that rely on rncEdn, when restarted, the next automatically numbered endnote in the document is reset to the specified nEdn value. This value MUST be one of the following.

Value

Meaning

0

Specifies that the numbering of endnotes continues from the previous section in the document.

1

Specifies that the numbering of endnotes is reset to its starting value for each unique section in the document.

2

Specifies that the numbering of endnotes is reset to its starting value for each unique page in the document.

nEdn (14 bits):  For those documents that have an nFib value that is less than or equal to 0x00D9, this element specifies the starting number for the first automatically numbered endnote in the document, and the first automatically numbered endnote after each restart point that is specified by the rncEdn element.

epc (2 bits):  Specifies where endnotes are placed on the page when they are referenced by text in the current document. This value MUST be one of the following.

Value

Meaning

0

Specifies that endnotes are placed at the end of the section in which they are referenced.

3

Specifies that all endnotes are placed at the end of the current document, regardless of the section within which they are referenced.

n - unused14 (4 bits):  This value is undefined and MUST be ignored.

o - unused15 (4 bits):  This value is undefined and MUST be ignored.

p - fPrintFormData (1 bit):  Specifies whether to print only form field results, as specified in [ECMA-376] Part4, Section 2.15.1.61 printFormsData.

q - fSaveFormData (1 bit):  Specifies whether the application SHOULD<172> only save form field contents into a comma-delimited text file and ignore all other content in the document as specified in [ECMA-376] Part4, Section 2.15.1.73 saveFormsData.

r - fShadeFormData (1 bit):  Specifies whether to display visual cues around form fields as specified in [ECMA-376] Part4, Section 2.15.1.38 doNotShadeFormData, where the meaning of the doNotShadeFormData element is the opposite of fShadeFormData.

s - fShadeMergeFields (1 bit):  Specifies whether to display visual cues around mail merge fields.

t - reserved2 (1 bit):  This value MUST be 0, and MUST be ignored.

u - fIncludeSubdocsInStats (1 bit):  Specifies whether cCh, cChWS, cWords, cParas, cLines, cDBC, cChWithSubdocs, cChWSWithSubdocs, cWordsWithSubdocs, cParasWithSubdocs, cLinesWithSubdocs, or cDBCWithSubdocs are calculated and displayed, or estimated.

cLines (4 bytes):  A signed integer that specifies the last calculated or estimated count of lines in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

cWordsWithSubdocs (4 bytes):  A signed integer that specifies the last calculated or estimated count of words in the main document, footnotes, endnotes, and text boxes in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

cChWithSubdocs (4 bytes):  A signed integer that specifies the last calculated or estimated count of characters, excluding whitespace, in the main document, footnotes, endnotes, and text boxes in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

cPgWithSubdocs (2 bytes):  A signed integer that specifies the last calculated or estimated count of pages in the main document, footnotes, endnotes, and text boxes that are anchored in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

cParasWithSubdocs (4 bytes):  A signed integer that specifies the last calculated or estimated count of paragraphs in the main document, footnotes, endnotes, and text boxes that are anchored in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

cLinesWithSubdocs (4 bytes):  A signed integer that specifies the last calculated or estimated count of lines in the main document, footnotes, endnotes, and text boxes that are anchored in the main document, depending on the values of fExactCWords and fIncludeSubdocsInStats.

lKeyProtDoc (4 bytes):  A signed integer that specifies the hash of the password that is used with document protection (fLockRev, fProtEnabled, fLockAtn and fRevMarking), as specified in [ECMA-376] Part4, Section 2.15.1.28 documentProtection.

v - wvkoSaved (3 bits):  Specifies the viewing mode that was in use when the document was last saved. If the viewing mode that was in use cannot be represented by a valid value, an alternate view mode is specified. See [ECMA-376] Part4, section 2.15.1.93 view; the values are mapped as follows.

wvkoSaved value

ECMA attribute value

0

none

1

print

2

outline

3

masterPages

4

normal

5

web

A value of 0 specifies the default view mode of the application.

pctWwdSaved (9 bits):  Specifies the zoom percentage that was in use when the document was saved. A value of 0 specifies the default zoom percentage of the application. This value MUST be 0 or a value between 10 and 500.

w - zkSaved (2 bits):  Specifies the zoom type that was in use when the document was saved. See [ECMA-376] Part4, Section 2.18.116 ST_Zoom; the values are mapped as follows.

zkSaved value

ECMA attribute value

0

none

1

fullPage

2

bestFit

3

textFit

x - unused16 (1 bit):  This value is undefined and MUST be ignored.

y - iGutterPos (1 bit):  Specifies whether the document gutter shall be positioned at the top of the pages of the document when the document is displayed. See [ECMA-376] Part4, Section 2.15.1.49 gutterAtTop, where mirrorMargins corresponds to fMirrorMargins, bookFoldPrinting corresponds to Dop2002.fFolioPrint, bookFoldRevPrinting corresponds to Dop2002.fReverseFolio and printTwoOnOne corresponds to DopTypography.f2on1.