8.3.4 Font Table

The font face-name table (FFNTB) contains the number of font face names (FFNs) and a list of FFNs. Following is the structure of an FFNTB:

Byte Name Description

0–1 cffn Number of FFNs
2–n grpffn List of FFNs

Following is the structure of an FFN:

Byte Name Description

0–1 cbFfn Number of bytes following in this FFN (not including these 2 bytes)
2 ffid Font family identifier
3–(cbffn+2) szFfn Font name (variable length; null-terminated)

A cbFfn value of 0xFFFF means that the next FFN entry will be found at the start of the next 128-byte page. A cbFfn value of zero means that there are no more FFN entries in the table.

Possible values for ffid are FF_DONTCARE, FF_ROMAN, FF_SWISS, FF_MODERN, FF_SCRIPT, and FF_DECORATIVE. These constants are defined in WINDOWS.H. Additional values may be added to the list in future versions of Windows.