+2009-01-27 Kenichi Handa <handa@m17n.org>
+
+ * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
+ directly use GT_Get_Char_index.
+
+ * xftfont.c (struct xftfont_info): New member `index'.
+
+ * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
+ (Ffontset_font): Adjusted for the change of fontset entry.
+
2009-01-26 Kenichi Handa <handa@m17n.org>
* fontset.c (fontset_find_font): Fix handling of non-cons return
{
struct font font;
#ifdef HAVE_LIBOTF
- /* The following three members must be here in this order to be
+ /* The following four members must be here in this order to be
compatible with struct xftfont_info (in xftfont.c). */
int maybe_otf; /* Flag to tell if this may be OTF or not. */
OTF *otf;
}
static int
-ftfont_has_char (entity, c)
- Lisp_Object entity;
+ftfont_has_char (font, c)
+ Lisp_Object font;
int c;
{
- FcCharSet *charset = ftfont_get_fc_charset (entity);
+ if (FONT_ENTITY_P (font))
+ {
+ FcCharSet *charset = ftfont_get_fc_charset (font);
- return (FcCharSetHasChar (charset, c) == FcTrue);
+ return (FcCharSetHasChar (charset, c) == FcTrue);
+ }
+ else
+ {
+ struct ftfont_info *ftfont_info;
+
+ ftfont_info = (struct ftfont_info *) XFONT_OBJECT (font);
+ return (FT_Get_Char_Index (ftfont_info->ft_size->face, (FT_ULong) c)
+ != 0);
+ }
}
static unsigned