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.