Common Lisp Package: COM.INFORMATIMAGO.COMMON-LISP.CESARUM.CHARACTER-SETS

This package exports functions to manage character-sets, character encodings, coding systems and external format. It's all the same, but everyone likes to have his own terms... The base character set repertoire will be the IANA one, published at: http://www.iana.org/assignments/character-sets</a> The cs-lisp-encoding and cs-emacs-encoding of the character sets are hooked in by the implementation specific initialization code in the COM.INFORMATIMGO.CLEXT.CHARACTER-SET package. See also: COM.INFORMATIMGO.CLEXT.CHARACTER-SET License: AGPL3 Copyright Pascal J. Bourguignon 2005 - 2012 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>

README:

FUNCTION

Public

CHARACTER-IN-CHARACTER-SET-P (CHARACTER CHARACTER-SET)

RETURN: Whether the CHARACTER belongs to the CHARACTER-SET.

CHARACTER-SET-TO-MIME-ENCODING (CS)

RETURN: The MIME encoding of the given character set, or it's NAME.

CS-ALIASES (INSTANCE)

A list of aliases for the character set (strings).

CS-COMMENTS (INSTANCE)

A comment (string).

CS-EMACS-ENCODING (INSTANCE)

The name of the encoding in GNU emacs.

CS-LISP-ENCODING (INSTANCE)

The name of the encoding in the current lisp implementation.

CS-MIB-ENUM (INSTANCE)

The integer identifying the character set in the SNMP MIBs.

CS-MIME-ENCODING (INSTANCE)

The name of the encoding in MIME.

CS-NAME (INSTANCE)

The name of the character set (a string).

CS-RANGES (INSTANCE)

The set of unicode ranges of the characters that are in this character-set.

CS-REFERENCES (INSTANCE)

References (string).

CS-SOURCE (INSTANCE)

The normative reference specifying the character set (string).

FIND-CHARACTER-SET (NAME)

RETURN: The character-set in *CHARACTER-SETS* that has NAME as name or alias, or some variation of NAME (removing non alphanumeric characters and prefixing 'cs'.

READ-CHARACTER-SETS-FILE (FILE)

DO: Parse the <http://www.iana.org/assignments/character-sets> file, and extracts the character-sets defined there. RETURN: A list of character-set structures read from the file.

REGISTER-CHARACTER-SET (CS)

DO: Register a new character-set CS. If there's already a character set with the same name or aliase, signal a CHARACTER-SET-ERROR. RETURN: CS

Undocumented

SETFCS-ALIASES (NEW-VALUE INSTANCE)

SETFCS-COMMENTS (NEW-VALUE INSTANCE)

SETFCS-EMACS-ENCODING (NEW-VALUE INSTANCE)

SETFCS-LISP-ENCODING (NEW-VALUE INSTANCE)

SETFCS-MIB-ENUM (NEW-VALUE INSTANCE)

SETFCS-MIME-ENCODING (NEW-VALUE INSTANCE)

SETFCS-NAME (NEW-VALUE INSTANCE)

SETFCS-RANGES (NEW-VALUE INSTANCE)

SETFCS-REFERENCES (NEW-VALUE INSTANCE)

SETFCS-SOURCE (NEW-VALUE INSTANCE)

Private

ENCODINGS-NOT-IN-IANA (ENCODINGS)

RETURN: the subset of ENCODINGS that is not in *CHARACTER-SETS*.

Undocumented

CHARACTER-SET-P (OBJECT)

COPY-CHARACTER-SET (INSTANCE)

MAKE-CHARACTER-SET (&KEY ((MIB-ENUM DUM0) NIL) ((NAME DUM1) NIL) ((ALIASES DUM2) NIL) ((SOURCE DUM3) NIL) ((COMMENTS DUM4) NIL) ((REFERENCES DUM5) NIL) ((LISP-ENCODING DUM6) NIL) ((EMACS-ENCODING DUM7) NIL) ((MIME-ENCODING DUM8) NIL) ((RANGES DUM9) NIL))

GENERIC-FUNCTION

Public

CHARACTER-SET-ERROR-CHARACTER-SET (ERROR)

The character-set in error.

Private

Undocumented

FORMAT-ARGUMENTS (CONDITION)

FORMAT-CONTROL (CONDITION)

VARIABLE

Public

*CHARACTER-SETS*

The list of Character Sets.

CLASS

Public

CHARACTER-SET

Describes a character-set.

CONDITION

Public

CHARACTER-SET-ERROR

The CHARACTER-SET-ERROR condition.