|
|
|
@ -423,463 +423,6 @@ |
|
|
|
|
} TT_Table; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* <Struct> */ |
|
|
|
|
/* TT_Header */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Description> */ |
|
|
|
|
/* A structure used to model a TrueType font header table. All */ |
|
|
|
|
/* fields follow the TrueType specification. */ |
|
|
|
|
/* */ |
|
|
|
|
typedef struct TT_Header_ |
|
|
|
|
{ |
|
|
|
|
TT_Fixed Table_Version; |
|
|
|
|
TT_Fixed Font_Revision; |
|
|
|
|
|
|
|
|
|
TT_Long CheckSum_Adjust; |
|
|
|
|
TT_Long Magic_Number; |
|
|
|
|
|
|
|
|
|
TT_UShort Flags; |
|
|
|
|
TT_UShort Units_Per_EM; |
|
|
|
|
|
|
|
|
|
TT_Long Created [2]; |
|
|
|
|
TT_Long Modified[2]; |
|
|
|
|
|
|
|
|
|
TT_FWord xMin; |
|
|
|
|
TT_FWord yMin; |
|
|
|
|
TT_FWord xMax; |
|
|
|
|
TT_FWord yMax; |
|
|
|
|
|
|
|
|
|
TT_UShort Mac_Style; |
|
|
|
|
TT_UShort Lowest_Rec_PPEM; |
|
|
|
|
|
|
|
|
|
TT_Short Font_Direction; |
|
|
|
|
TT_Short Index_To_Loc_Format; |
|
|
|
|
TT_Short Glyph_Data_Format; |
|
|
|
|
|
|
|
|
|
} TT_Header; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* <Struct> */ |
|
|
|
|
/* TT_HoriHeader */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Description> */ |
|
|
|
|
/* A structure used to model a TrueType horizontal header, the `hhea' */ |
|
|
|
|
/* table, as well as the corresponding horizontal metrics table, */ |
|
|
|
|
/* i.e., the `hmtx' table. */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Fields> */ |
|
|
|
|
/* Version :: The table version. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Ascender :: The font's ascender, i.e., the distance */ |
|
|
|
|
/* from the baseline to the top-most of all */ |
|
|
|
|
/* glyph points found in the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* This value is invalid in many fonts, as */ |
|
|
|
|
/* it is usually set by the font designer, */ |
|
|
|
|
/* and often reflects only a portion of the */ |
|
|
|
|
/* glyphs found in the font (maybe ASCII). */ |
|
|
|
|
/* */ |
|
|
|
|
/* You should use the `sTypoAscender' field */ |
|
|
|
|
/* of the OS/2 table instead if you want */ |
|
|
|
|
/* the correct one. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Descender :: The font's descender, i.e., the distance */ |
|
|
|
|
/* from the baseline to the bottom-most of */ |
|
|
|
|
/* all glyph points found in the font. It */ |
|
|
|
|
/* is negative. */ |
|
|
|
|
/* */ |
|
|
|
|
/* This value is invalid in many fonts, as */ |
|
|
|
|
/* it is usually set by the font designer, */ |
|
|
|
|
/* and often reflects only a portion of the */ |
|
|
|
|
/* glyphs found in the font (maybe ASCII). */ |
|
|
|
|
/* */ |
|
|
|
|
/* You should use the `sTypoDescender' */ |
|
|
|
|
/* field of the OS/2 table instead if you */ |
|
|
|
|
/* want the correct one. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Line_Gap :: The font's line gap, i.e., the distance */ |
|
|
|
|
/* to add to the ascender and descender to */ |
|
|
|
|
/* get the BTB, i.e., the */ |
|
|
|
|
/* baseline-to-baseline distance for the */ |
|
|
|
|
/* font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* advance_Width_Max :: This field is the maximum of all advance */ |
|
|
|
|
/* widths found in the font. It can be */ |
|
|
|
|
/* used to compute the maximum width of an */ |
|
|
|
|
/* arbitrary string of text. */ |
|
|
|
|
/* */ |
|
|
|
|
/* min_Left_Side_Bearing :: The minimum left side bearing of all */ |
|
|
|
|
/* glyphs within the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* min_Right_Side_Bearing :: The minimum right side bearing of all */ |
|
|
|
|
/* glyphs within the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* xMax_Extent :: The maximum horizontal extent (i.e., the */ |
|
|
|
|
/* `width' of a glyph's bounding box) for */ |
|
|
|
|
/* all glyphs in the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* caret_Slope_Rise :: The rise coefficient of the cursor's */ |
|
|
|
|
/* slope of the cursor (slope=rise/run). */ |
|
|
|
|
/* */ |
|
|
|
|
/* caret_Slope_Run :: The run coefficient of the cursor's */ |
|
|
|
|
/* slope. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Reserved :: 10 reserved bytes. */ |
|
|
|
|
/* */ |
|
|
|
|
/* metric_Data_Format :: Always 0. */ |
|
|
|
|
/* */ |
|
|
|
|
/* number_Of_HMetrics :: Number of HMetrics entries in the `hmtx' */ |
|
|
|
|
/* table -- this value can be smaller than */ |
|
|
|
|
/* the total number of glyphs in the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* long_metrics :: A pointer into the `hmtx' table. */ |
|
|
|
|
/* */ |
|
|
|
|
/* short_metrics :: A pointer into the `hmtx' table. */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Note> */ |
|
|
|
|
/* IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should */ |
|
|
|
|
/* be identical except for the names of their fields which */ |
|
|
|
|
/* are different. */ |
|
|
|
|
/* */ |
|
|
|
|
/* This ensures that a single function in the `ttload' */ |
|
|
|
|
/* module is able to read both the horizontal and vertical */ |
|
|
|
|
/* headers. */ |
|
|
|
|
/* */ |
|
|
|
|
typedef struct TT_HoriHeader_ |
|
|
|
|
{ |
|
|
|
|
TT_Fixed Version; |
|
|
|
|
TT_FWord Ascender; |
|
|
|
|
TT_FWord Descender; |
|
|
|
|
TT_FWord Line_Gap; |
|
|
|
|
|
|
|
|
|
TT_UFWord advance_Width_Max; /* advance width maximum */ |
|
|
|
|
|
|
|
|
|
TT_FWord min_Left_Side_Bearing; /* minimum left-sb */ |
|
|
|
|
TT_FWord min_Right_Side_Bearing; /* minimum right-sb */ |
|
|
|
|
TT_FWord xMax_Extent; /* xmax extents */ |
|
|
|
|
TT_FWord caret_Slope_Rise; |
|
|
|
|
TT_FWord caret_Slope_Run; |
|
|
|
|
TT_FWord caret_Offset; |
|
|
|
|
|
|
|
|
|
TT_Short Reserved[4]; |
|
|
|
|
|
|
|
|
|
TT_Short metric_Data_Format; |
|
|
|
|
TT_UShort number_Of_HMetrics; |
|
|
|
|
|
|
|
|
|
/* The following fields are not defined by the TrueType specification */ |
|
|
|
|
/* but they're used to connect the metrics header to the relevant */ |
|
|
|
|
/* `HMTX' table. */ |
|
|
|
|
|
|
|
|
|
void* long_metrics; |
|
|
|
|
void* short_metrics; |
|
|
|
|
|
|
|
|
|
} TT_HoriHeader; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* <Struct> */ |
|
|
|
|
/* TT_VertHeader */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Description> */ |
|
|
|
|
/* A structure used to model a TrueType vertical header, the `vhea' */ |
|
|
|
|
/* table, as well as the corresponding vertical metrics table, i.e., */ |
|
|
|
|
/* the `vmtx' table. */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Fields> */ |
|
|
|
|
/* Version :: The table version. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Ascender :: The font's ascender, i.e., the distance */ |
|
|
|
|
/* from the baseline to the top-most of */ |
|
|
|
|
/* all glyph points found in the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* This value is invalid in many fonts, as */ |
|
|
|
|
/* it is usually set by the font designer, */ |
|
|
|
|
/* and often reflects only a portion of */ |
|
|
|
|
/* the glyphs found in the font (maybe */ |
|
|
|
|
/* ASCII). */ |
|
|
|
|
/* */ |
|
|
|
|
/* You should use the `sTypoAscender' */ |
|
|
|
|
/* field of the OS/2 table instead if you */ |
|
|
|
|
/* want the correct one. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Descender :: The font's descender, i.e., the */ |
|
|
|
|
/* distance from the baseline to the */ |
|
|
|
|
/* bottom-most of all glyph points found */ |
|
|
|
|
/* in the font. It is negative. */ |
|
|
|
|
/* */ |
|
|
|
|
/* This value is invalid in many fonts, as */ |
|
|
|
|
/* it is usually set by the font designer, */ |
|
|
|
|
/* and often reflects only a portion of */ |
|
|
|
|
/* the glyphs found in the font (maybe */ |
|
|
|
|
/* ASCII). */ |
|
|
|
|
/* */ |
|
|
|
|
/* You should use the `sTypoDescender' */ |
|
|
|
|
/* field of the OS/2 table instead if you */ |
|
|
|
|
/* want the correct one. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Line_Gap :: The font's line gap, i.e., the distance */ |
|
|
|
|
/* to add to the ascender and descender to */ |
|
|
|
|
/* get the BTB, i.e., the */ |
|
|
|
|
/* baseline-to-baseline distance for the */ |
|
|
|
|
/* font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* advance_Height_Max :: This field is the maximum of all */ |
|
|
|
|
/* advance heights found in the font. It */ |
|
|
|
|
/* can be used to compute the maximum */ |
|
|
|
|
/* height of an arbitrary string of text. */ |
|
|
|
|
/* */ |
|
|
|
|
/* min_Top_Side_Bearing :: The minimum top side bearing of all */ |
|
|
|
|
/* glyphs within the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* min_Bottom_Side_Bearing :: The minimum bottom side bearing of all */ |
|
|
|
|
/* glyphs within the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* yMax_Extent :: The maximum vertical extent (i.e., the */ |
|
|
|
|
/* `height' of a glyph's bounding box) for */ |
|
|
|
|
/* all glyphs in the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* caret_Slope_Rise :: The rise coefficient of the cursor's */ |
|
|
|
|
/* slope of the cursor (slope=rise/run). */ |
|
|
|
|
/* */ |
|
|
|
|
/* caret_Slope_Run :: The run coefficient of the cursor's */ |
|
|
|
|
/* slope. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Reserved :: 10 reserved bytes. */ |
|
|
|
|
/* */ |
|
|
|
|
/* metric_Data_Format :: Always 0. */ |
|
|
|
|
/* */ |
|
|
|
|
/* number_Of_HMetrics :: Number of VMetrics entries in the */ |
|
|
|
|
/* `vmtx' table -- this value can be */ |
|
|
|
|
/* smaller than the total number of glyphs */ |
|
|
|
|
/* in the font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* long_metrics :: A pointer into the `vmtx' table. */ |
|
|
|
|
/* */ |
|
|
|
|
/* short_metrics :: A pointer into the `vmtx' table. */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Note> */ |
|
|
|
|
/* IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should */ |
|
|
|
|
/* be identical except for the names of their fields which */ |
|
|
|
|
/* are different. */ |
|
|
|
|
/* */ |
|
|
|
|
/* This ensures that a single function in the `ttload' */ |
|
|
|
|
/* module is able to read both the horizontal and vertical */ |
|
|
|
|
/* headers. */ |
|
|
|
|
/* */ |
|
|
|
|
typedef struct TT_VertHeader_ |
|
|
|
|
{ |
|
|
|
|
TT_Fixed Version; |
|
|
|
|
TT_FWord Ascender; |
|
|
|
|
TT_FWord Descender; |
|
|
|
|
TT_FWord Line_Gap; |
|
|
|
|
|
|
|
|
|
TT_UFWord advance_Height_Max; /* advance height maximum */ |
|
|
|
|
|
|
|
|
|
TT_FWord min_Top_Side_Bearing; /* minimum left-sb or top-sb */ |
|
|
|
|
TT_FWord min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb */ |
|
|
|
|
TT_FWord yMax_Extent; /* xmax or ymax extents */ |
|
|
|
|
TT_FWord caret_Slope_Rise; |
|
|
|
|
TT_FWord caret_Slope_Run; |
|
|
|
|
TT_FWord caret_Offset; |
|
|
|
|
|
|
|
|
|
TT_Short Reserved[4]; |
|
|
|
|
|
|
|
|
|
TT_Short metric_Data_Format; |
|
|
|
|
TT_UShort number_Of_VMetrics; |
|
|
|
|
|
|
|
|
|
/* The following fields are not defined by the TrueType specification */ |
|
|
|
|
/* but they're used to connect the metrics header to the relevant */ |
|
|
|
|
/* `HMTX' or `VMTX' table. */ |
|
|
|
|
|
|
|
|
|
void* long_metrics; |
|
|
|
|
void* short_metrics; |
|
|
|
|
|
|
|
|
|
} TT_VertHeader; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* <Struct> */ |
|
|
|
|
/* TT_OS2 */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Description> */ |
|
|
|
|
/* A structure used to model a TrueType OS/2 table. This is the long */ |
|
|
|
|
/* table version. All fields comply to the TrueType specification. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Note that we now support old Mac fonts which do not include an */ |
|
|
|
|
/* OS/2 table. In this case, the `version' field is always set to */ |
|
|
|
|
/* 0xFFFF. */ |
|
|
|
|
/* */ |
|
|
|
|
typedef struct TT_OS2_ |
|
|
|
|
{ |
|
|
|
|
TT_UShort version; /* 0x0001 - more or 0xFFFF */ |
|
|
|
|
TT_FWord xAvgCharWidth; |
|
|
|
|
TT_UShort usWeightClass; |
|
|
|
|
TT_UShort usWidthClass; |
|
|
|
|
TT_Short fsType; |
|
|
|
|
TT_FWord ySubscriptXSize; |
|
|
|
|
TT_FWord ySubscriptYSize; |
|
|
|
|
TT_FWord ySubscriptXOffset; |
|
|
|
|
TT_FWord ySubscriptYOffset; |
|
|
|
|
TT_FWord ySuperscriptXSize; |
|
|
|
|
TT_FWord ySuperscriptYSize; |
|
|
|
|
TT_FWord ySuperscriptXOffset; |
|
|
|
|
TT_FWord ySuperscriptYOffset; |
|
|
|
|
TT_FWord yStrikeoutSize; |
|
|
|
|
TT_FWord yStrikeoutPosition; |
|
|
|
|
TT_Short sFamilyClass; |
|
|
|
|
|
|
|
|
|
TT_Byte panose[10]; |
|
|
|
|
|
|
|
|
|
TT_ULong ulUnicodeRange1; /* Bits 0-31 */ |
|
|
|
|
TT_ULong ulUnicodeRange2; /* Bits 32-63 */ |
|
|
|
|
TT_ULong ulUnicodeRange3; /* Bits 64-95 */ |
|
|
|
|
TT_ULong ulUnicodeRange4; /* Bits 96-127 */ |
|
|
|
|
|
|
|
|
|
TT_Char achVendID[4]; |
|
|
|
|
|
|
|
|
|
TT_UShort fsSelection; |
|
|
|
|
TT_UShort usFirstCharIndex; |
|
|
|
|
TT_UShort usLastCharIndex; |
|
|
|
|
TT_Short sTypoAscender; |
|
|
|
|
TT_Short sTypoDescender; |
|
|
|
|
TT_Short sTypoLineGap; |
|
|
|
|
TT_UShort usWinAscent; |
|
|
|
|
TT_UShort usWinDescent; |
|
|
|
|
|
|
|
|
|
/* only version 1 tables: */ |
|
|
|
|
|
|
|
|
|
TT_ULong ulCodePageRange1; /* Bits 0-31 */ |
|
|
|
|
TT_ULong ulCodePageRange2; /* Bits 32-63 */ |
|
|
|
|
|
|
|
|
|
} TT_OS2; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* <Struct> */ |
|
|
|
|
/* TT_Postscript */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Description> */ |
|
|
|
|
/* A structure used to model a TrueType Postscript table. All fields */ |
|
|
|
|
/* comply to the TrueType table. This structure does not reference */ |
|
|
|
|
/* the Postscript glyph names, which can be nevertheless accessed */ |
|
|
|
|
/* with the `ttpost' module. */ |
|
|
|
|
/* */ |
|
|
|
|
typedef struct TT_Postscript_ |
|
|
|
|
{ |
|
|
|
|
TT_Fixed FormatType; |
|
|
|
|
TT_Fixed italicAngle; |
|
|
|
|
TT_FWord underlinePosition; |
|
|
|
|
TT_FWord underlineThickness; |
|
|
|
|
TT_ULong isFixedPitch; |
|
|
|
|
TT_ULong minMemType42; |
|
|
|
|
TT_ULong maxMemType42; |
|
|
|
|
TT_ULong minMemType1; |
|
|
|
|
TT_ULong maxMemType1; |
|
|
|
|
|
|
|
|
|
/* Glyph names follow in the file, but we don't */ |
|
|
|
|
/* load them by default. See the ttpost.c file. */ |
|
|
|
|
|
|
|
|
|
} TT_Postscript; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* <Struct> */ |
|
|
|
|
/* TT_MaxProfile */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Description> */ |
|
|
|
|
/* The maximum profile is a table containing many max values which */ |
|
|
|
|
/* can be used to pre-allocate arrays. This ensures that no memory */ |
|
|
|
|
/* allocation occurs during a glyph load. */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Fields> */ |
|
|
|
|
/* version :: The version number. */ |
|
|
|
|
/* */ |
|
|
|
|
/* numGlyphs :: The number of glyphs in this TrueType */ |
|
|
|
|
/* font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxPoints :: The maximum number of points in a */ |
|
|
|
|
/* non-composite TrueType glyph. See also */ |
|
|
|
|
/* the structure element */ |
|
|
|
|
/* `maxCompositePoints'. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxContours :: The maximum number of contours in a */ |
|
|
|
|
/* non-composite TrueType glyph. See also */ |
|
|
|
|
/* the structure element */ |
|
|
|
|
/* `maxCompositeContours'. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxCompositePoints :: The maximum number of points in a */ |
|
|
|
|
/* composite TrueType glyph. See also the */ |
|
|
|
|
/* structure element `maxPoints'. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxCompositeContours :: The maximum number of contours in a */ |
|
|
|
|
/* composite TrueType glyph. See also the */ |
|
|
|
|
/* structure element `maxContours'. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxZones :: The maximum number of zones used for */ |
|
|
|
|
/* glyph hinting. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxTwilightPoints :: The maximum number of points in the */ |
|
|
|
|
/* twilight zone used for glyph hinting. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxStorage :: The maximum number of elements in the */ |
|
|
|
|
/* storage area used for glyph hinting. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxFunctionDefs :: The maximum number of function */ |
|
|
|
|
/* definitions in the TrueType bytecode for */ |
|
|
|
|
/* this font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxInstructionDefs :: The maximum number of instruction */ |
|
|
|
|
/* definitions in the TrueType bytecode for */ |
|
|
|
|
/* this font. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxStackElements :: The maximum number of stack elements used */ |
|
|
|
|
/* during bytecode interpretation. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxSizeOfInstructions :: The maximum number of TrueType opcodes */ |
|
|
|
|
/* used for glyph hinting. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxComponentElements :: An obscure value related to composite */ |
|
|
|
|
/* glyphs definitions. */ |
|
|
|
|
/* */ |
|
|
|
|
/* maxComponentDepth :: An obscure value related to composite */ |
|
|
|
|
/* glyphs definitions. Probably the maximum */ |
|
|
|
|
/* number of simple glyphs in a composite. */ |
|
|
|
|
/* */ |
|
|
|
|
/* <Note> */ |
|
|
|
|
/* This structure is only used during font loading. */ |
|
|
|
|
/* */ |
|
|
|
|
typedef struct TT_MaxProfile_ |
|
|
|
|
{ |
|
|
|
|
TT_Fixed version; |
|
|
|
|
TT_UShort numGlyphs; |
|
|
|
|
TT_UShort maxPoints; |
|
|
|
|
TT_UShort maxContours; |
|
|
|
|
TT_UShort maxCompositePoints; |
|
|
|
|
TT_UShort maxCompositeContours; |
|
|
|
|
TT_UShort maxZones; |
|
|
|
|
TT_UShort maxTwilightPoints; |
|
|
|
|
TT_UShort maxStorage; |
|
|
|
|
TT_UShort maxFunctionDefs; |
|
|
|
|
TT_UShort maxInstructionDefs; |
|
|
|
|
TT_UShort maxStackElements; |
|
|
|
|
TT_UShort maxSizeOfInstructions; |
|
|
|
|
TT_UShort maxComponentElements; |
|
|
|
|
TT_UShort maxComponentDepth; |
|
|
|
|
|
|
|
|
|
} TT_MaxProfile; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* <Struct> */ |
|
|
|
@ -1657,7 +1200,9 @@ |
|
|
|
|
TT_CMap4Segment* segments; |
|
|
|
|
TT_UShort* glyphIdArray; |
|
|
|
|
TT_UShort numGlyphId; /* control value */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TT_CMap4Segment* last_segment; /* last used segment, this is a small */ |
|
|
|
|
/* cache to potentially increase speed */ |
|
|
|
|
} TT_CMap4; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2063,6 +1608,15 @@ |
|
|
|
|
/* used to hook the debugger for the `ttdebug' utility.. */ |
|
|
|
|
TT_Interpreter interpreter; |
|
|
|
|
|
|
|
|
|
/***********************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* Other tables or fields. This is used by derivative formats like */ |
|
|
|
|
/* OpenType. */ |
|
|
|
|
/* */ |
|
|
|
|
/***********************************************************************/ |
|
|
|
|
|
|
|
|
|
void* other; |
|
|
|
|
|
|
|
|
|
} TT_FaceRec; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|