1            GNU LIBICONV - character set conversion library
2
3This library provides an iconv() implementation, for use on systems which
4don't have one, or whose implementation cannot convert from/to Unicode.
5
6It provides support for the encodings:
7
8    European languages
9        ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
10        KOI8-R, KOI8-U, KOI8-RU,
11        CP{1250,1251,1252,1253,1254,1257}, CP{850,866},
12        Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
13        Mac{Cyrillic,Ukraine,Greek,Turkish},
14        Macintosh
15    Semitic languages
16        ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
17    Japanese
18        EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
19    Chinese
20        EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
21        BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT
22    Korean
23        EUC-KR, CP949, ISO-2022-KR, JOHAB
24    Armenian
25        ARMSCII-8
26    Georgian
27        Georgian-Academy, Georgian-PS
28    Tajik
29        KOI8-T
30    Kazakh
31        PT154
32    Thai
33        ISO-8859-11, TIS-620, CP874, MacThai
34    Laotian
35        MuleLao-1, CP1133
36    Vietnamese
37        VISCII, TCVN, CP1258
38    Platform specifics
39        HP-ROMAN8, NEXTSTEP
40    Full Unicode
41        UTF-8
42        UCS-2, UCS-2BE, UCS-2LE
43        UCS-4, UCS-4BE, UCS-4LE
44        UTF-16, UTF-16BE, UTF-16LE
45        UTF-32, UTF-32BE, UTF-32LE
46        UTF-7
47        C99, JAVA
48    Full Unicode, in terms of `uint16_t' or `uint32_t'
49        (with machine dependent endianness and alignment)
50        UCS-2-INTERNAL, UCS-4-INTERNAL
51    Locale dependent, in terms of `char' or `wchar_t'
52        (with machine dependent endianness and alignment, and with OS and
53        locale dependent semantics)
54        char, wchar_t
55        The empty encoding name "" is equivalent to "char": it denotes the
56        locale dependent character encoding.
57
58When configured with the option --enable-extra-encodings, it also provides
59support for a few extra encodings:
60
61    European languages
62        CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
63    Semitic languages
64        CP864
65    Japanese
66        EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
67    Chinese
68        BIG5-2003 (experimental)
69    Turkmen
70        TDS565
71    Platform specifics
72        ATARIST, RISCOS-LATIN1
73
74It can convert from any of these encodings to any other, through Unicode
75conversion.
76
77It has also some limited support for transliteration, i.e. when a character
78cannot be represented in the target character set, it can be approximated
79through one or several similarly looking characters. Transliteration is
80activated when "//TRANSLIT" is appended to the target encoding name.
81
82libiconv is for you if your application needs to support multiple character
83encodings, but that support lacks from your system.
84
85Installation:
86
87As usual for GNU packages:
88
89    $ ./configure --prefix=/usr/local
90    $ make
91    $ make install
92
93After installing GNU libiconv for the first time, it is recommended to
94recompile and reinstall GNU gettext, so that it can take advantage of
95libiconv.
96
97On systems other than GNU/Linux, the iconv program will be internationalized
98only if GNU gettext has been built and installed before GNU libiconv. This
99means that the first time GNU libiconv is installed, we have a circular
100dependency between the GNU libiconv and GNU gettext packages, which can be
101resolved by building and installing either
102  - first libiconv, then gettext, then libiconv again,
103or (on systems supporting shared libraries, excluding AIX)
104  - first gettext, then libiconv, then gettext again.
105Recall that before building a package for the second time, you need to erase
106the traces of the first build by running "make distclean".
107
108This library can be built and installed in two variants:
109
110  - The library mode. This works on all systems, and uses a library
111    `libiconv.so' and a header file `<iconv.h>'. (Both are installed
112    through "make install".)
113
114    To use it, simply #include <iconv.h> and use the functions.
115
116    To use it in an autoconfiguring package:
117    - If you don't use automake, append m4/iconv.m4 to your aclocal.m4
118      file.
119    - If you do use automake, add m4/iconv.m4 to your m4 macro repository.
120    - Add to the link command line of libraries and executables that use
121      the functions the placeholder @LIBICONV@ (or, if using libtool for
122      the link, @LTLIBICONV@). If you use automake, the right place for
123      these additions are the *_LDADD variables.
124    Note that 'iconv.m4' is also part of the GNU gettext package, which
125    installs it in /usr/local/share/aclocal/iconv.m4.
126
127  - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
128    systems only. It is a way to get good iconv support without having
129    glibc-2.1.
130    It installs a library `preloadable_libiconv.so'. This library can be used
131    with LD_PRELOAD, to override the iconv* functions present in the C library.
132
133    On GNU/Linux and Solaris:
134        $ export LD_PRELOAD=/usr/local/lib/preloadable_libiconv.so
135
136    On OSF/1:
137        $ export _RLD_LIST=/usr/local/lib/preloadable_libiconv.so:DEFAULT
138
139    A program's source need not be modified, the program need not even be
140    recompiled. Just set the LD_PRELOAD environment variable, that's it!
141
142
143Download:
144    ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.11.tar.gz
145
146Homepage:
147    http://www.gnu.org/software/libiconv/
148
149Bug reports to:
150    <bug-gnu-libiconv@gnu.org>
151
152
153Bruno Haible <bruno@clisp.org>
154