          LIBCHARSET - portable character set determination library

This library provides a function which determines the character set / encoding
of text in the currently selected locale (the LC_CTYPE locale facet).

It is useful for portable programs which need to process text in other
encodings and locales than the currently selected one. Possible uses:

  * Use of Unicode in POSIX compliant applications.
  * Conversion of text between the current locale's encoding and UTF-8 (or
    any other given encoding).
  * Mail agents.

In theory, this would be very simple: The Single Unix Specification (SUSV2)
provides the nl_langinfo function, in such a way that

                  nl_langinfo (CODESET)

returns the encoding name. But the nl_langinfo function still does not exist
on some systems, and on those where it exists it returns unstandardized
variations of the encoding names, like (on Solaris) "PCK" for "Shift_JIS".

This library fixes these flaws and provides a function

       const char * locale_charset (void);

It determines the current locale's character encoding, and canonicalizes it
into one of the canonical names listed in config.charset. The result must
not be freed; it is statically allocated. If the canonical name cannot be
determined, the result is a non-canonical name.


Installation:

As usual for GNU packages:

    $ ./configure --prefix=/usr/local
    $ make
    $ make install


This library is used in
  GNU sh-utils, fileutils, textutils
  GNU gettext
  GNU clisp


To integrate this library into your package:
See file INTEGRATE.


Distribution:
    ftp://ftp.ilog.fr/pub/Users/haible/gnu/libcharset-1.0.tar.gz

Homepage:
    http://clisp.cons.org/~haible/packages-libcharset.html


Bruno Haible <haible@clisp.cons.org>
