| 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: POSIX 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 localcharset.h. 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 coreutils | |
| GNU gettext | |
| GNU clisp | |
| To integrate this library into your package: | |
| - Either from this package. See file INTEGRATE. | |
| - Or from gnulib. See | |
| <https://www.gnu.org/software/gnulib/MODULES.html#module=localcharset> | |
| Distribution: | |
| The libcharset directory of | |
| ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz | |
| Homepage: | |
| https://haible.de/bruno/packages-libcharset.html | |
| Bruno Haible <bruno@clisp.org> |