📄 psaux.h
字号:
/* metrics_only :: A boolean indicating that we only want to compute */ /* the metrics of a given glyph, not load all of its */ /* points. */ /* */ /* funcs :: An array of function pointers for the builder. */ /* */ typedef struct T1_BuilderRec_ { FT_Memory memory; FT_Face face; FT_GlyphSlot glyph; FT_GlyphLoader loader; FT_Outline* base; FT_Outline* current; FT_Vector last; FT_Fixed scale_x; FT_Fixed scale_y; FT_Pos pos_x; FT_Pos pos_y; FT_Vector left_bearing; FT_Vector advance; FT_BBox bbox; /* bounding box */ T1_ParseState parse_state; FT_Bool load_points; FT_Bool no_recurse; FT_Bool shift; FT_Bool metrics_only; void* hints_funcs; /* hinter-specific */ void* hints_globals; /* hinter-specific */ T1_Builder_FuncsRec funcs; } T1_BuilderRec; /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** T1 DECODER *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/#if 0 /*************************************************************************/ /* */ /* T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine */ /* calls during glyph loading. */ /* */#define T1_MAX_SUBRS_CALLS 8 /*************************************************************************/ /* */ /* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A */ /* minimum of 16 is required. */ /* */#define T1_MAX_CHARSTRINGS_OPERANDS 32#endif /* 0 */ typedef struct T1_Decoder_ZoneRec_ { FT_Byte* cursor; FT_Byte* base; FT_Byte* limit; } T1_Decoder_ZoneRec, *T1_Decoder_Zone; typedef struct T1_DecoderRec_* T1_Decoder; typedef const struct T1_Decoder_FuncsRec_* T1_Decoder_Funcs; typedef FT_Error (*T1_Decoder_Callback)( T1_Decoder decoder, FT_UInt glyph_index ); typedef struct T1_Decoder_FuncsRec_ { FT_Error (*init)( T1_Decoder decoder, FT_Face face, FT_Size size, FT_GlyphSlot slot, FT_Byte** glyph_names, PS_Blend blend, FT_Bool hinting, FT_Render_Mode hint_mode, T1_Decoder_Callback callback ); void (*done)( T1_Decoder decoder ); FT_Error (*parse_charstrings)( T1_Decoder decoder, FT_Byte* base, FT_UInt len ); } T1_Decoder_FuncsRec; typedef struct T1_DecoderRec_ { T1_BuilderRec builder; FT_Long stack[T1_MAX_CHARSTRINGS_OPERANDS]; FT_Long* top; T1_Decoder_ZoneRec zones[T1_MAX_SUBRS_CALLS + 1]; T1_Decoder_Zone zone; FT_Service_PsCMaps psnames; /* for seac */ FT_UInt num_glyphs; FT_Byte** glyph_names; FT_Int lenIV; /* internal for sub routine calls */ FT_UInt num_subrs; FT_Byte** subrs; FT_PtrDist* subrs_len; /* array of subrs length (optional) */ FT_Matrix font_matrix; FT_Vector font_offset; FT_Int flex_state; FT_Int num_flex_vectors; FT_Vector flex_vectors[7]; PS_Blend blend; /* for multiple master support */ FT_Render_Mode hint_mode; T1_Decoder_Callback parse_callback; T1_Decoder_FuncsRec funcs; } T1_DecoderRec; /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** AFM PARSER *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ typedef struct AFM_ParserRec_* AFM_Parser; typedef struct AFM_Parser_FuncsRec_ { FT_Error (*init)( AFM_Parser parser, FT_Memory memory, FT_Byte* base, FT_Byte* limit ); void (*done)( AFM_Parser parser ); FT_Error (*parse)( AFM_Parser parser ); } AFM_Parser_FuncsRec; typedef struct AFM_StreamRec_* AFM_Stream; /*************************************************************************/ /* */ /* <Struct> */ /* AFM_ParserRec */ /* */ /* <Description> */ /* An AFM_Parser is a parser for the AFM files. */ /* */ /* <Fields> */ /* memory :: The object used for memory operations (alloc and */ /* realloc). */ /* */ /* stream :: This is an opaque object. */ /* */ /* FontInfo :: The result will be stored here. */ /* */ /* get_index :: A user provided function to get a glyph index by its */ /* name. */ /* */ typedef struct AFM_ParserRec_ { FT_Memory memory; AFM_Stream stream; AFM_FontInfo FontInfo; FT_Int (*get_index)( const char* name, FT_UInt len, void* user_data ); void* user_data; } AFM_ParserRec; /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** TYPE1 CHARMAPS *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ typedef const struct T1_CMap_ClassesRec_* T1_CMap_Classes; typedef struct T1_CMap_ClassesRec_ { FT_CMap_Class standard; FT_CMap_Class expert; FT_CMap_Class custom; FT_CMap_Class unicode; } T1_CMap_ClassesRec; /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** PSAux Module Interface *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ typedef struct PSAux_ServiceRec_ { /* don't use `PS_Table_Funcs' and friends to avoid compiler warnings */ const PS_Table_FuncsRec* ps_table_funcs; const PS_Parser_FuncsRec* ps_parser_funcs; const T1_Builder_FuncsRec* t1_builder_funcs; const T1_Decoder_FuncsRec* t1_decoder_funcs; void (*t1_decrypt)( FT_Byte* buffer, FT_Offset length, FT_UShort seed ); T1_CMap_Classes t1_cmap_classes; /* fields after this comment line were added after version 2.1.10 */ const AFM_Parser_FuncsRec* afm_parser_funcs; } PSAux_ServiceRec, *PSAux_Service; /* backwards-compatible type definition */ typedef PSAux_ServiceRec PSAux_Interface;FT_END_HEADER#endif /* __PSAUX_H__ *//* END */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -