2.3.5.32 EMR_POLYTEXTOUTA Record

The EMR_POLYTEXTOUTA record draws one or more ASCII text strings using the current font and text colors.

Fields not specified in this section are specified in section 2.3.5.


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

Bounds

...

...

...

iGraphicsMode

exScale

eyScale

cStrings

aEmrText (variable)

...

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

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

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

exScale (4 bytes): A FLOAT value that specifies the X scale from page units to .01mm units if graphics mode is GM_COMPATIBLE.

eyScale (4 bytes): A FLOAT value that specifies the Y scale from page units to .01mm units if graphics mode is GM_COMPATIBLE.

cStrings (4 bytes): An unsigned integer that specifies the number of EmrText objects.

aEmrText (variable): An array of EmrText objects (section 2.2.5) that specify the output strings in 8-bit ASCII characters, with text attributes, and spacing values. The number of EmrText objects is specified by cStrings.

The font and text colors used for output are specified by properties in the current state of EMF metafile playback (section 3.1).

EMR_POLYTEXTOUTA SHOULD<70> be emulated with a series of EMR_EXTTEXTOUTW records (section 2.3.5.7), one per string. This requires the ASCII text string in each EmrText object to be converted to Unicode UTF16-LE encoding.

See section 2.3.5 for more drawing record types.