📄 freetype.h
字号:
/* An extremely simple structure used to model the size of a bitmap */ /* strike (i.e., a bitmap instance of the font for a given */ /* resolution) in a fixed-size font face. This is used for the */ /* `available_sizes' field of the FT_Face_Properties structure. */ /* */ /* <Fields> */ /* height :: The character height in pixels. */ /* */ /* width :: The character width in pixels. */ /* */ typedef struct FT_Bitmap_Size_ { FT_Short height; FT_Short width; } FT_Bitmap_Size; /*************************************************************************/ /*************************************************************************/ /* */ /* O B J E C T C L A S S E S */ /* */ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* <Type> */ /* FT_Library */ /* */ /* <Description> */ /* A handle to a FreeType library instance. Each `library' is */ /* completely independent from the others; it is the `root' of a set */ /* of objects like fonts, faces, sizes, etc. */ /* */ /* It also embeds a memory manager (see @FT_Memory), as well as a */ /* scan-line converter object (see @FT_Raster). */ /* */ /* <Note> */ /* Library objects are normally created by @FT_Init_FreeType, and */ /* destroyed with @FT_Done_FreeType */ /* */ typedef struct FT_LibraryRec_ *FT_Library; /*************************************************************************/ /* */ /* <Type> */ /* FT_Module */ /* */ /* <Description> */ /* A handle to a given FreeType module object. Each module can be a */ /* font driver, a renderer, or anything else that provides services */ /* to the formers. */ /* */ typedef struct FT_ModuleRec_* FT_Module; /*************************************************************************/ /* */ /* <Type> */ /* FT_Driver */ /* */ /* <Description> */ /* A handle to a given FreeType font driver object. Each font driver */ /* is a special module capable of creating faces from font files. */ /* */ typedef struct FT_DriverRec_* FT_Driver; /*************************************************************************/ /* */ /* <Type> */ /* FT_Renderer */ /* */ /* <Description> */ /* A handle to a given FreeType renderer. A renderer is a special */ /* module in charge of converting a glyph image to a bitmap, when */ /* necessary. Each renderer supports a given glyph image format, and */ /* one or more target surface depths. */ /* */ typedef struct FT_RendererRec_* FT_Renderer; /*************************************************************************/ /* */ /* <Type> */ /* FT_Face */ /* */ /* <Description> */ /* A handle to a given typographic face object. A face object models */ /* a given typeface, in a given style. */ /* */ /* <Note> */ /* Each face object also owns a single @FT_GlyphSlot object, as well */ /* as one or more @FT_Size objects. */ /* */ /* use @FT_New_Face or @FT_Open_Face to create a new face object from */ /* a given filepathname or a custom input stream. */ /* */ /* use @FT_Done_Face to destroy it (along with its slot and sizes) */ /* */ /* <Also> */ /* the @FT_FaceRec details the publicly accessible fields of a given */ /* face object. */ /* */ typedef struct FT_FaceRec_* FT_Face; /*************************************************************************/ /* */ /* <Type> */ /* FT_Size */ /* */ /* <Description> */ /* A handle to a given size object. Such an object models the */ /* data that depends on the current _resolution_ and _character_ */ /* _size_ in a given @FT_Face. */ /* */ /* <Note> */ /* Each face object owns one or more sizes. There is however a */ /* single _active_ size for the face at any time that will be */ /* used by functions like @FT_Load_Glyph, @FT_Get_Kerning, etc... */ /* */ /* you can use the @FT_Activate_Size API to change the current */ /* active size of any given face */ /* */ /* <Also> */ /* the @FT_SizeRec structure details the publicly accessible fields */ /* of a given face object. */ /* */ typedef struct FT_SizeRec_* FT_Size; /*************************************************************************/ /* */ /* <Type> */ /* FT_GlyphSlot */ /* */ /* <Description> */ /* A handle to a given `glyph slot'. A slot is a container where it */ /* is possible to load any one of the glyphs contained in its parent */ /* face. */ /* */ /* In other words, each time you call @FT_Load_Glyph or */ /* @FT_Load_Char, the slot's content is erased by the new glyph data, */ /* i.e. the glyph's metrics, its image (bitmap or outline), and */ /* other control information */ /* */ /* <Also> */ /* @FT_GlyphSlotRec details the publicly accessible glyph fields */ /* */ typedef struct FT_GlyphSlotRec_* FT_GlyphSlot; /*************************************************************************/ /* */ /* <Type> */ /* FT_CharMap */ /* */ /* <Description> */ /* A handle to a given character map. A charmap is used to translate */ /* character codes in a given encoding into glyph indexes for its */ /* parent's face. Some font formats may provide several charmaps per */ /* font. */ /* */ /* Each face object owns zero or more charmaps, but only one of */ /* them can be "active" and used by @FT_Get_Char_Index or */ /* @FT_Load_Char */ /* */ /* The list of available charmaps in a face is available through the */ /* "face->num_charmaps" and "face->charmaps" fields of @FT_FaceRec */ /* */ /* the currently active charmap is available as "face->charmap". */ /* You should call @FT_Set_Charmap to change it */ /* */ /* <Note> */ /* when a new face is created (either through @FT_New_Face or */ /* @FT_Open_Face), the library looks for a Unicode charmap within */ /* the list and automatically activates it */ /* */ typedef struct FT_CharMapRec_* FT_CharMap; /*************************************************************************/ /* */ /* <Macro> */ /* FT_ENC_TAG */ /* */ /* <Description> */ /* This macro converts four letter tags into an unsigned long. */ /* It is used to define "encoding" identifiers (see @FT_Encoding) */ /* */ /* */#ifndef FT_ENC_TAG#define FT_ENC_TAG( value, _x1, _x2, _x3, _x4 ) \ value = ( ( (unsigned long)_x1 << 24 ) | \ ( (unsigned long)_x2 << 16 ) | \ ( (unsigned long)_x3 << 8 ) | \ (unsigned long)_x4 )#endif /* FT_ENC_TAG */ /*************************************************************************/ /* */ /* <Enum> */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -