The properties a face can specify include the font, the foreground
color, the background color, the background pixmap, the underlining,
the display table, and (for TTY devices) whether the text is to be
highlighted, dimmed, blinking, or displayed in reverse video.
The face can also leave these unspecified, causing them to assume the
value of the corresponding property of the
Here are the basic primitives for working with faces.
This function defines and returns a new face named name, initially
with all properties unspecified. It does nothing if there is already a
face named name. Optional argument doc-string specifies
an explanatory string used for descriptive purposes. If optional
argument temporary is non-
nil, the face will automatically
disappear when there are no more references to it anywhere in text or
Lisp code (otherwise, the face will continue to exist indefinitely
even if it is not used).
This function returns a list of the names of all defined faces. If
nil, only the permanent faces are included.
If it is
t, only the temporary faces are included. If it is any
nil value both permanent and temporary are included.
This function returns
t if object is a face, else
This function defines a new face named new-name which is a copy of the existing face named old-face. If there is already a face named new-name, then it alters the face to have the same properties as old-face.
locale, tag-set, exact-p and how-to-add let you
copy just parts of the old face rather than the whole face, and are as
copy-specifier (see Specifiers).