- /** Encode C into the glyph code the font. CODE is a code point of
- C in rfont->encoder->encoding_charset. If the font has no glyph
- for C, return MCHAR_INVALID_CODE. */
- unsigned (*encode_char) (MRealizedFont *rfont, int c, unsigned code);
+ /** Check if the font has a glyph for CODE. CODE is a code point of
+ a character in font->encoder->encoding_charset. Return nonzero
+ iff the font has the glyph. */
+ int (*has_char) (MFrame *frame, MFont *font, MFont *spec,
+ int c, unsigned code);
+
+ /** Encode CODE into a glyph code the font. CODE is a code point of
+ a character in rfont->encoder->encoding_charset. If the font
+ has no glyph for CODE, return MCHAR_INVALID_CODE. */
+ unsigned (*encode_char) (MFrame *frame, MFont *font, MFont *spec,
+ unsigned code);