ToC DocOverview CGDoc RelNotes Index PermutedIndex
Allegro CL
Home Previous Up Next Table of Contents Index
  ANSI Common Lisp   13 Characters   13.2 Dictionary of Characters

13.2.20 char-name Function

Syntax:
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, Section 22.1.3.2 Printing Characters

Notes:
Non-graphic characters having names are written by the Lisp printer as "#\" followed by the their name; see Section 22.1.3.2 Printing Characters.

Allegro CL Implementation Details:
None.

Home Previous Up Next Table of Contents Index
© Franz Inc. All Rights Reserved - File last updated 2022-07-25