Mercurial > emacs
changeset 101556:7f8b5730cfa5
(ftfont_has_char): If the arg FONT is a font-object,
directly use GT_Get_Char_index.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 27 Jan 2009 05:09:42 +0000 |
parents | a8e049b0d2c2 |
children | 9b7874193899 |
files | src/ftfont.c |
diffstat | 1 files changed, 16 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ftfont.c Tue Jan 27 05:08:40 2009 +0000 +++ b/src/ftfont.c Tue Jan 27 05:09:42 2009 +0000 @@ -62,7 +62,7 @@ { 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; @@ -1189,13 +1189,24 @@ } 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