2.2.1.9 EmfPlusStringFormat Object

The EmfPlusStringFormat object specifies text layout, display manipulations, and language identification.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Version

StringFormatFlags

Language

StringAlignment

LineAlign

DigitSubstitution

DigitLanguage

FirstTabOffset

HotkeyPrefix

LeadingMargin

TrailingMargin

Tracking

Trimming

TabStopCount

RangeCount

StringFormatData (variable)

...

Version (4 bytes): An EmfPlusGraphicsVersion object (section 2.2.2.19) that specifies the version of operating system graphics that was used to create this object.

StringFormatFlags (4 bytes): An unsigned integer that specifies text layout options for formatting, clipping and font handling. This value is composed of StringFormat flags (section 2.1.2.8).

Language (4 bytes): An EmfPlusLanguageIdentifier object (section 2.2.2.23) that specifies the language to use for the string.

StringAlignment (4 bytes): An unsigned integer that specifies how to align the string horizontally in the layout rectangle. This value is defined in the StringAlignment enumeration (section 2.1.1.28).

LineAlign (4 bytes): An unsigned integer that specifies how to align the string vertically in the layout rectangle. This value is defined in the StringAlignment enumeration.

DigitSubstitution (4 bytes): An unsigned integer that specifies how to substitute numeric digits in the string according to a locale or language. This value is defined in the StringDigitSubstitution enumeration (section 2.1.1.29).

DigitLanguage (4 bytes): An EmfPlusLanguageIdentifier object that specifies the language to use for numeric digits in the string. For example, if this string contains Arabic digits, this field MUST contain a language identifier that specifies an Arabic language.

FirstTabOffset (4 bytes): A floating-point value that specifies the number of spaces between the beginning of a text line and the first tab stop.

HotkeyPrefix (4 bytes): A signed integer that specifies the type of processing that is performed on a string when a keyboard shortcut prefix (that is, an ampersand) is encountered. Basically, this field specifies whether to display keyboard shortcut prefixes that relate to text. The value is defined in the HotkeyPrefix enumeration (section 2.1.1.14).

LeadingMargin (4 bytes): A floating-point value that specifies the length of the space to add to the starting position of a string. The default is 1/6 inch; for typographic fonts, the default value is 0.

TrailingMargin (4 bytes): A floating-point value that specifies the length of the space to leave following a string. The default is 1/6 inch; for typographic fonts, the default value is 0.

Tracking (4 bytes): A floating-point value that specifies the ratio of the horizontal space allotted to each character in a specified string to the font-defined width of the character. Large values for this property specify ample space between characters; values less than 1 can produce character overlap. The default is 1.03; for typographic fonts, the default value is 1.00.

Trimming (4 bytes): How to trim characters from a string that is too large to fit into a layout rectangle. This value is defined in the StringTrimming enumeration (section 2.1.1.30).

TabStopCount (4 bytes): A signed integer that specifies the number of tab stops defined in the StringFormatData field.

RangeCount (4 bytes): A signed integer that specifies the number of EmfPlusCharacterRange object (section 2.2.2.8) defined in the StringFormatData field.

StringFormatData (variable): An EmfPlusStringFormatData object (section 2.2.2.44) that specifies optional text layout data.

See section 2.2.1 for the specification of additional graphics objects.