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).
  bidi-control: A subset of format-control, but only characters
                    that are relevant for bidirectional formatting control,
                    like U+2069 (PDI) and U+202B (RLE).
  variation-selectors:
                    Characters in the range U+FE00..U+FE0F and
                    U+E0100..U+E01EF, used for choosing between
                    glyph variations, such as Emoji vs Text
                    presentation, of the preceding character(s).
  no-font: For GUI frames, characters for which no
                    suitable font is found; for text-mode frames,
                    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.

View in manual

Probably introduced at or before Emacs version 24.1.

Source Code

;; Defined in /usr/src/emacs/lisp/international/characters.el.gz
(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).
  `bidi-control':   A subset of `format-control', but only characters
                    that are relevant for bidirectional formatting control,
                    like U+2069 (PDI) and U+202B (RLE).
  `variation-selectors':
                    Characters in the range U+FE00..U+FE0F and
                    U+E0100..U+E01EF, used for choosing between
                    glyph variations, such as Emoji vs Text
                    presentation, of the preceding character(s).
  `no-font':        For GUI frames, characters for which no
                    suitable font is found; for text-mode frames,
                    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 glyphless-char-display-method)
	     (c1-control glyphless-char-display-method)
	     (format-control glyphless-char-display-method)
	     (bidi-control glyphless-char-display-method)
	     (variation-selectors glyphless-char-display-method)
	     (no-font (glyphless-char-display-method :value hex-code)))
  :set 'update-glyphless-char-display
  :group 'display)