changeset 57573:43067aee2f3e

(fs_load_font): Use fast_string_match_ignore_case for comparing font names. (fs_query_fontset): Use fast_string_match for comparing fontset names. (list_fontsets): Likewise.
author Kenichi Handa <handa@m17n.org>
date Mon, 18 Oct 2004 12:27:46 +0000
parents d226830a814e
children 3052227ab881
files src/fontset.c
diffstat 1 files changed, 13 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/fontset.c	Mon Oct 18 12:26:36 2004 +0000
+++ b/src/fontset.c	Mon Oct 18 12:27:46 2004 +0000
@@ -654,7 +654,7 @@
      struct face *face;
 {
   Lisp_Object fontset;
-  Lisp_Object list, elt;
+  Lisp_Object list, elt, fullname;
   int size = 0;
   struct font_info *fontp;
   int charset = CHAR_CHARSET (c);
@@ -700,10 +700,11 @@
      font_info structure that are not set by (*load_font_func).  */
   fontp->charset = charset;
 
+  fullname = build_string (fontp->full_name);
   fontp->vertical_centering
     = (STRINGP (Vvertical_centering_font_regexp)
-       && (fast_c_string_match_ignore_case
-	   (Vvertical_centering_font_regexp, fontp->full_name) >= 0));
+       && (fast_string_match_ignore_case
+	   (Vvertical_centering_font_regexp, fullname) >= 0));
 
   if (fontp->encoding[1] != FONT_ENCODING_NOT_DECIDED)
     {
@@ -720,7 +721,6 @@
       /* The font itself doesn't have information about encoding.  */
       int i;
 
-      fontname = fontp->full_name;
       /* By default, encoding of ASCII chars is 0 (i.e. 0x00..0x7F),
 	 others is 1 (i.e. 0x80..0xFF).  */
       fontp->encoding[0] = 0;
@@ -732,8 +732,7 @@
 	  elt = XCAR (list);
 	  if (CONSP (elt)
 	      && STRINGP (XCAR (elt)) && CONSP (XCDR (elt))
-	      && (fast_c_string_match_ignore_case (XCAR (elt), fontname)
-		  >= 0))
+	      && (fast_string_match_ignore_case (XCAR (elt), fullname) >= 0))
 	    {
 	      Lisp_Object tmp;
 
@@ -847,18 +846,17 @@
 
   for (i = 0; i < ASIZE (Vfontset_table); i++)
     {
-      Lisp_Object fontset;
-      const unsigned char *this_name;
+      Lisp_Object fontset, this_name;
 
       fontset = FONTSET_FROM_ID (i);
       if (NILP (fontset)
 	  || !BASE_FONTSET_P (fontset))
 	continue;
 
-      this_name = SDATA (FONTSET_NAME (fontset));
+      this_name = FONTSET_NAME (fontset);
       if (regexpp
-	  ? fast_c_string_match_ignore_case (name, this_name) >= 0
-	  : !strcmp (SDATA (name), this_name))
+	  ? fast_string_match (name, this_name) >= 0
+	  : !strcmp (SDATA (name), SDATA (this_name)))
 	return i;
     }
   return -1;
@@ -912,19 +910,18 @@
 
   for (id = 0; id < ASIZE (Vfontset_table); id++)
     {
-      Lisp_Object fontset;
-      const unsigned char *name;
+      Lisp_Object fontset, name;
 
       fontset = FONTSET_FROM_ID (id);
       if (NILP (fontset)
 	  || !BASE_FONTSET_P (fontset)
 	  || !EQ (frame, FONTSET_FRAME (fontset)))
 	continue;
-      name = SDATA (FONTSET_NAME (fontset));
+      name = FONTSET_NAME (fontset);
 
       if (!NILP (regexp)
-	  ? (fast_c_string_match_ignore_case (regexp, name) < 0)
-	  : strcmp (SDATA (pattern), name))
+	  ? (fast_string_match (regexp, name) < 0)
+	  : strcmp (SDATA (pattern), SDATA (name)))
 	continue;
 
       if (size)