Common Lisp the Language
2nd Edition
Every character has three attributes: code bits and font. The code attribute is intended to distinguish among the printed glyphs and formatting functions for characters. The bits attribute allows extra flags to be associated with a character. The font attribute permits a specification of the style of the glyphs (such as italics).

The treatment of character attributes in Common Lisp has not been
entirely successful. The font attribute has not been widely used
for two reasons. First
a single integer
limited in most
implementations to 255 at most
is not an adequate
convenient
or portable
representation for a font. Second
in many applications where font
information matters it is more convenient or more efficient to represent
font information as shift codes that apply to many characters
rather than
attaching font information separately to each character.
As for the bits attribute it was intended to support character input from extended keyboards having extra ``shift'' keys. This in turn was imagined to support the programming of a portable EMACS-like editor in Common Lisp. (The EMACS command set is most convenient when the keyboard has separate ``control'' and ``meta'' keys.) The bits attribute has been used in the implementation of such editors and other interactive interfaces. However software that relies crucially on these extended characters will not be portable to Common Lisp implementations that do not support them.
X3J13 voted in March 1989 (CHARACTER-PROPOSAL) and in June 1989 (MORE-CHARACTER-PROPOSAL) to revise considerably the treatment of characters in the language. The bits and font attributes are eliminated; instead a character may have implementation-defined attributes. The treatment of such attributes by existing character-handling functions is carefully constrained by certain rules.
Implementations are free to
continue to support bits and font attributes
but they are
formally regarded as implementation-defined attributes.
The rules are generally consistent with the previous
treatment of the bits and font attributes.
My guess is that
the font attribute as currently defined will wither away
but the bits attribute as defined by the first edition will
continue to be supported as a de facto standard extension
because it fills a useful small purpose.
[Constant]
char-code-limit
The value of char-code-limit is a non-negative integer that is the upper exclusive bound on values produced by the function char-code which returns the code component of a given character; that is the values returned by char-code are non-negative and strictly less than the value of char-code-limit.

Common Lisp does not at present explicitly guarantee that all integers between
zero and the value of char-code-limit are valid character codes
and so
it is wise in any case for the programmer to assume that the space of
assigned character codes may be sparse.

[Constant]
char-font-limit
The value of char-font-limit is a non-negative integer that is the upper exclusive bound on values produced by the function char-font which returns the font component of a given character; that is the values returned by char-font are non-negative and strictly less than the value of char-font-limit.

X3J13 voted in March 1989 (CHARACTER-PROPOSAL)
to eliminate char-font-limit.
Experience has shown that numeric codes are not an especially
convenient
let alone portable
representation for font information.
A system based on typeface names
type styles
and point sizes would be much better.
(Macintosh software developers made the same discovery and have recently
converted to a new font identification scheme.)

[Constant]
char-bits-limit
The value of char-bits-limit is a non-negative integer that is the upper exclusive bound on values produced by the function char-bits which returns the bits component of a given character; that is the values returned by char-bits are non-negative and strictly less than the value of char-bits-limit. Note that the value of char-bits-limit will be a power of 2.

X3J13 voted in March 1989 (CHARACTER-PROPOSAL)
to eliminate char-bits-limit.