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