3.2.6.23 EMR_EXTTEXTOUTW Example 4

This section provides an example of an EMF EMR_EXTTEXTOUTW record ([MS-EMF] section 2.3.5.8).

 00064F70:                        54 00 00 00 70 00 00 00 
 00064F80:24 02 00 00 AD 01 00 00 A0 02 00 00 F0 01 00 00 
 00064F90:01 00 00 00 76 84 E1 40 47 A2 E1 40 24 02 00 00 
 00064FA0:E3 01 00 00 06 00 00 00 4C 00 00 00 04 10 00 00 
 00064FB0:00 00 00 00 00 00 00 00 78 0F 00 00 F4 0B 00 00 
 00064FC0:58 00 00 00 6C 00 65 00 74 00 74 00 65 00 72 00 
 00064FD0:11 00 00 00 1B 00 00 00 11 00 00 00 11 00 00 00 
 00064FE0:1B 00 00 00 14 00 00 00 


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 (0x00000054)

Size (0x00000070)

                                                        Bounds (0x00000224)

... (0x000001AD)

... (0x000002A0)

... (0x00001F0)

iGraphicsMode (0x00000001)

exScale (0x40E18476)

eyScale (0x40E1A247)

EmrText (variable)

...

...

Type (4 bytes): 0x00000054 identifies the record type as EMR_EXTTEXTOUTW.

Size (4 bytes): 0x00000070 specifies the size of this record in bytes.

Bounds (16 bytes): 0x00000224, 0x000001AD, 0x000002A0, 0x000001F0 values are not used.

iGraphicsMode (4 bytes): 0x00000001 specifies the GM_COMPATIBLE graphics mode from the EMF GraphicsMode enumeration ([MS-EMF] section 2.1.16).

exScale (4 bytes): 0x40E18476 specifies the X scale from Page units to .01mm units if the graphics mode is GM_COMPATIBLE.

eyScale (4 bytes): 0x40E1A247 specifies the Y scales from Page units to .01mm units if the graphics mode is GM_COMPATIBLE.

EmrText (variable): An EMF EmrText object ([MS-EMF] section 2.2.5). This is followed by strings and spacing arrays.


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

Reference (0x00000224)

... (0x000001E3)

Chars (0x00000006)

offString (0x0000004C)

Options (0x00001004)

Rectangle (0x00000000)

... (0x00000000)

... (0x00000F78)

... (0x00000BF4)

offDx (0x00000058)

text ("letter")

Reference (8 bytes): 0x00000224, 0x000001E3 specifies the coordinates of the reference point used to position the string.

Chars (4 bytes): 0x00000006 specifies the number of characters in the string.

offString (4 bytes): 0x0000004C specifies the offset to the string.

Options (4 bytes): 0x00001004 indicates that the rectangle defined in the Rectangle field is used for clipping, as specified in the EMF ExtTextOutOptions enumeration ([MS-EMF] section 2.1.11).

Rectangle (16 bytes): 0x00000000, 0x00000000, 0x00000F78, 0x0000BF4 defines the clipping rectangle in logical units.

offDx (4 bytes): 0x00000058 specifies the offset to the intercharacter spacing array.

text (4 bytes): "letter".