source: trunk/third/libiconv/README @ 20454

Revision 20454, 5.2 KB checked in by ghudson, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20453, which included commits to RCS files with non-trunk default branches.
Line 
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, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
21        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    Thai
31        TIS-620, CP874, MacThai
32    Laotian
33        MuleLao-1, CP1133
34    Vietnamese
35        VISCII, TCVN, CP1258
36    Platform specifics
37        HP-ROMAN8, NEXTSTEP
38    Full Unicode
39        UTF-8
40        UCS-2, UCS-2BE, UCS-2LE
41        UCS-4, UCS-4BE, UCS-4LE
42        UTF-16, UTF-16BE, UTF-16LE
43        UTF-32, UTF-32BE, UTF-32LE
44        UTF-7
45        C99, JAVA
46    Full Unicode, in terms of `uint16_t' or `uint32_t'
47        (with machine dependent endianness and alignment)
48        UCS-2-INTERNAL, UCS-4-INTERNAL
49    Locale dependent, in terms of `char' or `wchar_t'
50        (with machine dependent endianness and alignment, and with OS and
51        locale dependent semantics)
52        char, wchar_t
53        The empty encoding name "" is equivalent to "char": it denotes the
54        locale dependent character encoding.
55
56When configured with the option --enable-extra-encodings, it also provides
57support for a few extra encodings:
58
59    European languages
60        CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
61    Semitic languages
62        CP864
63    Japanese
64        EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
65    Turkmen
66        TDS565
67    Platform specifics
68        RISCOS-LATIN1
69
70It can convert from any of these encodings to any other, through Unicode
71conversion.
72
73It has also some limited support for transliteration, i.e. when a character
74cannot be represented in the target character set, it can be approximated
75through one or several similarly looking characters. Transliteration is
76activated when "//TRANSLIT" is appended to the target encoding name.
77
78libiconv is for you if your application needs to support multiple character
79encodings, but that support lacks from your system.
80
81Installation:
82
83As usual for GNU packages:
84
85    $ ./configure --prefix=/usr/local
86    $ make
87    $ make install
88
89After installing GNU libiconv for the first time, it is recommended to
90recompile and reinstall GNU gettext, so that it can take advantage of
91libiconv.
92
93On systems other than GNU/Linux, the iconv program will be internationalized
94only if GNU gettext has been built and installed before GNU libiconv. This
95means that the first time GNU libiconv is installed, we have a circular
96dependency between the GNU libiconv and GNU gettext packages, which can be
97resolved by building and installing either
98  - first libiconv, then gettext, then libiconv again,
99or (on systems supporting shared libraries, excluding AIX)
100  - first gettext, then libiconv, then gettext again.
101Recall that before building a package for the second time, you need to erase
102the traces of the first build by running "make distclean".
103
104This library can be built and installed in two variants:
105
106  - The library mode. This works on all systems, and uses a library
107    `libiconv.so' and a header file `<iconv.h>'. (Both are installed
108    through "make install".)
109
110    To use it, simply #include <iconv.h> and use the functions.
111
112    To use it in an autoconfiguring package:
113    - If you don't use automake, append m4/iconv.m4 to your aclocal.m4
114      file.
115    - If you do use automake, add m4/iconv.m4 to your m4 macro repository.
116    - Add to the link command line of libraries and executables that use
117      the functions the placeholder @LIBICONV@ (or, if using libtool for
118      the link, @LTLIBICONV@). If you use automake, the right place for
119      these additions are the *_LDADD variables.
120    Note that 'iconv.m4' is also part of the GNU gettext package, which
121    installs it in /usr/local/share/aclocal/iconv.m4.
122
123  - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
124    systems only. It is a way to get good iconv support without having
125    glibc-2.1.
126    It installs a library `libiconv_plug.so'. This library can be used with
127    LD_PRELOAD, to override the iconv* functions present in the C library.
128
129    On GNU/Linux and Solaris:
130        $ export LD_PRELOAD=/usr/local/lib/libiconv_plug.so
131
132    On OSF/1:
133        $ export _RLD_LIST=/usr/local/lib/libiconv_plug.so:DEFAULT
134
135    A program's source need not be modified, the program need not even be
136    recompiled. Just set the LD_PRELOAD environment variable, that's it!
137
138
139Distribution:
140    ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz
141
142Homepage:
143    http://www.gnu.org/software/libiconv/
144
145Bug reports to:
146    <bug-gnu-libiconv@gnu.org>
147
148
149Bruno Haible <bruno@clisp.org>
Note: See TracBrowser for help on using the repository browser.