[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src xftfont.c
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] emacs/src xftfont.c |
Date: |
Thu, 16 Apr 2009 01:38:36 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Kenichi Handa <handa> 09/04/16 01:38:36
Modified files:
src : xftfont.c
Log message:
(xftfont_has_char): Special handling of `ja' and `ko' adstyle.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/xftfont.c?cvsroot=emacs&r1=1.22&r2=1.23
Patches:
Index: xftfont.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xftfont.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- xftfont.c 6 Apr 2009 11:08:56 -0000 1.22
+++ xftfont.c 16 Apr 2009 01:38:35 -0000 1.23
@@ -467,16 +467,28 @@
}
}
+extern Lisp_Object Qja, Qko;
+
static int
xftfont_has_char (font, c)
Lisp_Object font;
int c;
{
struct xftfont_info *xftfont_info;
+ struct charset *cs = NULL;
if (FONT_ENTITY_P (font))
return ftfont_driver.has_char (font, c);
+ if (EQ (AREF (font, FONT_ADSTYLE_INDEX), Qja)
+ && charset_jisx0208 >= 0)
+ cs = CHARSET_FROM_ID (charset_jisx0208);
+ else if (EQ (AREF (font, FONT_ADSTYLE_INDEX), Qko)
+ && charset_ksc5601 >= 0)
+ cs = CHARSET_FROM_ID (charset_ksc5601);
+ if (cs)
+ return (ENCODE_CHAR (cs, c) != CHARSET_INVALID_CODE (cs));
+
xftfont_info = (struct xftfont_info *) XFONT_OBJECT (font);
return (XftCharExists (xftfont_info->display, xftfont_info->xftfont,
(FcChar32) c) == FcTrue);