aboutsummaryrefslogtreecommitdiff
path: root/iconvdata
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-19 07:49:16 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-19 07:49:16 +0000
commit9813858f9f94a58eef876a54cc369f286332a532 (patch)
tree3711fbceefbb97a9819a65b3b22ea30bf2c3ffea /iconvdata
parentb459976e27aee31b9be3b31cb6c95f35226f1a57 (diff)
downloadglibc-9813858f9f94a58eef876a54cc369f286332a532.tar
glibc-9813858f9f94a58eef876a54cc369f286332a532.tar.gz
glibc-9813858f9f94a58eef876a54cc369f286332a532.tar.bz2
glibc-9813858f9f94a58eef876a54cc369f286332a532.zip
Update.
2002-04-15 Bruno Haible <bruno@clisp.org> * iconvdata/armscii-8.c (BODY for FROM_LOOP): Fix array access. (BODY for TO_LOOP): Likewise. * iconvdata/tcvn5712-1.c (from_ucs4): Map U+0309 to 0xB1. * iconvdata/tst-table.sh: Add support for encodings which contain precomposed Unicode characters, known to the iconv converter in both directions but not listed in the charmap. * iconvdata/IBM856.irreversible: New file. * iconvdata/IBM922.irreversible: New file. * iconvdata/IBM1132.irreversible: New file. * iconvdata/IBM1133.irreversible: New file. * iconvdata/IBM1160.irreversible: New file. * iconvdata/IBM1161.irreversible: New file. * iconvdata/IBM1163.irreversible: New file. * iconvdata/IBM1164.irreversible: New file. * iconvdata/ARMSCII-8.irreversible: New file. * iconvdata/TCVN5712-1.precomposed: New file. * iconvdata/tst-tables.sh: Add IBM856, IBM922, IBM1124, IBM1129, IBM1160, IBM1161, IBM1132, IBM1133, IBM1162, IBM1163, IBM1164, ARMSCII-8, TCVN5712-1. * iconvdata/Makefile (distribute): Add IBM856.irreversible, IBM922.irreversible, IBM1132.irreversible, IBM1133.irreversible, IBM1160.irreversible, IBM1161.irreversible, IBM1163.irreversible, IBM1164.irreversible, ARMSCII-8.irreversible, TCVN5712-1.precomposed. 2002-04-17 Jakub Jelinek <jakub@redhat.com> * time/tst-mktime.c: Include <stdlib.h>. Use %d, not %ld format for EVENING69. Include offsets in TZ environment variable.
Diffstat (limited to 'iconvdata')
-rw-r--r--iconvdata/ARMSCII-8.irreversible5
-rw-r--r--iconvdata/IBM1132.irreversible1
-rw-r--r--iconvdata/IBM1133.irreversible1
-rw-r--r--iconvdata/IBM1160.irreversible4
-rw-r--r--iconvdata/IBM1161.irreversible4
-rw-r--r--iconvdata/IBM1163.irreversible2
-rw-r--r--iconvdata/IBM1164.irreversible2
-rw-r--r--iconvdata/IBM856.irreversible36
-rw-r--r--iconvdata/IBM922.irreversible69
-rw-r--r--iconvdata/Makefile4
-rw-r--r--iconvdata/TCVN5712-1.precomposed56
-rw-r--r--iconvdata/armscii-8.c8
-rw-r--r--iconvdata/tcvn5712-1.c2
-rwxr-xr-xiconvdata/tst-table.sh29
-rwxr-xr-xiconvdata/tst-tables.sh31
15 files changed, 235 insertions, 19 deletions
diff --git a/iconvdata/ARMSCII-8.irreversible b/iconvdata/ARMSCII-8.irreversible
new file mode 100644
index 0000000000..1942592daf
--- /dev/null
+++ b/iconvdata/ARMSCII-8.irreversible
@@ -0,0 +1,5 @@
+0xA4 0x0029
+0xA5 0x0028
+0xA9 0x002E
+0xAB 0x002C
+0xAC 0x002D
diff --git a/iconvdata/IBM1132.irreversible b/iconvdata/IBM1132.irreversible
new file mode 100644
index 0000000000..8535373dd5
--- /dev/null
+++ b/iconvdata/IBM1132.irreversible
@@ -0,0 +1 @@
+0x70 0x006B
diff --git a/iconvdata/IBM1133.irreversible b/iconvdata/IBM1133.irreversible
new file mode 100644
index 0000000000..c0cd850537
--- /dev/null
+++ b/iconvdata/IBM1133.irreversible
@@ -0,0 +1 @@
+0xDF 0x006B
diff --git a/iconvdata/IBM1160.irreversible b/iconvdata/IBM1160.irreversible
new file mode 100644
index 0000000000..494fef2da8
--- /dev/null
+++ b/iconvdata/IBM1160.irreversible
@@ -0,0 +1,4 @@
+0x51 0x0E48
+0xCA 0x0E49
+0xE1 0x0E4A
+0xFD 0x0E4B
diff --git a/iconvdata/IBM1161.irreversible b/iconvdata/IBM1161.irreversible
new file mode 100644
index 0000000000..07150abae7
--- /dev/null
+++ b/iconvdata/IBM1161.irreversible
@@ -0,0 +1,4 @@
+0xA0 0x0E48
+0xDB 0x0E49
+0xDC 0x0E4A
+0xDD 0x0E4B
diff --git a/iconvdata/IBM1163.irreversible b/iconvdata/IBM1163.irreversible
new file mode 100644
index 0000000000..1d052b399a
--- /dev/null
+++ b/iconvdata/IBM1163.irreversible
@@ -0,0 +1,2 @@
+0xAF 0x203E
+0xD0 0x00D0
diff --git a/iconvdata/IBM1164.irreversible b/iconvdata/IBM1164.irreversible
new file mode 100644
index 0000000000..510651e184
--- /dev/null
+++ b/iconvdata/IBM1164.irreversible
@@ -0,0 +1,2 @@
+0xAC 0x00D0
+0xBC 0x203E
diff --git a/iconvdata/IBM856.irreversible b/iconvdata/IBM856.irreversible
new file mode 100644
index 0000000000..b2b53b4f09
--- /dev/null
+++ b/iconvdata/IBM856.irreversible
@@ -0,0 +1,36 @@
+0x01 0x263A
+0x02 0x263B
+0x03 0x2665
+0x04 0x2666
+0x05 0x2663
+0x06 0x2660
+0x08 0x25D8
+0x09 0x25CB
+0x09 0xFFEE
+0x0A 0x25D9
+0x0B 0x2642
+0x0C 0x2640
+0x0D 0x266A
+0x0E 0x266B
+0x0F 0x263C
+0x10 0x25BA
+0x11 0x25C4
+0x12 0x2195
+0x13 0x203C
+0x16 0x25AC
+0x17 0x21A8
+0x18 0x2191
+0x18 0xFFEA
+0x19 0x2193
+0x19 0xFFEC
+0x1A 0x2192
+0x1A 0xFFEB
+0x1B 0x2190
+0x1B 0xFFE9
+0x1C 0x221F
+0x1D 0x2194
+0x1E 0x25B2
+0x1F 0x25BC
+0x7F 0x2302
+0xB3 0xFFE8
+0xFE 0xFFED
diff --git a/iconvdata/IBM922.irreversible b/iconvdata/IBM922.irreversible
new file mode 100644
index 0000000000..7d23de1b22
--- /dev/null
+++ b/iconvdata/IBM922.irreversible
@@ -0,0 +1,69 @@
+0x01 0x263A
+0x02 0x263B
+0x03 0x2665
+0x04 0x2666
+0x05 0x2663
+0x06 0x2660
+0x07 0x2022
+0x08 0x25D8
+0x09 0x25CB
+0x09 0xFFEE
+0x0A 0x25D9
+0x0B 0x2642
+0x0C 0x2640
+0x0D 0x266A
+0x0E 0x266C
+0x0F 0x263C
+0x10 0x25BA
+0x11 0x25C4
+0x12 0x2195
+0x13 0x203C
+0x16 0x25AC
+0x17 0x21A8
+0x18 0x2191
+0x18 0xFFEA
+0x19 0x2193
+0x19 0xFFEC
+0x1A 0x2192
+0x1A 0xFFEB
+0x1B 0x2190
+0x1B 0xFFE9
+0x1C 0x221F
+0x1D 0x2194
+0x1E 0x25B2
+0x1F 0x25BC
+0x80 0x2591
+0x81 0x2592
+0x82 0x2593
+0x83 0x2502
+0x83 0xFFE8
+0x84 0x2524
+0x85 0x2518
+0x86 0x250C
+0x87 0x2588
+0x88 0x2584
+0x89 0x2563
+0x8A 0x2551
+0x8B 0x2557
+0x8C 0x255D
+0x8D 0x2580
+0x8E 0x2265
+0x8F 0x2510
+0x90 0x2514
+0x91 0x2534
+0x92 0x252C
+0x93 0x251C
+0x94 0x2500
+0x95 0x253C
+0x96 0x25A0
+0x96 0xFFED
+0x97 0x2017
+0x98 0x255A
+0x99 0x2554
+0x9A 0x2569
+0x9B 0x2566
+0x9C 0x2560
+0x9D 0x2550
+0x9E 0x256C
+0x9F 0x2264
+0xAF 0x203E
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index bdbee356ac..dc0ec65bc8 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -106,6 +106,10 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \
EUC-JP.irreversible ISIRI-3342.irreversible SJIS.irreversible \
EUC-KR.irreversible BIG5HKSCS.irreversible BIG5.irreversible \
CP1255.irreversible CP1258.irreversible EUC-TW.irreversible \
+ IBM856.irreversible IBM922.irreversible IBM1132.irreversible \
+ IBM1133.irreversible IBM1160.irreversible IBM1161.irreversible\
+ IBM1163.irreversible IBM1164.irreversible \
+ ARMSCII-8.irreversible TCVN5712-1.precomposed \
8bit-generic.c 8bit-gap.c \
ansi_x3.110.c asmo_449.c big5.c cp737.c cp737.h \
cp775.c cp775.h ibm874.c cns11643.c cns11643.h \
diff --git a/iconvdata/TCVN5712-1.precomposed b/iconvdata/TCVN5712-1.precomposed
new file mode 100644
index 0000000000..ae37b0f185
--- /dev/null
+++ b/iconvdata/TCVN5712-1.precomposed
@@ -0,0 +1,56 @@
+0x42B4 0x1E04
+0x43B3 0x0106
+0x44B4 0x1E0C
+0x47B3 0x01F4
+0x48B4 0x1E24
+0x4BB3 0x1E30
+0x4BB4 0x1E32
+0x4CB3 0x0139
+0x4CB4 0x1E36
+0x4DB3 0x1E3E
+0x4DB4 0x1E42
+0x4EB0 0x01F8
+0x4EB2 0x00D1
+0x4EB3 0x0143
+0x4EB4 0x1E46
+0x50B3 0x1E54
+0x52B3 0x0154
+0x52B4 0x1E5A
+0x53B3 0x015A
+0x53B4 0x1E62
+0x54B4 0x1E6C
+0x56B2 0x1E7C
+0x56B4 0x1E7E
+0x57B0 0x1E80
+0x57B3 0x1E82
+0x57B4 0x1E88
+0x5AB3 0x0179
+0x5AB4 0x1E92
+0x62B4 0x1E05
+0x63B3 0x0107
+0x64B4 0x1E0D
+0x67B3 0x01F5
+0x68B4 0x1E25
+0x6BB3 0x1E31
+0x6BB4 0x1E33
+0x6CB3 0x013A
+0x6CB4 0x1E37
+0x6DB3 0x1E3F
+0x6DB4 0x1E43
+0x6EB0 0x01F9
+0x6EB2 0x00F1
+0x6EB3 0x0144
+0x6EB4 0x1E47
+0x70B3 0x1E55
+0x72B3 0x0155
+0x72B4 0x1E5B
+0x73B3 0x015B
+0x73B4 0x1E63
+0x74B4 0x1E6D
+0x76B2 0x1E7D
+0x76B4 0x1E7F
+0x77B0 0x1E81
+0x77B3 0x1E83
+0x77B4 0x1E89
+0x7AB3 0x017A
+0x7AB4 0x1E93
diff --git a/iconvdata/armscii-8.c b/iconvdata/armscii-8.c
index ca2e689a49..685736eb7d 100644
--- a/iconvdata/armscii-8.c
+++ b/iconvdata/armscii-8.c
@@ -1,5 +1,5 @@
-/* Conversion to and from ISO 8859-1.
- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Conversion to and from ARMSCII-8
+ Copyright (C) 1997-1999, 2000-2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -61,7 +61,7 @@ static const uint16_t map_from_armscii_8[0xfe - 0xa2 + 1] =
*((uint32_t *) outptr)++ = ch; \
else if (ch >= 0xa2 && ch <= 0xfe) \
/* Use the table. */ \
- *((uint32_t *) outptr)++ = map_from_armscii_8[ch]; \
+ *((uint32_t *) outptr)++ = map_from_armscii_8[ch - 0xa2]; \
else \
{ \
/* This is an illegal character. */ \
@@ -114,7 +114,7 @@ static const unsigned char map_to_armscii_8[0x58a - 0x531 + 1] =
*outptr = 0xa6; \
else if (ch >= 0x531 && ch <= 0x58a) \
{ \
- unsigned char oc = map_to_armscii_8[ch]; \
+ unsigned char oc = map_to_armscii_8[ch - 0x531]; \
\
if (oc == 0) \
/* No valid mapping. */ \
diff --git a/iconvdata/tcvn5712-1.c b/iconvdata/tcvn5712-1.c
index a3b5ad24fd..bcf002fb88 100644
--- a/iconvdata/tcvn5712-1.c
+++ b/iconvdata/tcvn5712-1.c
@@ -508,7 +508,7 @@ static const unsigned char from_ucs4[] =
#define FROM_IDX_04 (FROM_IDX_03 + 17)
0xb0, 0xb3, 0x00, 0xb2, 0x00, 0x00, 0x00, 0x00, /* 0x0300-0x0307 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0308-0x030f */
+ 0x00, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0308-0x030f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0310-0x0317 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0318-0x031f */
0x00, 0x00, 0x00, 0xb4, /* 0x0320-0x0323 */
diff --git a/iconvdata/tst-table.sh b/iconvdata/tst-table.sh
index fb427034eb..7b3ad92c1e 100755
--- a/iconvdata/tst-table.sh
+++ b/iconvdata/tst-table.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
#
@@ -39,7 +39,10 @@ ${SHELL} tst-table-charmap.sh ${charmap:-$charset} \
< ../localedata/charmaps/${charmap:-$charset} \
> ${objpfx}tst-${charset}.charmap.table
-# Precompute expected differences between the two iconv directions.
+# Precomputed expexted differences between the charmap and iconv forward.
+precomposed=${charset}.precomposed
+
+# Precompute expected differences between the charmap and iconv backward.
if test ${charset} = EUC-TW; then
irreversible=${objpfx}tst-${charset}.irreversible
(grep '^0x8EA1' ${objpfx}tst-${charset}.charmap.table
@@ -59,29 +62,37 @@ ${common_objpfx}elf/ld.so --library-path $common_objpfx \
${objpfx}tst-table-to ${charset} | sort \
> ${objpfx}tst-${charset}.inverse.table
-# Difference between the two iconv directions.
-diff ${objpfx}tst-${charset}.table ${objpfx}tst-${charset}.inverse.table | \
+# Difference between the charmap and iconv backward.
+diff ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.inverse.table | \
grep '^[<>]' | sed -e 's,^. ,,' > ${objpfx}tst-${charset}.irreversible.table
-# Check 1: charmap and iconv forward should be identical.
+# Check 1: charmap and iconv forward should be identical, except for
+# precomposed characters.
if test ${charset} = GB18030; then
grep '0x....$' < ${objpfx}tst-${charset}.charmap.table \
> ${objpfx}tst-${charset}.truncated.table
cmp -s ${objpfx}tst-${charset}.truncated.table ${objpfx}tst-${charset}.table ||
exit 1
else
- cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.table ||
- exit 1
+ if test -f ${precomposed}; then
+ cat ${objpfx}tst-${charset}.table ${precomposed} | sort | uniq -u \
+ > ${objpfx}tst-${charset}.tmp.table
+ cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.tmp.table ||
+ exit 1
+ else
+ cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.table ||
+ exit 1
+ fi
fi
-# Check 2: the difference between the two iconv directions.
+# Check 2: the difference between the charmap and iconv backward.
if test -f ${irreversible}; then
cat ${objpfx}tst-${charset}.charmap.table ${irreversible} | sort | uniq -u \
> ${objpfx}tst-${charset}.tmp.table
cmp -s ${objpfx}tst-${charset}.tmp.table ${objpfx}tst-${charset}.inverse.table ||
exit 1
else
- cmp -s ${objpfx}tst-${charset}.table ${objpfx}tst-${charset}.inverse.table ||
+ cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.inverse.table ||
exit 1
fi
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
index ce706aa625..0983052260 100755
--- a/iconvdata/tst-tables.sh
+++ b/iconvdata/tst-tables.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
#
@@ -76,7 +76,6 @@ cat <<EOF |
#ISO_6937-2 ISO-IR-90 Handling of combining marks is broken
KOI-8
KOI8-R
- KOI8-T
LATIN-GREEK
LATIN-GREEK-1
HP-ROMAN8
@@ -119,6 +118,7 @@ cat <<EOF |
IBM851
IBM852
IBM855
+ IBM856
IBM857
IBM860
IBM861
@@ -138,9 +138,20 @@ cat <<EOF |
IBM904
IBM905
IBM918
+ IBM922
IBM1004
IBM1026
+ #IBM1046 Differs from the AIX and JDK converters
IBM1047
+ IBM1124
+ IBM1129
+ IBM1160
+ IBM1161
+ IBM1132
+ IBM1133
+ IBM1162
+ IBM1163
+ IBM1164
CP1250
CP1251
CP1252
@@ -180,18 +191,23 @@ cat <<EOF |
NATS-SEFI
WIN-SAMI-2 SAMI-WS2
ISO-IR-197
- ISO-IR-209
- MAC-SAMI
TIS-620
KOI8-U
+ #ISIRI-3342 This charset concept is completely broken
VISCII
+ KOI8-T
GEORGIAN-PS
GEORGIAN-ACADEMY
- #ISIRI-3342 This charset concept is completely broken
+ ISO-IR-209
+ MAC-SAMI
+ ARMSCII-8
+ TCVN5712-1
#
# Multibyte encodings come here
#
SJIS SHIFT_JIS
+ #IBM932 This converter looks quite strange
+ #IBM943 This converter looks quite strange
EUC-KR
CP949
JOHAB
@@ -205,6 +221,11 @@ cat <<EOF |
#
# Stateful encodings not testable this way
#
+ #IBM930
+ #IBM933
+ #IBM935
+ #IBM937
+ #IBM939
#ISO-2022-JP
#ISO-2022-JP-2
#ISO-2022-KR