(struct _MFLTGlyphString): Delete user_data, add
authorhanda <handa>
Mon, 3 Sep 2007 00:34:45 +0000 (00:34 +0000)
committerhanda <handa>
Mon, 3 Sep 2007 00:34:45 +0000 (00:34 +0000)
script and langsys.
(struct _MFLTFont): Add suitable_p.
(mflt_find): Extern it.

src/m17n-flt.h

index cd0bcec..6053fe8 100644 (file)
@@ -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);