A face is a collection of graphical attributes for displaying text: font, foreground color, background color, optional underlining, etc. Faces control how Emacs displays text in buffers, as well as other parts of the frame such as the mode line.
One way to represent a face is as a property list of attributes,
(:foreground "red" :weight bold). Such a list is called
an anonymous face. For example, you can assign an anonymous
face as the value of the
face text property, and Emacs will
display the underlying text with the specified attributes.
See Properties with Special Meanings.
More commonly, a face is referred to via a face name: a Lisp
symbol associated with a set of face attributes29. Named faces are
defined using the
defface macro (see Defining Faces).
Emacs comes with several standard named faces (see Basic Faces).
Some parts of Emacs require named faces (e.g., the functions documented in Face Attribute Functions). Unless otherwise stated, we will use the term face to refer only to named faces.
facep object ¶
This function returns a non-
nil value if object is a
named face: a Lisp symbol or string which serves as a face name.
Otherwise, it returns
For backward compatibility, you can also use a string to specify a face name; that is equivalent to a Lisp symbol with the same name.