23.6.7 Faces for Font Lock
You can make Font Lock mode use any face, but several faces are
defined specifically for Font Lock mode. Each of these symbols is both
a face name, and a variable whose default value is the symbol itself.
Thus, the default value of font-lock-comment-face is
font-lock-comment-face. This means you can write
font-lock-comment-face in a context such as
font-lock-keywords where a face-name-valued expression is used.
font-lock-comment-face- Used (typically) for comments.
font-lock-comment-delimiter-face- Used (typically) for comments delimiters.
font-lock-doc-face- Used (typically) for documentation strings in the code.
font-lock-string-face- Used (typically) for string constants.
font-lock-keyword-face- Used (typically) for keywords—names that have special syntactic
significance, like
for and if in C.
font-lock-builtin-face- Used (typically) for built-in function names.
font-lock-function-name-face- Used (typically) for the name of a function being defined or declared,
in a function definition or declaration.
font-lock-variable-name-face- Used (typically) for the name of a variable being defined or declared,
in a variable definition or declaration.
font-lock-type-face- Used (typically) for names of user-defined data types,
where they are defined and where they are used.
font-lock-constant-face- Used (typically) for constant names.
font-lock-preprocessor-face- Used (typically) for preprocessor commands.
font-lock-negation-char-face- Used (typically) for easily-overlooked negation characters.
font-lock-warning-face- Used (typically) for constructs that are peculiar, or that greatly
change the meaning of other text. For example, this is used for
‘;;;###autoload’ cookies in Emacs Lisp, and for
#error
directives in C.