📄 ftobjs.h
字号:
/**** ****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* <Struct> */ /* FT_DriverRec */ /* */ /* <Description> */ /* The root font driver class. A font driver is responsible for */ /* managing and loading font files of a given format. */ /* */ /* <Fields> */ /* library :: A handle to the driver's parent library. */ /* */ /* memory :: A handle to the driver's memory object. This is a */ /* duplicate of `library->memory'. */ /* */ /* interface :: A set of driver methods that implement its */ /* behaviour. These methods are called by the */ /* various FreeType functions like FT_New_Face(), */ /* FT_Load_Glyph(), etc. */ /* */ /* format :: A typeless pointer, used to store the address of */ /* the driver's format specific interface. This is a */ /* table of other driver methods that are specific to */ /* its format. Format specific interfaces are */ /* defined in the driver's header files (e.g., */ /* `freetype/drivers/ttlib/ttdriver.h'). */ /* */ /* version :: The driver's version. It can be used for */ /* versioning and dynamic driver update if needed. */ /* */ /* description :: An ASCII string describing the driver's supported */ /* format, like `truetype', `type1', etc. */ /* */ /* faces_list :: The list of faces currently opened by this driver. */ /* */ /* extensions :: a typeless pointer to the driver's extensions */ /* registry, when they are supported through the */ /* config macro FT_CONFIG_OPTION_EXTENSIONS */ /* */ typedef struct FT_DriverRec_ { FT_Library library; FT_Memory memory; FT_Generic generic; FT_DriverInterface interface; FT_FormatInterface format; FT_Int version; /* driver version */ FT_String* description; /* format description */ FT_ListRec faces_list; /* driver's faces list */ void* extensions; } FT_DriverRec;#ifdef FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS /************************************************************************ * * <Struct> * FT_GlyphZone * * <Description> * A glyph zone is used to load, scale and hint glyph outline * coordinates. * * <Fields> * memory :: handle to memory manager * max_points :: max size in points of zone * max_contours :: max size in contours of zone * n_points :: current number of points in zone * n_contours :: current number of contours in zone * org :: original glyph coordinates (font units/scaled) * cur :: current glyph coordinates (scaled/hinted) * tags :: point control tags * contours :: contour end points * ***********************************************************************/ typedef struct FT_GlyphZone_ { FT_Memory memory; FT_UShort max_points; FT_UShort max_contours; FT_UShort n_points; /* number of points in zone */ FT_Short n_contours; /* number of contours */ FT_Vector* org; /* original point coordinates */ FT_Vector* cur; /* current point coordinates */ FT_Byte* tags; /* current touch flags */ FT_UShort* contours; /* contour end points */ } FT_GlyphZone; BASE_DEF FT_Error FT_New_GlyphZone( FT_Memory memory, FT_UShort maxPoints, FT_Short maxContours, FT_GlyphZone* zone ); BASE_DEF void FT_Done_GlyphZone( FT_GlyphZone* zone ); BASE_DEF FT_Error FT_Update_GlyphZone( FT_GlyphZone* zone, FT_UShort num_points, FT_Short num_contours ); /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /**** ****/ /**** ****/ /**** G L Y P H F O R M A T S ****/ /**** ****/ /**** ****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /************************************************************************* * * <Struct> * FT_Glyph_Format * * <Description> * A structure used to model various properties of a non-standard * glyph image format. * * <Fields> * format_tag :: the glyph format tag * * raster_interface :: the default rasters interface for this glyph * format. * * raster :: the default raster object for this glyph format * if set to nil, a new object will be allocated * automatically through the raster interface. * * raster_owned :: a boolean used internally by the library. If * set, if indicates that the current raster object * was allocated by the library. * *************************************************************************/ typedef struct FT_Glyph_Format_ { FT_Glyph_Tag format_tag; FT_Raster_Interface* raster_interface; FT_Raster raster; FT_Bool raster_allocated; } FT_Glyph_Format; /************************************************************************* * * <Function> * FT_Add_Glyph_Format * * <Description> * Register a new glyph format into the library * * <Input> * library :: handle to target library object * interface :: pointer to glyph format interface * * <Return> * Error code. 0 means success * * <Note> * This function should normally be called by those font drivers which * need to use their own glyph image format. * *************************************************************************/ EXPORT_DEF FT_Error FT_Add_Glyph_Format( FT_Library library, FT_Glyph_Format* format ); /************************************************************************* * * <Function> * FT_Remove_Glyph_Format * * <Description> * Un-Register a given glyph format from the library * * <Input> * library :: handle to target library object * glyph_format :: glyph format tag * * <Return> * Error code. 0 means success * * <Note> * This function should normally be called by those font drivers which * need to use their own glyph image format. * *************************************************************************/ EXPORT_DEF FT_Error FT_Remove_Glyph_Format( FT_Library library, FT_Glyph_Tag glyph_format ); /************************************************************************* * * <Function> * FT_Get_Glyph_Format * * <Description> * Return a pointer to the glyph format descriptor corresponding to * a given format tag. * * <Input> * library :: handle to source library object * * format_tag :: glyph format tag * * <Return> * a pointer to the corresponding glyph format descriptor, if it was * registered in the library. 0 otherwise. * *************************************************************************/ BASE_DEF FT_Glyph_Format* FT_Get_Glyph_Format( FT_Library library, FT_Glyph_Tag format_tag );#endif /* FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS */ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /**** ****/ /**** ****/ /**** L I B R A R I E S ****/ /**** ****/ /**** ****/ /*************************************************************************/ /*************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -