As for Hemlock variables, character attributes have a user visible
string name, but are referred to in Lisp code as a symbol. The string
name, which is typically composed of capitalized words separated by
spaces, is translated into a keyword by replacing all spaces with
hyphens and interning this string in the keyword package. The
attribute named Ada Syntax would thus become :ada-syntax
.
Whenever a character attribute is defined, its name is entered in this string table (page string-tables), with the corresponding keyword as the value.