Partial declarations for the TTF file format. 
Note: TrueType data is big endian !
You need to use _byteswap_ushort & co. before using the data. 
|  | 
| enum | eTTTableId { TTT_CMAP = 0x70616D63, 
TTT_GLYF = 0x66796C67, 
TTT_HEAD = 0x64616568, 
TTT_HHEA = 0x61656868,
 TTT_HMTX = 0x78746D68, 
TTT_LOCA = 0x61636F6C, 
TTT_MAXP = 0x7078616D, 
TTT_NAME = 0x656D616E,
 TTT_POST = 0x74736F70, 
TTT_OS2 = 0x322F534F
 }
 | 
|  | 
| enum | eTTFPlatform { TTNP_APPLE, 
TTNP_MAC, 
TTNP_ISO, 
TTNP_MS
 } | 
|  | 
| enum | eMSEncoding { TTNE_MS_UNDEF, 
TTNE_MS_UGL
 } | 
|  | 
| enum | eNameTblIndex { TTNI_COPYRIGHT, 
TTNI_FAMILY, 
TTNI_SUBFAMILY, 
TTNI_FONTNAME,
 TTNI_FULLNAME, 
TTNI_VERSION, 
TTNI_POSTSCRIPT, 
TTNI_TRADEMARK
 }
 | 
|  | 
◆ TTFDirEntry
TTF directory entry. 
Definition at line 30 of file TTFFile.h.
| Class Members | 
|---|
| ULONG | Tag | FourCC identifier.  | 
| ULONG | Checksum | Checksum for this table.  | 
| ULONG | Offset | Offset from beginning of file.  | 
| ULONG | Length | Length of this table.  | 
 
 
◆ TTFDirectory
TrueType Directory - At offset 0 in the TTF file.. 
Definition at line 94 of file TTFFile.h.
| Class Members | 
|---|
| FIXED | Version | 16.16, 0x00010000 for version 1.0.  | 
| USHORT | NrTables | Nr of tables in this file.  | 
| USHORT | Range | (Maximum power of 2 <= NrTables) x 16.  | 
| USHORT | Selector | Log2(maximum power of 2 <= NrTables).  | 
| USHORT | Shift | NumTables x 16 - Range.  | 
| TTFDirEntry | Entry[10] | Minimum directory, per spec.  | 
 
 
◆ TTFNameRec
An entry in the TTF name table.. 
Definition at line 116 of file TTFFile.h.
| Class Members | 
|---|
| USHORT | Platform | Platform ID.  | 
| USHORT | Encoding | Platform-specific encoding ID.  | 
| USHORT | Language | Language ID.  | 
| USHORT | Id | Name ID.  | 
| USHORT | Length | String length (in bytes).  | 
| USHORT | Offset | String offset from start of storage area (in bytes).  | 
 
 
◆ TTFNames
TTF Names table.. 
Definition at line 163 of file TTFFile.h.
| Class Members | 
|---|
| USHORT | Format | Format selector (=0).  | 
| USHORT | NrNames | Number of NameRecords that follow n.  | 
| USHORT | Offset | Offset to start of string storage (from start of table).  | 
| TTFNameRec | Names[1] | (Variable) The NameRecords.  | 
 
 
◆ eTTTableId
Required Tables (TTT : TrueTypeTable).
Note: These table tags are defined as-is. 
| Enumerator | 
|---|
| TTT_CMAP | 'cmap' - Character to glyph mapping  | 
| TTT_GLYF | 'glyf' - Glyph data  | 
| TTT_HEAD | 'head' - Font header  | 
| TTT_HHEA | 'hhea' - Horizontal header  | 
| TTT_HMTX | 'hmtx' - Horizontal metrics  | 
| TTT_LOCA | 'loca' - Index to location  | 
| TTT_MAXP | 'maxp' - Maximum profile  | 
| TTT_NAME | 'name' - Naming table  | 
| TTT_POST | 'post' - PostScript information  | 
| TTT_OS2 | 'OS/2' - OS/2 and Windows specific metrics  | 
Definition at line 44 of file TTFFile.h.
 
 
◆ eTTFPlatform
TTF Platforms.. 
| Enumerator | 
|---|
| TTNP_APPLE | Apple Unicode, Specific encoding = none  | 
| TTNP_MAC | Macintosh, Specific encoding = Script manager code  | 
| TTNP_ISO | ISO, Specific encoding = ISO encoding  | 
| TTNP_MS | Microsoft, Specific encoding = Microsoft encoding  | 
Definition at line 131 of file TTFFile.h.
 
 
◆ eMSEncoding
Microsoft platform-specific encoding IDs (platform ID = 3) 
| Enumerator | 
|---|
| TTNE_MS_UNDEF | Undefined character set or indexing scheme.  | 
| TTNE_MS_UGL | UGL character set with Unicode indexing scheme.  | 
Definition at line 141 of file TTFFile.h.
 
 
◆ eNameTblIndex
Predefined Name Table IDs.. 
| Enumerator | 
|---|
| TTNI_COPYRIGHT | Copyright notice.  | 
| TTNI_FAMILY | Font Family name  | 
| TTNI_SUBFAMILY | Font Subfamily name; for purposes of definition, this is assumed to address style (italic, oblique) and weight (light, bold, black, etc.) only. A font with no particular differences in weight or style (e.g. medium weight, not italic and fsSelection bit 6 set) should have the string 'Regular' stored in this position.  | 
| TTNI_FONTNAME | Unique font identifier  | 
| TTNI_FULLNAME | Full font name; this should simply be a combination of strings 1 and 2. Exception: if string 2 is 'Regular', then use only string 1. This is the font name that Windows will expose to users.  | 
| TTNI_VERSION | Version string. In n.nn format.  | 
| TTNI_POSTSCRIPT | Postscript name for the font.  | 
| TTNI_TRADEMARK | Trademark; this is used to save any trademark notice/information for this font. Such information should be based on legal advice. This is distinctly separate from the copyright.  | 
Definition at line 149 of file TTFFile.h.