Update .gitignore.
[libiconv.git] / README
blobe1bffd81c0c3f0ed52cf3f9d5eb27e3c878bcda0
1             GNU LIBICONV - character set conversion library
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.
6 It provides support for the encodings:
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,1131},
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         ISO-2022-JP-MS
20     Chinese
21         EUC-CN, HZ, GBK, CP936, GB18030, GB18030:2022, EUC-TW, BIG5, CP950,
22         BIG5-HKSCS, BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999,
23         ISO-2022-CN, ISO-2022-CN-EXT
24     Korean
25         EUC-KR, CP949, ISO-2022-KR, JOHAB
26     Armenian
27         ARMSCII-8
28     Georgian
29         Georgian-Academy, Georgian-PS
30     Tajik
31         KOI8-T
32     Kazakh
33         PT154, RK1048
34     Thai
35         ISO-8859-11, TIS-620, CP874, MacThai
36     Laotian
37         MuleLao-1, CP1133
38     Vietnamese
39         VISCII, TCVN, CP1258
40     Platform specifics
41         HP-ROMAN8, NEXTSTEP
42     Full Unicode
43         UTF-8
44         UCS-2, UCS-2BE, UCS-2LE
45         UCS-4, UCS-4BE, UCS-4LE
46         UTF-16, UTF-16BE, UTF-16LE
47         UTF-32, UTF-32BE, UTF-32LE
48         UTF-7
49         C99, JAVA
50     Full Unicode, in terms of 'uint16_t' or 'uint32_t'
51         (with machine dependent endianness and alignment)
52         UCS-2-INTERNAL, UCS-4-INTERNAL
53     Locale dependent, in terms of 'char' or 'wchar_t'
54         (with machine dependent endianness and alignment, and with OS and
55         locale dependent semantics)
56         char, wchar_t
57         The empty encoding name "" is equivalent to "char": it denotes the
58         locale dependent character encoding.
60 When configured with the option --enable-extra-encodings, it also provides
61 support for a few extra encodings:
63     European languages
64         CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
65     Semitic languages
66         CP864
67     Japanese
68         EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
69     Chinese
70         BIG5-2003 (experimental)
71     Turkmen
72         TDS565
73     Platform specifics
74         ATARIST, RISCOS-LATIN1
75     EBCDIC compatible (not ASCII compatible, very rarely used)
76         European languages
77             IBM-{037,273,277,278,280,282,284,285,297,423,500,870,871,875,880},
78             IBM-{905,924,1025,1026,1047,1112,1122,1123,1140,1141,1142,1143},
79             IBM-{1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157,1158},
80             IBM-{1165,1166,4971}
81         Semitic languages
82             IBM-{424,425,12712,16804}
83         Persian
84             IBM-1097
85         Thai
86             IBM-{838,1160}
87         Laotian
88             IBM-1132
89         Vietnamese
90             IBM-{1130,1164}
91         Indic languages
92             IBM-1137
94 It can convert from any of these encodings to any other, through Unicode
95 conversion.
97 It has also some limited support for transliteration, i.e. when a character
98 cannot be represented in the target character set, it can be approximated
99 through one or several similarly looking characters. Transliteration is
100 activated when "//TRANSLIT" is appended to the target encoding name.
102 libiconv is for you if your application needs to support multiple character
103 encodings, but that support lacks from your system.
106 Installation
107 ------------
109 As usual for GNU packages:
111     $ ./configure --prefix=[[PREFIX]]     where [[PREFIX]] is e.g. $HOME/local
112     $ make
113     $ make install
115 After installing GNU libiconv for the first time, it is recommended to
116 recompile and reinstall GNU gettext, so that it can take advantage of
117 libiconv.
119 On systems other than GNU/Linux, the iconv program will be internationalized
120 only if GNU gettext has been built and installed before GNU libiconv. This
121 means that the first time GNU libiconv is installed, we have a circular
122 dependency between the GNU libiconv and GNU gettext packages, which can be
123 resolved by building and installing either
124   - first libiconv, then gettext, then libiconv again,
125 or (on systems supporting shared libraries, excluding AIX)
126   - first gettext, then libiconv, then gettext again.
127 Recall that before building a package for the second time, you need to erase
128 the traces of the first build by running "make distclean".
130 This library installs:
131   - a library 'libiconv.so',
132   - a header file '<iconv.h>'.
134 To use it, simply #include <iconv.h> and use the functions.
136 To use it in a package that uses GNU autoconf and GNU automake:
137   - Use gnulib-tool to import the Gnulib module 'iconv'. It consists
138     of a couple of *.m4 files (iconv.m4 and its dependencies) and a
139     file 'build-aux/config.rpath'.
140   - Add to the link command line of libraries and executables that use
141     the functions the placeholder @LIBICONV@ (or, if using libtool for
142     the link, @LTLIBICONV@). In Makefile.am files, the right place for
143     these additions are the *_LDADD variables.
146 Copyright
147 ---------
149 The libiconv and libcharset _libraries_ and their header files are under LGPL,
150 see file COPYING.LIB.
152 The iconv _program_ and the documentation are under GPL, see file COPYING.
155 Download
156 --------
158     https://ftp.gnu.org/gnu/libiconv/libiconv-1.17.tar.gz
160 Homepage
161 --------
163     https://www.gnu.org/software/libiconv/
165 Bug reports
166 -----------
168 Report bugs
169   - in the bug tracker at <https://savannah.gnu.org/projects/libiconv>
170   - or by email to <bug-gnu-libiconv@gnu.org>.
172 Join the GNU project
173 --------------------
175 See file JOIN-GNU.
178 Bruno Haible <bruno@clisp.org>