22 #include FT_INTERNAL_STREAM_H
23 #include FT_INTERNAL_POSTSCRIPT_AUX_H
33 #define FT_COMPONENT trace_t1afm
69 if ( gname && gname[0] == name[0] &&
80 #define KERN_INDEX( g1, g2 ) ( ( (FT_ULong)(g1) << 16 ) | (g2) )
95 if ( index1 > index2 )
97 else if ( index1 < index2 )
116 FT_Int width_table_length;
131 error = T1_Err_Unknown_File_Format;
136 p += 18 + width_table_length;
151 error = T1_Err_Unknown_File_Format;
159 error = T1_Err_Unknown_File_Format;
200 for ( ; p <
limit ; p += 4 )
211 if ( oldcharmap !=
NULL )
272 if ( error == T1_Err_Unknown_File_Format )
278 if ( stream->size > 6 &&
291 t1_face->bbox.xMax = ( fi->
FontBBox.
xMax + 0xFFFF ) >> 16;
292 t1_face->bbox.yMax = ( fi->
FontBBox.
yMax + 0xFFFF ) >> 16;
301 ( (
T1_Face)t1_face )->afm_data = fi;
329 max = min + fi->NumKernPair - 1;
336 mid = min + ( max -
min ) / 2;
369 return T1_Err_Invalid_Argument;
376 if ( tk->
degree != degree )
379 if ( ptsize < tk->min_ptsize )
struct AFM_KernPairRec_ * AFM_KernPair
compare_kern_pairs(const void *a, const void *b)
const AFM_Parser_FuncsRec * afm_parser_funcs
struct T1_FaceRec_ * T1_Face
#define KERN_INDEX(g1, g2)
FT_Error(* init)(AFM_Parser parser, FT_Memory memory, FT_Byte *base, FT_Byte *limit)
#define FT_QNEW_ARRAY(ptr, count)
GLboolean GLboolean GLboolean GLboolean a
EGLImageKHR EGLint * name
T1_Done_Metrics(FT_Memory memory, AFM_FontInfo fi)
struct T1_FontRec_ * T1_Font
static FT_Error T1_Read_PFM(FT_Face t1_face, FT_Stream stream, AFM_FontInfo fi)
FT_Get_Char_Index(FT_Face face, FT_ULong charcode)
FT_MulDiv(FT_Long a, FT_Long b, FT_Long c)
static FT_Int t1_get_index(const char *name, FT_Offset len, void *user_data)
struct PSAux_ServiceRec_ * PSAux_Service
T1_Read_Metrics(FT_Face t1_face, FT_Stream stream)
struct AFM_FontInfoRec_ * AFM_FontInfo
#define FT_CALLBACK_DEF(x)
FT_Set_Charmap(FT_Face face, FT_CharMap charmap)
#define FT_PEEK_ULONG_LE(p)
#define FT_PEEK_USHORT_LE(p)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
#define FT_PEEK_SHORT_LE(p)
FT_Error(* parse)(AFM_Parser parser)
void(* done)(AFM_Parser parser)
#define FT_FACE_FLAG_KERNING
GLdouble GLdouble GLdouble b
#define FT_FRAME_ENTER(size)
FT_Int(* get_index)(const char *name, FT_Offset len, void *user_data)
T1_Get_Track_Kerning(FT_Face face, FT_Fixed ptsize, FT_Int degree, FT_Fixed *kerning)
T1_Get_Kerning(AFM_FontInfo fi, FT_UInt glyph1, FT_UInt glyph2, FT_Vector *kerning)