Data Fields | |
MSymbol | family |
int | x_ppem |
int | y_ppem |
int(* | get_glyph_id )(struct _MFLTFont *font, MFLTGlyphString *gstring, int from, int to) |
int(* | get_metrics )(struct _MFLTFont *font, MFLTGlyphString *gstring, int from, int to) |
int(* | check_otf )(struct _MFLTFont *font, MFLTOtfSpec *spec) |
int(* | drive_otf )(struct _MFLTFont *font, MFLTOtfSpec *spec, MFLTGlyphString *in, int from, int to, MFLTGlyphString *out, MFLTGlyphAdjustment *adjustment) |
void * | internal |
Family name of the font. It may be Mnil if the family name is not important in finding a Font Layout Table suitable for the font (for instance, in the case that the font is an OpenType font).
int MFLTFont::x_ppem |
Horizontal and vertical font sizes in pixels per EM.
int MFLTFont::y_ppem |
int(* MFLTFont::get_glyph_id)(struct _MFLTFont *font, MFLTGlyphString *gstring, int from, int to) |
Callback function to get glyph IDs for glyphs between FROM (inclusive) and TO (exclusive) of GSTRING. If the member <encoded> of a glyph is zero, the member of that glyph is a character code. The function must convert it to the glyph ID of FONT.
int(* MFLTFont::get_metrics)(struct _MFLTFont *font, MFLTGlyphString *gstring, int from, int to) |
Callback function to get metrics of glyphs between FROM (inclusive) and TO (exclusive) of GSTRING. If the member <measured> of a glyph is zero, the function must set the members <xadv>, <yadv>, <ascent>, <descent>, <lbearing>, and <rbearing> of the glyph.
int(* MFLTFont::check_otf)(struct _MFLTFont *font, MFLTOtfSpec *spec) |
Callback function to check if the font has OpenType GSUB/GPOS features for a specific script/language. The function must return 1, if the font satisfies SPEC, or 0. It must be NULL if the font does not have OpenType tables.
int(* MFLTFont::drive_otf)(struct _MFLTFont *font, MFLTOtfSpec *spec, MFLTGlyphString *in, int from, int to, MFLTGlyphString *out, MFLTGlyphAdjustment *adjustment) |
Callback function to apply OpenType features in SPEC to glyphs between FROM (inclusive) and TO (exclusive) of IN. The resulting glyphs are appended to the tail of OUT. If OUT does not have a room to store all the resulting glyphs, it must return -2. It must be NULL if the font does not have OpenType tables.
void* MFLTFont::internal |
For m17n-lib's internal use only. It should be initialized to NULL.