2.6.1 Character Properties
A Prl with a sprm.sgc of 2 modifies a character property.
The following table specifies the character property modifiers, including the valid sprm values, their function, and the corresponding operand type and meaning.
Sprm |
ispmd |
operand |
---|---|---|
(0x0800) |
0x00 |
A ToggleOperand that specifies whether the text is formatted as deleted revision mark text, which is text that was deleted while revision marking was on. By default, text is not formatted as deleted revision mark text. |
(0x0801) |
0x01 |
A ToggleOperand that specifies whether the text is formatted as inserted revision mark text, which is text that was inserted while revision marking was on. By default, text is not formatted as inserted revision mark text. |
(0x0802) |
0x02 |
A ToggleOperand that specifies whether the field text is hidden. By default, field text is not hidden. |
(0x6A03) |
0x03 |
A signed 32-bit integer that specifies either the position in the Data Stream of a picture or binary data or the name of an OLE object storage. Text with sprmCPicLocation applied MUST also have sprmCFSpec applied with a value of 1. The text range MUST contain only characters from the special characters specified in sprmCFSpec. The value of sprmCPicLocation is evaluated for each character in the text range. The value is evaluated differently depending on the character code, as shown following:
If the character is U+0001:
If the character is U+0014:
If there is another character, sprmCPicLocation MUST be ignored.
sprmCPicLocation MUST be present for characters that indicate a picture, binary data, or OLE object storage. |
(0x4804) |
0x04 |
A signed 16-bit integer that specifies a zero-based index into SttbfRMark. This value MUST be greater than or equal to zero and MUST be less than SttbfRMark.cData. The string at this index is the name of the author who inserted the text. This is only recorded if revision marking is on at the time of the insertion. By default, this index is zero, which is the index of the "unknown" author. |
(0x6805) |
0x05 |
A DTTM that specifies the date and time at which the text was inserted. This is recorded only if revision marking is on at the time of the insertion. By default, all fields of this DTTM are zero. |
(0x0806) |
0x06 |
A Bool8 that specifies whether the picture character in the text represents binary data. If set to true, the text range MUST contain exactly 1 character that is the picture character (U+0001) and sprmCPicLocation MUST be present to specify the location of the binary data. By default, a picture character specifies a picture and does not specify binary data. |
(0x4807) |
0x07 |
An unsigned 16-bit integer that specifies the reason value of the inserted or modified revision mark text. This is recorded only if revision marking is on at the time of the text insertion or modification. MUST be one of the values shown following.
By default, the reason value of text that is revision-marked is zero. |
(0x6A09) |
0x09 |
A CSymbolOperand structure that designates the character as a symbol and specifies the font and character code for the symbol. By default, characters are not symbols. |
(0x080A) |
0x0A |
A Bool8 value that specifies whether the character is a placeholder for an OLE object. When sprmCFOle2 is true, sprmCFObj MUST also be true, and sprmCPicLocation MUST also be set with the OLE storage name. The character representing the OLE object MUST be the field separator (U+00014) of an EMBED field (0x3A), LINK field (0x38), or CONTROL field (0x57). By default, characters are not placeholders for OLE objects. |
(0x2A0C) |
0x0C |
An Ico value that specifies the highlighting color of the text. By default, text is not highlighted. |
(0x0811) |
0x11 |
A ToggleOperand value that specifies whether the text is hidden in Web Layout view of the document. By default, text is not hidden in Web Layout view. |
(0x6815) |
0x15 |
An integer value 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 character formatting. If not present, then no revision save ID is specified for this formatting. |
(0x6816) |
0x16 |
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 insertion of text. If not present, then no revision save ID is specified for this text. |
(0x6817) |
0x17 |
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 tracked deletion of text. If not present, then no revision save ID is specified for this deletion. |
(0x0818) |
0x18 |
A ToggleOperand that specifies that this line break does not indicate a line break but serves as a style separator. A style separator allows one paragraph to consist of parts that have different paragraph styles. This Sprm MUST NOT be applied to any character other than a line break character (Unicode 0x000B). By default, line break characters specify regular line breaks, and are not used as style separators. |
(0xC81A) |
0x1A |
A MathPrOperand that specifies the justification of equations in the paragraph. This Sprm MUST only be applied to paragraph mark characters or line break characters (Unicode 0x000B). By default, equations are justified according to the mthbpjc member of the DOPMTH. MAY<145> be ignored. |
(0x4A30) |
0x30 |
An unsigned integer that specifies the istd of a character style to apply. To apply the istd:
During steps 1 and 3, preserve the previous values of the following:
By default, text has the character style specified by istd 0x000A.
|
(0xCA31) |
0x31 |
An SPPOperand value that specifies a potential application of a different character style (istd). If the istd is not affected, this Prl MUST be ignored. If the istd is affected, the operation of this sprm specifies the new istd as equivalent to sprmCIstd. Note that the character properties of the text that are not specified by the current character style are reapplied after applying sprmCIstdPermute. By default, the character style of the text is unaffected. |
(0x2A33) |
0x33 |
The operand is an unsigned integer that MUST be 0 and MUST be ignored. The presence of this Sprm specifies a reset of the character properties of the text to match that of the underlying paragraph style (taking style hierarchy into account), while preserving the previous values of properties in the following list. To determine the properties of the underlying paragraph style (taking style hierarchy into account), follow the algorithm in Determining Formatting Properties but stop before applying Direct Character Formatting. (In other words, the new values are determined by evaluating the properties of the text as if no character style or direct character formatting are applied; see Style Hierarchy in [ECMA-376] Part 4, Section 2.7.2 for further specification.) The following properties MUST NOT be affected by the application of sprmCPlain:
By default, the character properties of the text are not reset.
|
(0x2A34) |
0x34 |
A byte that specifies the kind of emphasis to apply to the text. The operand MUST be one of the following values.
The operands map to Unicode characters as shown following. The East Asian language of the text is specified by sprmCRgLid1_80 and sprmCRgLid1. The default East Asian language is Japanese if sprmCRgLid1_80 or sprmCRgLid1 does not specify Japanese, Korean, Chinese (Taiwan), or Chinese (China).
If the meaning of the operand is "solid circle", the following applies:
If the meaning of the operand is "comma above", the following applies:
If the meaning of the operand is "circle above", the following applies:
If the meaning of the operand is "solid circle below", the following applies:
By default, text has no emphasis mark. |
(0x0835) |
0x35 |
A ToggleOperand value that specifies whether the text is bold. By default, text is not bold. |
(0x0836) |
0x36 |
A ToggleOperand value that specifies whether the text is italicized. By default, text is not italicized. |
(0x0837) |
0x37 |
A ToggleOperand value that specifies whether the text is formatted with strikethrough. By default, text is not struck through. |
(0x0838) |
0x38 |
A ToggleOperand value that specifies whether only the outline contour of the characters in the text is rendered, with the inside of each character left empty. By default, text is rendered in normal solid characters. If sprmCFEmboss, or sprmCFImprint is true, then sprmCFOutline MUST be false. |
(0x0839) |
0x39 |
A ToggleOperand value that specifies whether the text is formatted with a shadow. By default, text has no shadow. If sprmCFEmboss or sprmCFImprint is true, then sprmCFShadow MUST be false. |
(0x083A) |
0x3A |
A ToggleOperand value that specifies whether the text characters are displayed as their capital letter equivalents, in a font size that is smaller than the actual font size that is specified for this text. It does not affect any nonalphabetic character. By default, the characters are displayed in their original character form. |
(0x083B) |
0x3B |
A ToggleOperand value that specifies whether the text characters are displayed as their capital letter equivalents. It does not affect any nonalphabetic character. By default, the characters are displayed in their original character form. |
(0x083C) |
0x3C |
A ToggleOperand value that specifies whether the text is formatted as hidden. By default, text is not hidden. |
(0x2A3E) |
0x3E |
A Kul value that specifies the underlining style of the text. By default, text is not underlined. |
(0x8840) |
0x40 |
An XAS value that specifies the extra space, in twips, between a character and the one to its right. This does not vary with the directionality of the script or layout. Negative values indicate that space is removed, possibly producing character overlap. Negative space beyond the character width is ignored. By default, the space to the right of a character is neither added nor removed. |
(0x2A42) |
0x42 |
An Ico value that specifies the color of the text. The default text color is cvAuto. |
(0x4A43) |
0x43 |
An unsigned 2-byte integer that specifies the size of the text, except for text that meets the qualifications for sprmCHpsBi. This value is specified in half-points. The specified value MUST be between 2 and 3276. By default, the font size is 20 half-points. |
(0x4845) |
0x45 |
A signed integer value that specifies the vertical position, in half-points, of text relative to the normal position. The specified value MUST be between -3168 and 3168. By default, text is in its normal vertical position. |
(0xCA47) |
0x47 |
A CMajorityOperand value that specifies which of the character properties of the text to reset to match the properties of the underlying paragraph style, taking the style hierarchy into account. If the character style index (the istd) of the text is not 10 (the default), this Sprm MUST be ignored. sprmCMajority can affect any of the character properties in the following list. If a character property is affected, that property on the text is then set to the value of that property in the underlying paragraph style, taking the style hierarchy into account. To determine if a given property (from the following list of potentially affected character properties) is affected, do the following:
After it is determined that a property is affected, see sprmCPlain for information about how to determine the properties of the underlying paragraph style. Note that two special cases occur in the determination of whether a property is affected:
The character properties (potentially) affected are:
Any character property that is not in this list MUST NOT be affected by sprmCMajority.
|
(0x2A48) |
0x48 |
An 8-bit unsigned integer that specifies superscript or subscript for text. By default, text is normal. The value MUST be one of those listed following.
|
sprmCHpsKern (0x484B) |
0x4B |
A signed integer that specifies a font size threshold, in half-points, at or above which kerning is applied to the text. If the operand is 0, no kerning is applied; otherwise, it MUST be a value between 1 and 3276. By default, kerning is not applied to any characters. |
sprmCHresi (0x484E) |
0x4E |
An HresiOperand value that specifies the word-breaking behavior for the text. By default the text uses normal hyphenation. |
(0x4A4F) |
0x4F |
A 2-byte signed integer value that is an index into the font table (SttbfFfn). The font that is referenced by this index is used to display the text only if the conditions for using these fonts do not apply: sprmCRgFtc1, sprmCRgFtc2 and sprmCFtcBi. This value MUST be between 0 and a number that is one less than the count of entries in SttbfFfn unless there are 0 entries, in which case this value MUST be 0. By default, the font used under these conditions is STSH.Stshi.Stshif.ftcAsci. |
(0x4A50) |
0x50 |
A 2-byte signed integer value that is an index into the font table (SttbfFfn). The font referenced by this index is used only if the language for the text is an East Asian language. This value MUST be between 0 and a number that is one less than the count of entries in SttbfFfn unless there are 0 entries, in which case this value MUST be 0. By default, the font that is used under these conditions is STSH.Stshi.Stshif.ftcFE. |
(0x4A51) |
0x51 |
A 2-byte signed integer that is an index into the font table (SttbfFfn). The font that is referenced by this index is used to display text if the character falls outside the Unicode character range U+0020 to U+007F and the conditions for using these fonts do not apply: sprmCRgFtc1 and sprmCFtcBi. This value MUST be between 0 and a number that is one less than the count of entries in SttbfFfn unless there are 0 entries, in which case this value MUST be 0. By default, the font that is used under these conditions is STSH.Stshi.Stshif.ftcOther. |
sprmCCharScale (0x4852) |
0x52 |
A 2-byte unsigned integer that specifies the percentage by which to horizontally scale the text, thereby changing the shape of the characters. The value MUST be greater than or equal to 1, and less than or equal to 600. Values that are less than 100 represent the compressing of text. Values that are greater than 100 represent the expanding of text. By default, text is neither compressed nor expanded. |
(0x2A53) |
0x53 |
A ToggleOperand value that specifies whether the text is formatted with the double strikethrough effect. By default, text is not struck through. |
(0x0854) |
0x54 |
A ToggleOperand value that specifies whether the text is formatted with the imprint effect. By default, text does not have this formatting applied. If sprmCFEmboss, sprmCFOutline or sprmCFShadow is "true", then sprmCFImprint MUST be "false". |
(0x0855) |
0x55 |
A ToggleOperand value that specifies whether the current text has a meaning that differs or displays differently than the underlying character to which it is applied. This value SHOULD<146> be applied only to the following characters.
By default, characters have no special meaning beyond their underlying glyph. |
(0x0856) |
0x56 |
A Bool8 value that specifies whether the current text represents an embedded object. If sprmCFObj is "true", sprmCFOle2 MUST also be "true". By default, text is not an embedded object. |
sprmCPropRMark90 (0xCA57) |
0x57 |
A PropRMarkOperand value that specifies whether the character run has an associated property revision mark, as well as its author and date/time. By default, character runs have no property revision marks. |
(0x0858) |
0x58 |
A ToggleOperand value that specifies whether the text is embossed. By default, text is not embossed. If sprmCFOutline, sprmCFShadow or sprmCFImprint is "true", sprmCFEmboss MUST be "false". |
(0x2859) |
0x59 |
A byte that specifies a text effect to apply to the text. By default, text does not have any text effects. The allowed values and their meanings are listed following.
|
(0x085A) |
0x5A |
A ToggleOperand value that specifies whether the text is formatted with right-to-left layout. By default, text is displayed from right to left if the language for the text is a right-to-left language. |
(0x085C) |
0x5C |
A ToggleOperand value that specifies whether the text is formatted bold when displayed right-to-left or determined to be complex script. By default, text is not bold. |
(0x085D) |
0x5D |
A ToggleOperand value that specifies whether the text is italicized when displayed right-to-left or determined to be complex script. By default, text is not italicized. |
(0x4A5E) |
0x5E |
A 2-byte signed index into the font table (SttbfFfn). The font that is referenced by this index is used to display the text only if the text flow is right-to-left or if the text is a complex script. This value MUST be a number that is between 0 and one less than the count of entries in SttbfFfn unless there are 0 entries, in which case this value MUST be 0. By default, the font used under these conditions is STSH.Stshi.ftcBi. |
(0x485F) |
0x5F |
A LID value that specifies the language of the text when the text is displayed right-to-left or if the text is complex script. By default, text language is undefined and text is not checked for spelling, grammar, or hyphenation. |
sprmCIcoBi (0x4A60) |
0x60 |
An ICO value that specifies the color of text when displayed right-to-left or determined to be complex script.<147> |
(0x4A61) |
0x61 |
An unsigned 2-byte integer value that specifies the size of the text, for text that is displayed right-to-left or text that is a complex script. This value is specified in half-points. The specified value MUST be between 0 and 3276. By default, text of the following Unicode subranges uses the associated size, in half points, as specified in [MC-USB].
Text of other Unicode subranges uses a font size of 24 half points. |
(0xCA62) |
0x62 |
A DispFldRmOperand value that indicates a revision within the result of a display field. This sprm MUST be applied only to a LISTNUM display field. |
(0x4863) |
0x63 |
A signed 16-bit integer value that specifies a zero-based index into SttbfRMark. This value MUST be greater than or equal to zero and MUST be less than SttbfRMark.cData. The string at this index is the name of the author who deleted the text. This is recorded only if revision marking is on at the time of deletion. By default, this index is zero, which is the index of the "Unknown" author. |
(0x6864) |
0x64 |
A DTTM value that specifies the date and time at which the text was deleted. This is recorded only if revision marking is on at the time of the deletion. By default, the date is 1/1/1900 and the time is 00:00:00. |
sprmCBrc80 (0x6865) |
0x65 |
A Brc80 value that specifies the border of all four sides of the text. The logical left border is hidden if the previous character on the same line has the same border as this character. The logical right border is hidden if the next character on the same line has the same border as this character. By default, text has no border. Brc80.dptSpace MUST be ignored when applied to character borders. |
sprmCShd80 (0x4866) |
0x66 |
A Shd80 structure that specifies the background shading for the text. By default, text is not shaded. |
(0x4867) |
0x67 |
An unsigned 16-bit integer that specifies the reason why the text under revision was deleted. This is recorded only if revision marking is on at the time when the text is edited. This value MUST be one of the following.
By default, the reason for the revision is "Performed a normal edit." |
sprmCFUsePgsuSettings (0x0868) |
0x68 |
A ToggleOperand value that specifies whether the text is to be displayed according to the document grid. By default, text uses the document grid if one is defined. (See sprmSClm for more details about the document grid.) |
(0x486D) |
0x6D |
A LID value that specifies the language of the text, except for East Asian languages. East Asian languages are specified by sprmCRgLid1_80. By default, the text language is undefined. |
(0x486E) |
0x6E |
A LID value that specifies the language of the text if it is an East Asian language. Other languages are specified by sprmCRgLid0_80. By default, the text language is undefined. |
(0x286F) |
0x6F |
An 8-bit unsigned integer value that specifies which of the language, font, size, bold, and italic properties is to be used for handling the text, in the case where this cannot be derived from the characters themselves. The valid values and their meanings are specified as follows. These meanings correspond to the values of the ST_Hint type specified in [ECMA-376] Part 4, Section 2.18.47.
|
(0x6870) |
0x70 |
A COLORREF value that specifies the color of the text. The default text color is cvAuto. |
sprmCShd (0xCA71) |
0x71 |
A SHDOperand value that specifies the background shading for the text. By default, text is not shaded. |
sprmCBrc (0xCA72) |
0x72 |
A BrcOperand value that specifies the border on all four sides of the text. The logical left border is hidden if the previous character on the same line has the same border as this character. The logical right border is hidden if the next character on the same line has the same border as this character. By default, text has no border. Brc.dptSpace MUST be ignored when applied to character borders. |
(0x4873) |
0x73 |
A LID value that specifies the language of the text, except for East Asian languages. East Asian languages are specified by sprmCRgLid1. By default, the text language is undefined and text is not checked for spelling, grammar, or hyphenation. |
(0x4874) |
0x74 |
A LID value that specifies the language of the text if it is an East Asian language. Other languages are specified by the sprmCRgLid0. By default, the text language is undefined and text is not checked for spelling, grammar, or hyphenation. |
(0x0875) |
0x75 |
A ToggleOperand value that specifies whether the text is excluded from the proofing analysis. By default, text is not excluded from the proofing analysis. |
(0xCA76) |
0x76 |
A CFitTextOperand value that specifies a width, in twips, to which text is expanded or condensed to fit. By default, text is not modified to fit into a specific width. |
sprmCCvUl (0x6877) |
0x77 |
A COLORREF value that specifies the color of the text underline. The default underline color is cvAuto. |
sprmCFELayout (0xCA78) |
0x78 |
A FarEastLayoutOperand value that specifies text layout information for East Asian languages. By default, text layout is unchanged by the sprmCFELayout value. |
(0x2879) |
0x79 |
An LBCOperand value that specifies that this character is a special character representing a line break of the given type. The presence of a line break character means that the line ends at this point and that the rest of the text continues on another line even though it is part of the same paragraph. This Sprm MUST NOT be applied to any character other than a line break character (Unicode 0x000B). By default, text restarts at the beginning of the next line after a line break character. |
(0x0882) |
0x82 |
A ToggleOperand value that specifies whether complex script formatting (for example, see sprmCFBoldBi) is applied to the text regardless of the Unicode characters themselves. By default, characters are evaluated to determine whether complex script formatting is applied. |
(0x2A83) |
0x83 |
A Bool8 value that specifies whether the values of character 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 character SPRMs that are encountered before the sprmCWall in the text property evaluation specify the state of the character properties before revision marking is enabled, whereas all character SPRMs that follow the sprmCWall specify the character property modifications that occur after revision marking is enabled. A value of 0 specifies that no values have been preserved (overriding any previously encountered sprmCWall SPRMs that specify the contrary). Neither SPRMs encountered before the sprmCWall, nor subsequent SPRMs (until another sprmCWall, if any), are treated in any special way with regard to revision marking. By default, values of properties are not preserved. |
(0xCA85) |
0x85 |
A CNFOperand that specifies conditional character formatting for a specific condition of a table style. The grpprl member of CNFOperand specifies the character formatting properties and MUST NOT contain any Sprms that are disallowed in the grpprlChpx member of UpxChpx. This sprm MUST only be specified within the grpprlChpx member of a UpxChpx within a table style definition (LPStd). By default, a table style definition does not include conditional formatting. |
(0x2A86) |
0x86 |
An FFM that specifies the type of font substitution that is needed for the associated text. Font substitution is needed when certain language characters are not supported by the current font for the text, so it is necessary to pick a different font that supports the characters. By default, text is not marked as requiring font substitution. |
(0x6887) |
0x87 |
A CP value in the Bullet Pictures document that specifies which picture is used as a bullet character when rendering the bullet. The CP value MUST be greater than or equal to zero. The Bullet Pictures document is stored within the main document and marked by a hidden bookmark (1) called "_PictureBullets." This Sprm MUST NOT be applied to any character other than a paragraph mark (Unicode 0x000D), a cell mark (Unicode 0x0007), or a section mark (Unicode 0x000C). If a picture bullet is used, sprmCPbiGrf MUST be present to specify the properties of the picture bullet. By default, pictures are not used for rendering bullets. |
(0x4888) |
0x88 |
A PbiGrfOperand value that specifies whether a picture is used as a bullet character when rendering the bullet. This value also specifies the properties of the picture bullet. This Sprm MUST NOT be applied to any character other than a paragraph mark (Unicode 0x000D). If a picture bullet is used, sprmCPbiIBullet MUST be present to specify the location of the picture that is used for the bullet. By default, pictures are not used to render bullets. |
(0xCA89) |
0x89 |
A PropRMarkOperand value that specifies whether the text has an associated property revision mark, as well as its author and the date and time. By default, text has no property revision marks. |
(0x2A90) |
0x90 |
A Bool8 value that specifies whether the text is hidden from display when the option to hide arbitrary XML delimiters is enabled. This value MUST NOT be applied to any characters other than '<' (U+003C) or '>' (U+003E) with sprmCFSpec set to "true". By default, text is not hidden when the option to hide XML delimiters is enabled. |