elisp: Glyphs
37.22.4 Glyphs
--------------
A “glyph” is a graphical symbol which occupies a single character
position on the screen. Each glyph is represented in Lisp as a “glyph
code”, which specifies a character and optionally a face to display it
in (Faces). The main use of glyph codes is as the entries of
display tables (Display Tables). The following functions are
used to manipulate glyph codes:
-- Function: make-glyph-code char &optional face
This function returns a glyph code representing char CHAR with face
FACE. If FACE is omitted or ‘nil’, the glyph uses the default
face; in that case, the glyph code is an integer. If FACE is
non-‘nil’, the glyph code is not necessarily an integer object.
-- Function: glyph-char glyph
This function returns the character of glyph code GLYPH.
-- Function: glyph-face glyph
This function returns face of glyph code GLYPH, or ‘nil’ if GLYPH
uses the default face.
You can set up a “glyph table” to change how glyph codes are actually
displayed on text terminals. This feature is semi-obsolete; use
‘glyphless-char-display’ instead (Glyphless Chars).
-- Variable: glyph-table
The value of this variable, if non-‘nil’, is the current glyph
table. It takes effect only on character terminals; on graphical
displays, all glyphs are displayed literally. The glyph table
should be a vector whose Gth element specifies how to display glyph
code G, where G is the glyph code for a glyph whose face is
unspecified. Each element should be one of the following:
‘nil’
Display this glyph literally.
a string
Display this glyph by sending the specified string to the
terminal.
a glyph code
Display the specified glyph code instead.
Any integer glyph code greater than or equal to the length of the
glyph table is displayed literally.