]> git.eshelyaron.com Git - emacs.git/commitdiff
(xftfont_has_char): Special handling of `ja' and `ko' adstyle.
authorKenichi Handa <handa@m17n.org>
Thu, 16 Apr 2009 01:38:35 +0000 (01:38 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 16 Apr 2009 01:38:35 +0000 (01:38 +0000)
src/xftfont.c

index e533fd73791b879fbcaa972723465f6fb268ec7a..af0feb9b7e6b48461feb73dafeee266ab5306da7 100644 (file)
@@ -467,16 +467,28 @@ xftfont_done_face (f, face)
     }
 }
 
+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);