Mercurial > emacs
changeset 34629:10675adcbf6f
(Vface_ignored_fonts): New variable.
(x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
(syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Sat, 16 Dec 2000 01:15:05 +0000 |
parents | 77fd4e6901f9 |
children | 3d5061d0047f |
files | src/xfaces.c |
diffstat | 1 files changed, 29 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xfaces.c Sat Dec 16 00:26:31 2000 +0000 +++ b/src/xfaces.c Sat Dec 16 01:15:05 2000 +0000 @@ -156,10 +156,17 @@ width---tries to find a best match for the specified font height, etc. - 2. Setting face-alternative-font-family-alist allows the user to + 2. Setting face-font-family-alternatives allows the user to specify alternative font families to try if a family specified by a face doesn't exist. + 3. Setting face-font-registry-alternatives allows the user to + specify all alternative font registries to try for a face + specifying a registry. + + 4. Setting face-ignored-fonts allows the user to ignore specific + fonts. + Character compositition. @@ -389,6 +396,10 @@ Lisp_Object Vscalable_fonts_allowed; +/* List of regular expressions that matches names of fonts to ignore. */ + +Lisp_Object Vface_ignored_fonts; + /* Maximum number of fonts to consider in font_list. If not an integer > 0, DEFAULT_FONT_LIST_LIMIT is used instead. */ @@ -2334,6 +2345,18 @@ split them into fields. */ for (i = j = 0; i < n; ++i) { + Lisp_Object elt, tail; + + for (tail = Vface_ignored_fonts; CONSP (tail); tail = XCDR (tail)) + { + elt = XCAR (tail); + if (STRINGP (elt) + && fast_c_string_match_ignore_case (elt, names[i]) >= 0) + break; + } + if (!NILP (tail)) + continue; + /* Make a copy of the font name. */ fonts[j].name = xstrdup (names[i]); @@ -7255,6 +7278,11 @@ Vscalable_fonts_allowed = Qnil; #endif + DEFVAR_LISP ("face-ignored-fonts", &Vface_ignored_fonts, + "List of ignored fonts.\n\ +Each element is a regular expression that matches names of fonts to ignore."); + Vface_ignored_fonts = Qnil; + #ifdef HAVE_WINDOW_SYSTEM defsubr (&Sbitmap_spec_p); defsubr (&Sx_list_fonts);