Naming Conventions

The names in Word data structures usually consist of a lower case sequence of characters followed by an optional upper case modifier. The following tags are used in the lower case parts of field names to document the data type of a field:

f

used to name a flag (a variable containing a Boolean value). Usually the object referred to will contain either 1 (fTrue, TRUE) or 0 (fFalse, FALSE). (e.g. fWidowControl, fShadow)

l

used to name a 4 byte integer value ( a long). (e.g. lcb)

w

used to name a 2 byte integer value (a short ).

b

used to name a 1 byte integer value

cp

used to name a variable that contains a character position within the document. always a 4 byte quantity.

fc

used to name a variable that contains an offset from the beginning of a file. always a 4 byte quantity.

xa

used to name a variable that contains a width of an object imaged on screen or on hard copy that is measured in units of 1/1440 of an inch. This unit which is one-twentieth of a point size (1/20 * 1/72") is called a twip in this documentation. (e.g. xaPage is the width of a page).

ya

used to name a variable that contains a height of an object imaged on screen or on hard copy that is measured in twips.

dxa

used to name a variable that contains the horizontal distance of an object measured from some reference point expressed in twips. (e.g. pap.dxaLeft is the distance of the left boundary of a paragraph measured from the left margin of the page)

dya

used to name a variable that contains the vertical distance of an object measured from some reference point expressed in twips. (e.g. pap.dyaAbs is the vertical distance of the top of a paragraph from a reference frame declared in the pap).

dxp

used to name a variable that contains the horizontal distance of an object measured from some reference point expressed in Macintosh pixel units (1/72"). (e.g. dxpSpace)

dyp

used to name a variable that contains the vertical distance of an object measured from some reference point expressed in Macintosh pixel units (1/72").

rg

prefix used to signify that the data structure being defined is an array. (e.g. rgb (an array of bytes), rgcp (an array of CPs), rgfc (an array of FCs), rgfoo (an array of foos).

i

prefix used to signify that an integer value is used as an index into an array. (e.g. itbd is an index into rgtbd, itc is an index into rgtc.)

c

prefix used to signify that an integer value is a count of some number of objects. (e.g. a cb is a count of bytes, a cl is a count of lines, ccol is a count of columns, a cpe is a count of picture elements.)

grp

prefix used to name an array of bytes that contains one or more copies of a variable length data structure with the instances of the data structure stored one after the other in the array. (e.g. a grpprl is a array of bytes that stores a group of prls.)

grpf

prefix used to name an integer or byte value whose bits are used as flags. (e.g. grpfIhdt is a group of flags that records the types of headers that are stored for a particular section of a document).


The two following modifiers are used occasionally in this documentation:

First

Means that variable marks the first of a range of objects. For example, cpFirst would mark the first character position of a range of characters in a document. fcFirst would mark the file offset of the first byte of a range of bytes stored in a file.

Lim

Means the variable marks the limit of a range of objects (i.e. is the index of the last object in a range plus 1). For example, cpLim would be the limit CP of a range of characters in a document. fcLim would be the limit file offset of a range of bytes stored in a file.