changeset 90034:dbbe513cabef

(fs_load_font): Use fast_string_match_ignore_case instead of fast_c_string_match_ignore_case. (find_font_encoding): Argument changed to Lisp_Object. Use fast_string_match_ignore_case instead of fast_c_string_match_ignore_case. Caller changed.
author Kenichi Handa <handa@m17n.org>
date Sat, 23 Oct 2004 01:35:24 +0000
parents f3ec05478165
children 556d615098ad
files src/fontset.c
diffstat 1 files changed, 10 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/fontset.c	Fri Oct 22 10:13:52 2004 +0000
+++ b/src/fontset.c	Sat Oct 23 01:35:24 2004 +0000
@@ -262,7 +262,7 @@
 static Lisp_Object fontset_pattern_regexp P_ ((Lisp_Object));
 static void accumulate_script_ranges P_ ((Lisp_Object, Lisp_Object,
 					  Lisp_Object));
-static Lisp_Object find_font_encoding P_ ((char *));
+static Lisp_Object find_font_encoding P_ ((Lisp_Object));
 
 static void set_fontset_font P_ ((Lisp_Object, Lisp_Object));
 
@@ -973,6 +973,7 @@
      int charset;
 {
   struct font_info *fontp;
+  Lisp_Object fullname;
 
   if (!fontname)
     /* No way to get fontname.  */
@@ -983,12 +984,13 @@
     return fontp;
 
   fontname = fontp->full_name;
+  fullname = build_string (fontp->full_name);
 
   if (charset < 0)
     {
       Lisp_Object charset_symbol;
 
-      charset_symbol = find_font_encoding (fontname);
+      charset_symbol = find_font_encoding (fullname);
       if (CONSP (charset_symbol))
 	charset_symbol = XCAR (charset_symbol);
       charset = XINT (CHARSET_SYMBOL_ID (charset_symbol));
@@ -1001,8 +1003,8 @@
     {
       fontp->vertical_centering
 	= (STRINGP (Vvertical_centering_font_regexp)
-	   && (fast_c_string_match_ignore_case
-	       (Vvertical_centering_font_regexp, fontname) >= 0));
+	   && (fast_string_match_ignore_case
+	       (Vvertical_centering_font_regexp, fullname) >= 0));
 
       if (find_ccl_program_func)
 	(*find_ccl_program_func) (fontp);
@@ -1023,7 +1025,7 @@
 
 static Lisp_Object
 find_font_encoding (fontname)
-     char *fontname;
+     Lisp_Object fontname;
 {
   Lisp_Object tail, elt;
 
@@ -1032,7 +1034,7 @@
       elt = XCAR (tail);
       if (CONSP (elt)
 	  && STRINGP (XCAR (elt))
-	  && fast_c_string_match_ignore_case (XCAR (elt), fontname) >= 0
+	  && fast_string_match_ignore_case (XCAR (elt), fontname) >= 0
 	  && (SYMBOLP (XCDR (elt))
 	      ? CHARSETP (XCDR (elt))
 	      : CONSP (XCDR (elt)) && CHARSETP (XCAR (XCDR (elt)))))
@@ -1444,9 +1446,9 @@
     }
 
   if (STRINGP (font_spec))
-    encoding = find_font_encoding ((char *) SDATA (font_spec));
+    encoding = find_font_encoding (font_spec);
   else
-    encoding = find_font_encoding ((char *) SDATA (registry));
+    encoding = find_font_encoding (registry);
   if (SYMBOLP (encoding))
     {
       CHECK_CHARSET (encoding);