Initial revision
[TestXSLT.git] / libiconv / README
1             GNU LIBICONV - character set conversion library
2
3 This library provides an iconv() implementation, for use on systems which
4 don't have one, or whose implementation cannot convert from/to Unicode.
5
6 It 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
56 When configured with the option --enable-extra-encodings, it also provides
57 support 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
70 It can convert from any of these encodings to any other, through Unicode
71 conversion.
72
73 It has also some limited support for transliteration, i.e. when a character
74 cannot be represented in the target character set, it can be approximated
75 through one or several similarly looking characters. Transliteration is
76 activated when "//TRANSLIT" is appended to the target encoding name.
77
78 libiconv is for you if your application needs to support multiple character
79 encodings, but that support lacks from your system.
80
81 Installation:
82
83 As usual for GNU packages:
84
85     $ ./configure --prefix=/usr/local
86     $ make
87     $ make install
88
89 After installing GNU libiconv for the first time, it is recommended to
90 recompile and reinstall GNU gettext, so that it can take advantage of
91 libiconv.
92
93 On systems other than GNU/Linux, the iconv program will be internationalized
94 only if GNU gettext has been built and installed before GNU libiconv. This
95 means that the first time GNU libiconv is installed, we have a circular
96 dependency between the GNU libiconv and GNU gettext packages, which can be
97 resolved by building and installing either
98   - first libiconv, then gettext, then libiconv again,
99 or (on systems supporting shared libraries, excluding AIX)
100   - first gettext, then libiconv, then gettext again.
101 Recall that before building a package for the second time, you need to erase
102 the traces of the first build by running "make distclean".
103
104 This 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 extras/iconv.m4 to your aclocal.m4
114       file.
115     - If you do use automake, add extras/iconv.m4 to your m4 macro repository.
116     Note that 'iconv.m4' is also part of the GNU gettext package, which
117     installs it in /usr/local/share/aclocal/iconv.m4.
118
119   - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
120     systems only. It is a way to get good iconv support without having
121     glibc-2.1.
122     It installs a library `libiconv_plug.so'. This library can be used with
123     LD_PRELOAD, to override the iconv* functions present in the C library.
124
125     On GNU/Linux and Solaris:
126         $ export LD_PRELOAD=/usr/local/lib/libiconv_plug.so
127
128     On OSF/1:
129         $ export _RLD_LIST=/usr/local/lib/libiconv_plug.so:DEFAULT
130
131     A program's source need not be modified, the program need not even be
132     recompiled. Just set the LD_PRELOAD environment variable, that's it!
133
134
135 Distribution:
136     ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
137     ftp://ftp.ilog.fr/pub/Users/haible/gnu/libiconv-1.8.tar.gz
138
139 Homepage:
140     http://www.gnu.org/software/libiconv/
141
142 Bug reports to:
143     <bug-gnu-libiconv@gnu.org>
144
145
146 Bruno Haible <brunoe@clisp.org>