A "face" is a collection of graphical attributes for displaying text: font family, foreground color, background color, optional underlining, and so on. Faces control how buffer text is displayed, and how some parts of the frame, such as the mode-line, are displayed.
For most purposes, you refer to a face in Lisp programs using its "face name". Each face name is meaningful for all frames, and by default it has the same meaning in all frames. But you can arrange to give a particular face name a special meaning in one frame if you wish.
(Info-goto-node "(elisp)Faces")
include Value.Subtype
We expose private value
for free identity conversions when the value is nested in
some covariant type, e.g. (symbols : Symbol.t list :> Value.t list)
rather than
List.map symbols ~f:Symbol.to_value
.
include sig ... end
val sexp_of_t : t ‑> Sexplib.Sexp.t
eq t1 t2 = Value.eq (to_value t1) (to_value t2)
, i.e. eq
checks whether the
Emacs values underlying t1
and t2
are physically equal. This is different than
phys_equal t1 t2
, because we don't always wrap eq
Emacs values in phys_equal
OCaml values. I.e. phys_equal t1 t2
implies eq t1 t2
, but not the converse.
val default : t
val of_name : string ‑> t
val to_name : t ‑> string
module Font_family : sig ... end
Font family name or fontset name; the wild-card characters `*' and `?' are allowed.
(Info-goto-node "(elisp)Face Attributes")
.
module Font_foundry : sig ... end
The name of the "font foundry" in which the font family attribute is located; the
wild-card characters `*' and `?' are allowed. (Info-goto-node "(elisp)Face
Attributes")
module Attribute_and_value : sig ... end
val attributes : ?on:Frame.t ‑> t ‑> Attribute_and_value.t list
(describe-function 'face-all-attributes)