Please enable JavaScript to view this site.

 

Navigation: Appendices > Q++Studio > XML Identifiers > Internal Data Structures > Implementation > List

TParagraphAttributesRec — XML implementation

Scroll Prev Up Next More

This topic covers the implementation details of TParagraphAttributesRec.

 

Scope: TypeDefinitions.pas; record. Prepared from the curated implementation supplied for this review on 2 October 2026.

 

Selective paragraph changes are grouped into Formats, RuleAbove, RuleBelow and Tabulations. Each Options string uses numbers relative to its subgroup and a trailing comma; global TParagraphAttributesOption ordinals are not the XML numbers.

 

Formats numeric values use Trunc(value×10000); rule numeric values use Round(value×1000000). The same conceptual field may therefore have a different encoding in TXtagsFormats.

 

Rule subgroup option 0 selects the rule itself; further options choose its payload. Current parent read/write methods omit Overprint although local option 10 exists. Direct TRuleAboveBelow serialization includes it.

 

Notation and shared helper rules: Reading this reference.

 

XML identity and composition

 

Literal rec_type values emitted within these routines: TParagraphAttributesRec, TParagraphFormatsRec, TParagraphRuleAboveBelowRec, TParagraphTabulationsRec. Nested values may belong to child wrappers rather than this owner itself; the attribute entries below give their exact locations.

 

Structures used directly by this XML implementation:

 

TDropsCaps

TGridLock

TKeepLinesTogether

TRuleAboveBelow

TRuleStyle

TXtagsTabs

 

Exact XML fields and attributes

 

The paths below start at this record or property node. A slash identifies a child element; @ identifies an attribute. Curly braces mark a variable index or expression, not literal XML text. Initial values describe initialization; they do not establish what an omitted individual element does. The Implementation toggle below contains the supplied routines for exact branch order and conversions.

 

Formats/Options

 

XML representation: The text of the Options element.

 

Reading: Reads the element into strOptions when the record node exists; node2 exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores strOptions when (Options *[paLeftIndent..paEndOfFormats]) contains selected options.

 

Formats/LeftIndent

 

XML representation: The text of the LeftIndent element.

 

Reading: Reads the stored number, divides it by 10000.0, and assigns the result to Formats.LeftIndent when the record node exists; node2 exists; strOptions is not empty; paLeftIndent is selected in FormatsOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores LeftIndent multiplied by 10000.0, then truncated to an integer when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paLeftIndent is selected in Options.

 

Formats/FirstLine

 

XML representation: The text of the FirstLine element.

 

Reading: Reads the stored number, divides it by 10000.0, and assigns the result to Formats.FirstLine when the record node exists; node2 exists; strOptions is not empty; paFirstLine is selected in FormatsOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores FirstLine multiplied by 10000.0, then truncated to an integer when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paFirstLine is selected in Options.

 

Formats/RightIndent

 

XML representation: The text of the RightIndent element.

 

Reading: Reads the stored number, divides it by 10000.0, and assigns the result to Formats.RightIndent when the record node exists; node2 exists; strOptions is not empty; paRightIndent is selected in FormatsOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RightIndent multiplied by 10000.0, then truncated to an integer when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paRightIndent is selected in Options.

 

Formats/Leading

 

XML representation: The text of the Leading element.

 

Reading: Reads the stored number, divides it by 10000.0, and assigns the result to Formats.Leading when the record node exists; node2 exists; strOptions is not empty; paLeading is selected in FormatsOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores Leading multiplied by 10000.0, then truncated to an integer when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paLeading is selected in Options.

 

Formats/SpaceBefore

 

XML representation: The text of the SpaceBefore element.

 

Reading: Reads the stored number, divides it by 10000.0, and assigns the result to Formats.SpaceBefore when the record node exists; node2 exists; strOptions is not empty; paSpaceBefore is selected in FormatsOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores SpaceBefore multiplied by 10000.0, then truncated to an integer when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paSpaceBefore is selected in Options.

 

Formats/SpaceAfter

 

XML representation: The text of the SpaceAfter element.

 

Reading: Reads the stored number, divides it by 10000.0, and assigns the result to Formats.SpaceAfter when the record node exists; node2 exists; strOptions is not empty; paSpaceAfter is selected in FormatsOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores SpaceAfter multiplied by 10000.0, then truncated to an integer when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paSpaceAfter is selected in Options.

 

Formats/Just

 

XML representation: The text of the Just element.

 

Reading: Reads the element into Formats.Just when the record node exists; node2 exists; strOptions is not empty; paJust is selected in FormatsOptions.

 

Writing: Stores the numeric value of Just (see the value table below) when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paJust is selected in Options.

 

Formats/CharAlign

 

XML representation: The text of the CharAlign element.

 

Reading: Reads the element into Formats.CharAlign when the record node exists; node2 exists; strOptions is not empty; paCharAlign is selected in FormatsOptions.

 

Writing: Stores the numeric value of CharAlign (see the value table below) when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paCharAlign is selected in Options.

 

Formats/KeepWithNext

 

XML representation: The text of the KeepWithNext element.

 

Reading: Reads the element into Formats.buffBool when the record node exists; node2 exists; strOptions is not empty; paKeepWithNext is selected in FormatsOptions. The subsequent conversion is shown in Implementation.

 

Writing: Stores true or false according to KeepWithNext when (Options *[paLeftIndent..paEndOfFormats]) contains selected options; paKeepWithNext is selected in Options.

 

Tabulations/Options

 

XML representation: The text of the Options element.

 

Reading: Reads the element into strOptions when the record node exists; node2 exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores strOptions when paTabulations is selected in Options.

 

Tabulations/Enabled

 

XML representation: The text of the Enabled element.

 

Reading: Reads the element into Tabs.Enabled when the record node exists; node2 exists; strOptions is not empty.

 

Writing: Stores true or false according to Tabs.Enabled when paTabulations is selected in Options.

 

Tabulations/UseTabAsLineEnding

 

XML representation: The text of the UseTabAsLineEnding element.

 

Reading: Reads the element into Tabs.UseTabAsLineEnding when the record node exists; node2 exists; strOptions is not empty; Tabs.Enabled is true; paTabulationsUseAsLineEnding is selected in TabulationOptions.

 

Writing: Stores true or false according to Tabs.UseTabAsLineEnding when paTabulations is selected in Options; Tabs.Enabled is true; paTabulationsUseAsLineEnding is selected in Options.

 

Tabulations/Xtags

 

XML representation: The text of the Xtags element.

 

Reading: Reads the element into Tabs.Xtags when the record node exists; node2 exists; strOptions is not empty; Tabs.Enabled is true; paTabulationsXtags is selected in TabulationOptions.

 

Writing: Stores Tabs.Xtags when paTabulations is selected in Options; Tabs.Enabled is true; paTabulationsXtags is selected in Options.

 

RuleAbove/Options

 

XML representation: The text of the Options element.

 

Reading: Reads the element into strOptions when the record node exists; node2 exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores strOptions when paRuleAbove is selected in Options.

 

RuleAbove/Enabled

 

XML representation: The text of the Enabled element.

 

Reading: Reads the element into RuleAbove.Enabled when the record node exists; node2 exists; strOptions is not empty.

 

Writing: Stores true or false according to RuleAbove.Enabled when paRuleAbove is selected in Options.

 

RuleAbove/Length

 

XML representation: The text of the Length element.

 

Reading: Reads the element into RuleAbove.Length when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaLength is selected in RuleAboveOptions.

 

Writing: Stores the numeric value of RuleAbove.Length (see the value table below) when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaLength is selected in Options.

 

RuleAbove/FromLeft

 

XML representation: The text of the FromLeft element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleAbove.FromLeft when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaFromLeft is selected in RuleAboveOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleAbove.FromLeft multiplied by 1000000, then rounded to an integer when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaFromLeft is selected in Options.

 

RuleAbove/FromRight

 

XML representation: The text of the FromRight element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleAbove.FromRight when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaFromRight is selected in RuleAboveOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleAbove.FromRight multiplied by 1000000, then rounded to an integer when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaFromRight is selected in Options.

 

RuleAbove/Offset

 

XML representation: The text of the Offset element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleAbove.Offset when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaOffset is selected in RuleAboveOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleAbove.Offset multiplied by 1000000, then rounded to an integer when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaOffset is selected in Options.

 

RuleAbove/OffsetInPercent

 

XML representation: The text of the OffsetInPercent element.

 

Reading: Reads the element into RuleAbove.OffsetInPercent when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaOffset is selected in RuleAboveOptions.

 

Writing: Stores true or false according to RuleAbove.OffsetInPercent when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaOffset is selected in Options.

 

RuleAbove/Style.ID

 

XML representation: The text of the Style.ID element.

 

Reading: Reads the element into RuleAbove.Style.ID when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaStyle is selected in RuleAboveOptions.

 

Writing: Stores the numeric value of RuleAbove.Style.ID when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaStyle is selected in Options.

 

RuleAbove/Style.Name

 

XML representation: The text of the Style.Name element.

 

Reading: Reads the element into RuleAbove.Style.Name when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaStyle is selected in RuleAboveOptions.

 

Writing: Stores RuleAbove.Style.Name when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaStyle is selected in Options.

 

RuleAbove/Width

 

XML representation: The text of the Width element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleAbove.Width when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaWidth is selected in RuleAboveOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleAbove.Width multiplied by 1000000, then rounded to an integer when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaWidth is selected in Options.

 

RuleAbove/Color

 

XML representation: The text of the Color element.

 

Reading: Reads the element into RuleAbove.Color when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaColor is selected in RuleAboveOptions.

 

Writing: Stores RuleAbove.Color when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaColor is selected in Options.

 

RuleAbove/Shade

 

XML representation: The text of the Shade element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleAbove.Shade when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaShade is selected in RuleAboveOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleAbove.Shade multiplied by 1000000, then rounded to an integer when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaShade is selected in Options.

 

RuleAbove/Opacity

 

XML representation: The text of the Opacity element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleAbove.Opacity when the record node exists; node2 exists; strOptions is not empty; RuleAbove.Enabled is true; paRaOpacity is selected in RuleAboveOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleAbove.Opacity multiplied by 1000000, then rounded to an integer when paRuleAbove is selected in Options; RuleAbove.Enabled is true; paRaOpacity is selected in Options.

 

RuleBelow/Options

 

XML representation: The text of the Options element.

 

Reading: Reads the element into strOptions when the record node exists; node2 exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores strOptions when paRuleBelow is selected in Options.

 

RuleBelow/Enabled

 

XML representation: The text of the Enabled element.

 

Reading: Reads the element into RuleBelow.Enabled when the record node exists; node2 exists; strOptions is not empty.

 

Writing: Stores true or false according to RuleBelow.Enabled when paRuleBelow is selected in Options.

 

RuleBelow/Length

 

XML representation: The text of the Length element.

 

Reading: Reads the element into RuleBelow.Length when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbLength is selected in RuleBelowOptions.

 

Writing: Stores the numeric value of RuleBelow.Length (see the value table below) when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbLength is selected in Options.

 

RuleBelow/FromLeft

 

XML representation: The text of the FromLeft element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleBelow.FromLeft when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbFromLeft is selected in RuleBelowOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleBelow.FromLeft multiplied by 1000000, then rounded to an integer when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbFromLeft is selected in Options.

 

RuleBelow/FromRight

 

XML representation: The text of the FromRight element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleBelow.FromRight when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbFromRight is selected in RuleBelowOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleBelow.FromRight multiplied by 1000000, then rounded to an integer when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbFromRight is selected in Options.

 

RuleBelow/Offset

 

XML representation: The text of the Offset element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleBelow.Offset when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbOffset is selected in RuleBelowOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleBelow.Offset multiplied by 1000000, then rounded to an integer when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbOffset is selected in Options.

 

RuleBelow/OffsetInPercent

 

XML representation: The text of the OffsetInPercent element.

 

Reading: Reads the element into RuleBelow.OffsetInPercent when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbOffset is selected in RuleBelowOptions.

 

Writing: Stores true or false according to RuleBelow.OffsetInPercent when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbOffset is selected in Options.

 

RuleBelow/Style.ID

 

XML representation: The text of the Style.ID element.

 

Reading: Reads the element into RuleBelow.Style.ID when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbStyle is selected in RuleBelowOptions.

 

Writing: Stores the numeric value of RuleBelow.Style.ID when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbStyle is selected in Options.

 

RuleBelow/Style.Name

 

XML representation: The text of the Style.Name element.

 

Reading: Reads the element into RuleBelow.Style.Name when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbStyle is selected in RuleBelowOptions.

 

Writing: Stores RuleBelow.Style.Name when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbStyle is selected in Options.

 

RuleBelow/Width

 

XML representation: The text of the Width element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleBelow.Width when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbWidth is selected in RuleBelowOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleBelow.Width multiplied by 1000000, then rounded to an integer when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbWidth is selected in Options.

 

RuleBelow/Color

 

XML representation: The text of the Color element.

 

Reading: Reads the element into RuleBelow.Color when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbColor is selected in RuleBelowOptions.

 

Writing: Stores RuleBelow.Color when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbColor is selected in Options.

 

RuleBelow/Shade

 

XML representation: The text of the Shade element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleBelow.Shade when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbShade is selected in RuleBelowOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleBelow.Shade multiplied by 1000000, then rounded to an integer when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbShade is selected in Options.

 

RuleBelow/Opacity

 

XML representation: The text of the Opacity element.

 

Reading: Reads the stored number, divides it by 1000000.0, and assigns the result to RuleBelow.Opacity when the record node exists; node2 exists; strOptions is not empty; RuleBelow.Enabled is true; paRbOpacity is selected in RuleBelowOptions. The temporary numeric value starts at 0 before reading.

 

Writing: Stores RuleBelow.Opacity multiplied by 1000000, then rounded to an integer when paRuleBelow is selected in Options; RuleBelow.Enabled is true; paRbOpacity is selected in Options.

 

@rec_type

 

XML representation: The rec_type attribute.

 

Writing: Stores the literal text “TParagraphAttributesRec” whenever the writer reaches this field.

 

Formats/@rec_type

 

XML representation: The rec_type attribute.

 

Writing: Stores the literal text “TParagraphFormatsRec” when (Options *[paLeftIndent..paEndOfFormats]) contains selected options.

 

Tabulations/@rec_type

 

XML representation: The rec_type attribute.

 

Writing: Stores the literal text “TParagraphTabulationsRec” when paTabulations is selected in Options.

 

RuleAbove/@rec_type

 

XML representation: The rec_type attribute.

 

Writing: Stores the literal text “TParagraphRuleAboveBelowRec” when paRuleAbove is selected in Options.

 

RuleBelow/@rec_type

 

XML representation: The rec_type attribute.

 

Writing: Stores the literal text “TParagraphRuleAboveBelowRec” when paRuleBelow is selected in Options.

 

Nested records and repeated elements

 

Operation

XML location

When it is processed

Read DropCaps

Formats/DropCaps

the record node exists; node2 exists; strOptions is not empty; paDropCaps is selected in FormatsOptions; node3 exists

Read KeepLinesTogether

Formats/KeepLinesTogether

the record node exists; node2 exists; strOptions is not empty; paKeepLinesTogether is selected in FormatsOptions; node3 exists

Read LockToGrid

Formats/LockToGrid

the record node exists; node2 exists; strOptions is not empty; paLockToGrid is selected in FormatsOptions; node3 exists

Write DropCaps

Formats/DropCaps

(Options *[paLeftIndent..paEndOfFormats]) contains selected options; paDropCaps is selected in Options

Write KeepLinesTogether

Formats/KeepLinesTogether

(Options *[paLeftIndent..paEndOfFormats]) contains selected options; paKeepLinesTogether is selected in Options

Write LockToGrid

Formats/LockToGrid

(Options *[paLeftIndent..paEndOfFormats]) contains selected options; paLockToGrid is selected in Options

 

Initialization and reset values

 

TParagraphAttributesRec.Initialize

 

Setting or temporary variable

Initial value

When it is assigned

self

Default (TParagraphAttributesRec)

Always

Options

an empty set

Always

 

This routine also calls Formats.Initialize; Tabs.Initialize; RuleAbove.Initialize; RuleBelow.Initialize. See Implementation for their order and any conditional calls.

 

Supporting initializers and helpers supplied with the owner

 

These supporting records are used directly by this owner or by an initializer it calls. Their relevant supplied routines appear in separate Supporting implementation toggles below.

 

TParagraphFormatsRec.Initialize

 

Setting or temporary variable

Initial value

When it is assigned

LeftIndent

0.0

Always

FirstLine

0.0

Always

RightIndent

0.0

Always

Leading

0.0

Always

SpaceBefore

0.0

Always

SpaceAfter

0.0

Always

Just

joLeftAligned (0)

Always

CharAlign

caoBaseline (2)

Always

KeepWithNext

false

Always

DropCaps.Enabled

false

Always

KeepLinesTogether.Enabled

false

Always

 

Value namespaces used by this implementation

 

These are declared Pascal ordinal values. Use the ordinal only where the field serializer actually writes ord(...), an integer cast or an equivalent value. Set-marker strings and local option lists have their own representation; sentinel members in an enum are not automatically legal XML choices.

 

TParagraphAttributesOption

 

Ordinal

Declared member

0

paLeftIndent

1

paFirstLine

2

paRightIndent

3

paLeading

4

paSpaceBefore

5

paSpaceAfter

6

paJust

7

paCharAlign

8

paKeepWithNext

9

paDropCaps

10

paKeepLinesTogether

11

paLockToGrid

12

paEndOfFormats

13

paRuleAbove

14

paRaLength

15

paRaFromLeft

16

paRaFromRight

17

paRaOffset

18

paRaStyle

19

paRaWidth

20

paRaColor

21

paRaShade

22

paRaOpacity

23

paRaOverprint

24

paEndOfRuleAbove

25

paRuleBelow

26

paRbLength

27

paRbFromLeft

28

paRbFromRight

29

paRbOffset

30

paRbStyle

31

paRbWidth

32

paRbColor

33

paRbShade

34

paRbOpacity

35

paRbOverprint

36

paEndOfRuleBelow

37

paTabulations

38

paTabulationsUseAsLineEnding

39

paTabulationsXtags

40

paEndOfTabulations

 

Local numeric option lists

 

These lists use offsets within each section, not the absolute ordinal of TParagraphAttributesOption. Each decimal number must be followed by a comma. The supplied loop does not consume a final unterminated number.

 

Formats

 

Local stored ID

Option

0

LeftIndent

1

FirstLine

2

RightIndent

3

Leading

4

SpaceBefore

5

SpaceAfter

6

Just

7

CharAlign

8

KeepWithNext

9

DropCaps

10

KeepLinesTogether

11

LockToGrid

 

RuleAbove / RuleBelow

 

Local stored ID

Option

0

Rule

1

Length

2

FromLeft

3

FromRight

4

Offset

5

Style

6

Width

7

Color

8

Shade

9

Opacity

10

Overprint

 

Tabulations

 

Local stored ID

Option

0

Tabulations

1

UseAsLineEnding

2

Xtags

 

Storage declarations relevant to interpretation

 

These are in-memory member and property types, not a list of mandatory XML children. They retain array bounds, fixed buffers and selector types. The field reference above defines what is actually serialized.

 

Name

Declared type / bounds

Kind

Options

TParagraphAttributesOptions

member

Formats

TParagraphFormatsRec

member

Tabs

TXtagsTabs

member

RuleAbove

TRuleAboveBelow

member

RuleBelow

TRuleAboveBelow

member

 

TParagraphFormatsRec member shape

 

Member

Declared type

LeftIndent

double

FirstLine

double

RightIndent

double

Leading

double

SpaceBefore

double

SpaceAfter

double

Just

TJustOptions

CharAlign

TCharAlignOptions

DropCaps

TDropsCaps

LockToGrid

TGridLock

KeepLinesTogether

TKeepLinesTogether

KeepWithNext

boolean

 

Implementation details

 

The Implementation toggle contains only TParagraphAttributesRec methods. Initializers and helpers belonging to other types are identified separately below. Shared XML-helper limitations are explained in Reading this reference.

 

Declaration reproduces this record’s complete declaration from the supplied source, including its fields, properties and method signatures.

 

Declaration

 

Implementation

 

Supporting implementation — TParagraphFormatsRec

 

The following routines belong to TParagraphFormatsRec, a supporting type used by this implementation. They are not methods of TParagraphAttributesRec.

 

Declaration — TParagraphFormatsRec

 

Supporting implementation — TParagraphFormatsRec