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 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 | |
---|
139 | Distribution: |
---|
140 | ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz |
---|
141 | |
---|
142 | Homepage: |
---|
143 | http://www.gnu.org/software/libiconv/ |
---|
144 | |
---|
145 | Bug reports to: |
---|
146 | <bug-gnu-libiconv@gnu.org> |
---|
147 | |
---|
148 | |
---|
149 | Bruno Haible <bruno@clisp.org> |
---|