ParaFormatAtom : Paragraph Format Atom (4067)

This atom keeps a paragraph's formatting. Paragraph data falls into 3 categories:

Bullet Data Fields

Offset

Type

Name

Contents

0

uint2

buHasBullet : 2

Set if the paragraph has a bullet.

uint2

buHasTypeface : 21

Set if the bullet has a typeface different than the one used by the text.

uint2

buHasColor : 2

Set if the bullet has different color than the text.

uint2

buHasSize : 2

Set if the bullet has different size than the text.

1

1 byte padding

padding

Padding

2

GrColorAtom

buColor

RGB color for the bullet

6

uint2

buChar

If the bullet uses a special character, it's stored here.

8

sint2

buSBCTypeface

Single byte typeface reference

10

sint2

buDBCTypeface

Double byte typeface reference 1

12

sint4

buSize

Size of the bullet


1 If the buHasTypeface field is set then the Typeface for the bullet can be a Single Byte Character typeface (SBC) or a Double Byte Character (DBC). If the value of the buDBCtypeface is 2 then the value that is used for the bullet is the buSBCtypeface. If the buDBCtypeface is not 2, then the reference to the typeface is obtained by subtracting three from the value in the file.

Other Format Data Fields

Offset

Type

Name

Contents

16

sint4

pfLeftMargin

Indent of lines besides the first one in the paragraph

20

sint4

pfRightMargin

Inset from the right

24

sint4

pfIndent

First line indent from the left

28

sint4

pfAlignment

Alignment for the paragraph: The values can be:

0 - left aligned

1 - centered

2 - right aligned

3 - justified

32

sint4

pfLineSpacing

Fixed or automatic line spacing

36

sint4

pfSpaceBefore

Space before each paragraph

40

sint4

pfSpaceAfter

Space after each paragraph

44

sint4

pfTabCount

Number of tab stops


Features for the Japanese Language

Three out of these four flags deal with the way certain characters, that can not exist at the beginning of a new line (i.e "?", ")" ), are handled.

Offset

Type

Name

Contents

48

ubyte1

pfBaseLine2

Enumerated value that states the alignment of one letter with respect to the other 2

49

ubyte1

pfCharWrap

If set, the character preceding the unwanted one goes to the next line. This character becomes the first one in the new line and the unwanted character becomes the second one.

50

ubyte1

pfWordWrap

If set, the paragraph has wordwrap.

51

ubyte1

pfOverflow

If set, the unwanted character is put at the end of the line where it doesn't fit, so it goes past the right margin.


2 For the pfBaseLine there are three different options: roman, hanging and centered.

pfBaseLine Options

Style

Value

Example

Roman

0

Hanging

1

Centered

2