Variable: glyphless-char-display-control
glyphless-char-display-control is a customizable variable defined in
characters.el.gz.
Value
((format-control . thin-space)
(variation-selectors . thin-space)
(no-font . hex-code))
Documentation
List of directives to control display of glyphless characters.
Each element has the form (GROUP . METHOD), where GROUP is a symbol specifying the character group, and METHOD is a symbol specifying the method of displaying characters belonging to that group.
GROUP must be one of these symbols:
c0-control: U+0000..U+001F, but excluding newline and TAB.
c1-control: U+0080..U+009F.
format-control: Characters of Unicode General Category Cf,
such as U+200C (ZWNJ), U+200E (LRM), but
excluding characters that have graphic images,
such as U+00AD (SHY).
variation-selectors: U+FE00..U+FE0F, used for choosing between
glyph variations (e.g. Emoji vs Text
presentation).
no-font: characters for which no suitable font is found.
For character terminals, characters that cannot
be encoded by terminal-coding-system or those
for which the terminal has no glyphs.
METHOD must be one of these symbols:
zero-width: don't display.
thin-space: display a thin (1-pixel width) space. On character
terminals, display as 1-character space.
empty-box: display an empty box.
acronym: display an acronym of the character in a box. The
acronym is taken from char-acronym-table, which see.
hex-code: display the hexadecimal character code in a box.
Do not set its value directly from Lisp; the value takes effect
only via a custom :set
function (update-glyphless-char-display), which updates
glyphless-char-display.
See also the glyphless-char face, which is used to display the
visual representation of these characters.
This variable was added, or its default value changed, in Emacs 28.1.
Probably introduced at or before Emacs version 24.1.
Source Code
;; Defined in /usr/src/emacs/lisp/international/characters.el.gz
;;; Control of displaying glyphless characters.
(defcustom glyphless-char-display-control
'((format-control . thin-space)
(variation-selectors . thin-space)
(no-font . hex-code))
"List of directives to control display of glyphless characters.
Each element has the form (GROUP . METHOD), where GROUP is a
symbol specifying the character group, and METHOD is a symbol
specifying the method of displaying characters belonging to that
group.
GROUP must be one of these symbols:
`c0-control': U+0000..U+001F, but excluding newline and TAB.
`c1-control': U+0080..U+009F.
`format-control': Characters of Unicode General Category `Cf',
such as U+200C (ZWNJ), U+200E (LRM), but
excluding characters that have graphic images,
such as U+00AD (SHY).
`variation-selectors': U+FE00..U+FE0F, used for choosing between
glyph variations (e.g. Emoji vs Text
presentation).
`no-font': characters for which no suitable font is found.
For character terminals, characters that cannot
be encoded by `terminal-coding-system' or those
for which the terminal has no glyphs.
METHOD must be one of these symbols:
`zero-width': don't display.
`thin-space': display a thin (1-pixel width) space. On character
terminals, display as 1-character space.
`empty-box': display an empty box.
`acronym': display an acronym of the character in a box. The
acronym is taken from `char-acronym-table', which see.
`hex-code': display the hexadecimal character code in a box.
Do not set its value directly from Lisp; the value takes effect
only via a custom `:set'
function (`update-glyphless-char-display'), which updates
`glyphless-char-display'.
See also the `glyphless-char' face, which is used to display the
visual representation of these characters."
:version "28.1"
:type '(alist :key-type (symbol :tag "Character Group")
:value-type (symbol :tag "Display Method"))
:options '((c0-control
(choice (const :tag "Don't display" zero-width)
(const :tag "Display as thin space" thin-space)
(const :tag "Display as empty box" empty-box)
(const :tag "Display acronym" acronym)
(const :tag "Display hex code in a box" hex-code)))
(c1-control
(choice (const :tag "Don't display" zero-width)
(const :tag "Display as thin space" thin-space)
(const :tag "Display as empty box" empty-box)
(const :tag "Display acronym" acronym)
(const :tag "Display hex code in a box" hex-code)))
(format-control
(choice (const :tag "Don't display" zero-width)
(const :tag "Display as thin space" thin-space)
(const :tag "Display as empty box" empty-box)
(const :tag "Display acronym" acronym)
(const :tag "Display hex code in a box" hex-code)))
(variation-selectors
(choice (const :tag "Don't display" zero-width)
(const :tag "Display as thin space" thin-space)
(const :tag "Display as empty box" empty-box)
(const :tag "Display acronym" acronym)
(const :tag "Display hex code in a box" hex-code)))
(no-font
(choice (const :tag "Don't display" zero-width)
(const :tag "Display as thin space" thin-space)
(const :tag "Display as empty box" empty-box)
(const :tag "Display acronym" acronym)
(const :tag "Display hex code in a box" hex-code))))
:set 'update-glyphless-char-display
:group 'display)