|
|
bf1d82 |
GNU LIBICONV - character set conversion library
|
|
|
bf1d82 |
|
|
|
bf1d82 |
This library provides an iconv() implementation, for use on systems which
|
|
|
bf1d82 |
don't have one, or whose implementation cannot convert from/to Unicode.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
It provides support for the encodings:
|
|
|
bf1d82 |
|
|
|
bf1d82 |
European languages
|
|
|
bf1d82 |
ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
|
|
|
bf1d82 |
KOI8-R, KOI8-U, KOI8-RU,
|
|
|
bf1d82 |
CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},
|
|
|
bf1d82 |
Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
|
|
|
bf1d82 |
Mac{Cyrillic,Ukraine,Greek,Turkish},
|
|
|
bf1d82 |
Macintosh
|
|
|
bf1d82 |
Semitic languages
|
|
|
bf1d82 |
ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
|
|
|
bf1d82 |
Japanese
|
|
|
bf1d82 |
EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1,
|
|
|
bf1d82 |
ISO-2022-JP-MS
|
|
|
bf1d82 |
Chinese
|
|
|
bf1d82 |
EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
|
|
|
bf1d82 |
BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN,
|
|
|
bf1d82 |
ISO-2022-CN-EXT
|
|
|
bf1d82 |
Korean
|
|
|
bf1d82 |
EUC-KR, CP949, ISO-2022-KR, JOHAB
|
|
|
bf1d82 |
Armenian
|
|
|
bf1d82 |
ARMSCII-8
|
|
|
bf1d82 |
Georgian
|
|
|
bf1d82 |
Georgian-Academy, Georgian-PS
|
|
|
bf1d82 |
Tajik
|
|
|
bf1d82 |
KOI8-T
|
|
|
bf1d82 |
Kazakh
|
|
|
bf1d82 |
PT154, RK1048
|
|
|
bf1d82 |
Thai
|
|
|
bf1d82 |
ISO-8859-11, TIS-620, CP874, MacThai
|
|
|
bf1d82 |
Laotian
|
|
|
bf1d82 |
MuleLao-1, CP1133
|
|
|
bf1d82 |
Vietnamese
|
|
|
bf1d82 |
VISCII, TCVN, CP1258
|
|
|
bf1d82 |
Platform specifics
|
|
|
bf1d82 |
HP-ROMAN8, NEXTSTEP
|
|
|
bf1d82 |
Full Unicode
|
|
|
bf1d82 |
UTF-8
|
|
|
bf1d82 |
UCS-2, UCS-2BE, UCS-2LE
|
|
|
bf1d82 |
UCS-4, UCS-4BE, UCS-4LE
|
|
|
bf1d82 |
UTF-16, UTF-16BE, UTF-16LE
|
|
|
bf1d82 |
UTF-32, UTF-32BE, UTF-32LE
|
|
|
bf1d82 |
UTF-7
|
|
|
bf1d82 |
C99, JAVA
|
|
|
bf1d82 |
Full Unicode, in terms of 'uint16_t' or 'uint32_t'
|
|
|
bf1d82 |
(with machine dependent endianness and alignment)
|
|
|
bf1d82 |
UCS-2-INTERNAL, UCS-4-INTERNAL
|
|
|
bf1d82 |
Locale dependent, in terms of 'char' or 'wchar_t'
|
|
|
bf1d82 |
(with machine dependent endianness and alignment, and with OS and
|
|
|
bf1d82 |
locale dependent semantics)
|
|
|
bf1d82 |
char, wchar_t
|
|
|
bf1d82 |
The empty encoding name "" is equivalent to "char": it denotes the
|
|
|
bf1d82 |
locale dependent character encoding.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
When configured with the option --enable-extra-encodings, it also provides
|
|
|
bf1d82 |
support for a few extra encodings:
|
|
|
bf1d82 |
|
|
|
bf1d82 |
European languages
|
|
|
bf1d82 |
CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
|
|
|
bf1d82 |
Semitic languages
|
|
|
bf1d82 |
CP864
|
|
|
bf1d82 |
Japanese
|
|
|
bf1d82 |
EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
|
|
|
bf1d82 |
Chinese
|
|
|
bf1d82 |
BIG5-2003 (experimental)
|
|
|
bf1d82 |
Turkmen
|
|
|
bf1d82 |
TDS565
|
|
|
bf1d82 |
Platform specifics
|
|
|
bf1d82 |
ATARIST, RISCOS-LATIN1
|
|
|
bf1d82 |
|
|
|
bf1d82 |
It can convert from any of these encodings to any other, through Unicode
|
|
|
bf1d82 |
conversion.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
It has also some limited support for transliteration, i.e. when a character
|
|
|
bf1d82 |
cannot be represented in the target character set, it can be approximated
|
|
|
bf1d82 |
through one or several similarly looking characters. Transliteration is
|
|
|
bf1d82 |
activated when "//TRANSLIT" is appended to the target encoding name.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
libiconv is for you if your application needs to support multiple character
|
|
|
bf1d82 |
encodings, but that support lacks from your system.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
|
|
|
bf1d82 |
Installation
|
|
|
bf1d82 |
------------
|
|
|
bf1d82 |
|
|
|
bf1d82 |
As usual for GNU packages:
|
|
|
bf1d82 |
|
|
|
bf1d82 |
$ ./configure --prefix=/usr/local
|
|
|
bf1d82 |
$ make
|
|
|
bf1d82 |
$ make install
|
|
|
bf1d82 |
|
|
|
bf1d82 |
After installing GNU libiconv for the first time, it is recommended to
|
|
|
bf1d82 |
recompile and reinstall GNU gettext, so that it can take advantage of
|
|
|
bf1d82 |
libiconv.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
On systems other than GNU/Linux, the iconv program will be internationalized
|
|
|
bf1d82 |
only if GNU gettext has been built and installed before GNU libiconv. This
|
|
|
bf1d82 |
means that the first time GNU libiconv is installed, we have a circular
|
|
|
bf1d82 |
dependency between the GNU libiconv and GNU gettext packages, which can be
|
|
|
bf1d82 |
resolved by building and installing either
|
|
|
bf1d82 |
- first libiconv, then gettext, then libiconv again,
|
|
|
bf1d82 |
or (on systems supporting shared libraries, excluding AIX)
|
|
|
bf1d82 |
- first gettext, then libiconv, then gettext again.
|
|
|
bf1d82 |
Recall that before building a package for the second time, you need to erase
|
|
|
bf1d82 |
the traces of the first build by running "make distclean".
|
|
|
bf1d82 |
|
|
|
bf1d82 |
This library can be built and installed in two variants:
|
|
|
bf1d82 |
|
|
|
bf1d82 |
- The library mode. This works on all systems, and uses a library
|
|
|
bf1d82 |
'libiconv.so' and a header file '<iconv.h>'. (Both are installed</iconv.h>
|
|
|
bf1d82 |
through "make install".)
|
|
|
bf1d82 |
|
|
|
bf1d82 |
To use it, simply #include <iconv.h> and use the functions.</iconv.h>
|
|
|
bf1d82 |
|
|
|
bf1d82 |
To use it in an autoconfiguring package:
|
|
|
bf1d82 |
- If you don't use automake, append m4/iconv.m4 to your aclocal.m4
|
|
|
bf1d82 |
file.
|
|
|
bf1d82 |
- If you do use automake, add m4/iconv.m4 to your m4 macro repository.
|
|
|
bf1d82 |
- Add to the link command line of libraries and executables that use
|
|
|
bf1d82 |
the functions the placeholder @LIBICONV@ (or, if using libtool for
|
|
|
bf1d82 |
the link, @LTLIBICONV@). If you use automake, the right place for
|
|
|
bf1d82 |
these additions are the *_LDADD variables.
|
|
|
bf1d82 |
Note that 'iconv.m4' is also part of the GNU gettext package, which
|
|
|
bf1d82 |
installs it in /usr/local/share/aclocal/iconv.m4.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
- The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
|
|
|
bf1d82 |
systems only. It is a way to get good iconv support without having
|
|
|
bf1d82 |
glibc-2.1.
|
|
|
bf1d82 |
It installs a library 'preloadable_libiconv.so'. This library can be used
|
|
|
bf1d82 |
with LD_PRELOAD, to override the iconv* functions present in the C library.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
On GNU/Linux and Solaris:
|
|
|
bf1d82 |
$ export LD_PRELOAD=/usr/local/lib/preloadable_libiconv.so
|
|
|
bf1d82 |
|
|
|
bf1d82 |
On OSF/1:
|
|
|
bf1d82 |
$ export _RLD_LIST=/usr/local/lib/preloadable_libiconv.so:DEFAULT
|
|
|
bf1d82 |
|
|
|
bf1d82 |
A program's source need not be modified, the program need not even be
|
|
|
bf1d82 |
recompiled. Just set the LD_PRELOAD environment variable, that's it!
|
|
|
bf1d82 |
|
|
|
bf1d82 |
|
|
|
bf1d82 |
Copyright
|
|
|
bf1d82 |
---------
|
|
|
bf1d82 |
|
|
|
bf1d82 |
The libiconv and libcharset _libraries_ and their header files are under LGPL,
|
|
|
bf1d82 |
see file COPYING.LIB.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
The iconv _program_ and the documentation are under GPL, see file COPYING.
|
|
|
bf1d82 |
|
|
|
bf1d82 |
|
|
|
bf1d82 |
Download
|
|
|
bf1d82 |
--------
|
|
|
bf1d82 |
|
|
|
bf1d82 |
http://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz
|
|
|
bf1d82 |
|
|
|
bf1d82 |
Homepage
|
|
|
bf1d82 |
--------
|
|
|
bf1d82 |
|
|
|
bf1d82 |
http://www.gnu.org/software/libiconv/
|
|
|
bf1d82 |
|
|
|
bf1d82 |
Bug reports to
|
|
|
bf1d82 |
--------------
|
|
|
bf1d82 |
|
|
|
bf1d82 |
<bug-gnu-libiconv@gnu.org></bug-gnu-libiconv@gnu.org>
|
|
|
bf1d82 |
|
|
|
bf1d82 |
|
|
|
bf1d82 |
Bruno Haible <bruno@clisp.org></bruno@clisp.org>
|