3.2.28 EMR_EXTCREATEFONTINDIRECTW Example

This section provides an example of the EMF EMR_EXTCREATEFONTINDIRECTW record ([MS-EMF] section 2.3.7.8).

 000001F0:             52 00 00 00 70 01 00 00 01 00 00 00
 00000200: 10 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00
 00000210: BC 02 00 00 00 00 00 00 07 02 02 22 53 00 79 00
 00000220: 73 00 74 00 65 00 6D 00 00 00 00 00 00 00 00 00
 00000230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00000240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00000250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00000260: B1 E6 31 7C BC FE 12 00 21 00 00 00 00 00 13 00
 00000270: 00 00 2E 00 54 E1 12 00 BC FE 12 00 14 E1 12 00
 00000280: 00 00 00 00 F4 F4 12 00 34 B8 F9 77 68 26 F4 77
 00000290: FF FF FF FF AD 97 F7 77 7F 99 F7 77 70 E1 12 00
 000002A0: 21 00 00 00 01 00 00 00 FC 8B CE 02 38 A6 17 00
 000002B0: 7F 99 F7 77 B0 DA 4F 00 63 DE 5D 00 3E 08 5A 00
 000002C0: 68 99 5A 00 F5 82 54 00 1A 91 54 00 8F 9B C7 77
 000002D0: BD 93 54 00 6F 9D 54 00 94 E5 54 00 00 00 54 00
 000002E0: AF 58 56 00 6B 50 56 00 B4 3A 55 00 05 39 55 00
 000002F0: 09 35 55 00 64 C4 4F 00 00 82 41 00 FF 44 41 00
 00000300: 12 4E 41 00 E1 4B 41 00 1D 1E 31 7C 4B 16 31 7C
 00000310: DA EF 30 7C 49 F4 30 7C EA A3 37 7C 00 00 D5 77
 00000320: A5 DC D5 77 46 46 D3 77 D7 96 D3 77 97 ED 31 7C
 00000330: B1 E6 31 7C 00 00 2E 01 10 E2 12 00 68 8B CE 02
 00000340: 08 ED F8 77 68 8B CE 02 00 00 2E 01 01 00 00 00
 00000350: 00 00 2E 01 C4 04 F9 77 27 05 F9 77 64 76 00 08
 00000360: 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 (0x00000001)

elw (360 bytes)

...

...

...

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

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

ihFonts (4 bytes): 0x00000001 specifies the object index in the EMF+ Object Table (section 3.1.2) to assign to the font.

elw (360 bytes) the logical font, which is an EMF LogFontExDv object ([MS-EMF] 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 (0x00000010)

Width (0x00000007)

Escapement (0x00000000)

Orientation (0x00000000)

Weight (0x0000002BC)

Italic (0x00)

Underline (0x00)

StrikeOut (0x00)

CharSet (0x00)

OutPrecision (0x07)

ClipPrecision (0x02)

Quality (0x02)

PitchAndFamily (0x22)

Facename ("System") (68 bytes)

...

...

...

Height (4 bytes): 0x00000010 specifies the cell height for this font in logical units.

Width (4 bytes): 0x00000007 specifies the average character width for this font in logical units.

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

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

Weight (4 bytes): 0x0000002BC specifies that the weight of the font is 700, 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 WMF CharacterSet enumeration ([MS-WMF] section 2.1.1.5).

OutPrecision (1 byte): 0x07 specifies the output precision, which is how closely the output matches the requested font properties, from the WMF OutPrecision enumeration ([MS-WMF] section 2.1.1.21). The value 0x07 specifies a TrueType font.

ClipPrecision (1 byte): 0x02 specifies the clipping precision, which is how to clip characters that are partially outside the clipping region, from the WMF ClipPrecision Flags ([MS-WMF] section 2.1.2.1). The value 0x02 is used for vector and TrueType fonts.

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

PitchAndFamily (1 byte): 0x22 specifies a variable-pitch font with no serifs, from the WMF FamilyFont and PitchFont enumerations ([MS-WMF] sections 2.1.1.8 and 2.1.1.24).

Facename (68 bytes): "System" 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 full name of the font.

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

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

Signature (4 bytes): 0x80007664 specifies the signature of an EMF DesignVector object ([MS-EMF] section 2.2.3).

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