| 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> |