#ifndef TTTABLES_H
#define TTTABLES_H
#include "ttconfig.h"
#include "tttypes.h"
#ifdef __cplusplus
extern "C" {
#endif
struct TTTCHeader_
{
ULong Tag;
TT_Fixed version;
ULong DirCount;
PULong TableDirectory;
};
typedef struct TTTCHeader_ TTTCHeader;
typedef TTTCHeader* PTTCHeader;
struct TTableDir_
{
TT_Fixed version;
UShort numTables;
UShort searchRange;
UShort entrySelector;
UShort rangeShift;
};
typedef struct TTableDir_ TTableDir;
typedef TTableDir* PTableDir;
struct TTableDirEntry_
{
ULong Tag;
ULong CheckSum;
ULong Offset;
ULong Length;
};
typedef struct TTableDirEntry_ TTableDirEntry;
typedef TTableDirEntry* PTableDirEntry;
struct TCMapDir_
{
UShort tableVersionNumber;
UShort numCMaps;
};
typedef struct TCMapDir_ TCMapDir;
typedef TCMapDir* PCMapDir;
struct TCMapDirEntry_
{
UShort platformID;
UShort platformEncodingID;
Long offset;
};
typedef struct TCMapDirEntry_ TCMapDirEntry;
typedef TCMapDirEntry* PCMapDirEntries;
struct TMaxProfile_
{
TT_Fixed version;
UShort numGlyphs,
maxPoints,
maxContours,
maxCompositePoints,
maxCompositeContours,
maxZones,
maxTwilightPoints,
maxStorage,
maxFunctionDefs,
maxInstructionDefs,
maxStackElements,
maxSizeOfInstructions,
maxComponentElements,
maxComponentDepth;
};
typedef struct TMaxProfile_ TMaxProfile;
typedef TMaxProfile* PMaxProfile;
#define GASP_GRIDFIT 0x01
#define GASP_DOGRAY 0x02
struct GaspRange_
{
UShort maxPPEM;
UShort gaspFlag;
};
typedef struct GaspRange_ GaspRange;
struct TGasp_
{
UShort version;
UShort numRanges;
GaspRange* gaspRanges;
};
typedef struct TGasp_ TGasp;
struct TLongMetrics_
{
UShort advance;
Short bearing;
};
typedef struct TLongMetrics_ TLongMetrics, *PLongMetrics;
typedef Short TShortMetrics, *PShortMetrics;
struct TLoca_
{
UShort Size;
PStorage Table;
};
typedef struct TLoca_ TLoca;
struct TNameRec_
{
UShort platformID;
UShort encodingID;
UShort languageID;
UShort nameID;
UShort stringLength;
UShort stringOffset;
PByte string;
};
typedef struct TNameRec_ TNameRec;
struct TName_Table_
{
UShort format;
UShort numNameRecords;
UShort storageOffset;
TNameRec* names;
PByte storage;
};
typedef struct TName_Table_ TName_Table;
#ifdef __cplusplus
}
#endif
#endif