2.6.4 Section Properties

A Prl structure with a sprm.sgc of 4 modifies a section property.

The following table specifies the section property modifiers, including the valid sprm values, their function, and the corresponding operand type and meaning.

sprm

ispmd

Operand

sprmScnsPgn

(0x3000)

0x00

A CNS indicating the number separator used between the chapter number and the page number for purpose of chapter numbering in page number fields (that is, when sprmSiHeadingPgn specifies a value other than 0).

By default, the chapter number separator is a hyphen (see cnsHyphen).

sprmSiHeadingPgn

(0x3001)

0x01

An unsigned 8-bit integer value that specifies which heading level starts new chapters for the purposes of chapter numbering in page number fields. The value MUST be in the interval [0, 9]. A value of 0 specifies that chapter numbers are not shown in page number fields, whereas values from 1 to 9 specify corresponding heading levels (1 specifies Heading 1, 2 specifies Heading 2, and so forth).

By default, chapter numbers are not shown in page number fields.

In the event that the style corresponding to the indicated heading level does not have associated numbering, chapter numbers are not shown in page number fields.

sprmSDxaColWidth

(0xF203)

0x03

An SDxaColWidthOperand that specifies the width of a particular column, in case columns are not evenly spaced as specified by sprmSFEvenlySpaced.

sprmSDxaColSpacing

(0xF204)

0x04

An SDxaColSpacingOperand that specifies the spacing between two columns in case columns are not evenly spaced (as instructed by sprmSFEvenlySpaced).

The iCol field of the SDxaColSpacingOperand structure specifies the index of the first of the two columns.

By default there is no spacing between columns.

sprmSFEvenlySpaced

(0x3005)

0x05

A Bool8 value that specifies whether the space between page margins is distributed evenly between all columns (after subtracting the space between columns, as instructed by sprmSDxaColumns). A value of 1 specifies that space is distributed evenly; a value of 0 specifies that column widths and inter-column spacing MUST be specified by sprmSDxaColWidth and sprmSDxaColSpacing.

By default, columns are evenly spaced.

sprmSFProtected

(0x3006)

0x06

A Bool8 value that specifies whether the section is unprotected in case document editing is restricted to form fields only (see DopBase.fProtEnabled). A value of 1 indicates that the section is unprotected, whereas a value of 0 indicates that the section is protected.

By default, the protection status of a section is specified by DopBase.fProtEnabled.

sprmSDmBinFirst

(0x5007)

0x07

A SDmBinOperand that specifies the paper source used by the printer for the first page of the section.

By default, no paper source is specified.

sprmSDmBinOther

(0x5008)

0x08

An SDmBinOperand that specifies the paper source used by the printer for all pages in the section except the first.

By default, no paper source is specified.

sprmSBkc

(0x3009)

0x09

An SBkcOperand that specifies what kind of section break terminates the section.

By default, section breaks are of type "Next Page" (see bkcNewPage).

sprmSFTitlePage

(0x300A)

0x0A

A Bool8 value that specifies whether the section has a different first page (a "title page"). A value of 1 indicates that the first page is separate, having its own header and footer. A value of 0 indicates that there is no title page.

By default, a section does not have a separate first page.

sprmSCcolumns

(0x500B)

0x0B

An unsigned 16-bit integer whose value is one less than the number of columns in this section. MUST be less than or equal to 43. A value of zero specifies a section with a single column.

By default, a section has a single column.

If the value is larger than zero, and the columns are not evenly spaced (as instructed by sprmSFEvenlySpaced), then there MUST be the same number of sprmSDxaColWidth as the columns, each specifying the width of a different column.

An end-of-column character (0xE) at a particular CP specifies a manual column break at that CP.

sprmSDxaColumns

(0x900C)

0x0C

An XAS_nonNeg that specifies the space between columns, in case columns are evenly spaced (as instructed by sprmSFEvenlySpaced).

By default, spacing between columns varies depending on implementation and system settings, so implementations SHOULD<157> write this Sprm out to ensure interoperability even if the value does not differ from the default.

The default values are dependent on the installation language of the application. The installation LCID values and their corresponding defaults are shown following.

LCID 1025: 720 twips

LCID 1026: 708 twips

LCID 1027: 708 twips

LCID 1028: 720 twips

LCID 1029: 708 twips

LCID 1030: 708 twips

LCID 1031: 720 twips

LCID 1032: 720 twips

LCID 1033: 720 twips

LCID 1034: 720 twips

LCID 1035: 708 twips

LCID 1036: 720 twips

LCID 1037: 720 twips

LCID 1038: 708 twips

LCID 1039: 708 twips

LCID 1040: 720 twips

LCID 1041: 720 twips

LCID 1042: 720 twips

LCID 1043: 708 twips

LCID 1044: 708 twips

LCID 1045: 708 twips

LCID 1046: 720 twips

LCID 1048: 708 twips

LCID 1049: 720 twips

LCID 1050: 720 twips

LCID 1051: 708 twips

LCID 1053: 720 twips

LCID 1055: 708 twips

LCID 1058: 720 twips

LCID 1059: 720 twips

LCID 1060: 708 twips

LCID 1061: 708 twips

LCID 1062: 720 twips

LCID 1063: 1296 twips

LCID 1067: 720 twips

LCID 1068: 720 twips

LCID 1069: 708 twips

LCID 1078: 708 twips

LCID 1079: 720 twips

LCID 1086: 720 twips

LCID 1087: 720 twips

LCID 1088: 708 twips

LCID 1089: 708 twips

LCID 1092: 720 twips

LCID 1104: 720 twips

LCID 2052: 720 twips

LCID 2070: 720 twips

LCID 2074: 708 twips

sprmSNfcPgn

(0x300E)

0x0E

An 8-bit MSONFC (as specified in [MS-OSHARED] section 2.2.1.3) that specifies the numbering format used for page numbers.

An application MAY<158> fall back to a different MSONFC if the format specified by the value is not a counting number format—for example, if it is msonfcBullet.

By default, page numbers use the msonfcArabic numbering format.

sprmSFPgnRestart

(0x3011)

0x11

A Bool8 value that specifies whether the section starts with a new page number. A value of 1 indicates that the section starts with a new page number as specified by sprmSPgnStart97 or sprmSPgnStart. A value of 0 indicates that page numbers continue from the previous section (or begin at 1, if this is the first section).

By default, page numbers continue from the previous section (or begin at 1, if this is the first section).

sprmSFEndnote

(0x3012)

0x12

A Bool8 value that specifies whether endnotes are shown at the end of the section. This SPRM is only considered when endnotes are set to show at the ends of sections (see DOPBASE.epc).

A value of 1 specifies that endnotes are shown at the end of the section.

A value of 0 specifies that endnotes are suppressed for the current section, and they are shown at the end of the next section for which endnotes are not suppressed. If such a section does not exist, the endnotes are shown at the end of the last section of the document.

By default, endnotes are not suppressed, and they show at the end of a section.

sprmSLnc

(0x3013)

0x13

An SLncOperand that specifies the line numbering mode to use in case line numbers are enabled (see sprmSNLnnMod).

By default, line numbers restart every page.

sprmSNLnnMod

(0x5015)

0x15

An unsigned 16-bit integer that specifies the distance in the number of lines between line number labels. For example, a value of 1 indicates that every line displays a line number, whereas a value of 3 indicates that only every third line shows a line number.

The value MUST be in the interval [0, 100]. A value of 0 specifies that line numbers are disabled.

By default, line numbers are disabled.

sprmSDxaLnn

(0x9016)

0x16

An XAS_nonNeg that specifies the distance between line numbers and the lines of text to which they apply. A value of 0 indicates that the application MUST automatically determine positioning.

By default, the positioning of line numbers is automatically determined.

sprmSDyaHdrTop

(0xB017)

0x17

A YAS_nonNeg that specifies the header distance, in twips, from the top edge of the page.

Because the default distance is dependent on the implementation and system settings, implementations SHOULD<159> write this Sprm out even if the value does not differ from the default.

The default values are dependent on the install language of the application. The installation LCID values and their corresponding defaults are shown following.

LCID 1025: 720 twips

LCID 1026: 708 twips

LCID 1027: 708 twips

LCID 1028: 720 twips

LCID 1029: 708 twips

LCID 1030: 708 twips

LCID 1031: 720 twips

LCID 1032: 720 twips

LCID 1033: 720 twips

LCID 1034: 720 twips

LCID 1035: 708 twips

LCID 1036: 720 twips

LCID 1037: 720 twips

LCID 1038: 708 twips

LCID 1039: 708 twips

LCID 1040: 720 twips

LCID 1041: 720 twips

LCID 1042: 720 twips

LCID 1043: 708 twips

LCID 1044: 708 twips

LCID 1045: 708 twips

LCID 1046: 720 twips

LCID 1048: 708 twips

LCID 1049: 720 twips

LCID 1050: 720 twips

LCID 1051: 708 twips

LCID 1053: 720 twips

LCID 1055: 708 twips

LCID 1058: 708 twips

LCID 1059: 708 twips

LCID 1060: 708 twips

LCID 1061: 708 twips

LCID 1062: 720 twips

LCID 1063: 567 twips

LCID 1067: 708 twips

LCID 1068: 708 twips

LCID 1069: 708 twips

LCID 1078: 708 twips

LCID 1079: 708 twips

LCID 1086: 720 twips

LCID 1087: 708 twips

LCID 1088: 708 twips

LCID 1089: 708 twips

LCID 1092: 708 twips

LCID 1104: 720 twips

LCID 2052: 720 twips

LCID 2070: 720 twips

LCID 2074: 708 twips

sprmSDyaHdrBottom

(0xB018)

0x18

An YAS_nonNeg that specifies the footer distance, in twips, from the bottom edge of the page.

Implementations SHOULD<160> write this Sprm out to ensure interoperability because the footer distance from the bottom is dependent on the implementation and system settings.

The default values are the same as listed for sprmSDyaHdrTop.

sprmSLBetween

(0x3019)

0x19

A Bool8 value that specifies whether lines are drawn between columns of text.

By default, lines are not drawn between columns of text.

sprmSVjc

(0x301A)

0x1A

A Vjc value that specifies the vertical justification of the section.

By default, sections are top-aligned (vjcTop).

sprmSLnnMin

(0x501B)

0x1B

An unsigned 16-bit integer whose value is one less than the starting value for line numbers. The value SHOULD<161> be less than or equal to 32766.

By default, line numbers begin at 1.

sprmSPgnStart97

(0x501C)

0x1C

An unsigned 16-bit integer that specifies the starting value for page numbers when the section has page number restart enabled (as specified by sprmSFPgnRestart). This value MUST be ignored if the section does not have page number restart enabled.

The value of the operand SHOULD<162> be less than or equal to 32766.

By default, page numbers restart at 0.

sprmSBOrientation

(0x301D)

0x1D

An SBOrientationOperand that specifies the page orientation of the section.

By default, the page orientation is portrait.

sprmSXaPage

(0xB01F)

0x1F

An unsigned 16-bit integer that specifies the page width of the section in twips. The value of the operand MUST be in the interval [144, 31680].

By default, the page width is 215.9 mm (8.5 inches, or 12240 twips).

sprmSYaPage

(0xB020)

0x20

An unsigned 16-bit integer that specifies the page height of the section, in twips. The value of the operand MUST be in the interval [144, 31680].

By default, the page height is 279.4 mm (11 inches, or 15840 twips).

sprmSDxaLeft

(0xB021)

0x21

An XAS_nonNeg that specifies the width, in twips, of the left margin.

By default, the width of the left margin varies depending on the implementation and the system settings, so implementations MUST use this SPRM to specify the left margin of each section.

sprmSDxaRight

(0xB022)

0x22

An XAS_nonNeg that specifies the width, in twips, of the right margin.

By default, the width of the right margin varies depending on the implementation and the system settings, so implementations MUST use this SPRM to specify the right margin of each section.

sprmSDyaTop

(0x9023)

0x23

A YAS that specifies the height of the top margin, in twips. A positive value indicates a minimum top margin; this margin MUST be grown to avoid overlapping the space that is occupied by headers. A negative value indicates a fixed margin; the top margin MUST be the absolute value of the value that is specified by this SPRM regardless of the space that is occupied by headers.

Each section MUST specify a top margin. The top margin MUST be less than or equal to 31665 and greater than or equal to -31665.

sprmSDyaBottom

(0x9024)

0x24

A YAS that specifies the height of the bottom margin, in twips. A positive value specifies a minimum bottom margin; this margin MUST be grown to avoid overlapping the space that is occupied by footers or footnotes. A negative value specifies a fixed margin; the bottom margin MUST be the absolute value of the value that is specified by this SPRM regardless of the space that is occupied by footers or footnotes.

Each section MUST specify a bottom margin. The bottom margin MUST be less than or equal to 31665 and greater than or equal to -31665.

sprmSDzaGutter

(0xB025)

0x25

An unsigned 16-bit integer that specifies the size of the gutter margin, in twips.

By default, there is no gutter margin.

sprmSDmPaperReq

(0x5026)

0x26

A 16-bit unsigned integer that specifies a tie-breaker value to be used when more than one available paper format ("Letter Matte", "Letter Gloss", "Letter w/ Letterhead", "Letter Pink", and so on) matches the page dimensions as specified by sprmSXaPage and sprmSYaPage. This tie-breaker value MAY<163> be ignored.

The determination and interpretation of this value is implementation-specific.

The determination of the paper sizes for an application is implementation-specific

sprmSFBiDi

(0x3228)

0x28

A Bool8 value that specifies whether the section uses right-to-left layout; that is, line numbers are displayed on the right side of text and columns are populated from right to left.

By default, sections do not use right-to-left layout.

sprmSFRTLGutter

(0x322A)

0x2A

A Bool8 value that specifies whether the gutter margin requires right-to-left layout. A value of 1 indicates a right-to-left gutter margin.

By default, gutter margins are not right-to-left.

sprmSBrcTop80

(0x702B)

0x2B

A Brc80 that specifies the top page border.

By default, pages have no top border.

sprmSBrcLeft80

(0x702C)

0x2C

A Brc80 that specifies the left page border.

By default, pages have no left border.

sprmSBrcBottom80

(0x702D)

0x2D

A Brc80 that specifies the bottom page border.

By default, pages have no bottom border.

sprmSBrcRight80

(0x702E)

0x2E

A Brc80 that specifies the right page border.

By default, pages have no right border.

sprmSPgbProp

(0x522F)

0x2F

An SPgbPropOperand that specifies page border properties.

By default, page borders apply to all pages of the section (pgbAllPages), they are displayed in front of text and other content (pgbAtFront), and their distance is measured from text (pgbFromText).

sprmSDxtCharSpace

(0x7030)

0x30

A signed 32-bit integer that specifies the difference between the desired character pitch for the document grid, if enabled (see sprmSClm), and the pitch of the font that is specified by the Normal style. The resolution of the operand is 4096/pt. That is, a 1-pt difference between the desired character pitch and the font size as specified by the Normal style would affect the operand by 4096. For example, if the Normal style specified a font size of 11 pt, an operand value of 6144 would specify a desired character pitch for document grid of 12.5 pt (because 6144 / 4096 = 1.5 pt, so 11 pt + 1.5 pt = 12.5 pt).

By default, there is no difference between the desired character pitch for the document grid and the pitch of the font that is specified by the Normal style.

This value MUST be greater than or equal to -670925 and MUST be less than or equal to 6488064.

sprmSDyaLinePitch

(0x9031)

0x31

A YAS that specifies, in twips, the line height that is used for document grid, if enabled (see sprmSClm). This line height does not apply to lines within table cells in case the fDontAdjustLineHeightInTable flag is set in the document Dop2000.

If the document grid is enabled (see sprmSClm), a section MUST specify the line height that is used for the document grid.

This value MUST be greater than or equal to 1, and MUST be less than or equal to 31680.

sprmSClm

(0x5032)

0x32

An SClmOperand that specifies the document grid mode that is in use for the section.

By default, document grid is disabled (clmUseDefault).

sprmSTextFlow

(0x5033)

0x33

A MSOTXFL that specifies the text flow of the section, as specified in [MS-ODRAW] section 2.4.5.

sprmSBrcTop

(0xD234)

0x34

A BrcOperand that specifies the top page border.

By default, pages have no top border.

sprmSBrcLeft

(0xD235)

0x35

A BrcOperand that specifies the left page border.

By default, pages have no left border.

sprmSBrcBottom

(0xD236)

0x36

A BrcOperand that specifies the bottom page border.

By default, pages have no bottom border.

sprmSBrcRight

(0xD237)

0x37

A BrcOperand that specifies the right page border.

By default, pages have no right border.

sprmSWall

(0x3239)

0x39

A Bool8 value that specifies whether the values of section properties are preserved for revision marking purposes until the modifications are accepted or rejected by the user.

A value of 1 specifies that the values of properties are preserved. All SPRMs that are encountered before the sprmSWall in the property evaluation of the section specify the state of properties before revision marking was enabled, whereas all SPRMs following the sprmSWall specify the property modifications that occurred afterwards.

A value of 0 specifies that no values are preserved (overriding any previously encountered sprmSWall SPRMs that specify the contrary). Neither SPRMs encountered before the sprmSWall, nor subsequent SPRMs (until another sprmSWall, if any), are treated in any special way with regard to revision marking.

By default, the values of properties are not preserved.

sprmSRsid

(0x703A)

0x3A

An integer that specifies a revision save ID, as specified in [ECMA-376] Part 4, Section 2.15.1.70 rsid (Single Session Revision Save ID), associated with section formatting. If this value is not present, no revision save ID is specified for this formatting.

sprmSFpc

(0x303B)

0x3B

An SFpcOperand that specifies the footnote positioning for the section.

By default, footnotes are positioned at the bottom of the page (see fpcBottomPage).

sprmSRncFtn

(0x303C)

0x3C

An Rnc that specifies whether and when footnote numbering is restarted. All possible values of the Rnc enumeration are allowed.

By default, footnotes are numbered continuously (see rncCont).

sprmSRncEdn

(0x303E)

0x3E

An Rnc value that specifies whether and when endnote numbering is restarted. The value MUST be either rncCont or rncRstSect, as rncRstPage does not apply to endnotes.

By default, endnotes are numbered continuously (see rncCont).

sprmSNFtn

(0x503F)

0x3F

An unsigned 16-bit integer that specifies an offset to add to footnote numbers in this section.

If this section has continuous footnote numbering (as specified by sprmSRncFtn), then the value of the sprm minus one MUST be added to every footnote number. (For example, with an offset of 6, a footnote that would have been numbered 2 is now numbered 2+5=7.) The sprm value MUST be less than or equal to 16383. If this section does not have continuous footnote numbering, the value of this sprm MUST be ignored.

By default, no offset is added to footnote numbers.

sprmSNfcFtnRef

(0x5040)

0x40

A 16-bit MSONFC (as specified in [MS-OSHARED] section 2.2.1.3) that specifies the numbering format used for footnotes.

By default, footnotes use the msonfcArabic numbering format.

sprmSNEdn

(0x5041)

0x41

An unsigned 16-bit integer that specifies an offset to add to endnote numbers in this section.

If this section has continuous endnote numbering (as specified by sprmSRncEdn), then every endnote number in this section is offset by the value of this operand minus one. (For example, with an offset of 6, a endnote that would have been numbered 2 is now numbered 2+5=7.) The operand value MUST be less than or equal to 16383. If this section does not have continuous endnote numbering, this operand MUST be ignored.

By default, no offset is added to endnote numbers.

sprmSNfcEdnRef

(0x5042)

0x42

A 16-bit MSONFC (as specified in [MS-OSHARED] section 2.2.1.3) that specifies the numbering format used for endnotes.

By default, endnotes use the msonfcLCRoman numbering format.

sprmSPropRMark

(0xD243)

0x43

A PropRMarkOperand that specifies whether the section has an associated property revision mark, as well as its author and date/time.

By default, sections have no property revision marks.

sprmSPgnStart

(0x7044)

0x44

An unsigned 32-bit integer that specifies the starting value for page numbers when the section has page number restart enabled (as specified by sprmSFPgnRestart). MUST be ignored if the section does not have page number restart enabled.

The value of the operand MUST be less than or equal to 2147483646.

By default, page numbers restart at 0.