tttypes.h
来自「gaca源码」· C头文件 代码 · 共 1,192 行 · 第 1/5 页
H
1,192 行
} TT_CMap2Rec, *TT_CMap2;
/* format 4 */
typedef struct TT_CMap4Segment_
{
FT_UShort endCount;
FT_UShort startCount;
FT_Short idDelta;
FT_UShort idRangeOffset;
} TT_CMap4SegmentRec, *TT_CMap4Segment;
typedef struct TT_CMap4Rec_
{
FT_ULong language; /* for Mac fonts (originally ushort) */
FT_UShort segCountX2; /* number of segments * 2 */
FT_UShort searchRange; /* these parameters can be used */
FT_UShort entrySelector; /* for a binary search */
FT_UShort rangeShift;
TT_CMap4Segment segments;
FT_UShort* glyphIdArray;
FT_UShort numGlyphId; /* control value */
TT_CMap4Segment last_segment; /* last used segment; this is a small */
/* cache to potentially increase speed */
} TT_CMap4Rec, *TT_CMap4;
/* format 6 */
typedef struct TT_CMap6_
{
FT_ULong language; /* for Mac fonts (originally ushort) */
FT_UShort firstCode; /* first character code of subrange */
FT_UShort entryCount; /* number of character codes in subrange */
FT_UShort* glyphIdArray;
} TT_CMap6Rec, *TT_CMap6;
/* auxiliary table for format 8 and 12 */
typedef struct TT_CMapGroupRec_
{
FT_ULong startCharCode;
FT_ULong endCharCode;
FT_ULong startGlyphID;
} TT_CMapGroupRec, *TT_CMapGroup;
/* FreeType handles format 8 and 12 identically. It is not necessary to
cover mixed 16bit and 32bit codes since FreeType always uses FT_ULong
for input character codes -- converting Unicode surrogates to 32bit
character codes must be done by the application. */
typedef struct TT_CMap8_12Rec_
{
FT_ULong language; /* for Mac fonts */
FT_ULong nGroups;
TT_CMapGroup groups;
TT_CMapGroup last_group; /* last used group; this is a small */
/* cache to potentially increase speed */
} TT_CMap8_12Rec, *TT_CMap8_12;
/* format 10 */
typedef struct TT_CMap10Rec_
{
FT_ULong language; /* for Mac fonts */
FT_ULong startCharCode; /* first character covered */
FT_ULong numChars; /* number of characters covered */
FT_UShort* glyphs;
} TT_CMap10Rec, *TT_CMap10;
typedef struct TT_CMapTableRec_* TT_CMapTable;
typedef FT_UInt
(*TT_CharMap_Func)( TT_CMapTable charmap,
FT_ULong char_code );
typedef FT_ULong
(*TT_CharNext_Func)( TT_CMapTable charmap,
FT_ULong char_code );
/* charmap table */
typedef struct TT_CMapTableRec_
{
FT_UShort platformID;
FT_UShort platformEncodingID;
FT_UShort format;
FT_ULong length; /* must be ulong for formats 8, 10, and 12 */
FT_Bool loaded;
FT_ULong offset;
union
{
TT_CMap0Rec cmap0;
TT_CMap2Rec cmap2;
TT_CMap4Rec cmap4;
TT_CMap6Rec cmap6;
TT_CMap8_12Rec cmap8_12;
TT_CMap10Rec cmap10;
} c;
TT_CharMap_Func get_index;
TT_CharNext_Func get_next_char;
} TT_CMapTableRec;
/*************************************************************************/
/* */
/* <Struct> */
/* TT_CharMapRec */
/* */
/* <Description> */
/* The TrueType character map object type. */
/* */
/* <Fields> */
/* root :: The parent character map structure. */
/* */
/* cmap :: The used character map. */
/* */
typedef struct TT_CharMapRec_
{
FT_CharMapRec root;
TT_CMapTableRec cmap;
} TT_CharMapRec;
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*** ***/
/*** ***/
/*** ORIGINAL TT_FACE CLASS DEFINITION ***/
/*** ***/
/*** ***/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* This structure/class is defined here because it is common to the */
/* following formats: TTF, OpenType-TT, and OpenType-CFF. */
/* */
/* Note, however, that the classes TT_Size, TT_GlyphSlot, and TT_CharMap */
/* are not shared between font drivers, and are thus defined in */
/* `ttobjs.h'. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Type> */
/* TT_Face */
/* */
/* <Description> */
/* A handle to a TrueType face/font object. A TT_Face encapsulates */
/* the resolution and scaling independent parts of a TrueType font */
/* resource. */
/* */
/* <Note> */
/* The TT_Face structure is also used as a `parent class' for the */
/* OpenType-CFF class (T2_Face). */
/* */
typedef struct TT_FaceRec_* TT_Face;
/*************************************************************************/
/* */
/* <Type> */
/* TT_CharMap */
/* */
/* <Description> */
/* A handle to a TrueType character mapping object. */
/* */
typedef struct TT_CharMapRec_* TT_CharMap;
/* a function type used for the truetype bytecode interpreter hooks */
typedef FT_Error
(*TT_Interpreter)( void* exec_context );
/* forward declaration */
typedef struct TT_LoaderRec_* TT_Loader;
/*************************************************************************/
/* */
/* <FuncType> */
/* TT_Loader_GotoTableFunc */
/* */
/* <Description> */
/* Seeks a stream to the start of a given TrueType table. */
/* */
/* <Input> */
/* face :: A handle to the target face object. */
/* */
/* tag :: A 4-byte tag used to name the table. */
/* */
/* stream :: The input stream. */
/* */
/* <Output> */
/* length :: The length of the table in bytes. Set to 0 if not */
/* needed. */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
/* <Note> */
/* The stream cursor must be at the font file's origin. */
/* */
typed
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?