Next: , Previous: char-code-limit, Up: Characters Dictionary



13.2.20 char-name [Function]

char-name character => name

Arguments and Values::

character—a character.

name—a string or nil.

Description::

Returns a string that is the name of the character, or nil if the character has no name.

All non-graphic characters are required to have names unless they have some implementation-defined attribute which is not null. Whether or not other characters have names is implementation-dependent.

The standard characters <Newline> and <Space> have the respective names "Newline" and "Space". The semi-standard characters <Tab>, <Page>, <Rubout>, <Linefeed>, <Return>, and <Backspace> (if they are supported by the implementation) have the respective names "Tab", "Page", "Rubout", "Linefeed", "Return", and "Backspace" (in the indicated case, even though name lookup by “#\” and by the function name-char is not case sensitive).

Examples::
      (char-name #\ ) =>  "Space"
      (char-name #\Space) =>  "Space"
      (char-name #\Page) =>  "Page"
     
      (char-name #\a)
     =>  NIL
     OR=> "LOWERCASE-a"
     OR=> "Small-A"
     OR=> "LA01"
     
      (char-name #\A)
     =>  NIL
     OR=> "UPPERCASE-A"
     OR=> "Capital-A"
     OR=> "LA02"
     
      ;; Even though its CHAR-NAME can vary, #\A prints as #\A
      (prin1-to-string (read-from-string (format nil "#\\~A" (or (char-name #\A) "A"))))
     =>  "#\\A"
Exceptional Situations::

Should signal an error of type type-error if character is not a character.

See Also::

name-char , Printing Characters

Notes::

Non-graphic characters having names are written by the Lisp printer as “#\” followed by the their name; see Printing Characters.