Upgrade to libiconv-1.2.
diff --git a/ChangeLog b/ChangeLog
index d3da71d..5af305d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2000-03-15 Bruno Haible <haible@clisp.cons.org>
+
+ * Version 1.2 released.
+ * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
+ * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1.
+
+2000-03-14 Bruno Haible <haible@clisp.cons.org>
+
+ Implement and document UTF-16BE and UTF16-LE.
+ * src/utf16be.h, src/utf16le.h: New files.
+ * src/converters.h: Include them.
+ * src/encodings.def (UTF-16BE, UTF16-LE): New encodings.
+ * README, man/iconv_open.3: Add UTF-16BE, UTF16-LE.
+ * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16-LE.
+ * tests/UTF-16*snippet*: New files.
+
+ * src/utf16.h (utf16_wctomb): Output a byte order mark.
+
2000-03-13 Bruno Haible <haible@clisp.cons.org>
Provide all encodings used by AIX locales.
@@ -104,7 +122,7 @@
* src/uhc_1.h, src/uhc_2.h: New files.
* src/cp949.h: New file, include them.
* src/converters.h: Include it.
- * encodings.def (KSC_5601): Remove alias CP949.
+ * src/encodings.def (KSC_5601): Remove alias CP949.
(CP949): New encoding.
* README, man/iconv_open.3: Add CP949.
* tests/Makefile.in (check): Check CP949.
diff --git a/NEWS b/NEWS
index 8709d40..a2f2829 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+New in 1.2:
+* Added UTF-16BE and UTF16-LE converters.
+* Changed the UTF-16 encoder.
+* Fixed the treatment of tab characters in the UTF-7 converter.
+* Fixed an internal error when output buffer was not large enough.
+
New in 1.1:
* Added ISO-8859-16 converter.
* Added CP932 converter, a variant of SHIFT-JIS.
diff --git a/NOTES b/NOTES
index fca9d49..a702942 100644
--- a/NOTES
+++ b/NOTES
@@ -269,9 +269,10 @@
Full Unicode
* UTF-8, UCS-2, UCS-4
We implement these. Obviously.
- * UTF-16
- We implement this, because it is still the favourite encoding of the
- president of the Unicode Consortium (for political reasons).
+ * UTF-16, UTF-16BE, UTF-16LE
+ We implement these, because UTF-16 is still the favourite encoding of
+ the president of the Unicode Consortium (for political reasons), and
+ because they appear in RFC 2781.
* UTF-7
We implement this because it is essential functionality for mail
applications.
diff --git a/README b/README
index d465d5b..58eeffa 100644
--- a/README
+++ b/README
@@ -33,7 +33,7 @@
Platform specifics
HP-ROMAN8, NEXTSTEP
Full Unicode
- UTF-8, UCS-2, UCS-4, UTF-16, UTF-7, JAVA
+ UTF-8, UCS-2, UCS-4, UTF-16, UTF-16BE, UTF-16LE, UTF-7, JAVA
Full Unicode, in terms of `uint16_t' or `uint32_t'
(with machine dependent endianness and alignment)
UCS-2-INTERNAL, UCS-4-INTERNAL
diff --git a/include/iconv.h.in b/include/iconv.h.in
index 9db4775..ec59fa0 100644
--- a/include/iconv.h.in
+++ b/include/iconv.h.in
@@ -21,7 +21,7 @@
#ifndef _LIBICONV_H
#define _LIBICONV_H
-#define _LIBICONV_VERSION 0x0101 /* version number: (major<<8) + minor */
+#define _LIBICONV_VERSION 0x0102 /* version number: (major<<8) + minor */
/* We would like to #include any system header file which could define
iconv_t, 1. in order to eliminate the risk that the user gets compilation
diff --git a/include/iconv.h.msvc b/include/iconv.h.msvc
index 92edb40..6f49d45 100644
--- a/include/iconv.h.msvc
+++ b/include/iconv.h.msvc
@@ -21,7 +21,7 @@
#ifndef _LIBICONV_H
#define _LIBICONV_H
-#define _LIBICONV_VERSION 0x0101 /* version number: (major<<8) + minor */
+#define _LIBICONV_VERSION 0x0102 /* version number: (major<<8) + minor */
/* We would like to #include any system header file which could define
iconv_t, 1. in order to eliminate the risk that the user gets compilation
diff --git a/man/iconv_open.3 b/man/iconv_open.3
index 94fba9a..3c796ac 100644
--- a/man/iconv_open.3
+++ b/man/iconv_open.3
@@ -9,7 +9,7 @@
.\" GNU glibc-2 source code and manual
.\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html
.\"
-.TH ICONV_OPEN 3 "January 18, 2000" "GNU" "Linux Programmer's Manual"
+.TH ICONV_OPEN 3 "March 14, 2000" "GNU" "Linux Programmer's Manual"
.SH NAME
iconv_open \- allocate descriptor for character set conversion
.SH SYNOPSIS
@@ -66,7 +66,7 @@
HP-ROMAN8, NEXTSTEP
.TP
Full Unicode
-UTF-8, UCS-2, UCS-4, UTF-16, UTF-7, JAVA
+UTF-8, UCS-2, UCS-4, UTF-16, UTF-16BE, UTF-16LE, UTF-7, JAVA
.TP
Full Unicode, in terms of \fBuint16_t\fP or \fBuint32_t\fP
(with machine dependent endianness and alignment)
diff --git a/src/Makefile.in b/src/Makefile.in
index 1a8957d..10ed563 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -70,7 +70,6 @@
iconv.lo : $(srcdir)/iconv.c $(srcdir)/converters.h $(srcdir)/encodings.def $(srcdir)/encodings_aix.def $(srcdir)/aliases.h $(srcdir)/aliases_aix.h $(srcdir)/flags.h
$(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/iconv.c
-
# Installs the library and include files only. Typically called with only
# $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here.
install-lib : all force
diff --git a/src/aliases.gperf b/src/aliases.gperf
index 881af05..d030437 100644
--- a/src/aliases.gperf
+++ b/src/aliases.gperf
@@ -18,6 +18,8 @@
ISO-10646-UCS-4, ei_ucs4
CSUCS4, ei_ucs4
UTF-16, ei_utf16
+UTF-16BE, ei_utf16be
+UTF-16LE, ei_utf16le
UTF-7, ei_utf7
UNICODE-1-1-UTF-7, ei_utf7
CSUNICODE11UTF7, ei_utf7
diff --git a/src/aliases.h b/src/aliases.h
index 7127360..fd4ab4c 100644
--- a/src/aliases.h
+++ b/src/aliases.h
@@ -2,12 +2,12 @@
/* Command-line: gperf -t -L ANSI-C -H aliases_hash -N aliases_lookup -7 -C -k 1,3-11,$ src/aliases.gperf */
struct alias { const char* name; unsigned int encoding_index; };
-#define TOTAL_KEYWORDS 291
+#define TOTAL_KEYWORDS 293
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 45
#define MIN_HASH_VALUE 4
-#define MAX_HASH_VALUE 2380
-/* maximum key range = 2377, duplicates = 0 */
+#define MAX_HASH_VALUE 2362
+/* maximum key range = 2359, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -17,19 +17,19 @@
{
static const unsigned short asso_values[] =
{
- 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
- 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
- 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
- 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
- 2381, 2381, 2381, 2381, 2381, 0, 40, 2381, 130, 150,
- 50, 510, 220, 20, 30, 493, 0, 115, 130, 2381,
- 2381, 2381, 2381, 2381, 2381, 384, 480, 323, 470, 0,
- 20, 45, 25, 0, 0, 70, 320, 30, 15, 0,
- 105, 2381, 60, 0, 0, 275, 30, 0, 15, 30,
- 0, 2381, 2381, 2381, 2381, 500, 2381, 2381, 2381, 2381,
- 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
- 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
- 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381
+ 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
+ 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
+ 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
+ 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
+ 2363, 2363, 2363, 2363, 2363, 0, 15, 2363, 45, 230,
+ 75, 460, 510, 25, 35, 455, 0, 115, 160, 2363,
+ 2363, 2363, 2363, 2363, 2363, 406, 115, 290, 200, 0,
+ 65, 295, 100, 0, 5, 358, 40, 60, 15, 0,
+ 10, 2363, 60, 0, 0, 180, 40, 0, 90, 10,
+ 0, 2363, 2363, 2363, 2363, 340, 2363, 2363, 2363, 2363,
+ 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
+ 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
+ 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363
};
register int hval = len;
@@ -73,606 +73,605 @@
{""}, {""}, {""}, {""},
{"SJIS", ei_sjis},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"HZ", ei_hz},
- {""},
- {"SHIFT-JIS", ei_sjis},
- {""}, {""}, {""}, {""}, {""},
- {"MS-EE", ei_cp1250},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"R8", ei_hp_roman8},
- {"866", ei_cp866},
- {"TCVN", ei_tcvn},
+ {""}, {""}, {""},
+ {"JP", ei_iso646_jp},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-58", ei_gb2312},
+ {"L8", ei_iso8859_14},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"JP", ei_iso646_jp},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"GREEK8", ei_iso8859_7},
- {""}, {""}, {""}, {""},
- {"IBM866", ei_cp866},
+ {"LATIN8", ei_iso8859_14},
+ {"R8", ei_hp_roman8},
+ {""}, {""},
+ {"MS-EE", ei_cp1250},
{""},
+ {"L5", ei_iso8859_9},
+ {""}, {""}, {""}, {""}, {""},
+ {"866", ei_cp866},
+ {"TCVN", ei_tcvn},
+ {""}, {""},
+ {"L6", ei_iso8859_10},
+ {""},
+ {"SHIFT-JIS", ei_sjis},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"850", ei_cp850},
+ {"ISO-IR-58", ei_gb2312},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"HZ", ei_hz},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"LATIN5", ei_iso8859_9},
+ {""}, {""}, {""}, {""}, {""},
+ {"L2", ei_iso8859_2},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"LATIN6", ei_iso8859_10},
+ {""},
+ {"NEXTSTEP", ei_nextstep},
+ {""}, {""}, {""}, {""},
{"ISO-IR-6", ei_ascii},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
{"ISO-8859-8", ei_iso8859_8},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"ISO-8859-5", ei_iso8859_5},
{""}, {""},
- {"GBK", ei_ces_gbk},
- {""},
- {"GREEK", ei_iso8859_7},
+ {"IBM866", ei_cp866},
{""}, {""}, {""}, {""}, {""},
- {"KOI8-R", ei_koi8_r},
+ {"JIS0208", ei_jisx0208},
+ {""}, {""}, {""},
+ {"IBM850", ei_cp850},
+ {"US", ei_ascii},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-8859-5", ei_iso8859_5},
+ {""}, {""}, {""}, {""}, {""},
+ {"TIS620", ei_tis620},
+ {"TIS-620", ei_tis620},
+ {""}, {""}, {""},
+ {"LATIN2", ei_iso8859_2},
{""}, {""}, {""},
{"X0208", ei_jisx0208},
{""}, {""}, {""}, {""},
{"ISO-8859-6", ei_iso8859_6},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-226", ei_iso8859_16},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"ISO-8859-2", ei_iso8859_2},
{""}, {""},
- {"NEXTSTEP", ei_nextstep},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"850", ei_cp850},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"US", ei_ascii},
- {""}, {""}, {""}, {""}, {""},
- {"MS-GREEK", ei_cp1253},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-165", ei_isoir165},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"UTF-8", ei_utf8},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-166", ei_tis620},
- {""}, {""}, {""}, {""}, {""},
- {"IBM850", ei_cp850},
- {"JIS0208", ei_jisx0208},
{""}, {""},
- {"X0212", ei_jisx0212},
- {""},
- {"L8", ei_iso8859_14},
- {""}, {""}, {""}, {""}, {""},
+ {"TIS620-0", ei_tis620},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"L1", ei_iso8859_1},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"HEBREW", ei_iso8859_8},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-226", ei_iso8859_16},
+ {""}, {""}, {""}, {""},
{"EUCTW", ei_euc_tw},
{"EUC-TW", ei_euc_tw},
- {"ISO-IR-126", ei_iso8859_7},
- {""}, {""}, {""}, {""}, {""},
- {"ISO-8859-15", ei_iso8859_15},
{""}, {""}, {""},
- {"CN", ei_iso646_cn},
- {"LATIN8", ei_iso8859_14},
- {"L5", ei_iso8859_9},
+ {"ISO-8859-2", ei_iso8859_2},
{""}, {""},
- {"CHINESE", ei_gb2312},
- {"TIS620", ei_tis620},
- {"TIS-620", ei_tis620},
- {""}, {""}, {""}, {""},
- {"L6", ei_iso8859_10},
- {""}, {""}, {""},
- {"ISO-8859-16", ei_iso8859_16},
+ {"UCS-2-LE", ei_ucs2le},
{""}, {""},
- {"VISCII", ei_viscii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"L2", ei_iso8859_2},
- {""}, {""},
- {"ISO-8859-9", ei_iso8859_9},
- {""}, {""},
- {"CSSHIFTJIS", ei_sjis},
- {""},
- {"UCS-2", ei_ucs2},
- {"LATIN5", ei_iso8859_9},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"LATIN6", ei_iso8859_10},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"IBM819", ei_iso8859_1},
- {""},
- {"CP866", ei_cp866},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACINTOSH", ei_mac_roman},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MS-ANSI", ei_cp1252},
- {""}, {""}, {""},
- {"ISO-IR-148", ei_iso8859_9},
- {"LATIN2", ei_iso8859_2},
- {""}, {""}, {""},
- {"ISO-8859-1", ei_iso8859_1},
- {""}, {""},
- {"ISO-2022-JP-2", ei_iso2022_jp2},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"ISO-IR-159", ei_jisx0212},
- {""},
- {"L1", ei_iso8859_1},
- {""}, {""}, {""}, {""}, {""},
- {"TIS620-0", ei_tis620},
- {""}, {""},
- {"ISO-2022-KR", ei_iso2022_kr},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"ROMAN8", ei_hp_roman8},
- {""}, {""}, {""},
- {"ISO646-JP", ei_iso646_jp},
- {"X0201", ei_jisx0201},
{"ISO-2022-JP", ei_iso2022_jp},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"UTF-16", ei_utf16},
- {"MS-TURK", ei_cp1254},
- {""}, {""}, {""}, {""}, {""},
- {"EUCKR", ei_euc_kr},
- {"EUC-KR", ei_euc_kr},
- {"CSKOI8R", ei_koi8_r},
- {""}, {""},
- {"HP-ROMAN8", ei_hp_roman8},
- {""}, {""}, {""}, {""}, {""},
- {"SHIFT_JIS", ei_sjis},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CN", ei_iso646_cn},
+ {""}, {""}, {""}, {""},
+ {"CHINESE", ei_gb2312},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"EUCJP", ei_euc_jp},
{"EUC-JP", ei_euc_jp},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"UCS-2", ei_ucs2},
+ {"VISCII", ei_viscii},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-2022-JP-2", ei_iso2022_jp2},
+ {""}, {""}, {""}, {""},
+ {"UCS-2-BE", ei_ucs2be},
+ {""},
+ {"ISO-8859-9", ei_iso8859_9},
+ {""}, {""}, {""},
+ {"UCS-2-INTERNAL", ei_ucs2internal},
+ {"ISO-IR-165", ei_isoir165},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"CP866", ei_cp866},
+ {""},
+ {"MS-HEBR", ei_cp1255},
{""}, {""},
- {"L4", ei_iso8859_4},
+ {"ISO-IR-166", ei_tis620},
+ {""}, {""}, {""}, {""},
+ {"CP850", ei_cp850},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"SHIFT_JIS", ei_sjis},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"ISO-8859-15", ei_iso8859_15},
+ {""}, {""}, {""},
+ {"ISO-IR-100", ei_iso8859_1},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-126", ei_iso8859_7},
{""}, {""}, {""}, {""}, {""},
- {"ISO-2022-JP-1", ei_iso2022_jp1},
- {"CP1258", ei_cp1258},
- {"KOREAN", ei_ksc5601},
- {""}, {""}, {""}, {""}, {""},
- {"ISO-8859-10", ei_iso8859_10},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO646-US", ei_ascii},
- {"ISO-IR-199", ei_iso8859_14},
+ {"ISO-8859-16", ei_iso8859_16},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
{"BIG5", ei_ces_big5},
{"BIG-5", ei_ces_big5},
- {"HEBREW", ei_iso8859_8},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-109", ei_iso8859_3},
+ {""}, {""}, {""}, {""},
+ {"CSSHIFTJIS", ei_sjis},
+ {"ISO-8859-10", ei_iso8859_10},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"KOI8-R", ei_koi8_r},
+ {""}, {""}, {""},
+ {"MS-ANSI", ei_cp1252},
{""},
+ {"ISO_8859-8", ei_iso8859_8},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"L7", ei_iso8859_13},
+ {""}, {""}, {""}, {""},
+ {"L3", ei_iso8859_3},
+ {""}, {""}, {""}, {""},
+ {"MS-CYRL", ei_cp1251},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"LATIN1", ei_iso8859_1},
{"BIGFIVE", ei_ces_big5},
{"BIG-FIVE", ei_ces_big5},
{""},
- {"ISO-8859-4", ei_iso8859_4},
- {""}, {""}, {""},
- {"CP1255", ei_cp1255},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACGREEK", ei_mac_greek},
- {""},
- {"CP850", ei_cp850},
- {"CP1256", ei_cp1256},
- {"ISO-IR-100", ei_iso8859_1},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"KOI8-U", ei_koi8_u},
- {""}, {""}, {""},
- {"ISO-IR-110", ei_iso8859_4},
- {""}, {""},
- {"ISO-2022-CN-EXT", ei_iso2022_cn_ext},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"LATIN1", ei_iso8859_1},
- {"ISO646-CN", ei_iso646_cn},
- {""},
- {"ISO-2022-CN", ei_iso2022_cn},
- {"ISO_8859-8", ei_iso8859_8},
- {""}, {""},
- {"TIS620.2529-1", ei_tis620},
- {"CP1252", ei_cp1252},
- {"ISO-IR-101", ei_iso8859_2},
- {""}, {""},
- {"UCS-2-LE", ei_ucs2le},
- {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-14", ei_iso646_jp},
- {""}, {""},
- {"MS-HEBR", ei_cp1255},
- {""}, {""},
- {"GEORGIAN-PS", ei_georgian_ps},
- {""}, {""}, {""}, {""},
- {"ISO-IR-149", ei_ksc5601},
- {""}, {""},
- {"ELOT_928", ei_iso8859_7},
- {""}, {""}, {""}, {""}, {""},
- {"MAC", ei_mac_roman},
- {""},
- {"EUCCN", ei_euc_cn},
- {"EUC-CN", ei_euc_cn},
- {""},
- {"CSVISCII", ei_viscii},
- {"ISO_8859-5", ei_iso8859_5},
- {""},
- {"KOI8-RU", ei_koi8_ru},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-6", ei_iso8859_6},
- {""}, {""},
- {"CP819", ei_iso8859_1},
- {""}, {""}, {""},
- {"ASCII", ei_ascii},
- {""}, {""}, {""}, {""},
- {"WINDOWS-1258", ei_cp1258},
- {""}, {""},
- {"UCS-4", ei_ucs4},
- {""},
- {"ECMA-118", ei_iso8859_7},
{"CP950", ei_cp950},
+ {"IBM819", ei_iso8859_1},
+ {""},
+ {"ISO-2022-JP-1", ei_iso2022_jp1},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ELOT_928", ei_iso8859_7},
+ {""},
+ {"ISO_8859-5", ei_iso8859_5},
{""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-138", ei_iso8859_8},
- {""}, {""}, {""},
- {"UCS-2-INTERNAL", ei_ucs2internal},
- {""},
- {"ISO-8859-14", ei_iso8859_14},
- {"WINDOWS-1255", ei_cp1255},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-2", ei_iso8859_2},
- {"ARMSCII-8", ei_armscii_8},
- {"WINDOWS-1256", ei_cp1256},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"CSISO159JISX02121990", ei_jisx0212},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"WINDOWS-1252", ei_cp1252},
- {""},
- {"MACTHAI", ei_mac_thai},
- {"CSISO2022JP2", ei_iso2022_jp2},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-8:1988", ei_iso8859_8},
- {"LATIN4", ei_iso8859_4},
- {""},
- {"JISX0201-1976", ei_jisx0201},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-5:1988", ei_iso8859_5},
- {""},
- {"JAVA", ei_java},
- {""},
- {"CSISO2022KR", ei_iso2022_kr},
- {""}, {""}, {""}, {""},
- {"CP1250", ei_cp1250},
- {""}, {""}, {""},
- {"UCS-2-BE", ei_ucs2be},
- {""},
- {"L7", ei_iso8859_13},
- {""},
- {"TCVN-5712", ei_tcvn},
- {"MACTURKISH", ei_mac_turkish},
+ {"ROMAN8", ei_hp_roman8},
{""}, {""},
- {"ISO_8859-15:1998", ei_iso8859_15},
- {""},
- {"UCS-4-LE", ei_ucs4le},
- {"CSISO2022JP", ei_iso2022_jp},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"L3", ei_iso8859_3},
- {""},
- {"JIS_X0208", ei_jisx0208},
- {""},
- {"ISO_8859-15", ei_iso8859_15},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSISO87JISX0208", ei_jisx0208},
- {"WINDOWS-1250", ei_cp1250},
- {""},
- {"CP1251", ei_cp1251},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-16", ei_iso8859_16},
- {""}, {""}, {""}, {""},
- {"GB2312", ei_euc_cn},
- {""}, {""}, {""},
- {"MACROMAN", ei_mac_roman},
- {""},
- {"WINDOWS-1251", ei_cp1251},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-9", ei_iso8859_9},
- {""}, {""}, {""}, {""},
- {"ISO-IR-144", ei_iso8859_5},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"CP949", ei_cp949},
- {"CSBIG5", ei_ces_big5},
- {"CN-BIG5", ei_ces_big5},
- {""}, {""}, {""}, {""},
- {"ISO-10646-UCS-2", ei_ucs2},
- {""}, {""}, {""},
- {"UCS-4-INTERNAL", ei_ucs4internal},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"UHC", ei_cp949},
+ {"X0212", ei_jisx0212},
+ {"UTF-16", ei_utf16},
+ {"L4", ei_iso8859_4},
{""}, {""},
- {"MACHEBREW", ei_mac_hebrew},
- {"CSEUCTW", ei_euc_tw},
+ {"ISO-IR-159", ei_jisx0212},
+ {""},
+ {"WINDOWS-1258", ei_cp1258},
+ {"UTF-16LE", ei_utf16le},
+ {""},
+ {"ISO_8859-6", ei_iso8859_6},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"MACINTOSH", ei_mac_roman},
+ {"ISO-IR-109", ei_iso8859_3},
{""}, {""},
{"CSIBM866", ei_cp866},
- {""}, {""}, {""}, {""}, {""},
- {"WINDOWS-1254", ei_cp1254},
+ {""}, {""}, {""},
+ {"WINDOWS-1255", ei_cp1255},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-2022-CN-EXT", ei_iso2022_cn_ext},
+ {""},
+ {"WINDOWS-1256", ei_cp1256},
+ {""}, {""}, {""},
+ {"CSISO2022JP", ei_iso2022_jp},
{""}, {""}, {""}, {""},
- {"CN-GB-ISOIR165", ei_isoir165},
- {"ISO-IR-179", ei_iso8859_13},
- {""},
- {"ISO_8859-1", ei_iso8859_1},
+ {"ISO-2022-CN", ei_iso2022_cn},
+ {"WINDOWS-1250", ei_cp1250},
{""}, {""}, {""}, {""}, {""}, {""},
- {"CSHPROMAN8", ei_hp_roman8},
- {""},
- {"JIS_X0212", ei_jisx0212},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-16:2000", ei_iso8859_16},
+ {"JIS_X0208", ei_jisx0208},
+ {"ISO-8859-1", ei_iso8859_1},
+ {""}, {""}, {""},
+ {"ISO646-JP", ei_iso646_jp},
+ {"EUCCN", ei_euc_cn},
+ {"EUC-CN", ei_euc_cn},
+ {""}, {""}, {""},
+ {"ISO-IR-110", ei_iso8859_4},
{""}, {""}, {""}, {""}, {""},
- {"CSISO2022CN", ei_iso2022_cn},
+ {"CP1258", ei_cp1258},
+ {""},
+ {"CSVISCII", ei_viscii},
+ {""}, {""}, {""},
+ {"WINDOWS-1252", ei_cp1252},
+ {"UTF-16BE", ei_utf16be},
+ {"MACHEBREW", ei_mac_hebrew},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-2", ei_iso8859_2},
+ {""}, {""},
+ {"MAC", ei_mac_roman},
+ {""},
+ {"ISO-IR-199", ei_iso8859_14},
+ {""}, {""}, {""}, {""},
+ {"HP-ROMAN8", ei_hp_roman8},
+ {""}, {""}, {""}, {""},
+ {"ISO_8859-8:1988", ei_iso8859_8},
+ {""}, {""}, {""},
+ {"GREEK8", ei_iso8859_7},
+ {""}, {""},
+ {"CSISO2022JP2", ei_iso2022_jp2},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"X0201", ei_jisx0201},
+ {"CP1255", ei_cp1255},
+ {""}, {""}, {""},
+ {"ISO_8859-5:1988", ei_iso8859_5},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP1256", ei_cp1256},
+ {""}, {""}, {""}, {""},
+ {"ASCII", ei_ascii},
+ {""},
+ {"TIS620.2529-1", ei_tis620},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"CP1250", ei_cp1250},
+ {""}, {""}, {""},
+ {"ISO_8859-9", ei_iso8859_9},
+ {""}, {""},
+ {"UNICODELITTLE", ei_ucs2le},
+ {"KOI8-U", ei_koi8_u},
+ {""}, {""}, {""}, {""}, {""},
+ {"CSISO159JISX02121990", ei_jisx0212},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"UCS-4-LE", ei_ucs4le},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"JOHAB", ei_johab},
+ {""}, {""}, {""}, {""},
+ {"ISO_8859-15:1998", ei_iso8859_15},
+ {""}, {""}, {""},
+ {"CP819", ei_iso8859_1},
+ {"CSBIG5", ei_ces_big5},
+ {"CN-BIG5", ei_ces_big5},
+ {""},
+ {"ISO-2022-KR", ei_iso2022_kr},
+ {"ISO-IR-138", ei_iso8859_8},
+ {""}, {""},
+ {"UHC", ei_cp949},
+ {""},
+ {"ARMSCII-8", ei_armscii_8},
+ {"WINBALTRIM", ei_cp1257},
+ {"CSEUCTW", ei_euc_tw},
+ {""},
+ {"ISO646-US", ei_ascii},
+ {""},
+ {"ISO_8859-15", ei_iso8859_15},
+ {""},
+ {"EUCKR", ei_euc_kr},
+ {"EUC-KR", ei_euc_kr},
+ {"CSKOI8R", ei_koi8_r},
+ {"CP1252", ei_cp1252},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"KOI8-RU", ei_koi8_ru},
+ {""},
+ {"WINDOWS-1251", ei_cp1251},
+ {""}, {""}, {""},
+ {"ISO_8859-16", ei_iso8859_16},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CN-GB-ISOIR165", ei_isoir165},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-101", ei_iso8859_2},
+ {"ISO_8859-16:2000", ei_iso8859_16},
+ {""}, {""}, {""},
+ {"ISO-IR-148", ei_iso8859_9},
+ {"ISO_8859-10", ei_iso8859_10},
+ {"CSISOLATIN5", ei_iso8859_9},
+ {"UCS-4-BE", ei_ucs4be},
+ {""}, {""}, {""}, {""}, {""},
+ {"UCS-4-INTERNAL", ei_ucs4internal},
+ {"CN-GB", ei_euc_cn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"CSISOLATIN6", ei_iso8859_10},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
{"ISO_8859-10:1992", ei_iso8859_10},
- {""},
- {"UCS-4-BE", ei_ucs4be},
- {""}, {""}, {""}, {""}, {""},
- {"CP1254", ei_cp1254},
- {"US-ASCII", ei_ascii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-4:1988", ei_iso8859_4},
- {""}, {""}, {""},
- {"VISCII1.1-1", ei_viscii},
- {""}, {""},
- {"MS_KANJI", ei_sjis},
- {""}, {""},
- {"ISO_8859-9:1989", ei_iso8859_9},
- {""}, {""},
- {"CP936", ei_ces_gbk},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-14:1998", ei_iso8859_14},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"CSISO14JISC6220RO", ei_iso646_jp},
- {""}, {""}, {""},
- {"CSASCII", ei_ascii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ASMO-708", ei_iso8859_6},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CP932", ei_cp932},
- {""},
- {"ISO-IR-87", ei_jisx0208},
- {"ISO_8859-10", ei_iso8859_10},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"TCVN5712-1", ei_tcvn},
- {""},
- {"ISO-10646-UCS-4", ei_ucs4},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSISO87JISX0208", ei_jisx0208},
{""}, {""}, {""}, {""},
- {"ISO-IR-57", ei_iso646_cn},
- {"ISO_646.IRV:1991", ei_ascii},
+ {"KOREAN", ei_ksc5601},
+ {"JAVA", ei_java},
+ {""},
+ {"MACTHAI", ei_mac_thai},
{""}, {""}, {""},
- {"GB_1988-80", ei_iso646_cn},
- {""}, {""},
{"CSISOLATINHEBREW", ei_iso8859_8},
- {""},
- {"ISO_8859-4", ei_iso8859_4},
- {""}, {""}, {""}, {""},
- {"MS-CYRL", ei_cp1251},
- {""}, {""},
- {"CSISOLATIN5", ei_iso8859_9},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"CSISOLATIN6", ei_iso8859_10},
- {""}, {""}, {""}, {""},
- {"CSEUCKR", ei_euc_kr},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"JISX0201-1976", ei_jisx0201},
+ {"US-ASCII", ei_ascii},
+ {"ISO_8859-9:1989", ei_iso8859_9},
+ {""}, {""}, {""},
{"JIS_X0208-1990", ei_jisx0208},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ISO-8859-7", ei_iso8859_7},
- {""}, {""},
- {"JIS_X0201", ei_jisx0201},
{""},
- {"CSMACINTOSH", ei_mac_roman},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSISOLATIN2", ei_iso8859_2},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ECMA-114", ei_iso8859_6},
+ {"CSISO2022CN", ei_iso2022_cn},
{""}, {""},
- {"ISO-8859-3", ei_iso8859_3},
- {""},
- {"MACUKRAINE", ei_mac_ukraine},
- {""}, {""}, {""}, {""},
- {"CSISOLATINGREEK", ei_iso8859_7},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"JIS_X0212-1990", ei_jisx0212},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"WINDOWS-1257", ei_cp1257},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-157", ei_iso8859_10},
- {"WINDOWS-1253", ei_cp1253},
- {""}, {""}, {""},
- {"JIS_X0212.1990-0", ei_jisx0212},
- {""}, {""}, {""}, {""},
- {"ISO_8859-14", ei_iso8859_14},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"JIS_C6220-1969-RO", ei_iso646_jp},
- {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-127", ei_iso8859_6},
- {""}, {""}, {""}, {""},
- {"CP874", ei_cp874},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-203", ei_iso8859_15},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"UTF-7", ei_utf7},
- {""}, {""}, {""},
- {"ISO_8859-3:1988", ei_iso8859_3},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"GEORGIAN-ACADEMY", ei_georgian_academy},
- {"ISO_8859-6:1987", ei_iso8859_6},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"ISO-8859-13", ei_iso8859_13},
- {""}, {""},
- {"CP1361", ei_johab},
- {""}, {""}, {""},
- {"ISO_8859-2:1987", ei_iso8859_2},
- {""}, {""}, {""},
- {"LATIN7", ei_iso8859_13},
- {""},
- {"WINBALTRIM", ei_cp1257},
- {""}, {""}, {""},
- {"CN-GB", ei_euc_cn},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"CSISOLATIN1", ei_iso8859_1},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"LATIN3", ei_iso8859_3},
- {""},
- {"MULELAO-1", ei_mulelao},
- {""}, {""}, {""},
- {"CSUCS4", ei_ucs4},
- {""}, {""},
- {"HZ-GB-2312", ei_hz},
- {""}, {""}, {""},
- {"JOHAB", ei_johab},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"KSC_5601", ei_ksc5601},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"UNICODELITTLE", ei_ucs2le},
{"UCS-2-SWAPPED", ei_ucs2swapped},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO646-CN", ei_iso646_cn},
+ {""}, {""},
+ {"CSISOLATIN2", ei_iso8859_2},
+ {""},
+ {"MACROMAN", ei_mac_roman},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"TCVN-5712", ei_tcvn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ECMA-118", ei_iso8859_7},
+ {""}, {""}, {""}, {""}, {""},
+ {"CP936", ei_ces_gbk},
{""}, {""}, {""},
+ {"JIS_X0212", ei_jisx0212},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-1", ei_iso8859_1},
+ {"CSHPROMAN8", ei_hp_roman8},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"LATIN7", ei_iso8859_13},
+ {""}, {""},
+ {"ASMO-708", ei_iso8859_6},
+ {""}, {""}, {""}, {""},
+ {"ISO-IR-87", ei_jisx0208},
+ {""},
+ {"LATIN3", ei_iso8859_3},
+ {""}, {""},
{"CSUNICODE", ei_ucs2},
+ {"ISO-IR-179", ei_iso8859_13},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-1:1987", ei_iso8859_1},
+ {"CSASCII", ei_ascii},
+ {""},
+ {"EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", ei_euc_jp},
+ {""}, {""}, {""},
+ {"CSPC850MULTILINGUAL", ei_cp850},
+ {""}, {""}, {""}, {""},
+ {"ISO-IR-57", ei_iso646_cn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"WINDOWS-1257", ei_cp1257},
+ {""},
+ {"GBK", ei_ces_gbk},
+ {"MULELAO-1", ei_mulelao},
+ {"GREEK", ei_iso8859_7},
+ {"WINDOWS-1253", ei_cp1253},
+ {"CYRILLIC", ei_iso8859_5},
+ {""},
+ {"CP932", ei_cp932},
+ {""}, {""},
+ {"MS-TURK", ei_cp1254},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-149", ei_ksc5601},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSISO2022KR", ei_iso2022_kr},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"ISO-8859-7", ei_iso8859_7},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"WINDOWS-1254", ei_cp1254},
+ {""},
+ {"JIS_X0201", ei_jisx0201},
+ {"ISO-8859-3", ei_iso8859_3},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"GB_1988-80", ei_iso646_cn},
+ {"LATIN4", ei_iso8859_4},
+ {""}, {""}, {""}, {""},
+ {"CP1251", ei_cp1251},
{""}, {""}, {""}, {""}, {""},
- {"WINDOWS-874", ei_cp874},
+ {"GEORGIAN-PS", ei_georgian_ps},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-203", ei_iso8859_15},
+ {""},
+ {"JIS_C6220-1969-RO", ei_iso646_jp},
+ {""}, {""},
+ {"ISO_8859-3:1988", ei_iso8859_3},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-10646-UCS-2", ei_ucs2},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"MS-GREEK", ei_cp1253},
{""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-6:1987", ei_iso8859_6},
+ {""}, {""}, {""},
+ {"JIS_X0212-1990", ei_jisx0212},
+ {"CP949", ei_cp949},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"MACTURKISH", ei_mac_turkish},
+ {""},
+ {"UTF-7", ei_utf7},
+ {""}, {""}, {""}, {""},
+ {"ISO_8859-4:1988", ei_iso8859_4},
+ {"JIS_X0212.1990-0", ei_jisx0212},
+ {""}, {""},
+ {"MS-ARAB", ei_cp1256},
+ {"ISO-8859-4", ei_iso8859_4},
+ {""}, {""}, {""}, {""}, {""}, {""},
{"MACCENTRALEUROPE", ei_mac_centraleurope},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-2:1987", ei_iso8859_2},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"MS_KANJI", ei_sjis},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"UCS-4", ei_ucs4},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"GB2312", ei_euc_cn},
+ {""}, {""}, {""}, {""}, {""},
+ {"CSISOLATIN1", ei_iso8859_1},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"ISO-IR-157", ei_iso8859_10},
+ {"ISO_8859-14:1998", ei_iso8859_14},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSEUCKR", ei_euc_kr},
{""}, {""},
{"TIS620.2533-0", ei_tis620},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSISOLATIN4", ei_iso8859_4},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"JIS_X0208-1983", ei_jisx0208},
+ {"CSMACINTOSH", ei_mac_roman},
{""}, {""}, {""},
- {"TIS620.2533-1", ei_tis620},
+ {"VISCII1.1-1", ei_viscii},
+ {""}, {""}, {""}, {""},
+ {"ISO_646.IRV:1991", ei_ascii},
+ {""}, {""}, {""},
+ {"ISO-IR-127", ei_iso8859_6},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"UNICODE-1-1", ei_ucs2be},
- {""}, {""}, {""}, {""}, {""},
- {"CP1257", ei_cp1257},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACCROATIAN", ei_mac_croatian},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"IBM367", ei_ascii},
- {"TCVN5712-1:1993", ei_tcvn},
- {""}, {""}, {""}, {""}, {""},
- {"CP1253", ei_cp1253},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-8859-13", ei_iso8859_13},
{""}, {""},
- {"UCS-4-SWAPPED", ei_ucs4swapped},
+ {"JIS_X0208-1983", ei_jisx0208},
+ {""}, {""}, {""}, {""}, {""},
+ {"TCVN5712-1", ei_tcvn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-14", ei_iso646_jp},
{"CSISO58GB231280", ei_gb2312},
- {""},
- {"GB_2312-80", ei_gb2312},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACROMANIA", ei_mac_romania},
+ {"UCS-4-SWAPPED", ei_ucs4swapped},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"ISO_8859-7", ei_iso8859_7},
- {""}, {""}, {""},
- {"CSEUCPKDFMTJAPANESE", ei_euc_jp},
- {""}, {""}, {""},
- {"CSISO57GB1988", ei_iso646_cn},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"UNICODEBIG", ei_ucs2be},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-3", ei_iso8859_3},
- {"CSGB2312", ei_euc_cn},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-1:1987", ei_iso8859_1},
{""},
- {"CYRILLIC", ei_iso8859_5},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
+ {"CSISO14JISC6220RO", ei_iso646_jp},
+ {""}, {""}, {""}, {""}, {""}, {""},
{"CSISOLATINCYRILLIC", ei_iso8859_5},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"CSISOLATINARABIC", ei_iso8859_6},
- {"ISO_8859-7:1987", ei_iso8859_7},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"UNICODE-1-1", ei_ucs2be},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"MACUKRAINE", ei_mac_ukraine},
+ {""},
+ {"MACCYRILLIC", ei_mac_cyrillic},
+ {""}, {""}, {""},
+ {"UNICODEBIG", ei_ucs2be},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", ei_euc_jp},
+ {"ISO_8859-7", ei_iso8859_7},
+ {"ISO-8859-14", ei_iso8859_14},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-3", ei_iso8859_3},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSISOLATINGREEK", ei_iso8859_7},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-13", ei_iso8859_13},
- {"CSKSC56011987", ei_ksc5601},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MS-ARAB", ei_cp1256},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ANSI_X3.4-1968", ei_ascii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"CP367", ei_ascii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"CSPC850MULTILINGUAL", ei_cp850},
- {""},
- {"CSUNICODE11", ei_ucs2be},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"UNICODE-1-1-UTF-7", ei_utf7},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"MACGREEK", ei_mac_greek},
{""}, {""}, {""},
+ {"TIS620.2533-1", ei_tis620},
+ {""},
+ {"HZ-GB-2312", ei_hz},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSISOLATINARABIC", ei_iso8859_6},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"IBM367", ei_ascii},
+ {"CSEUCPKDFMTJAPANESE", ei_euc_jp},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP1361", ei_johab},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"ISO_8859-4", ei_iso8859_4},
+ {"MACICELAND", ei_mac_iceland},
+ {""},
{"ARABIC", ei_iso8859_6},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"CP1257", ei_cp1257},
+ {""},
+ {"CSISO57GB1988", ei_iso646_cn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP1253", ei_cp1253},
{""}, {""}, {""}, {""}, {""}, {""},
+ {"MACCROATIAN", ei_mac_croatian},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-10646-UCS-4", ei_ucs4},
+ {"KSC_5601", ei_ksc5601},
+ {""}, {""}, {""},
+ {"ISO_8859-7:1987", ei_iso8859_7},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"GB_2312-80", ei_gb2312},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"UNICODE-1-1-UTF-7", ei_utf7},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"CSGB2312", ei_euc_cn},
+ {""}, {""},
{"CSHALFWIDTHKATAKANA", ei_jisx0201},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-13", ei_iso8859_13},
+ {""}, {""}, {""}, {""},
+ {"CP1254", ei_cp1254},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"CSUNICODE11", ei_ucs2be},
+ {""}, {""}, {""}, {""}, {""},
+ {"CSISOLATIN3", ei_iso8859_3},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP367", ei_ascii},
+ {"WINDOWS-874", ei_cp874},
+ {""}, {""}, {""},
+ {"TCVN5712-1:1993", ei_tcvn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"MACROMANIA", ei_mac_romania},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-14", ei_iso8859_14},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"CP874", ei_cp874},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"CSISOLATIN4", ei_iso8859_4},
+ {""}, {""}, {""},
+ {"CSUCS4", ei_ucs4},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"GEORGIAN-ACADEMY", ei_georgian_academy},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-144", ei_iso8859_5},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"CSUNICODE11UTF7", ei_utf7},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"MACARABIC", ei_mac_arabic},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ECMA-114", ei_iso8859_6},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
@@ -681,16 +680,12 @@
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"MACCYRILLIC", ei_mac_cyrillic},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSISOLATIN3", ei_iso8859_3},
+ {"ANSI_X3.4-1968", ei_ascii},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"CSKSC56011987", ei_ksc5601},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -704,26 +699,23 @@
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSUNICODE11UTF7", ei_utf7},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"IBM-CP1133", ei_cp1133},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACARABIC", ei_mac_arabic},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"MACICELAND", ei_mac_iceland},
+ {"IBM-CP1133", ei_cp1133},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
diff --git a/src/converters.h b/src/converters.h
index b836700..1c8f47b 100644
--- a/src/converters.h
+++ b/src/converters.h
@@ -99,6 +99,8 @@
#include "ucs2.h"
#include "ucs4.h"
#include "utf16.h"
+#include "utf16be.h"
+#include "utf16le.h"
#include "utf7.h"
#include "ucs2internal.h"
#include "ucs2swapped.h"
diff --git a/src/encodings.def b/src/encodings.def
index fa6b387..870a79f 100644
--- a/src/encodings.def
+++ b/src/encodings.def
@@ -73,11 +73,21 @@
ucs4,
{ ucs4_mbtowc }, { ucs4_wctomb, NULL })
-DEFENCODING(( "UTF-16",
+DEFENCODING(( "UTF-16", /* RFC 2781 */
),
utf16,
{ utf16_mbtowc }, { utf16_wctomb, NULL })
+DEFENCODING(( "UTF-16BE", /* RFC 2781 */
+ ),
+ utf16be,
+ { utf16be_mbtowc }, { utf16be_wctomb, NULL })
+
+DEFENCODING(( "UTF-16LE", /* RFC 2781 */
+ ),
+ utf16le,
+ { utf16le_mbtowc }, { utf16le_wctomb, NULL })
+
DEFENCODING(( "UTF-7", /* IANA, RFC 2152 */
"UNICODE-1-1-UTF-7", /* IANA, RFC 1642 */
"csUnicode11UTF7", /* IANA */
diff --git a/src/flags.h b/src/flags.h
index 4740e9d..51af911 100644
--- a/src/flags.h
+++ b/src/flags.h
@@ -17,6 +17,8 @@
#define ei_ucs2_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs4_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf16_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf16be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf16le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf7_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2internal_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2swapped_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
diff --git a/src/utf16.h b/src/utf16.h
index 872c155..5cb2169 100644
--- a/src/utf16.h
+++ b/src/utf16.h
@@ -2,8 +2,14 @@
* UTF-16
*/
+/* Specification: RFC 2781 */
+
/* Here we accept FFFE/FEFF marks as endianness indicators everywhere
- in the stream, not just at the beginning. The default is big-endian. */
+ in the stream, not just at the beginning. (This is contrary to what
+ RFC 2781 section 3.2 specifies, but it allows concatenation of byte
+ sequences to work flawlessly, while disagreeing with the RFC behaviour
+ only for strings containing U+FEFF characters, which is quite rare.)
+ The default is big-endian. */
/* The state is 0 if big-endian, 1 if little-endian. */
static int
utf16_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
@@ -38,16 +44,30 @@
return RET_TOOFEW(count);
}
-/* But we output UTF-16 in big-endian order, without byte-order mark. */
+/* We output UTF-16 in big-endian order, with byte-order mark.
+ See RFC 2781 section 3.3 for a rationale: Some document formats
+ mandate a BOM; the file concatenation issue is not so severe as
+ long as the above utf16_mbtowc function is used. */
+/* The state is 0 at the beginning, 1 after the BOM has been written. */
static int
utf16_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
{
if (wc != 0xfffe) {
+ int count = 0;
+ if (!conv->ostate) {
+ if (n >= 2) {
+ r[0] = 0xFE;
+ r[1] = 0xFF;
+ r += 2; n -= 2; count += 2;
+ } else
+ return RET_TOOSMALL;
+ }
if (wc < 0x10000) {
if (n >= 2) {
r[0] = (unsigned char) (wc >> 8);
r[1] = (unsigned char) wc;
- return 2;
+ conv->ostate = 1;
+ return count+2;
} else
return RET_TOOSMALL;
}
@@ -59,7 +79,8 @@
r[1] = (unsigned char) wc1;
r[2] = (unsigned char) (wc2 >> 8);
r[3] = (unsigned char) wc2;
- return 4;
+ conv->ostate = 1;
+ return count+4;
} else
return RET_TOOSMALL;
}
diff --git a/src/utf16be.h b/src/utf16be.h
new file mode 100644
index 0000000..69c5604
--- /dev/null
+++ b/src/utf16be.h
@@ -0,0 +1,55 @@
+/*
+ * UTF-16BE
+ */
+
+/* Specification: RFC 2781 */
+
+static int
+utf16be_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+{
+ int count = 0;
+ if (n >= 2) {
+ wchar_t wc = (s[0] << 8) + s[1];
+ if (wc >= 0xd800 && wc < 0xdc00) {
+ if (n >= 4) {
+ wchar_t wc2 = (s[2] << 8) + s[3];
+ if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
+ return RET_ILSEQ;
+ *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
+ return count+4;
+ }
+ } else if (wc >= 0xdc00 && wc < 0xe000) {
+ return RET_ILSEQ;
+ } else {
+ *pwc = wc;
+ return count+2;
+ }
+ }
+ return RET_TOOFEW(count);
+}
+
+static int
+utf16be_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+{
+ if (wc < 0x10000) {
+ if (n >= 2) {
+ r[0] = (unsigned char) (wc >> 8);
+ r[1] = (unsigned char) wc;
+ return 2;
+ } else
+ return RET_TOOSMALL;
+ }
+ else if (wc < 0x110000) {
+ if (n >= 4) {
+ wchar_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
+ wchar_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
+ r[0] = (unsigned char) (wc1 >> 8);
+ r[1] = (unsigned char) wc1;
+ r[2] = (unsigned char) (wc2 >> 8);
+ r[3] = (unsigned char) wc2;
+ return 4;
+ } else
+ return RET_TOOSMALL;
+ }
+ return RET_ILSEQ;
+}
diff --git a/src/utf16le.h b/src/utf16le.h
new file mode 100644
index 0000000..ad54f59
--- /dev/null
+++ b/src/utf16le.h
@@ -0,0 +1,55 @@
+/*
+ * UTF-16LE
+ */
+
+/* Specification: RFC 2781 */
+
+static int
+utf16le_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+{
+ int count = 0;
+ if (n >= 2) {
+ wchar_t wc = s[0] + (s[1] << 8);
+ if (wc >= 0xd800 && wc < 0xdc00) {
+ if (n >= 4) {
+ wchar_t wc2 = s[2] + (s[3] << 8);
+ if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
+ return RET_ILSEQ;
+ *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
+ return count+4;
+ }
+ } else if (wc >= 0xdc00 && wc < 0xe000) {
+ return RET_ILSEQ;
+ } else {
+ *pwc = wc;
+ return count+2;
+ }
+ }
+ return RET_TOOFEW(count);
+}
+
+static int
+utf16le_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+{
+ if (wc < 0x10000) {
+ if (n >= 2) {
+ r[0] = (unsigned char) wc;
+ r[1] = (unsigned char) (wc >> 8);
+ return 2;
+ } else
+ return RET_TOOSMALL;
+ }
+ else if (wc < 0x110000) {
+ if (n >= 4) {
+ wchar_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
+ wchar_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
+ r[0] = (unsigned char) wc1;
+ r[1] = (unsigned char) (wc1 >> 8);
+ r[2] = (unsigned char) wc2;
+ r[3] = (unsigned char) (wc2 >> 8);
+ return 4;
+ } else
+ return RET_TOOSMALL;
+ }
+ return RET_ILSEQ;
+}
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 52cf16d..b21e99f 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -35,6 +35,9 @@
$(srcdir)/check-stateless . UTF-8 && \
$(RM) genutf8 UTF-8.TXT
$(srcdir)/check-stateful $(srcdir) UTF-7
+ $(srcdir)/check-stateful $(srcdir) UTF-16
+ $(srcdir)/check-stateful $(srcdir) UTF-16BE
+ $(srcdir)/check-stateful $(srcdir) UTF-16LE
# /* 8-bit encodings */
$(srcdir)/check-stateless $(srcdir) ISO-8859-1
$(srcdir)/check-stateless $(srcdir) ISO-8859-2
diff --git a/tests/UTF-16-snippet b/tests/UTF-16-snippet
new file mode 100644
index 0000000..eef612d
--- /dev/null
+++ b/tests/UTF-16-snippet
Binary files differ
diff --git a/tests/UTF-16-snippet.UTF-8 b/tests/UTF-16-snippet.UTF-8
new file mode 100644
index 0000000..d28ea2e
--- /dev/null
+++ b/tests/UTF-16-snippet.UTF-8
@@ -0,0 +1 @@
+𒍅=Ra
\ No newline at end of file
diff --git a/tests/UTF-16BE-snippet b/tests/UTF-16BE-snippet
new file mode 100644
index 0000000..1cc84d0
--- /dev/null
+++ b/tests/UTF-16BE-snippet
Binary files differ
diff --git a/tests/UTF-16BE-snippet.UTF-8 b/tests/UTF-16BE-snippet.UTF-8
new file mode 100644
index 0000000..d28ea2e
--- /dev/null
+++ b/tests/UTF-16BE-snippet.UTF-8
@@ -0,0 +1 @@
+𒍅=Ra
\ No newline at end of file
diff --git a/tests/UTF-16LE-snippet b/tests/UTF-16LE-snippet
new file mode 100644
index 0000000..a4cba3c
--- /dev/null
+++ b/tests/UTF-16LE-snippet
Binary files differ
diff --git a/tests/UTF-16LE-snippet.UTF-8 b/tests/UTF-16LE-snippet.UTF-8
new file mode 100644
index 0000000..d28ea2e
--- /dev/null
+++ b/tests/UTF-16LE-snippet.UTF-8
@@ -0,0 +1 @@
+𒍅=Ra
\ No newline at end of file