2.3.5.37 EMR_SMALLTEXTOUT Record

The EMR_SMALLTEXTOUT record outputs a string.


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

Type

Size

x

y

cChars

fuOptions

iGraphicsMode

exScale

eyScale

Bounds (optional)

...

...

...

TextString (variable)

...

Type (4 bytes): An unsigned integer that identifies this record type as EMR_SMALLTEXTOUT. This value is 0x0000006C.

Size (4 bytes): An unsigned integer that specifies the size of this record in bytes.

x (4 bytes): A signed integer specifying the x-coordinate of where to place the string.

y (4 bytes): A signed integer specifying the y-coordinate of where to place the string.

cChars (4 bytes): An unsigned integer specifying the number of 16-bit characters in the string. The string is NOT null-terminated.

fuOptions (4 bytes): An unsigned integer specifying the text output options to use. These options are specified by one or a combination of values from the ExtTextOutOptions enumeration (section 2.1.11).

iGraphicsMode (4 bytes): An unsigned integer specifying the graphics mode, from the GraphicsMode enumeration (section 2.1.16).

exScale (4 bytes): A FLOAT value that specifies how much to scale the text in the x-direction.

eyScale (4 bytes): A FLOAT value that specifies how much to scale the text in the y-direction.

Bounds (16 bytes, optional): A RectL object ([MS-WMF] section 2.2.2.19) that specifies the bounding rectangle in logical units.

TextString (variable): A string that contains the text string to draw, in either 8-bit or 16-bit character codes, according to the value of the fuOptions field.

If ETO_SMALL_CHARS is set in the fuOptions field, TextString contains 8-bit codes for characters, derived from the low bytes of Unicode UTF16-LE character codes, in which the high byte is assumed to be 0.

If ETO_NO_RECT is set in the fuOptions field, the Bounds field is not included in the record.

See section 2.3.5 for more drawing record types.