3.2.11 EMR_EXTCREATEFONTINDIRECTW Example 2

This section provides an example of an EMR_EXTCREATEFONTINDIRECTW record (section 2.3.7.8).

 00003330:                        52 00 00 00 70 01 00 00
 00003340:03 00 00 00 F3 FF FF FF 00 00 00 00 4E 0C 00 00
 00003350:4E 0C 00 00 C8 00 00 00 00 00 00 00 04 00 00 02
 00003360:4D 00 69 00 63 00 72 00 6F 00 73 00 6F 00 66 00
 00003370:74 00 20 00 53 00 61 00 6E 00 73 00 20 00 53 00 
 00003380:65 00 72 00 69 00 66 00 00 00 00 00 00 00 00 00 
 00003390:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 000033A0:00 00 00 00 28 00 00 00 59 00 00 00 2D 00 00 00 
 000033B0:01 00 18 00 00 00 00 00 1C 2F 00 00 00 00 00 00
 000033C0:00 00 00 00 00 00 00 00 00 00 00 00 10 00 90 01 
 000033D0:00 00 00 00 25 00 00 00 00 00 00 00 D3 3F EC FE 
 000033E0:FE 07 00 00 79 0D 21 11 00 00 00 00 10 00 90 01
 000033F0:00 00 00 00 00 00 00 00 59 00 00 00 2D 00 00 00 
 00003400:64 76 00 08 00 00 00 00 00 00 00 00 00 08 0D 00 
 00003410:0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00003420:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00003430:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00003440:00 00 00 00 92 A0 CD 02 00 00 00 00 CA BE CD 02 
 00003450:00 00 00 00 00 00 00 00 00 00 00 00 FF FF 5A FE 
 00003460:00 00 00 00 00 00 00 00 00 00 00 00 95 F1 53 FE
 00003470:FE 07 00 00 BE 06 5A FE FE 07 00 00 87 F2 53 FE 
 00003480:FE 07 00 00 C4 04 5A FE FE 07 00 00 79 0D 21 11 
 00003490:00 00 00 00 01 00 00 00 00 00 00 00 F0 02 5A FE 
 000034A0:64 76 00 08 00 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 (0x00000052)

Size (0x00000170)

ihFonts (0x00000003)

elw (360 bytes)

...

...

...

...

Type (4 bytes): 0x00000052 identifies this record type as EMR_EXTCREATEFONTINDIRECTW.

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

ihFonts (4 bytes): 0x00000003 specifies the object index that is assigned to the font.

elw (360 bytes): To determine the type of logical font object in this field, an algorithm (section 2.3.7.8) is applied, which indicates this is a LogFontExDv object (section 2.2.15).


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

Height (0xFFFFFFF3)

Width (0x00000000)

Escapement (0x00000C4E)

Orientation (0x00000C4E)

Weight 0x000000C8)

Italic (0x00)

Underline (0x00)

StrikeOut (0x00)

CharSet (0x00)

OutPrecision (0x04)

ClipPrecision (0x00)

Quality (0x00)

PitchAndFamily (0x02)

Facename ("Microsoft Sans Serif") (68 bytes)

...

...

...

Height (4 bytes): 0xFFFFFFF3 has an absolute value of 13, which specifies the character height for this font in logical units.

Width (4 bytes): 0x00000000 specifies a computed font width. The aspect ratio of the device is matched against the digitization aspect ratio of the font to find the closest match, determined by the absolute value of the difference.

Escapement (4 bytes): 0x00000C4E specifies an angle of 315 degrees between the baseline of a row of text and the x-axis of the device.

Orientation (4 bytes): 0x00000C4E specifies an angle of 315 degrees between each character's baseline and the x-axis of the device.

Weight (4 bytes): 0x000000C8 specifies that the weight of the font is 200, in the range 0 through 1000, from lightest to darkest, with 400 (0x00000190) considered normal.

Italic (1 byte): 0x00 specifies that the font is not italic.

Underline (1 byte): 0x00 specifies that the font is not underlined.

Strikeout (1 byte): 0x00 specifies that the font characters do not have a strike-out graphic.

CharSet (1 byte): 0x00 specifies the ANSI_CHARSET, as defined in the CharacterSet enumeration ([MS-WMF] section 2.1.1.5).

OutPrecision (1 byte): 0x04 specifies the output precision, which is how closely the output is expected to match the requested font properties, from the OutPrecision enumeration ([MS-WMF] section 2.1.1.21). The value 0x04 specifies a TrueType font, if there is a choice between multiple fonts with the same name.

ClipPrecision (1 byte): 0x00 specifies the clipping precision, which is how to clip characters that are partially outside the clipping region, from the ClipPrecision flags ([MS-WMF] section 2.1.2.1). The value 0x00 specifies default clipping behavior.

Quality (1 byte): 0x00 specifies default output quality, from the FontQuality enumeration ([MS-WMF] section 2.1.1.10).

PitchAndFamily (1 byte): 0x02 specifies a variable-pitch font, and no preference for font family, from the PitchAndFamily object ([MS-WMF] section 2.2.2.14).

Facename (68 bytes): "Microsoft Sans Serif" specifies the typeface name of the font in Unicode characters.


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

FullName ("") (132 bytes)

...

...

...

Style ("") (68 bytes)

...

...

...

Script ("") (68 bytes)

...

...

...

Signature (0x80007664)

NumAxes (0x00000000)

FullName (132 bytes): An empty string specifies the font's full name.

Style (68 bytes): An empty string describes the font's style.

Script (68 bytes): An empty string describes the font's character set.

Signature (4 bytes): 0x08007664 specifies the signature of a DesignVector object (section 2.2.3).

NumAxes (4 bytes): 0x00000000 specifies the number of font axes described in the DesignVector object.