| GNU LIBICONV - character set conversion library |
| |
| This library provides an iconv() implementation, for use on systems which |
| don't have one, or whose implementation cannot convert from/to Unicode. |
| |
| It provides support for the encodings: |
| |
| European languages |
| ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, |
| KOI8-R, KOI8-U, KOI8-RU, |
| CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131}, |
| Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, |
| Mac{Cyrillic,Ukraine,Greek,Turkish}, |
| Macintosh |
| Semitic languages |
| ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic} |
| Japanese |
| EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1, |
| ISO-2022-JP-MS |
| Chinese |
| EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, |
| BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, |
| ISO-2022-CN-EXT |
| Korean |
| EUC-KR, CP949, ISO-2022-KR, JOHAB |
| Armenian |
| ARMSCII-8 |
| Georgian |
| Georgian-Academy, Georgian-PS |
| Tajik |
| KOI8-T |
| Kazakh |
| PT154, RK1048 |
| Thai |
| ISO-8859-11, TIS-620, CP874, MacThai |
| Laotian |
| MuleLao-1, CP1133 |
| Vietnamese |
| VISCII, TCVN, CP1258 |
| Platform specifics |
| HP-ROMAN8, NEXTSTEP |
| Full Unicode |
| UTF-8 |
| UCS-2, UCS-2BE, UCS-2LE |
| UCS-4, UCS-4BE, UCS-4LE |
| UTF-16, UTF-16BE, UTF-16LE |
| UTF-32, UTF-32BE, UTF-32LE |
| UTF-7 |
| C99, JAVA |
| Full Unicode, in terms of 'uint16_t' or 'uint32_t' |
| (with machine dependent endianness and alignment) |
| UCS-2-INTERNAL, UCS-4-INTERNAL |
| Locale dependent, in terms of 'char' or 'wchar_t' |
| (with machine dependent endianness and alignment, and with OS and |
| locale dependent semantics) |
| char, wchar_t |
| The empty encoding name "" is equivalent to "char": it denotes the |
| locale dependent character encoding. |
| |
| When configured with the option --enable-extra-encodings, it also provides |
| support for a few extra encodings: |
| |
| European languages |
| CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125} |
| Semitic languages |
| CP864 |
| Japanese |
| EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3 |
| Chinese |
| BIG5-2003 (experimental) |
| Turkmen |
| TDS565 |
| Platform specifics |
| ATARIST, RISCOS-LATIN1 |
| EBCDIC compatible (not ASCII compatible, very rarely used) |
| European languages |
| IBM-{037,273,277,278,280,282,284,285,297,423,500,870,871,875,880}, |
| IBM-{905,924,1025,1026,1047,1112,1122,1123,1140,1141,1142,1143}, |
| IBM-{1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157,1158}, |
| IBM-{1165,1166,4971} |
| Semitic languages |
| IBM-{424,425,12712,16804} |
| Persian |
| IBM-1097 |
| Thai |
| IBM-{838,1160} |
| Laotian |
| IBM-1132 |
| Vietnamese |
| IBM-{1130,1164} |
| Indic languages |
| IBM-1137 |
| |
| It can convert from any of these encodings to any other, through Unicode |
| conversion. |
| |
| It has also some limited support for transliteration, i.e. when a character |
| cannot be represented in the target character set, it can be approximated |
| through one or several similarly looking characters. Transliteration is |
| activated when "//TRANSLIT" is appended to the target encoding name. |
| |
| libiconv is for you if your application needs to support multiple character |
| encodings, but that support lacks from your system. |
| |
| |
| Installation |
| ------------ |
| |
| As usual for GNU packages: |
| |
| $ ./configure --prefix=[[PREFIX]] where [[PREFIX]] is e.g. $HOME/local |
| $ make |
| $ make install |
| |
| After installing GNU libiconv for the first time, it is recommended to |
| recompile and reinstall GNU gettext, so that it can take advantage of |
| libiconv. |
| |
| On systems other than GNU/Linux, the iconv program will be internationalized |
| only if GNU gettext has been built and installed before GNU libiconv. This |
| means that the first time GNU libiconv is installed, we have a circular |
| dependency between the GNU libiconv and GNU gettext packages, which can be |
| resolved by building and installing either |
| - first libiconv, then gettext, then libiconv again, |
| or (on systems supporting shared libraries, excluding AIX) |
| - first gettext, then libiconv, then gettext again. |
| Recall that before building a package for the second time, you need to erase |
| the traces of the first build by running "make distclean". |
| |
| This library installs: |
| - a library 'libiconv.so', |
| - a header file '<iconv.h>'. |
| |
| To use it, simply #include <iconv.h> and use the functions. |
| |
| To use it in a package that uses GNU autoconf and GNU automake: |
| - Use gnulib-tool to import the Gnulib module 'iconv'. It consists |
| of a couple of *.m4 files (iconv.m4 and its dependencies) and a |
| file 'build-aux/config.rpath'. |
| - Add to the link command line of libraries and executables that use |
| the functions the placeholder @LIBICONV@ (or, if using libtool for |
| the link, @LTLIBICONV@). In Makefile.am files, the right place for |
| these additions are the *_LDADD variables. |
| |
| |
| Copyright |
| --------- |
| |
| The libiconv and libcharset _libraries_ and their header files are under LGPL, |
| see file COPYING.LIB. |
| |
| The iconv _program_ and the documentation are under GPL, see file COPYING. |
| |
| |
| Download |
| -------- |
| |
| https://ftp.gnu.org/gnu/libiconv/libiconv-1.17.tar.gz |
| |
| Homepage |
| -------- |
| |
| https://www.gnu.org/software/libiconv/ |
| |
| Bug reports |
| ----------- |
| |
| Report bugs |
| - in the bug tracker at <https://savannah.gnu.org/projects/libiconv> |
| - or by email to <bug-gnu-libiconv@gnu.org>. |
| |
| Join the GNU project |
| -------------------- |
| |
| See file JOIN-GNU. |
| |
| |
| Bruno Haible <bruno@clisp.org> |