Ivan Mahonin bf1d82
            GNU LIBICONV - character set conversion library
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
This library provides an iconv() implementation, for use on systems which
Ivan Mahonin bf1d82
don't have one, or whose implementation cannot convert from/to Unicode.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
It provides support for the encodings:
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    European languages
Ivan Mahonin bf1d82
        ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
Ivan Mahonin bf1d82
        KOI8-R, KOI8-U, KOI8-RU,
Ivan Mahonin bf1d82
        CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},
Ivan Mahonin bf1d82
        Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
Ivan Mahonin bf1d82
        Mac{Cyrillic,Ukraine,Greek,Turkish},
Ivan Mahonin bf1d82
        Macintosh
Ivan Mahonin bf1d82
    Semitic languages
Ivan Mahonin bf1d82
        ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
Ivan Mahonin bf1d82
    Japanese
Ivan Mahonin bf1d82
        EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1,
Ivan Mahonin bf1d82
        ISO-2022-JP-MS
Ivan Mahonin bf1d82
    Chinese
Ivan Mahonin bf1d82
        EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
Ivan Mahonin bf1d82
        BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN,
Ivan Mahonin bf1d82
        ISO-2022-CN-EXT
Ivan Mahonin bf1d82
    Korean
Ivan Mahonin bf1d82
        EUC-KR, CP949, ISO-2022-KR, JOHAB
Ivan Mahonin bf1d82
    Armenian
Ivan Mahonin bf1d82
        ARMSCII-8
Ivan Mahonin bf1d82
    Georgian
Ivan Mahonin bf1d82
        Georgian-Academy, Georgian-PS
Ivan Mahonin bf1d82
    Tajik
Ivan Mahonin bf1d82
        KOI8-T
Ivan Mahonin bf1d82
    Kazakh
Ivan Mahonin bf1d82
        PT154, RK1048
Ivan Mahonin bf1d82
    Thai
Ivan Mahonin bf1d82
        ISO-8859-11, TIS-620, CP874, MacThai
Ivan Mahonin bf1d82
    Laotian
Ivan Mahonin bf1d82
        MuleLao-1, CP1133
Ivan Mahonin bf1d82
    Vietnamese
Ivan Mahonin bf1d82
        VISCII, TCVN, CP1258
Ivan Mahonin bf1d82
    Platform specifics
Ivan Mahonin bf1d82
        HP-ROMAN8, NEXTSTEP
Ivan Mahonin bf1d82
    Full Unicode
Ivan Mahonin bf1d82
        UTF-8
Ivan Mahonin bf1d82
        UCS-2, UCS-2BE, UCS-2LE
Ivan Mahonin bf1d82
        UCS-4, UCS-4BE, UCS-4LE
Ivan Mahonin bf1d82
        UTF-16, UTF-16BE, UTF-16LE
Ivan Mahonin bf1d82
        UTF-32, UTF-32BE, UTF-32LE
Ivan Mahonin bf1d82
        UTF-7
Ivan Mahonin bf1d82
        C99, JAVA
Ivan Mahonin bf1d82
    Full Unicode, in terms of 'uint16_t' or 'uint32_t'
Ivan Mahonin bf1d82
        (with machine dependent endianness and alignment)
Ivan Mahonin bf1d82
        UCS-2-INTERNAL, UCS-4-INTERNAL
Ivan Mahonin bf1d82
    Locale dependent, in terms of 'char' or 'wchar_t'
Ivan Mahonin bf1d82
        (with machine dependent endianness and alignment, and with OS and
Ivan Mahonin bf1d82
        locale dependent semantics)
Ivan Mahonin bf1d82
        char, wchar_t
Ivan Mahonin bf1d82
        The empty encoding name "" is equivalent to "char": it denotes the
Ivan Mahonin bf1d82
        locale dependent character encoding.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
When configured with the option --enable-extra-encodings, it also provides
Ivan Mahonin bf1d82
support for a few extra encodings:
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    European languages
Ivan Mahonin bf1d82
        CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
Ivan Mahonin bf1d82
    Semitic languages
Ivan Mahonin bf1d82
        CP864
Ivan Mahonin bf1d82
    Japanese
Ivan Mahonin bf1d82
        EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
Ivan Mahonin bf1d82
    Chinese
Ivan Mahonin bf1d82
        BIG5-2003 (experimental)
Ivan Mahonin bf1d82
    Turkmen
Ivan Mahonin bf1d82
        TDS565
Ivan Mahonin bf1d82
    Platform specifics
Ivan Mahonin bf1d82
        ATARIST, RISCOS-LATIN1
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
It can convert from any of these encodings to any other, through Unicode
Ivan Mahonin bf1d82
conversion.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
It has also some limited support for transliteration, i.e. when a character
Ivan Mahonin bf1d82
cannot be represented in the target character set, it can be approximated
Ivan Mahonin bf1d82
through one or several similarly looking characters. Transliteration is
Ivan Mahonin bf1d82
activated when "//TRANSLIT" is appended to the target encoding name.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
libiconv is for you if your application needs to support multiple character
Ivan Mahonin bf1d82
encodings, but that support lacks from your system.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Installation
Ivan Mahonin bf1d82
------------
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
As usual for GNU packages:
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    $ ./configure --prefix=/usr/local
Ivan Mahonin bf1d82
    $ make
Ivan Mahonin bf1d82
    $ make install
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
After installing GNU libiconv for the first time, it is recommended to
Ivan Mahonin bf1d82
recompile and reinstall GNU gettext, so that it can take advantage of
Ivan Mahonin bf1d82
libiconv.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
On systems other than GNU/Linux, the iconv program will be internationalized
Ivan Mahonin bf1d82
only if GNU gettext has been built and installed before GNU libiconv. This
Ivan Mahonin bf1d82
means that the first time GNU libiconv is installed, we have a circular
Ivan Mahonin bf1d82
dependency between the GNU libiconv and GNU gettext packages, which can be
Ivan Mahonin bf1d82
resolved by building and installing either
Ivan Mahonin bf1d82
  - first libiconv, then gettext, then libiconv again,
Ivan Mahonin bf1d82
or (on systems supporting shared libraries, excluding AIX)
Ivan Mahonin bf1d82
  - first gettext, then libiconv, then gettext again.
Ivan Mahonin bf1d82
Recall that before building a package for the second time, you need to erase
Ivan Mahonin bf1d82
the traces of the first build by running "make distclean".
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
This library can be built and installed in two variants:
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
  - The library mode. This works on all systems, and uses a library
Ivan Mahonin bf1d82
    'libiconv.so' and a header file '<iconv.h>'. (Both are installed
Ivan Mahonin bf1d82
    through "make install".)
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    To use it, simply #include <iconv.h> and use the functions.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    To use it in an autoconfiguring package:
Ivan Mahonin bf1d82
    - If you don't use automake, append m4/iconv.m4 to your aclocal.m4
Ivan Mahonin bf1d82
      file.
Ivan Mahonin bf1d82
    - If you do use automake, add m4/iconv.m4 to your m4 macro repository.
Ivan Mahonin bf1d82
    - Add to the link command line of libraries and executables that use
Ivan Mahonin bf1d82
      the functions the placeholder @LIBICONV@ (or, if using libtool for
Ivan Mahonin bf1d82
      the link, @LTLIBICONV@). If you use automake, the right place for
Ivan Mahonin bf1d82
      these additions are the *_LDADD variables.
Ivan Mahonin bf1d82
    Note that 'iconv.m4' is also part of the GNU gettext package, which
Ivan Mahonin bf1d82
    installs it in /usr/local/share/aclocal/iconv.m4.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
  - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
Ivan Mahonin bf1d82
    systems only. It is a way to get good iconv support without having
Ivan Mahonin bf1d82
    glibc-2.1.
Ivan Mahonin bf1d82
    It installs a library 'preloadable_libiconv.so'. This library can be used
Ivan Mahonin bf1d82
    with LD_PRELOAD, to override the iconv* functions present in the C library.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    On GNU/Linux and Solaris:
Ivan Mahonin bf1d82
        $ export LD_PRELOAD=/usr/local/lib/preloadable_libiconv.so
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    On OSF/1:
Ivan Mahonin bf1d82
        $ export _RLD_LIST=/usr/local/lib/preloadable_libiconv.so:DEFAULT
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    A program's source need not be modified, the program need not even be
Ivan Mahonin bf1d82
    recompiled. Just set the LD_PRELOAD environment variable, that's it!
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Copyright
Ivan Mahonin bf1d82
---------
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
The libiconv and libcharset _libraries_ and their header files are under LGPL,
Ivan Mahonin bf1d82
see file COPYING.LIB.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
The iconv _program_ and the documentation are under GPL, see file COPYING.
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Download
Ivan Mahonin bf1d82
--------
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    http://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Homepage
Ivan Mahonin bf1d82
--------
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    http://www.gnu.org/software/libiconv/
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Bug reports to
Ivan Mahonin bf1d82
--------------
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
    <bug-gnu-libiconv@gnu.org>
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Ivan Mahonin bf1d82
Bruno Haible <bruno@clisp.org>