From 5c3b59f33345a38364522ceeeaee6934437edccf Mon Sep 17 00:00:00 2001 From: handa Date: Mon, 3 Sep 2007 00:34:45 +0000 Subject: [PATCH] (struct _MFLTGlyphString): Delete user_data, add script and langsys. (struct _MFLTFont): Add suitable_p. (mflt_find): Extern it. --- src/m17n-flt.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/m17n-flt.h b/src/m17n-flt.h index cd0bcec..6053fe8 100644 --- a/src/m17n-flt.h +++ b/src/m17n-flt.h @@ -128,8 +128,10 @@ struct _MFLTGlyphString int allocated; /***en How many elements in #glyphs are in use. */ int used; - /***en A field reserved for client uses. */ - void *user_data; + /***en Script tag. */ + unsigned int script; + /***en Langsys tag. */ + unsigned int langsys; }; /***en @@ -142,10 +144,10 @@ typedef struct _MFLTOtfSpec MFLTOtfSpec; struct _MFLTOtfSpec { - /***en Symbol representing the spec. This is the same as the + /***en Unique symbol representing the spec. This is the same as the #OTF-SPEC of the FLT. */ MSymbol sym; - /***en Tags for script and langsys. */ + /***en Tags for script and langsys. */ unsigned int script, langsys; /***en Number of GSUB features stored in the member #gsub. */ int gsub_count; @@ -164,12 +166,18 @@ struct _MFLTFont int x_ppem, y_ppem; int (*get_glyph_id) (MFLTFont *font, MFLTGlyph *g); 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, MFLTGlyphString *in, int from, int to, MFLTGlyphString *out, MFLTGlyphAdjustment *adjustment); /* Arbitrary data can follow. */ }; +typedef struct _MFLT MFLT; + +extern MFLT *mflt_find (MFLTGlyphString *gstring, int pos, MFLTFont *font, + int *start); + extern int mflt_run (MFLTGlyphString *gstring, int from, int to, MFLTFont *font, MSymbol layouter_name); -- 1.7.10.4