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 |