📄 t1gload.h
字号:
op_sbw, op_closepath, op_hlineto, op_hmoveto, op_hvcurveto, op_rlineto, op_rmoveto, op_rrcurveto, op_vhcurveto, op_vlineto, op_vmoveto, op_dotsection, op_hstem, op_hstem3, op_vstem, op_vstem3, op_div, op_callothersubr, op_callsubr, op_pop, op_return, op_setcurrentpoint, op_max /* never remove this one */ } T1_Operator; /* execution context charstring zone */ typedef struct T1_Decoder_Zone_ { T1_Byte* base; T1_Byte* limit; T1_Byte* cursor; } T1_Decoder_Zone; typedef struct T1_Decoder_ { T1_Builder builder; T1_Hinter_Funcs hinter; T1_Int stack[ T1_MAX_CHARSTRINGS_OPERANDS ]; T1_Int* top; T1_Decoder_Zone zones[ T1_MAX_SUBRS_CALLS+1 ]; T1_Decoder_Zone* zone; T1_Int flex_state; T1_Int num_flex_vectors; T1_Vector flex_vectors[7]; } T1_Decoder;/********************************************************************* * * <Function> * T1_Init_Builder * * <Description> * Initialise a given glyph builder. * * <Input> * builder :: glyph builder to initialise * face :: current face object * size :: current size object * glyph :: current glyph object * funcs :: glyph builder functions (or "methods"). * * <Note> * This function is exported for now because it is used by the * "t1dump" utility. Later, it will be accessed through a * format-specific extension * *********************************************************************/ EXPORT_DEF void T1_Init_Builder( T1_Builder* builder, T1_Face face, T1_Size size, T1_GlyphSlot glyph, const T1_Builder_Funcs* funcs );/********************************************************************* * * <Function> * T1_Done_Builder * * <Description> * Finalise a given glyph builder. Its content can still be * used after the call, but the function saves important information * within the corresponding glyph slot. * * <Input> * builder :: glyph builder to initialise * * <Note> * This function is exported for now because it is used by the * "t1dump" utility. Later, it will be accessed through a * format-specific extension * *********************************************************************/ EXPORT_DEF void T1_Done_Builder( T1_Builder* builder );/********************************************************************* * * <Function> * T1_Init_Decoder * * <Description> * Initialise a given Type 1 decoder for parsing * * <Input> * decoder :: Type 1 decoder to initialise * funcs :: hinter functions interface * * <Note> * This function is exported for now because it is used by the * "t1dump" utility. Later, it will be accessed through a * format-specific extension * *********************************************************************/ EXPORT_DEF void T1_Init_Decoder( T1_Decoder* decoder, const T1_Hinter_Funcs* funcs ); /* Compute the maximum advance width of a font through quick parsing */ LOCAL_DEF T1_Error T1_Compute_Max_Advance( T1_Face face, T1_Int *max_advance ); /* This function is exported, because it is used by the T1Dump utility */ EXPORT_DEF T1_Error T1_Parse_CharStrings( T1_Decoder* decoder, T1_Byte* charstring_base, T1_Int charstring_len, T1_Int num_subrs, T1_Byte** subrs_base, T1_Int* subrs_len );/*************************************************************************//* *//* <Function> T1_Add_Points *//* *//* <Description> *//* Checks that there is enough room in the current load glyph outline *//* to accept "num_points" additional outline points. If not, this *//* function grows the load outline's arrays accordingly.. *//* *//* <Input> *//* builder :: pointer to glyph builder object *//* num_points :: number of points that will be added later *//* *//* <Return> *//* Type1 error code. 0 means success *//* *//* <Note> *//* This function does NOT update the points count in the glyph loader *//* This must be done by the caller itself, after this function is *//* invoked.. *//* */ LOCAL_DEF T1_Error T1_Add_Points( T1_Builder* builder, T1_Int num_points );/*************************************************************************//* *//* <Function> T1_Add_Contours *//* *//* <Description> *//* Checks that there is enough room in the current load glyph outline *//* to accept "num_contours" additional contours. If not, this func *//* the load outline's arrays accordingly.. *//* *//* <Input> *//* builder :: pointer to glyph builder object *//* num_contours :: number of contours that will be added later *//* *//* <Return> *//* Type1 error code. 0 means success *//* *//* <Note> *//* This function does NOT update the contours count in the load glyph *//* This must be done by the caller itself, after this function is *//* invoked.. *//* */ LOCAL_DEF T1_Error T1_Add_Contours( T1_Builder* builder, T1_Int num_contours ); LOCAL_DEF T1_Error T1_Load_Glyph( T1_GlyphSlot glyph, T1_Size size, T1_Int glyph_index, T1_Int load_flags );#ifdef __cplusplus }#endif#endif /* T1GLOAD_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -