2.9.10 FontEntityAtom

Referenced by: FontCollectionEntry

An atom record that specifies the information needed to define the attributes of a font, such as typeface name, character set, and so on, and corresponds in part to a Windows Logical Font (LOGFONT) structure [MC-LOGFONT].


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

rh

...

lfFaceName (64 bytes)

...

...

lfCharSet

A

unused

B

C

D

E

F

lfPitchAndFamily

rh (8 bytes): A RecordHeader structure (section 2.3.1) that specifies the header for this record. Sub-fields are further specified in the following table.

Field

Meaning

rh.recVer

MUST be 0x0.

rh.recInstance

MUST be greater than or equal to 0 and less than or equal to 128.

rh.recType

MUST be an RT_FontEntityAtom.

rh.recLen

MUST be equal to 0x00000044.

lfFaceName (64 bytes): A char2 that specifies the typeface name of the font. It corresponds to the lfFaceName field of the LOGFONT structure. The length of this string MUST NOT exceed 32 characters, including the terminating null character.

lfCharSet (1 byte): An unsigned byte that specifies the character set. It corresponds to the lfCharSet field of the LOGFONT structure.

A - fEmbedSubsetted (1 bit): A bit that specifies whether a subset of this font is embedded.

unused (7 bits): Undefined and MUST be ignored.

B - rasterFontType (1 bit): A bit that specifies whether the font is a raster font.

C - deviceFontType (1 bit): A bit that specifies whether the font is a device font.

D - truetypeFontType (1 bit): A bit that specifies whether the font is a TrueType font.

E - fNoFontSubstitution (1 bit): A bit that specifies whether font substitution logic is not applied for this font.

F - reserved (4 bits): MUST be zero and MUST be ignored.

lfPitchAndFamily (1 byte): An unsigned byte that specifies the pitch and family of the font. It corresponds to the lfPitchAndFamily field of the LOGFONT structure.