Mercurial > emacs
changeset 45744:75e9d527da2b
display-supports-face-attributes-p
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 11 Jun 2002 01:50:15 +0000 |
parents | 9f2bfbcfdb41 |
children | 394a19fc134e |
files | etc/NEWS lispref/frames.texi |
diffstat | 2 files changed, 35 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/NEWS Mon Jun 10 09:04:34 2002 +0000 +++ b/etc/NEWS Tue Jun 11 01:50:15 2002 +0000 @@ -1000,6 +1000,13 @@ ** New function insert-buffer-substring-no-properties. +** New function display-supports-face-attributes-p may be used to test +whether a given set of face attributes is actually displayable. + +A new predicate `supports' has also been added to the `defface' face +specification language, which can be used to do this test for faces +defined with defface. + ** Enhanced networking support. *** There is a new `make-network-process' function which supports
--- a/lispref/frames.texi Mon Jun 10 09:04:34 2002 +0000 +++ b/lispref/frames.texi Tue Jun 11 01:50:15 2002 +0000 @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999 +@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002 @c Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../info/frames @@ -1717,6 +1717,33 @@ (All color displays can do this.) @end defun +@anchor{Display Face Attribute Testing} +@defun display-supports-face-attributes-p attributes &optional display +@tindex display-supports-face-attributes-p +This function returns non-@code{nil} if all the face attributes in +@var{attributes} are supported (@pxref{Face Attributes}). + +The definition of `supported' is somewhat heuristic, but basically +means that a face containing all the attributes in @var{attributes}, +when merged with the default face for display, can be represented in a +way that's + +@enumerate +@item +different in appearance than the default face, and + +@item +`close in spirit' to what the attributes specify, if not exact. +@end enumerate + +Point (2) implies that a @code{:weight black} attribute will be +satisfied by any display that can display bold, as will +@code{:foreground "yellow"} as long as some yellowish color can be +displayed, but @code{:slant italic} will @emph{not} be satisified by +the tty display code's automatic substitution of a `dim' face for +italic. +@end defun + @defun display-selections-p &optional display @tindex display-selections-p This function returns @code{t} if @var{display} supports selections.