aboutsummaryrefslogtreecommitdiffstats
path: root/src/fontset.c
diff options
context:
space:
mode:
authorKaroly Lorentey2004-10-19 17:00:02 +0000
committerKaroly Lorentey2004-10-19 17:00:02 +0000
commit90b404757b24ea0c88d6ec3ed9c1ccce07bbd19f (patch)
treeb5cb05f7c5d0c27537362072badf76355d363319 /src/fontset.c
parentec16044407f468aacda9eb031fb7267d5ee0f899 (diff)
parentd4c2c0eff81e7540cbb0a32ef10017285f68e1aa (diff)
downloademacs-90b404757b24ea0c88d6ec3ed9c1ccce07bbd19f.tar.gz
emacs-90b404757b24ea0c88d6ec3ed9c1ccce07bbd19f.zip
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-616 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-617 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-618 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-619 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-620 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-621 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-622 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-623 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-624 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-625 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-51 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-52 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-53 Merge from emacs--cvs-trunk--0 git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-261
Diffstat (limited to 'src/fontset.c')
-rw-r--r--src/fontset.c29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/fontset.c b/src/fontset.c
index e99cc0ff6a3..7fbaee3c216 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -655,7 +655,7 @@ fs_load_font (f, c, fontname, id, face)
655 struct face *face; 655 struct face *face;
656{ 656{
657 Lisp_Object fontset; 657 Lisp_Object fontset;
658 Lisp_Object list, elt; 658 Lisp_Object list, elt, fullname;
659 int size = 0; 659 int size = 0;
660 struct font_info *fontp; 660 struct font_info *fontp;
661 int charset = CHAR_CHARSET (c); 661 int charset = CHAR_CHARSET (c);
@@ -701,10 +701,11 @@ fs_load_font (f, c, fontname, id, face)
701 font_info structure that are not set by (*load_font_func). */ 701 font_info structure that are not set by (*load_font_func). */
702 fontp->charset = charset; 702 fontp->charset = charset;
703 703
704 fullname = build_string (fontp->full_name);
704 fontp->vertical_centering 705 fontp->vertical_centering
705 = (STRINGP (Vvertical_centering_font_regexp) 706 = (STRINGP (Vvertical_centering_font_regexp)
706 && (fast_c_string_match_ignore_case 707 && (fast_string_match_ignore_case
707 (Vvertical_centering_font_regexp, fontp->full_name) >= 0)); 708 (Vvertical_centering_font_regexp, fullname) >= 0));
708 709
709 if (fontp->encoding[1] != FONT_ENCODING_NOT_DECIDED) 710 if (fontp->encoding[1] != FONT_ENCODING_NOT_DECIDED)
710 { 711 {
@@ -721,7 +722,6 @@ fs_load_font (f, c, fontname, id, face)
721 /* The font itself doesn't have information about encoding. */ 722 /* The font itself doesn't have information about encoding. */
722 int i; 723 int i;
723 724
724 fontname = fontp->full_name;
725 /* By default, encoding of ASCII chars is 0 (i.e. 0x00..0x7F), 725 /* By default, encoding of ASCII chars is 0 (i.e. 0x00..0x7F),
726 others is 1 (i.e. 0x80..0xFF). */ 726 others is 1 (i.e. 0x80..0xFF). */
727 fontp->encoding[0] = 0; 727 fontp->encoding[0] = 0;
@@ -733,8 +733,7 @@ fs_load_font (f, c, fontname, id, face)
733 elt = XCAR (list); 733 elt = XCAR (list);
734 if (CONSP (elt) 734 if (CONSP (elt)
735 && STRINGP (XCAR (elt)) && CONSP (XCDR (elt)) 735 && STRINGP (XCAR (elt)) && CONSP (XCDR (elt))
736 && (fast_c_string_match_ignore_case (XCAR (elt), fontname) 736 && (fast_string_match_ignore_case (XCAR (elt), fullname) >= 0))
737 >= 0))
738 { 737 {
739 Lisp_Object tmp; 738 Lisp_Object tmp;
740 739
@@ -848,18 +847,17 @@ fs_query_fontset (name, regexpp)
848 847
849 for (i = 0; i < ASIZE (Vfontset_table); i++) 848 for (i = 0; i < ASIZE (Vfontset_table); i++)
850 { 849 {
851 Lisp_Object fontset; 850 Lisp_Object fontset, this_name;
852 const unsigned char *this_name;
853 851
854 fontset = FONTSET_FROM_ID (i); 852 fontset = FONTSET_FROM_ID (i);
855 if (NILP (fontset) 853 if (NILP (fontset)
856 || !BASE_FONTSET_P (fontset)) 854 || !BASE_FONTSET_P (fontset))
857 continue; 855 continue;
858 856
859 this_name = SDATA (FONTSET_NAME (fontset)); 857 this_name = FONTSET_NAME (fontset);
860 if (regexpp 858 if (regexpp
861 ? fast_c_string_match_ignore_case (name, this_name) >= 0 859 ? fast_string_match (name, this_name) >= 0
862 : !strcmp (SDATA (name), this_name)) 860 : !strcmp (SDATA (name), SDATA (this_name)))
863 return i; 861 return i;
864 } 862 }
865 return -1; 863 return -1;
@@ -913,19 +911,18 @@ list_fontsets (f, pattern, size)
913 911
914 for (id = 0; id < ASIZE (Vfontset_table); id++) 912 for (id = 0; id < ASIZE (Vfontset_table); id++)
915 { 913 {
916 Lisp_Object fontset; 914 Lisp_Object fontset, name;
917 const unsigned char *name;
918 915
919 fontset = FONTSET_FROM_ID (id); 916 fontset = FONTSET_FROM_ID (id);
920 if (NILP (fontset) 917 if (NILP (fontset)
921 || !BASE_FONTSET_P (fontset) 918 || !BASE_FONTSET_P (fontset)
922 || !EQ (frame, FONTSET_FRAME (fontset))) 919 || !EQ (frame, FONTSET_FRAME (fontset)))
923 continue; 920 continue;
924 name = SDATA (FONTSET_NAME (fontset)); 921 name = FONTSET_NAME (fontset);
925 922
926 if (!NILP (regexp) 923 if (!NILP (regexp)
927 ? (fast_c_string_match_ignore_case (regexp, name) < 0) 924 ? (fast_string_match (regexp, name) < 0)
928 : strcmp (SDATA (pattern), name)) 925 : strcmp (SDATA (pattern), SDATA (name)))
929 continue; 926 continue;
930 927
931 if (size) 928 if (size)