+
+ /** Push to PLIST fonts matching with FONT. MAXNUM if greater than
+ 0 limits the number of listed fonts. Return the number of fonts
+ listed. */
+ int (*list) (MFrame *frame, MPlist *plist, MFont *font, int maxnum);
+
+ /** Push to PLIST font family names (symbol) available on FRAME. */
+ void (*list_family_names) (MFrame *frame, MPlist *plist);
+
+ /** Check if RFONT support CAPABILITY. */
+ int (*check_capability) (MRealizedFont *rfont, MSymbol capability);
+
+ /** Open a font by encapsulating DATA. */
+ MRealizedFont *(*encapsulate) (MFrame *frame, MSymbol source, void *data);
+
+ void (*close) (MRealizedFont *rfont);
+
+ int (*check_otf) (MFLTFont *font, MFLTOtfSpec *spec);
+
+ int (*drive_otf) (MFLTFont *font, MFLTOtfSpec *spec,
+ MFLTGlyphString *in, int from, int to,
+ MFLTGlyphString *out, MFLTGlyphAdjustment *adjustment);
+
+ int (*try_otf) (MFLTFont *font, MFLTOtfSpec *spec,
+ MFLTGlyphString *in, int from, int to);
+
+ int (*iterate_otf_feature) (struct _MFLTFont *font, MFLTOtfSpec *spec,
+ int from, int to, unsigned char *table);