### Paragraph Properties (PAP)

b10 | b16 | field | type | size | bitfield | comments
0 | 0 | istd | uns short |  |  | index to style descriptor . This is an index to an STD in the STSH structure
2 | 2 | jc | uns char |  |  | justification code 0 left justify 1 center 2 right justify 3 left and right justify
3 | 3 | fKeep | uns char |  |  | keep entire paragraph on one page if possible
4 | 4 | fKeepFollow | uns char |  |  | keep paragraph on same page with next paragraph if possible
5 | 5 | fPageBreakBefore | uns char |  |  | start this paragraph on new page
6 | 6 | fBrLnAbove | short | :1 | 0001 |
|  | fBrLnBelow | short | :1 | 0002 |
|  | fUnused | short | :2 | 0006 | reserved
|  | pcVert | short | :2 | 0030 | vertical position code. Specifies coordinate frame to use when paragraphs are absolutely positioned. 0 vertical position coordinates are relative to margin 1 coordinates are relative to page 2 coordinates are relative to text. This means: relative to where the next non-APO text would have been placed if this APO did not exist.
|  | pcHorz | short | :2 | 00C0 | horizontal position code. Specifies coordinate frame to use when paragraphs are absolutely positioned. 0 horiz. position coordinates are relative to column. 1 coordinates are relative to margin 2 coordinates are relative to page

/* the brcp and brcl fields have been superseded by the newly defined brcLeft, brcTop, etc. fields. They remain in the PAP for compatibility with MacWord 3.0 */

b10 | b16 | field | type | size | bitfield | comments
7 | 7 | brcp | uns char |  |  | rectangle border codes 0 none 1 border above 2 border below 15 box around 16 bar to left of paragraph
8 | 8 | brcl | uns char |  |  | border line style 0 single 1 thick 2 double 3 shadow
9 | 9 |  |  |  |  | reserved
10 | A | ilvl | uns char |  |  | when non-zero, list level for this paragraph
11 | B | fNoLnn | uns char |  |  | no line numbering for this paragraph. (makes this an exception to the section property of line numbering)
12 | C | ilfo | short |  |  | when non-zero, (1-based) index into the pllfo identifying the list to which the paragraph belongs
14 | E | nLvlAnm | uns char |  |  | no longer used
15 | F |  |  |  |  | reserved
16 | 10 | fSideBySide | uns char |  |  | when 1, paragraph is a side by side paragraph
17 | 11 |  |  |  |  | reserved
18 | 12 | fNoAutoHyph | uns char |  |  | when 0, text in paragraph may be auto hyphenated.
19 | 13 | fWidowControl | uns char |  |  | when 1, Word will prevent widowed lines in this paragraph from being placed at the beginning of a page
20 | 14 | dxaRight | long |  |  | indent from right margin (signed).
24 | 18 | dxaLeft | long |  |  | indent from left margin (signed)
28 | 1C | dxaLeft1 | long |  |  | first line indent; signed number relative to dxaLeft
32 | 20 | lspd | LSPD |  |  | line spacing descriptor
36 | 24 | dyaBefore | uns long |  |  | vertical spacing before paragraph (unsigned)
40 | 28 | dyaAfter | uns long |  |  | vertical spacing after paragraph (unsigned)
44 | 2C | phe | PHE |  |  | height of current paragraph.
56 | 38 | fCrLf | uns char |  |  |
57 | 39 | fUsePgsuSettings | uns char |  |  |
58 | 3A | fAdjustRight | uns char |  |  |
59 | 3B |  |  |  |  | reserved
60 | 3C | fKinsoku | uns char |  |  | when 1, apply kinsoku rules when performing line wrapping
61 | 3D | fWordWrap | uns char |  |  | when 1, perform word wrap
62 | 3E | fOverflowPunct | uns char |  |  | when 1, apply overflow punctuation rules when performing line wrapping
63 | 3F | fTopLinePunct | uns char |  |  | when 1, perform top line punctuation processing
64 | 40 | fAutoSpaceDE | uns char |  |  | when 1, auto space FE and alphabetic characters
65 | 41 | fAtuoSpaceDN | uns char |  |  | when 1, auto space FE and numeric characters
66 | 42 | wAlignFont | uns short |  |  | font alignment 0 Hanging 1 Centered 2 Roman 3 Variable 4 Auto
68 | 44 | fVertical | short | :1 | 0001 |
|  | fBackward | short | :1 | 0002 |
|  | fRotateFont | short | :1 | 0004 |
|  |  | short | :13 | FFF8 | reserved
70 | 46 |  |  |  |  | reserved
72 | 48 | fInTable | char |  |  | when 1, paragraph is contained in a table row
73 | 49 | fTtp | char |  |  | when 1, paragraph consists only of the row mark special character and marks the end of a table row.
74 | 4A | wr | byte |  |  | Wrap Code for absolute objects
75 | 4B | fLocked | byte |  |  | when 1, paragraph may not be edited
76 | 4C | ptap | *TAP* |  |  | used internally by Word
80 | 50 | dxaAbs | long |  |  | when positive, is the horizontal distance from the reference frame specified by pap.pcHorz. 0 means paragraph is positioned at the left with respect to the reference frame specified by pcHorz. Certain negative values have special meaning: -4 paragraph centered horizontally within reference frame -8 paragraph adjusted right within reference frame -12 paragraph placed immediately inside of reference frame -16 paragraph placed immediately outside of reference frame
84 | 54 | dyaAbs | long |  |  | when positive, is the vertical distance from the reference frame specified by pap.pcVert. 0 means paragraph's y-position is unconstrained. Certain negative values have special meaning: -4 paragraph is placed at top of reference frame -8 paragraph is centered vertically within reference frame -12 paragraph is placed at bottom of reference frame.
88 | 58 | dxaWidth | long |  |  | when not == 0, paragraph is constrained to be dxaWidth wide, independent of current margin or column settings.
92 | 5C | brcTop | BRC |  |  | specification for border above paragraph
96 | 60 | brcLeft | BRC |  |  | specification for border to the left of paragraph
100 | 64 | brcBottom | BRC |  |  | specification for border below paragraph
104 | 68 | brcRight | BRC |  |  | specification for border to the right of paragraph
108 | 6C | brcBetween | BRC |  |  | specification of border to place between conforming paragraphs. Two paragraphs conform when both have borders, their brcLeft and brcRight matches, their widths are the same, they both belong to tables or both do not, and have the same absolute positioning props.
112 | 70 | brcBar | BRC |  |  | specification of border to place on outside of text when facing pages are to be displayed.
116 | 74 | dxaFromText | long |  |  | horizontal distance to be maintained between an absolutely positioned paragraph and any non-absolute positioned text
120 | 78 | dyaFromText | long |  |  | vertical distance to be maintained between an absolutely positioned paragraph and any non-absolute positioned text
124 | 7C | dyaHeight | short | :15 | 7FFF | height of abs obj; 0 == Auto
|  | fMinHeight | short | :1 | 8000 | 0 = Exact, 1 = At Least
126 | 7E | shd | SHD |  |  | shading
128 | 80 | dcs | DCS |  |  | drop cap specifier (see DCS definition)
130 | 82 | lvl | char |  |  |
131 | 83 | fNumRMIns | char |  |  |
132 | 84 | anld | ANLD |  |  | autonumber list descriptor (see ANLD definition)
216 | D8 | fPropRMark | short |  |  | when 1, properties have been changed with revision marking on
218 | DA | ibstPropRMark | short |  |  | index to author IDs stored in hsttbfRMark. used when properties have been changed when revision marking was enabled
220 | DC | dttmPropRMark | DTTM |  |  | Date/time at which properties of this were changed for this run of text by the author. (Only recorded when revision marking is on.)
224 | E0 | numrm | NUMRM |  |  | paragraph numbering revision mark data (see NUMRM)
352 | 160 | itbdMac | short |  |  | number of tabs stops defined for paragraph. Must be >= 0 and <= 64.
354 | 162 | rgdxaTab | short[itbdMax] |  |  | array of positions of itbdMac tab stops. itbdMax == 64
482 | 1E2 | rgtbd | char[itbdMax] |  |  | array of itbdMac tab descriptors

cbPAP (count of bytes of PAP) is 610 (decimal), 262(hex)

The standard PAP is all zeros except:

fWidowControl | 1
fMultLineSpace | 1
dyaLine | 240 twips
lvl | 9

© 1998 Microsoft Corporation. All rights reserved. Terms of use