📄 freetype.h
字号:
/* */ /* <Description> */ /* FreeType root face class structure. A face object models the */ /* resolution and point-size independent data found in a font file. */ /* */ /* <Fields> */ /* num_faces :: In the case where the face is located in a */ /* collection (i.e., a resource which embeds */ /* several faces), this is the total number of */ /* faces found in the resource. 1 by default. */ /* */ /* face_index :: The index of the face in its resource. */ /* Usually, this is 0 for all normal font */ /* formats. It can be more in the case of */ /* collections (which embed several fonts in a */ /* single resource/file). */ /* */ /* face_flags :: A set of bit flags that give important */ /* information about the face; see the */ /* FT_FACE_FLAG_XXX macros for details. */ /* */ /* style_flags :: A set of bit flags indicating the style of */ /* the face (i.e., italic, bold, underline, */ /* etc). */ /* */ /* num_glyphs :: The total number of glyphs in the face. */ /* */ /* family_name :: The face's family name. This is an ASCII */ /* string, usually in English, which describes */ /* the typeface's family (like `Times New */ /* Roman', `Bodoni', `Garamond', etc). This */ /* is a least common denominator used to list */ /* fonts. Some formats (TrueType & OpenType) */ /* provide localized and Unicode versions of */ /* this string. Applications should use the */ /* format specific interface to access them. */ /* */ /* style_name :: The face's style name. This is an ASCII */ /* string, usually in English, which describes */ /* the typeface's style (like `Italic', */ /* `Bold', `Condensed', etc). Not all font */ /* formats provide a style name, so this field */ /* is optional, and can be set to NULL. As */ /* for `family_name', some formats provide */ /* localized/Unicode versions of this string. */ /* Applications should use the format specific */ /* interface to access them. */ /* */ /* num_fixed_sizes :: The number of fixed sizes available in this */ /* face. This should be set to 0 for scalable */ /* fonts, unless its resource includes a */ /* complete set of glyphs (called a `strike') */ /* for the specified size. */ /* */ /* available_sizes :: An array of sizes specifying the available */ /* bitmap/graymap sizes that are contained in */ /* in the font resource. Should be set to */ /* NULL if the field `num_fixed_sizes' is set */ /* to 0. */ /* */ /* num_charmaps :: The total number of character maps in the */ /* face. */ /* */ /* charmaps :: A table of pointers to the face's charmaps */ /* Used to scan the list of available charmaps */ /* this table might change after a call to */ /* FT_Attach_File/Stream (e.g. when it used */ /* to hook and additional encoding/CMap to */ /* the face object). */ /* */ /* generic :: A field reserved for client uses. See the */ /* FT_Generic type description. */ /* */ /* bbox :: The font bounding box. Coordinates are */ /* expressed in font units (see units_per_EM). */ /* The box is large enough to contain any */ /* glyph from the font. Thus, bbox.yMax can */ /* be seen as the `maximal ascender', */ /* bbox.yMin as the `minimal descender', and */ /* the maximal glyph width is given by */ /* `bbox.xMax-bbox.xMin' (not to be confused */ /* with the maximal _advance_width_). Only */ /* relevant for scalable formats. */ /* */ /* units_per_EM :: The number of font units per EM square for */ /* this face. This is typically 2048 for */ /* TrueType fonts, 1000 for Type1 fonts, and */ /* should be set to the (unrealistic) value 1 */ /* for fixed-sizes fonts. Only relevant for */ /* scalable formats. */ /* */ /* ascender :: The face's ascender is the vertical */ /* distance from the baseline to the topmost */ /* point of any glyph in the face. This */ /* field's value is positive, expressed in */ /* font units. Some font designs use a value */ /* different from `bbox.yMax'. Only relevant */ /* for scalable formats. */ /* */ /* descender :: The face's descender is the vertical */ /* distance from the baseline to the */ /* bottommost point of any glyph in the face. */ /* This field's value is positive, expressed */ /* in font units. Some font designs use a */ /* value different from `-bbox.yMin'. Only */ /* relevant for scalable formats. */ /* */ /* height :: The face's height is the vertical distance */ /* from one baseline to the next when writing */ /* several lines of text. Its value is always */ /* positive, expressed in font units. The */ /* value can be computed as */ /* `ascender+descender+line_gap' where the */ /* value of `line_gap' is also called */ /* `external leading'. Only relevant for */ /* scalable formats. */ /* */ /* max_advance_width :: The maximal advance width, in font units, */ /* for all glyphs in this face. This can be */ /* used to make word wrapping computations */ /* faster. Only relevant for scalable */ /* formats. */ /* */ /* max_advance_height :: The maximal advance height, in font units, */ /* for all glyphs in this face. This is only */ /* relevant for vertical layouts, and should */ /* be set to the `height' for fonts that do */ /* not provide vertical metrics. Only */ /* relevant for scalable formats. */ /* */ /* underline_position :: The position, in font units, of the */ /* underline line for this face. It's the */ /* center of the underlining stem. Only */ /* relevant for scalable formats. */ /* */ /* underline_thickness :: The thickness, in font units, of the */ /* underline for this face. Only relevant for */ /* scalable formats. */ /* */ /* driver :: A handle to the face's parent driver */ /* object. */ /* */ /* memory :: A handle to the face's parent memory */ /* object. Used for the allocation of */ /* subsequent objects. */ /* */ /* stream :: A handle to the face's stream. */ /* */ /* glyph :: The face's associated glyph slot(s). This */ /* object is created automatically with a new */ /* face object. However, certain kinds of */ /* applications (mainly tools like converters) */ /* can need more than one slot to ease their */ /* task. */ /* */ /* sizes_list :: The list of child sizes for this face. */ /* */ /* internal :: A pointer to internal fields of the face */ /* object. These fields can change freely */ /* between releases of FreeType and are not */ /* publicly available. */ /* */ typedef struct FT_FaceRec_ { FT_Long num_faces; FT_Long face_index; FT_Long face_flags; FT_Long style_flags; FT_Long num_glyphs; FT_String* family_name; FT_String* style_name; FT_Int num_fixed_sizes; FT_Bitmap_Size* available_sizes; FT_Int num_charmaps; FT_CharMap* charmaps; FT_Generic generic; /*# the following are only relevant to scalable outlines */ FT_BBox bbox; FT_UShort units_per_EM; FT_Short ascender; FT_Short descender; FT_Short height; FT_Short max_advance_width; FT_Short max_advance_height; FT_Short underline_position; FT_Short underline_thickness; FT_GlyphSlot glyph; FT_Size size; FT_CharMap charmap; /*@private begin */ FT_Driver driver; FT_Memory memory; FT_Stream stream; FT_ListRec sizes_list;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -