emacs-diffs
[Top][All Lists]
Advanced

[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);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]