From ca19224f600c3e9efbb475c05fae92e64667c9f3 Mon Sep 17 00:00:00 2001 From: handa Date: Mon, 10 Sep 2007 04:50:26 +0000 Subject: [PATCH] (struct _MFLTGlyph): New member encoded and measured. (struct _MFLTFont): Prototype of get_glyph_id changed. --- src/m17n-flt.h | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/m17n-flt.h b/src/m17n-flt.h index 0be2159..4277d18 100644 --- a/src/m17n-flt.h +++ b/src/m17n-flt.h @@ -65,17 +65,23 @@ struct _MFLTGlyph unsigned int code; /***en Glyph indices indicating the range of original glyphs. */ int from, to; - /***en Ink metrics of the glyph expressed in 26.6 fractional pixel - format. */ - int ascent, descent, lbearing, rbearing; /***en Advance width for horizontal layout and advance height for vertical layout expressed in 26.6 fractional pixel format. */ int xadv, yadv; + /***en Ink metrics of the glyph expressed in 26.6 fractional pixel + format. */ + int ascent, descent, lbearing, rbearing; /***en Horizontal and vertical adjustments for the glyph positioning expressed in 26.6 fractional pixel format. */ int xoff, yoff; + /***en Flag to tell if the member is encoded into a glyph ID + of a font. */ + int encoded : 1; + /***en Flag to tell if the metrics of the glyph (members thru + ) are already calculated. */ + int measured : 1; /***en For m17n-lib's internal use only. */ - unsigned int internal; + unsigned int internal : 30; }; /***en @@ -98,7 +104,7 @@ struct _MFLTGlyphAdjustment int xoff, yoff; /***en Number of glyphs to go back for drawing a glyph. */ short back; - /***en If nonzero, the member #xadv and #yadv are absolute, i.e., + /***en If nonzero, the member and are absolute, i.e., they should not be added to a glyph's origianl advance width and height. */ unsigned advance_is_absolute : 1; @@ -126,10 +132,10 @@ struct _MFLTGlyphString int allocated; /***en How many elements in #glyphs are in use. */ int used; - /***en OTF Script tag. Zero means */ + /***en OTF script tag. Zero means */ unsigned int script; - /***en OTF Langsys tag. */ - unsigned int langsys; + /***en OTF language system tag. */ + unsigned int language; }; /***en @@ -162,7 +168,8 @@ typedef struct _MFLTFont MFLTFont; struct _MFLTFont { int x_ppem, y_ppem; - int (*get_glyph_id) (MFLTFont *font, MFLTGlyph *g); + int (*get_glyph_id) (MFLTFont *font, MFLTGlyphString *gstring, + int form, int to); int (*get_metric) (MFLTFont *font, MFLTGlyphString *gstring, int form, int to); int (*suitable_p) (MFLTFont *font, MSymbol family, MFLTOtfSpec *spec); int (*drive_otf) (MFLTFont *font, MFLTOtfSpec *spec, -- 1.7.10.4