Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4972 → Rev 4973

/programs/develop/libraries/menuetlibc/include/freetype/tttables.h
0,0 → 1,215
/*******************************************************************
*
* tttables.h 1.1
*
* TrueType Tables structures and handling (specification).
*
* Copyright 1996-1999 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used
* modified and distributed under the terms of the FreeType project
* license, LICENSE.TXT. By continuing to use, modify, or distribute
* this file you indicate that you have read the license and
* understand and accept it fully.
*
******************************************************************/
 
#ifndef TTTABLES_H
#define TTTABLES_H
 
#include "ttconfig.h"
#include "tttypes.h"
 
#ifdef __cplusplus
extern "C" {
#endif
 
/***********************************************************************/
/* */
/* TrueType Table Types */
/* */
/***********************************************************************/
 
/* TrueType Collection Header */
 
struct TTTCHeader_
{
ULong Tag;
TT_Fixed version;
ULong DirCount;
PULong TableDirectory;
};
 
typedef struct TTTCHeader_ TTTCHeader;
typedef TTTCHeader* PTTCHeader;
 
 
/* TrueType Table Directory type */
 
struct TTableDir_
{
TT_Fixed version; /* should be 0x10000 */
UShort numTables; /* number of tables */
 
UShort searchRange; /* These parameters are only used */
UShort entrySelector; /* for a dichotomy search in the */
UShort rangeShift; /* directory. We ignore them. */
};
 
typedef struct TTableDir_ TTableDir;
typedef TTableDir* PTableDir;
 
 
/* The 'TableDir' is followed by 'numTables' TableDirEntries */
 
struct TTableDirEntry_
{
ULong Tag; /* table type */
ULong CheckSum; /* table checksum */
ULong Offset; /* table file offset */
ULong Length; /* table length */
};
 
typedef struct TTableDirEntry_ TTableDirEntry;
typedef TTableDirEntry* PTableDirEntry;
 
 
/* 'cmap' tables */
 
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;
 
 
/* 'maxp' Maximum Profiles table */
 
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;
 
 
/* table "gasp" */
 
#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;
 
 
/* table "head" - now defined in freetype.h */
/* table "hhea" - now defined in freetype.h */
 
 
/* tables "HMTX" and "VMTX" */
 
struct TLongMetrics_
{
UShort advance;
Short bearing;
};
 
typedef struct TLongMetrics_ TLongMetrics, *PLongMetrics;
 
typedef Short TShortMetrics, *PShortMetrics;
 
/* 'loca' location table type */
 
struct TLoca_
{
UShort Size;
PStorage Table;
};
 
typedef struct TLoca_ TLoca;
 
 
/* table "name" */
 
struct TNameRec_
{
UShort platformID;
UShort encodingID;
UShort languageID;
UShort nameID;
UShort stringLength;
UShort stringOffset;
 
/* this last field is not defined in the spec */
/* but used by the FreeType engine */
 
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 /* TTTABLES_H */
 
 
/* END */