2.3.3.5 META_EXTTEXTOUT Record
The META_EXTTEXTOUT Record outputs text by using the font, background color, and text color that are defined in the playback device context. Optionally, dimensions can be provided for clipping, opaquing, or both.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RecordSize |
|||||||||||||||||||||||||||||||
RecordFunction |
Y |
||||||||||||||||||||||||||||||
X |
StringLength |
||||||||||||||||||||||||||||||
fwOpts |
Rectangle (optional) |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
String (variable) |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Dx (variable) |
|||||||||||||||||||||||||||||||
... |
RecordSize (4 bytes): A 32-bit unsigned integer that defines the number of WORD structures, defined in [MS-DTYP] section 2.2.61, in the WMF record.
RecordFunction (2 bytes): A 16-bit unsigned integer that defines this WMF record type. The lower byte MUST match the lower byte of the RecordType Enumeration (section 2.1.1.11) table value META_EXTTEXTOUT.
Y (2 bytes): A 16-bit signed integer that defines the y-coordinate, in logical units, where the text string is to be located.
X (2 bytes): A 16-bit signed integer that defines the x-coordinate, in logical units, where the text string is to be located.
StringLength (2 bytes): A 16-bit signed integer that defines the length of the string.
fwOpts (2 bytes): A 16-bit unsigned integer that defines the use of the application-defined rectangle. This member can be a combination of one or more values in the ExtTextOutOptions Flags (section 2.1.2.2).
Rectangle (8 bytes): An optional 8-byte Rect Object (section 2.2.2.18).) When either ETO_CLIPPED, ETO_OPAQUE, or both are specified, the rectangle defines the dimensions, in logical coordinates, used for clipping, opaquing, or both. When neither ETO_CLIPPED nor ETO_OPAQUE is specified, the coordinates in Rectangle are ignored.
String (variable): A variable-length string that specifies the text to be drawn. The string does not need to be null-terminated, because StringLength specifies the length of the string. If the length is odd, an extra byte is placed after it so that the following member (optional Dx) is aligned on a 16-bit boundary. The string will be decoded based on the font object currently selected into the playback device context. If a font matching the font object’s specification is not found, the decoding is undefined. If a matching font is found that matches the charset specified in the font object, the string should be decoded with the codepages in the following table.
-
CharSet
CodePage ID
ANSI_CHARSET
1252
OEM_CHARSET
437
SHIFTJIS_CHARSET
932
HANGEUL_CHARSET
949
JOHAB_CHARSET
1361
GB2312_CHARSET
936
CHINESEBIG5_CHARSET
950
HEBREW_CHARSET
1255
ARABIC_CHARSET
1256
GREEK_CHARSET
1253
TURKISH_CHARSET
1254
BALTIC_CHARSET
1257
EASTEUROPE_CHARSET
1250
RUSSIAN_CHARSET
1251
THAI_CHARSET
874
VIETNAMESE_CHARSET
1258
SYMBOL_CHARSET
42
Dx (variable): An optional array of 16-bit signed integers that indicate the distance between origins of adjacent character cells. For example, Dx[i] logical units separate the origins of character cell i and character cell i + 1. If this field is present, there MUST be the same number of values as there are characters in the string.
See section 2.3.3 for the specification of other Drawing Records.