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.