aboutsummaryrefslogtreecommitdiff
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
parentb459976e27aee31b9be3b31cb6c95f35226f1a57 (diff)
downloadglibc-9813858f9f94a58eef876a54cc369f286332a532.zip
glibc-9813858f9f94a58eef876a54cc369f286332a532.tar.gz
glibc-9813858f9f94a58eef876a54cc369f286332a532.tar.bz2
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.
-rw-r--r--ChangeLog31
-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
-rw-r--r--locale/programs/localedef.c2
-rw-r--r--localedata/charmaps/ARMSCII-8260
-rw-r--r--localedata/charmaps/IBM1124263
-rw-r--r--localedata/charmaps/IBM1129263
-rw-r--r--localedata/charmaps/IBM1132237
-rw-r--r--localedata/charmaps/IBM1133237
-rw-r--r--localedata/charmaps/IBM1160263
-rw-r--r--localedata/charmaps/IBM1161231
-rw-r--r--localedata/charmaps/IBM1162255
-rw-r--r--localedata/charmaps/IBM1163263
-rw-r--r--localedata/charmaps/IBM1164263
-rw-r--r--localedata/charmaps/IBM856223
-rw-r--r--localedata/charmaps/IBM922263
-rw-r--r--time/tst-mktime.c7
30 files changed, 3292 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index 5cb6e77..761ba50 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,34 @@
+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.
+
2002-04-18 Ulrich Drepper <drepper@redhat.com>
* iconv/skeleton.c (RESET_INPUT_BUFFER): Replace ifs with #ifs to
diff --git a/iconvdata/ARMSCII-8.irreversible b/iconvdata/ARMSCII-8.irreversible
new file mode 100644
index 0000000..1942592
--- /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 0000000..8535373
--- /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 0000000..c0cd850
--- /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 0000000..494fef2
--- /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 0000000..07150ab
--- /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 0000000..1d052b3
--- /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 0000000..510651e
--- /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 0000000..b2b53b4
--- /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 0000000..7d23de1
--- /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 bdbee35..dc0ec65 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 0000000..ae37b0f
--- /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 ca2e689..685736e 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 a3b5ad2..bcf002f 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 fb42703..7b3ad92 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 ce706aa..0983052 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
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
index ba8572e..37b52b0 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
@@ -461,7 +461,7 @@ construct_output_path (char *path)
errno = 0;
- if (euidaccess (result, W_OK) == -1)
+ if (no_archive && euidaccess (result, W_OK) == -1)
/* Perhaps the directory does not exist now. Try to create it. */
if (errno == ENOENT)
{
diff --git a/localedata/charmaps/ARMSCII-8 b/localedata/charmaps/ARMSCII-8
new file mode 100644
index 0000000..c942afa
--- /dev/null
+++ b/localedata/charmaps/ARMSCII-8
@@ -0,0 +1,260 @@
+<code_set_name> ARMSCII-8
+<comment_char> %
+<escape_char> /
+
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001A> /x1a <control>
+<U001B> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U007F> /x7f <control>
+<U0080> /x80 <control>
+<U0081> /x81 <control>
+<U0082> /x82 <control>
+<U0083> /x83 <control>
+<U0084> /x84 <control>
+<U0085> /x85 <control>
+<U0086> /x86 <control>
+<U0087> /x87 <control>
+<U0088> /x88 <control>
+<U0089> /x89 <control>
+<U008A> /x8a <control>
+<U008B> /x8b <control>
+<U008C> /x8c <control>
+<U008D> /x8d <control>
+<U008E> /x8e <control>
+<U008F> /x8f <control>
+<U0090> /x90 <control>
+<U0091> /x91 <control>
+<U0092> /x92 <control>
+<U0093> /x93 <control>
+<U0094> /x94 <control>
+<U0095> /x95 <control>
+<U0096> /x96 <control>
+<U0097> /x97 <control>
+<U0098> /x98 <control>
+<U0099> /x99 <control>
+<U009A> /x9a <control>
+<U009B> /x9b <control>
+<U009C> /x9c <control>
+<U009D> /x9d <control>
+<U009E> /x9e <control>
+<U009F> /x9f <control>
+<U00A0> /xa0 NO-BREAK SPACE
+<U0587> /xa2 ARMENIAN SMALL LIGATURE ECH YIWN
+<U0589> /xa3 ARMENIAN FULL STOP
+<U0029> /xa4 RIGHT PARENTHESIS
+<U0028> /xa5 LEFT PARENTHESIS
+<U00BB> /xa6 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00AB> /xa7 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U2014> /xa8 EM DASH
+<U002E> /xa9 FULL STOP
+<U055D> /xaa ARMENIAN COMMA
+<U002C> /xab COMMA
+<U002D> /xac HYPHEN-MINUS
+<U058A> /xad ARMENIAN HYPHEN
+<U2026> /xae HORIZONTAL ELLIPSIS
+<U055C> /xaf ARMENIAN EXCLAMATION MARK
+<U055B> /xb0 ARMENIAN EMPHASIS MARK
+<U055E> /xb1 ARMENIAN QUESTION MARK
+<U0531> /xb2 ARMENIAN CAPITAL LETTER AYB
+<U0561> /xb3 ARMENIAN SMALL LETTER AYB
+<U0532> /xb4 ARMENIAN CAPITAL LETTER BEN
+<U0562> /xb5 ARMENIAN SMALL LETTER BEN
+<U0533> /xb6 ARMENIAN CAPITAL LETTER GIM
+<U0563> /xb7 ARMENIAN SMALL LETTER GIM
+<U0534> /xb8 ARMENIAN CAPITAL LETTER DA
+<U0564> /xb9 ARMENIAN SMALL LETTER DA
+<U0535> /xba ARMENIAN CAPITAL LETTER ECH
+<U0565> /xbb ARMENIAN SMALL LETTER ECH
+<U0536> /xbc ARMENIAN CAPITAL LETTER ZA
+<U0566> /xbd ARMENIAN SMALL LETTER ZA
+<U0537> /xbe ARMENIAN CAPITAL LETTER EH
+<U0567> /xbf ARMENIAN SMALL LETTER EH
+<U0538> /xc0 ARMENIAN CAPITAL LETTER ET
+<U0568> /xc1 ARMENIAN SMALL LETTER ET
+<U0539> /xc2 ARMENIAN CAPITAL LETTER TO
+<U0569> /xc3 ARMENIAN SMALL LETTER TO
+<U053A> /xc4 ARMENIAN CAPITAL LETTER ZHE
+<U056A> /xc5 ARMENIAN SMALL LETTER ZHE
+<U053B> /xc6 ARMENIAN CAPITAL LETTER INI
+<U056B> /xc7 ARMENIAN SMALL LETTER INI
+<U053C> /xc8 ARMENIAN CAPITAL LETTER LIWN
+<U056C> /xc9 ARMENIAN SMALL LETTER LIWN
+<U053D> /xca ARMENIAN CAPITAL LETTER XEH
+<U056D> /xcb ARMENIAN SMALL LETTER XEH
+<U053E> /xcc ARMENIAN CAPITAL LETTER CA
+<U056E> /xcd ARMENIAN SMALL LETTER CA
+<U053F> /xce ARMENIAN CAPITAL LETTER KEN
+<U056F> /xcf ARMENIAN SMALL LETTER KEN
+<U0540> /xd0 ARMENIAN CAPITAL LETTER HO
+<U0570> /xd1 ARMENIAN SMALL LETTER HO
+<U0541> /xd2 ARMENIAN CAPITAL LETTER JA
+<U0571> /xd3 ARMENIAN SMALL LETTER JA
+<U0542> /xd4 ARMENIAN CAPITAL LETTER GHAD
+<U0572> /xd5 ARMENIAN SMALL LETTER GHAD
+<U0543> /xd6 ARMENIAN CAPITAL LETTER CHEH
+<U0573> /xd7 ARMENIAN SMALL LETTER CHEH
+<U0544> /xd8 ARMENIAN CAPITAL LETTER MEN
+<U0574> /xd9 ARMENIAN SMALL LETTER MEN
+<U0545> /xda ARMENIAN CAPITAL LETTER YI
+<U0575> /xdb ARMENIAN SMALL LETTER YI
+<U0546> /xdc ARMENIAN CAPITAL LETTER NOW
+<U0576> /xdd ARMENIAN SMALL LETTER NOW
+<U0547> /xde ARMENIAN CAPITAL LETTER SHA
+<U0577> /xdf ARMENIAN SMALL LETTER SHA
+<U0548> /xe0 ARMENIAN CAPITAL LETTER VO
+<U0578> /xe1 ARMENIAN SMALL LETTER VO
+<U0549> /xe2 ARMENIAN CAPITAL LETTER CHA
+<U0579> /xe3 ARMENIAN SMALL LETTER CHA
+<U054A> /xe4 ARMENIAN CAPITAL LETTER PEH
+<U057A> /xe5 ARMENIAN SMALL LETTER PEH
+<U054B> /xe6 ARMENIAN CAPITAL LETTER JHEH
+<U057B> /xe7 ARMENIAN SMALL LETTER JHEH
+<U054C> /xe8 ARMENIAN CAPITAL LETTER RA
+<U057C> /xe9 ARMENIAN SMALL LETTER RA
+<U054D> /xea ARMENIAN CAPITAL LETTER SEH
+<U057D> /xeb ARMENIAN SMALL LETTER SEH
+<U054E> /xec ARMENIAN CAPITAL LETTER VEW
+<U057E> /xed ARMENIAN SMALL LETTER VEW
+<U054F> /xee ARMENIAN CAPITAL LETTER TIWN
+<U057F> /xef ARMENIAN SMALL LETTER TIWN
+<U0550> /xf0 ARMENIAN CAPITAL LETTER REH
+<U0580> /xf1 ARMENIAN SMALL LETTER REH
+<U0551> /xf2 ARMENIAN CAPITAL LETTER CO
+<U0581> /xf3 ARMENIAN SMALL LETTER CO
+<U0552> /xf4 ARMENIAN CAPITAL LETTER YIWN
+<U0582> /xf5 ARMENIAN SMALL LETTER YIWN
+<U0553> /xf6 ARMENIAN CAPITAL LETTER PIWR
+<U0583> /xf7 ARMENIAN SMALL LETTER PIWR
+<U0554> /xf8 ARMENIAN CAPITAL LETTER KEH
+<U0584> /xf9 ARMENIAN SMALL LETTER KEH
+<U0555> /xfa ARMENIAN CAPITAL LETTER OH
+<U0585> /xfb ARMENIAN SMALL LETTER OH
+<U0556> /xfc ARMENIAN CAPITAL LETTER FEH
+<U0586> /xfd ARMENIAN SMALL LETTER FEH
+<U055A> /xfe ARMENIAN APOSTROPHE
+END CHARMAP
diff --git a/localedata/charmaps/IBM1124 b/localedata/charmaps/IBM1124
new file mode 100644
index 0000000..4eb49f2
--- /dev/null
+++ b/localedata/charmaps/IBM1124
@@ -0,0 +1,263 @@
+<code_set_name> IBM1124
+<comment_char> %
+<escape_char> /
+
+% alias CP1124
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001A> /x1a <control>
+<U001B> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U007F> /x7f <control>
+<U0080> /x80 <control>
+<U0081> /x81 <control>
+<U0082> /x82 <control>
+<U0083> /x83 <control>
+<U0084> /x84 <control>
+<U0085> /x85 <control>
+<U0086> /x86 <control>
+<U0087> /x87 <control>
+<U0088> /x88 <control>
+<U0089> /x89 <control>
+<U008A> /x8a <control>
+<U008B> /x8b <control>
+<U008C> /x8c <control>
+<U008D> /x8d <control>
+<U008E> /x8e <control>
+<U008F> /x8f <control>
+<U0090> /x90 <control>
+<U0091> /x91 <control>
+<U0092> /x92 <control>
+<U0093> /x93 <control>
+<U0094> /x94 <control>
+<U0095> /x95 <control>
+<U0096> /x96 <control>
+<U0097> /x97 <control>
+<U0098> /x98 <control>
+<U0099> /x99 <control>
+<U009A> /x9a <control>
+<U009B> /x9b <control>
+<U009C> /x9c <control>
+<U009D> /x9d <control>
+<U009E> /x9e <control>
+<U009F> /x9f <control>
+<U00A0> /xa0 NO-BREAK SPACE
+<U0401> /xa1 CYRILLIC CAPITAL LETTER IO
+<U0402> /xa2 CYRILLIC CAPITAL LETTER DJE
+<U0490> /xa3 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+<U0404> /xa4 CYRILLIC CAPITAL LETTER UKRAINIAN IE
+<U0405> /xa5 CYRILLIC CAPITAL LETTER DZE
+<U0406> /xa6 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+<U0407> /xa7 CYRILLIC CAPITAL LETTER YI
+<U0408> /xa8 CYRILLIC CAPITAL LETTER JE
+<U0409> /xa9 CYRILLIC CAPITAL LETTER LJE
+<U040A> /xaa CYRILLIC CAPITAL LETTER NJE
+<U040B> /xab CYRILLIC CAPITAL LETTER TSHE
+<U040C> /xac CYRILLIC CAPITAL LETTER KJE
+<U00AD> /xad SOFT HYPHEN
+<U040E> /xae CYRILLIC CAPITAL LETTER SHORT U
+<U040F> /xaf CYRILLIC CAPITAL LETTER DZHE
+<U0410> /xb0 CYRILLIC CAPITAL LETTER A
+<U0411> /xb1 CYRILLIC CAPITAL LETTER BE
+<U0412> /xb2 CYRILLIC CAPITAL LETTER VE
+<U0413> /xb3 CYRILLIC CAPITAL LETTER GHE
+<U0414> /xb4 CYRILLIC CAPITAL LETTER DE
+<U0415> /xb5 CYRILLIC CAPITAL LETTER IE
+<U0416> /xb6 CYRILLIC CAPITAL LETTER ZHE
+<U0417> /xb7 CYRILLIC CAPITAL LETTER ZE
+<U0418> /xb8 CYRILLIC CAPITAL LETTER I
+<U0419> /xb9 CYRILLIC CAPITAL LETTER SHORT I
+<U041A> /xba CYRILLIC CAPITAL LETTER KA
+<U041B> /xbb CYRILLIC CAPITAL LETTER EL
+<U041C> /xbc CYRILLIC CAPITAL LETTER EM
+<U041D> /xbd CYRILLIC CAPITAL LETTER EN
+<U041E> /xbe CYRILLIC CAPITAL LETTER O
+<U041F> /xbf CYRILLIC CAPITAL LETTER PE
+<U0420> /xc0 CYRILLIC CAPITAL LETTER ER
+<U0421> /xc1 CYRILLIC CAPITAL LETTER ES
+<U0422> /xc2 CYRILLIC CAPITAL LETTER TE
+<U0423> /xc3 CYRILLIC CAPITAL LETTER U
+<U0424> /xc4 CYRILLIC CAPITAL LETTER EF
+<U0425> /xc5 CYRILLIC CAPITAL LETTER HA
+<U0426> /xc6 CYRILLIC CAPITAL LETTER TSE
+<U0427> /xc7 CYRILLIC CAPITAL LETTER CHE
+<U0428> /xc8 CYRILLIC CAPITAL LETTER SHA
+<U0429> /xc9 CYRILLIC CAPITAL LETTER SHCHA
+<U042A> /xca CYRILLIC CAPITAL LETTER HARD SIGN
+<U042B> /xcb CYRILLIC CAPITAL LETTER YERU
+<U042C> /xcc CYRILLIC CAPITAL LETTER SOFT SIGN
+<U042D> /xcd CYRILLIC CAPITAL LETTER E
+<U042E> /xce CYRILLIC CAPITAL LETTER YU
+<U042F> /xcf CYRILLIC CAPITAL LETTER YA
+<U0430> /xd0 CYRILLIC SMALL LETTER A
+<U0431> /xd1 CYRILLIC SMALL LETTER BE
+<U0432> /xd2 CYRILLIC SMALL LETTER VE
+<U0433> /xd3 CYRILLIC SMALL LETTER GHE
+<U0434> /xd4 CYRILLIC SMALL LETTER DE
+<U0435> /xd5 CYRILLIC SMALL LETTER IE
+<U0436> /xd6 CYRILLIC SMALL LETTER ZHE
+<U0437> /xd7 CYRILLIC SMALL LETTER ZE
+<U0438> /xd8 CYRILLIC SMALL LETTER I
+<U0439> /xd9 CYRILLIC SMALL LETTER SHORT I
+<U043A> /xda CYRILLIC SMALL LETTER KA
+<U043B> /xdb CYRILLIC SMALL LETTER EL
+<U043C> /xdc CYRILLIC SMALL LETTER EM
+<U043D> /xdd CYRILLIC SMALL LETTER EN
+<U043E> /xde CYRILLIC SMALL LETTER O
+<U043F> /xdf CYRILLIC SMALL LETTER PE
+<U0440> /xe0 CYRILLIC SMALL LETTER ER
+<U0441> /xe1 CYRILLIC SMALL LETTER ES
+<U0442> /xe2 CYRILLIC SMALL LETTER TE
+<U0443> /xe3 CYRILLIC SMALL LETTER U
+<U0444> /xe4 CYRILLIC SMALL LETTER EF
+<U0445> /xe5 CYRILLIC SMALL LETTER HA
+<U0446> /xe6 CYRILLIC SMALL LETTER TSE
+<U0447> /xe7 CYRILLIC SMALL LETTER CHE
+<U0448> /xe8 CYRILLIC SMALL LETTER SHA
+<U0449> /xe9 CYRILLIC SMALL LETTER SHCHA
+<U044A> /xea CYRILLIC SMALL LETTER HARD SIGN
+<U044B> /xeb CYRILLIC SMALL LETTER YERU
+<U044C> /xec CYRILLIC SMALL LETTER SOFT SIGN
+<U044D> /xed CYRILLIC SMALL LETTER E
+<U044E> /xee CYRILLIC SMALL LETTER YU
+<U044F> /xef CYRILLIC SMALL LETTER YA
+<U2116> /xf0 NUMERO SIGN
+<U0451> /xf1 CYRILLIC SMALL LETTER IO
+<U0452> /xf2 CYRILLIC SMALL LETTER DJE
+<U0491> /xf3 CYRILLIC SMALL LETTER GHE WITH UPTURN
+<U0454> /xf4 CYRILLIC SMALL LETTER UKRAINIAN IE
+<U0455> /xf5 CYRILLIC SMALL LETTER DZE
+<U0456> /xf6 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+<U0457> /xf7 CYRILLIC SMALL LETTER YI
+<U0458> /xf8 CYRILLIC SMALL LETTER JE
+<U0459> /xf9 CYRILLIC SMALL LETTER LJE
+<U045A> /xfa CYRILLIC SMALL LETTER NJE
+<U045B> /xfb CYRILLIC SMALL LETTER TSHE
+<U045C> /xfc CYRILLIC SMALL LETTER KJE
+<U00A7> /xfd SECTION SIGN
+<U045E> /xfe CYRILLIC SMALL LETTER SHORT U
+<U045F> /xff CYRILLIC SMALL LETTER DZHE
+END CHARMAP
diff --git a/localedata/charmaps/IBM1129 b/localedata/charmaps/IBM1129
new file mode 100644
index 0000000..30754c1
--- /dev/null
+++ b/localedata/charmaps/IBM1129
@@ -0,0 +1,263 @@
+<code_set_name> IBM1129
+<comment_char> %
+<escape_char> /
+
+% alias CP1129
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001A> /x1a <control>
+<U001B> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U007F> /x7f <control>
+<U0080> /x80 <control>
+<U0081> /x81 <control>
+<U0082> /x82 <control>
+<U0083> /x83 <control>
+<U0084> /x84 <control>
+<U0085> /x85 <control>
+<U0086> /x86 <control>
+<U0087> /x87 <control>
+<U0088> /x88 <control>
+<U0089> /x89 <control>
+<U008A> /x8a <control>
+<U008B> /x8b <control>
+<U008C> /x8c <control>
+<U008D> /x8d <control>
+<U008E> /x8e <control>
+<U008F> /x8f <control>
+<U0090> /x90 <control>
+<U0091> /x91 <control>
+<U0092> /x92 <control>
+<U0093> /x93 <control>
+<U0094> /x94 <control>
+<U0095> /x95 <control>
+<U0096> /x96 <control>
+<U0097> /x97 <control>
+<U0098> /x98 <control>
+<U0099> /x99 <control>
+<U009A> /x9a <control>
+<U009B> /x9b <control>
+<U009C> /x9c <control>
+<U009D> /x9d <control>
+<U009E> /x9e <control>
+<U009F> /x9f <control>
+<U00A0> /xa0 NO-BREAK SPACE
+<U00A1> /xa1 INVERTED EXCLAMATION MARK
+<U00A2> /xa2 CENT SIGN
+<U00A3> /xa3 POUND SIGN
+<U00A4> /xa4 CURRENCY SIGN
+<U00A5> /xa5 YEN SIGN
+<U00A6> /xa6 BROKEN BAR
+<U00A7> /xa7 SECTION SIGN
+<U0153> /xa8 LATIN SMALL LIGATURE OE
+<U00A9> /xa9 COPYRIGHT SIGN
+<U00AA> /xaa FEMININE ORDINAL INDICATOR
+<U00AB> /xab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00AC> /xac NOT SIGN
+<U00AD> /xad SOFT HYPHEN
+<U00AE> /xae REGISTERED SIGN
+<U00AF> /xaf MACRON
+<U00B0> /xb0 DEGREE SIGN
+<U00B1> /xb1 PLUS-MINUS SIGN
+<U00B2> /xb2 SUPERSCRIPT TWO
+<U00B3> /xb3 SUPERSCRIPT THREE
+<U0178> /xb4 LATIN CAPITAL LETTER Y WITH DIAERESIS
+<U00B5> /xb5 MICRO SIGN
+<U00B6> /xb6 PILCROW SIGN
+<U00B7> /xb7 MIDDLE DOT
+<U0152> /xb8 LATIN CAPITAL LIGATURE OE
+<U00B9> /xb9 SUPERSCRIPT ONE
+<U00BA> /xba MASCULINE ORDINAL INDICATOR
+<U00BB> /xbb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00BC> /xbc VULGAR FRACTION ONE QUARTER
+<U00BD> /xbd VULGAR FRACTION ONE HALF
+<U00BE> /xbe VULGAR FRACTION THREE QUARTERS
+<U00BF> /xbf INVERTED QUESTION MARK
+<U00C0> /xc0 LATIN CAPITAL LETTER A WITH GRAVE
+<U00C1> /xc1 LATIN CAPITAL LETTER A WITH ACUTE
+<U00C2> /xc2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<U0102> /xc3 LATIN CAPITAL LETTER A WITH BREVE
+<U00C4> /xc4 LATIN CAPITAL LETTER A WITH DIAERESIS
+<U00C5> /xc5 LATIN CAPITAL LETTER A WITH RING ABOVE
+<U00C6> /xc6 LATIN CAPITAL LETTER AE
+<U00C7> /xc7 LATIN CAPITAL LETTER C WITH CEDILLA
+<U00C8> /xc8 LATIN CAPITAL LETTER E WITH GRAVE
+<U00C9> /xc9 LATIN CAPITAL LETTER E WITH ACUTE
+<U00CA> /xca LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<U00CB> /xcb LATIN CAPITAL LETTER E WITH DIAERESIS
+<U0300> /xcc COMBINING GRAVE ACCENT
+<U00CD> /xcd LATIN CAPITAL LETTER I WITH ACUTE
+<U00CE> /xce LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<U00CF> /xcf LATIN CAPITAL LETTER I WITH DIAERESIS
+<U0110> /xd0 LATIN CAPITAL LETTER D WITH STROKE
+<U00D1> /xd1 LATIN CAPITAL LETTER N WITH TILDE
+<U0309> /xd2 COMBINING HOOK ABOVE
+<U00D3> /xd3 LATIN CAPITAL LETTER O WITH ACUTE
+<U00D4> /xd4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+<U01A0> /xd5 LATIN CAPITAL LETTER O WITH HORN
+<U00D6> /xd6 LATIN CAPITAL LETTER O WITH DIAERESIS
+<U00D7> /xd7 MULTIPLICATION SIGN
+<U00D8> /xd8 LATIN CAPITAL LETTER O WITH STROKE
+<U00D9> /xd9 LATIN CAPITAL LETTER U WITH GRAVE
+<U00DA> /xda LATIN CAPITAL LETTER U WITH ACUTE
+<U00DB> /xdb LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U00DC> /xdc LATIN CAPITAL LETTER U WITH DIAERESIS
+<U01AF> /xdd LATIN CAPITAL LETTER U WITH HORN
+<U0303> /xde COMBINING TILDE
+<U00DF> /xdf LATIN SMALL LETTER SHARP S
+<U00E0> /xe0 LATIN SMALL LETTER A WITH GRAVE
+<U00E1> /xe1 LATIN SMALL LETTER A WITH ACUTE
+<U00E2> /xe2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+<U0103> /xe3 LATIN SMALL LETTER A WITH BREVE
+<U00E4> /xe4 LATIN SMALL LETTER A WITH DIAERESIS
+<U00E5> /xe5 LATIN SMALL LETTER A WITH RING ABOVE
+<U00E6> /xe6 LATIN SMALL LETTER AE
+<U00E7> /xe7 LATIN SMALL LETTER C WITH CEDILLA
+<U00E8> /xe8 LATIN SMALL LETTER E WITH GRAVE
+<U00E9> /xe9 LATIN SMALL LETTER E WITH ACUTE
+<U00EA> /xea LATIN SMALL LETTER E WITH CIRCUMFLEX
+<U00EB> /xeb LATIN SMALL LETTER E WITH DIAERESIS
+<U0301> /xec COMBINING ACUTE ACCENT
+<U00ED> /xed LATIN SMALL LETTER I WITH ACUTE
+<U00EE> /xee LATIN SMALL LETTER I WITH CIRCUMFLEX
+<U00EF> /xef LATIN SMALL LETTER I WITH DIAERESIS
+<U0111> /xf0 LATIN SMALL LETTER D WITH STROKE
+<U00F1> /xf1 LATIN SMALL LETTER N WITH TILDE
+<U0323> /xf2 COMBINING DOT BELOW
+<U00F3> /xf3 LATIN SMALL LETTER O WITH ACUTE
+<U00F4> /xf4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+<U01A1> /xf5 LATIN SMALL LETTER O WITH HORN
+<U00F6> /xf6 LATIN SMALL LETTER O WITH DIAERESIS
+<U00F7> /xf7 DIVISION SIGN
+<U00F8> /xf8 LATIN SMALL LETTER O WITH STROKE
+<U00F9> /xf9 LATIN SMALL LETTER U WITH GRAVE
+<U00FA> /xfa LATIN SMALL LETTER U WITH ACUTE
+<U00FB> /xfb LATIN SMALL LETTER U WITH CIRCUMFLEX
+<U00FC> /xfc LATIN SMALL LETTER U WITH DIAERESIS
+<U01B0> /xfd LATIN SMALL LETTER U WITH HORN
+<U20AB> /xfe DONG SIGN
+<U00FF> /xff LATIN SMALL LETTER Y WITH DIAERESIS
+END CHARMAP
diff --git a/localedata/charmaps/IBM1132 b/localedata/charmaps/IBM1132
new file mode 100644
index 0000000..948d5a4
--- /dev/null
+++ b/localedata/charmaps/IBM1132
@@ -0,0 +1,237 @@
+<code_set_name> IBM1132
+<comment_char> %
+<escape_char> /
+
+% alias CP1132
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U009C> /x04 <control>
+<U0009> /x05 <control>
+<U0086> /x06 <control>
+<U007F> /x07 <control>
+<U0097> /x08 <control>
+<U008D> /x09 <control>
+<U008E> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U009D> /x14 <control>
+<U0085> /x15 <control>
+<U0008> /x16 <control>
+<U0087> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U0092> /x1a <control>
+<U008F> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0080> /x20 <control>
+<U0081> /x21 <control>
+<U0082> /x22 <control>
+<U0083> /x23 <control>
+<U0084> /x24 <control>
+<U000A> /x25 <control>
+<U0017> /x26 <control>
+<U001B> /x27 <control>
+<U0088> /x28 <control>
+<U0089> /x29 <control>
+<U008A> /x2a <control>
+<U008B> /x2b <control>
+<U008C> /x2c <control>
+<U0005> /x2d <control>
+<U0006> /x2e <control>
+<U0007> /x2f <control>
+<U0090> /x30 <control>
+<U0091> /x31 <control>
+<U0016> /x32 <control>
+<U0093> /x33 <control>
+<U0094> /x34 <control>
+<U0095> /x35 <control>
+<U0096> /x36 <control>
+<U0004> /x37 <control>
+<U0098> /x38 <control>
+<U0099> /x39 <control>
+<U009A> /x3a <control>
+<U009B> /x3b <control>
+<U0014> /x3c <control>
+<U0015> /x3d <control>
+<U009E> /x3e <control>
+<U001A> /x3f <control>
+<U0020> /x40 SPACE
+<U00A0> /x41 NO-BREAK SPACE
+<U0E81> /x42 LAO LETTER KO
+<U0E82> /x43 LAO LETTER KHO SUNG
+<U0E84> /x44 LAO LETTER KHO TAM
+<U0E87> /x45 LAO LETTER NGO
+<U0E88> /x46 LAO LETTER CO
+<U0EAA> /x47 LAO LETTER SO SUNG
+<U0E8A> /x48 LAO LETTER SO TAM
+<U005B> /x49 LEFT SQUARE BRACKET
+<U00A2> /x4a CENT SIGN
+<U002E> /x4b FULL STOP
+<U003C> /x4c LESS-THAN SIGN
+<U0028> /x4d LEFT PARENTHESIS
+<U002B> /x4e PLUS SIGN
+<U007C> /x4f VERTICAL LINE
+<U0026> /x50 AMPERSAND
+<U0E8D> /x52 LAO LETTER NYO
+<U0E94> /x53 LAO LETTER DO
+<U0E95> /x54 LAO LETTER TO
+<U0E96> /x55 LAO LETTER THO SUNG
+<U0E97> /x56 LAO LETTER THO TAM
+<U0E99> /x57 LAO LETTER NO
+<U0E9A> /x58 LAO LETTER BO
+<U005D> /x59 RIGHT SQUARE BRACKET
+<U0021> /x5a EXCLAMATION MARK
+<U0024> /x5b DOLLAR SIGN
+<U002A> /x5c ASTERISK
+<U0029> /x5d RIGHT PARENTHESIS
+<U003B> /x5e SEMICOLON
+<U00AC> /x5f NOT SIGN
+<U002D> /x60 HYPHEN-MINUS
+<U002F> /x61 SOLIDUS
+<U0E9B> /x62 LAO LETTER PO
+<U0E9C> /x63 LAO LETTER PHO SUNG
+<U0E9D> /x64 LAO LETTER FO TAM
+<U0E9E> /x65 LAO LETTER PHO TAM
+<U0E9F> /x66 LAO LETTER FO SUNG
+<U0EA1> /x67 LAO LETTER MO
+<U0EA2> /x68 LAO LETTER YO
+<U005E> /x69 CIRCUMFLEX ACCENT
+<U00A6> /x6a BROKEN BAR
+<U002C> /x6b COMMA
+<U0025> /x6c PERCENT SIGN
+<U005F> /x6d LOW LINE
+<U003E> /x6e GREATER-THAN SIGN
+<U003F> /x6f QUESTION MARK
+%IRREVERSIBLE%<U006B> /x70 LATIN SMALL LETTER K
+<U0EA3> /x72 LAO LETTER LO LING
+<U0EA5> /x73 LAO LETTER LO LOOT
+<U0EA7> /x74 LAO LETTER WO
+<U0EAB> /x75 LAO LETTER HO SUNG
+<U0EAD> /x76 LAO LETTER O
+<U0EAE> /x77 LAO LETTER HO TAM
+<U0060> /x79 GRAVE ACCENT
+<U003A> /x7a COLON
+<U0023> /x7b NUMBER SIGN
+<U0040> /x7c COMMERCIAL AT
+<U0027> /x7d APOSTROPHE
+<U003D> /x7e EQUALS SIGN
+<U0022> /x7f QUOTATION MARK
+<U0061> /x81 LATIN SMALL LETTER A
+<U0062> /x82 LATIN SMALL LETTER B
+<U0063> /x83 LATIN SMALL LETTER C
+<U0064> /x84 LATIN SMALL LETTER D
+<U0065> /x85 LATIN SMALL LETTER E
+<U0066> /x86 LATIN SMALL LETTER F
+<U0067> /x87 LATIN SMALL LETTER G
+<U0068> /x88 LATIN SMALL LETTER H
+<U0069> /x89 LATIN SMALL LETTER I
+<U0EAF> /x8c LAO ELLIPSIS
+<U0EB0> /x8d LAO VOWEL SIGN A
+<U0EB2> /x8e LAO VOWEL SIGN AA
+<U0EB3> /x8f LAO VOWEL SIGN AM
+<U006A> /x91 LATIN SMALL LETTER J
+<U006B> /x92 LATIN SMALL LETTER K
+<U006C> /x93 LATIN SMALL LETTER L
+<U006D> /x94 LATIN SMALL LETTER M
+<U006E> /x95 LATIN SMALL LETTER N
+<U006F> /x96 LATIN SMALL LETTER O
+<U0070> /x97 LATIN SMALL LETTER P
+<U0071> /x98 LATIN SMALL LETTER Q
+<U0072> /x99 LATIN SMALL LETTER R
+<U0EB4> /x9a LAO VOWEL SIGN I
+<U0EB5> /x9b LAO VOWEL SIGN II
+<U0EB6> /x9c LAO VOWEL SIGN Y
+<U0EB7> /x9d LAO VOWEL SIGN YY
+<U0EB8> /x9e LAO VOWEL SIGN U
+<U0EB9> /x9f LAO VOWEL SIGN UU
+<U007E> /xa1 TILDE
+<U0073> /xa2 LATIN SMALL LETTER S
+<U0074> /xa3 LATIN SMALL LETTER T
+<U0075> /xa4 LATIN SMALL LETTER U
+<U0076> /xa5 LATIN SMALL LETTER V
+<U0077> /xa6 LATIN SMALL LETTER W
+<U0078> /xa7 LATIN SMALL LETTER X
+<U0079> /xa8 LATIN SMALL LETTER Y
+<U007A> /xa9 LATIN SMALL LETTER Z
+<U0EBC> /xaa LAO SEMIVOWEL SIGN LO
+<U0EB1> /xab LAO VOWEL SIGN MAI KAN
+<U0EBB> /xac LAO VOWEL SIGN MAI KON
+<U0EBD> /xad LAO SEMIVOWEL SIGN NYO
+<U0ED0> /xb0 LAO DIGIT ZERO
+<U0ED1> /xb1 LAO DIGIT ONE
+<U0ED2> /xb2 LAO DIGIT TWO
+<U0ED3> /xb3 LAO DIGIT THREE
+<U0ED4> /xb4 LAO DIGIT FOUR
+<U0ED5> /xb5 LAO DIGIT FIVE
+<U0ED6> /xb6 LAO DIGIT SIX
+<U0ED7> /xb7 LAO DIGIT SEVEN
+<U0ED8> /xb8 LAO DIGIT EIGHT
+<U0ED9> /xb9 LAO DIGIT NINE
+<U0EC0> /xbb LAO VOWEL SIGN E
+<U0EC1> /xbc LAO VOWEL SIGN EI
+<U0EC2> /xbd LAO VOWEL SIGN O
+<U0EC3> /xbe LAO VOWEL SIGN AY
+<U0EC4> /xbf LAO VOWEL SIGN AI
+<U007B> /xc0 LEFT CURLY BRACKET
+<U0041> /xc1 LATIN CAPITAL LETTER A
+<U0042> /xc2 LATIN CAPITAL LETTER B
+<U0043> /xc3 LATIN CAPITAL LETTER C
+<U0044> /xc4 LATIN CAPITAL LETTER D
+<U0045> /xc5 LATIN CAPITAL LETTER E
+<U0046> /xc6 LATIN CAPITAL LETTER F
+<U0047> /xc7 LATIN CAPITAL LETTER G
+<U0048> /xc8 LATIN CAPITAL LETTER H
+<U0049> /xc9 LATIN CAPITAL LETTER I
+<U0EC8> /xcb LAO TONE MAI EK
+<U0EC9> /xcc LAO TONE MAI THO
+<U0ECA> /xcd LAO TONE MAI TI
+<U0ECB> /xce LAO TONE MAI CATAWA
+<U0ECC> /xcf LAO CANCELLATION MARK
+<U007D> /xd0 RIGHT CURLY BRACKET
+<U004A> /xd1 LATIN CAPITAL LETTER J
+<U004B> /xd2 LATIN CAPITAL LETTER K
+<U004C> /xd3 LATIN CAPITAL LETTER L
+<U004D> /xd4 LATIN CAPITAL LETTER M
+<U004E> /xd5 LATIN CAPITAL LETTER N
+<U004F> /xd6 LATIN CAPITAL LETTER O
+<U0050> /xd7 LATIN CAPITAL LETTER P
+<U0051> /xd8 LATIN CAPITAL LETTER Q
+<U0052> /xd9 LATIN CAPITAL LETTER R
+<U0ECD> /xda LAO NIGGAHITA
+<U0EC6> /xdb LAO KO LA
+<U0EDC> /xdd LAO HO NO
+<U0EDD> /xde LAO HO MO
+<U005C> /xe0 REVERSE SOLIDUS
+<U0053> /xe2 LATIN CAPITAL LETTER S
+<U0054> /xe3 LATIN CAPITAL LETTER T
+<U0055> /xe4 LATIN CAPITAL LETTER U
+<U0056> /xe5 LATIN CAPITAL LETTER V
+<U0057> /xe6 LATIN CAPITAL LETTER W
+<U0058> /xe7 LATIN CAPITAL LETTER X
+<U0059> /xe8 LATIN CAPITAL LETTER Y
+<U005A> /xe9 LATIN CAPITAL LETTER Z
+<U0030> /xf0 DIGIT ZERO
+<U0031> /xf1 DIGIT ONE
+<U0032> /xf2 DIGIT TWO
+<U0033> /xf3 DIGIT THREE
+<U0034> /xf4 DIGIT FOUR
+<U0035> /xf5 DIGIT FIVE
+<U0036> /xf6 DIGIT SIX
+<U0037> /xf7 DIGIT SEVEN
+<U0038> /xf8 DIGIT EIGHT
+<U0039> /xf9 DIGIT NINE
+<U009F> /xff <control>
+END CHARMAP
diff --git a/localedata/charmaps/IBM1133 b/localedata/charmaps/IBM1133
new file mode 100644
index 0000000..a484843
--- /dev/null
+++ b/localedata/charmaps/IBM1133
@@ -0,0 +1,237 @@
+<code_set_name> IBM1133
+<comment_char> %
+<escape_char> /
+
+% alias CP1133
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001A> /x1a <control>
+<U001B> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U007F> /x7f <control>
+<U0080> /x80 <control>
+<U0081> /x81 <control>
+<U0082> /x82 <control>
+<U0083> /x83 <control>
+<U0084> /x84 <control>
+<U0085> /x85 <control>
+<U0086> /x86 <control>
+<U0087> /x87 <control>
+<U0088> /x88 <control>
+<U0089> /x89 <control>
+<U008A> /x8a <control>
+<U008B> /x8b <control>
+<U008C> /x8c <control>
+<U008D> /x8d <control>
+<U008E> /x8e <control>
+<U008F> /x8f <control>
+<U0090> /x90 <control>
+<U0091> /x91 <control>
+<U0092> /x92 <control>
+<U0093> /x93 <control>
+<U0094> /x94 <control>
+<U0095> /x95 <control>
+<U0096> /x96 <control>
+<U0097> /x97 <control>
+<U0098> /x98 <control>
+<U0099> /x99 <control>
+<U009A> /x9a <control>
+<U009B> /x9b <control>
+<U009C> /x9c <control>
+<U009D> /x9d <control>
+<U009E> /x9e <control>
+<U009F> /x9f <control>
+<U0E81> /xa1 LAO LETTER KO
+<U0E82> /xa2 LAO LETTER KHO SUNG
+<U0E84> /xa3 LAO LETTER KHO TAM
+<U0E87> /xa4 LAO LETTER NGO
+<U0E88> /xa5 LAO LETTER CO
+<U0EAA> /xa6 LAO LETTER SO SUNG
+<U0E8A> /xa7 LAO LETTER SO TAM
+<U0E8D> /xa8 LAO LETTER NYO
+<U0E94> /xa9 LAO LETTER DO
+<U0E95> /xaa LAO LETTER TO
+<U0E96> /xab LAO LETTER THO SUNG
+<U0E97> /xac LAO LETTER THO TAM
+<U0E99> /xad LAO LETTER NO
+<U0E9A> /xae LAO LETTER BO
+<U0E9B> /xaf LAO LETTER PO
+<U0E9C> /xb0 LAO LETTER PHO SUNG
+<U0E9D> /xb1 LAO LETTER FO TAM
+<U0E9E> /xb2 LAO LETTER PHO TAM
+<U0E9F> /xb3 LAO LETTER FO SUNG
+<U0EA1> /xb4 LAO LETTER MO
+<U0EA2> /xb5 LAO LETTER YO
+<U0EA3> /xb6 LAO LETTER LO LING
+<U0EA5> /xb7 LAO LETTER LO LOOT
+<U0EA7> /xb8 LAO LETTER WO
+<U0EAB> /xb9 LAO LETTER HO SUNG
+<U0EAD> /xba LAO LETTER O
+<U0EAE> /xbb LAO LETTER HO TAM
+<U0EAF> /xbf LAO ELLIPSIS
+<U0EB0> /xc0 LAO VOWEL SIGN A
+<U0EB2> /xc1 LAO VOWEL SIGN AA
+<U0EB3> /xc2 LAO VOWEL SIGN AM
+<U0EB4> /xc3 LAO VOWEL SIGN I
+<U0EB5> /xc4 LAO VOWEL SIGN II
+<U0EB6> /xc5 LAO VOWEL SIGN Y
+<U0EB7> /xc6 LAO VOWEL SIGN YY
+<U0EB8> /xc7 LAO VOWEL SIGN U
+<U0EB9> /xc8 LAO VOWEL SIGN UU
+<U0EBC> /xc9 LAO SEMIVOWEL SIGN LO
+<U0EB1> /xca LAO VOWEL SIGN MAI KAN
+<U0EBB> /xcb LAO VOWEL SIGN MAI KON
+<U0EBD> /xcc LAO SEMIVOWEL SIGN NYO
+<U0EC0> /xd0 LAO VOWEL SIGN E
+<U0EC1> /xd1 LAO VOWEL SIGN EI
+<U0EC2> /xd2 LAO VOWEL SIGN O
+<U0EC3> /xd3 LAO VOWEL SIGN AY
+<U0EC4> /xd4 LAO VOWEL SIGN AI
+<U0EC8> /xd5 LAO TONE MAI EK
+<U0EC9> /xd6 LAO TONE MAI THO
+<U0ECA> /xd7 LAO TONE MAI TI
+<U0ECB> /xd8 LAO TONE MAI CATAWA
+<U0ECC> /xd9 LAO CANCELLATION MARK
+<U0ECD> /xda LAO NIGGAHITA
+<U0EC6> /xdb LAO KO LA
+<U0EDC> /xdd LAO HO NO
+<U0EDD> /xde LAO HO MO
+%IRREVERSIBLE%<U006B> /xdf LATIN SMALL LETTER K
+<U0ED0> /xf0 LAO DIGIT ZERO
+<U0ED1> /xf1 LAO DIGIT ONE
+<U0ED2> /xf2 LAO DIGIT TWO
+<U0ED3> /xf3 LAO DIGIT THREE
+<U0ED4> /xf4 LAO DIGIT FOUR
+<U0ED5> /xf5 LAO DIGIT FIVE
+<U0ED6> /xf6 LAO DIGIT SIX
+<U0ED7> /xf7 LAO DIGIT SEVEN
+<U0ED8> /xf8 LAO DIGIT EIGHT
+<U0ED9> /xf9 LAO DIGIT NINE
+<U00A2> /xfc CENT SIGN
+<U00AC> /xfd NOT SIGN
+<U00A6> /xfe BROKEN BAR
+<U00A0> /xff NO-BREAK SPACE
+END CHARMAP
diff --git a/localedata/charmaps/IBM1160 b/localedata/charmaps/IBM1160
new file mode 100644
index 0000000..646b921
--- /dev/null
+++ b/localedata/charmaps/IBM1160
@@ -0,0 +1,263 @@
+<code_set_name> IBM1160
+<comment_char> %
+<escape_char> /
+
+% alias CP1160
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U009C> /x04 <control>
+<U0009> /x05 <control>
+<U0086> /x06 <control>
+<U007F> /x07 <control>
+<U0097> /x08 <control>
+<U008D> /x09 <control>
+<U008E> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U009D> /x14 <control>
+<U0085> /x15 <control>
+<U0008> /x16 <control>
+<U0087> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U0092> /x1a <control>
+<U008F> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0080> /x20 <control>
+<U0081> /x21 <control>
+<U0082> /x22 <control>
+<U0083> /x23 <control>
+<U0084> /x24 <control>
+<U000A> /x25 <control>
+<U0017> /x26 <control>
+<U001B> /x27 <control>
+<U0088> /x28 <control>
+<U0089> /x29 <control>
+<U008A> /x2a <control>
+<U008B> /x2b <control>
+<U008C> /x2c <control>
+<U0005> /x2d <control>
+<U0006> /x2e <control>
+<U0007> /x2f <control>
+<U0090> /x30 <control>
+<U0091> /x31 <control>
+<U0016> /x32 <control>
+<U0093> /x33 <control>
+<U0094> /x34 <control>
+<U0095> /x35 <control>
+<U0096> /x36 <control>
+<U0004> /x37 <control>
+<U0098> /x38 <control>
+<U0099> /x39 <control>
+<U009A> /x3a <control>
+<U009B> /x3b <control>
+<U0014> /x3c <control>
+<U0015> /x3d <control>
+<U009E> /x3e <control>
+<U001A> /x3f <control>
+<U0020> /x40 SPACE
+<U00A0> /x41 NO-BREAK SPACE
+<U0E01> /x42 THAI CHARACTER KO KAI
+<U0E02> /x43 THAI CHARACTER KHO KHAI
+<U0E03> /x44 THAI CHARACTER KHO KHUAT
+<U0E04> /x45 THAI CHARACTER KHO KHWAI
+<U0E05> /x46 THAI CHARACTER KHO KHON
+<U0E06> /x47 THAI CHARACTER KHO RAKHANG
+<U0E07> /x48 THAI CHARACTER NGO NGU
+<U005B> /x49 LEFT SQUARE BRACKET
+<U00A2> /x4a CENT SIGN
+<U002E> /x4b FULL STOP
+<U003C> /x4c LESS-THAN SIGN
+<U0028> /x4d LEFT PARENTHESIS
+<U002B> /x4e PLUS SIGN
+<U007C> /x4f VERTICAL LINE
+<U0026> /x50 AMPERSAND
+%IRREVERSIBLE%<U0E48> /x51 THAI CHARACTER MAI EK
+<U0E08> /x52 THAI CHARACTER CHO CHAN
+<U0E09> /x53 THAI CHARACTER CHO CHING
+<U0E0A> /x54 THAI CHARACTER CHO CHANG
+<U0E0B> /x55 THAI CHARACTER SO SO
+<U0E0C> /x56 THAI CHARACTER CHO CHOE
+<U0E0D> /x57 THAI CHARACTER YO YING
+<U0E0E> /x58 THAI CHARACTER DO CHADA
+<U005D> /x59 RIGHT SQUARE BRACKET
+<U0021> /x5a EXCLAMATION MARK
+<U0024> /x5b DOLLAR SIGN
+<U002A> /x5c ASTERISK
+<U0029> /x5d RIGHT PARENTHESIS
+<U003B> /x5e SEMICOLON
+<U00AC> /x5f NOT SIGN
+<U002D> /x60 HYPHEN-MINUS
+<U002F> /x61 SOLIDUS
+<U0E0F> /x62 THAI CHARACTER TO PATAK
+<U0E10> /x63 THAI CHARACTER THO THAN
+<U0E11> /x64 THAI CHARACTER THO NANGMONTHO
+<U0E12> /x65 THAI CHARACTER THO PHUTHAO
+<U0E13> /x66 THAI CHARACTER NO NEN
+<U0E14> /x67 THAI CHARACTER DO DEK
+<U0E15> /x68 THAI CHARACTER TO TAO
+<U005E> /x69 CIRCUMFLEX ACCENT
+<U00A6> /x6a BROKEN BAR
+<U002C> /x6b COMMA
+<U0025> /x6c PERCENT SIGN
+<U005F> /x6d LOW LINE
+<U003E> /x6e GREATER-THAN SIGN
+<U003F> /x6f QUESTION MARK
+<U0E3F> /x70 THAI CURRENCY SYMBOL BAHT
+<U0E4E> /x71 THAI CHARACTER YAMAKKAN
+<U0E16> /x72 THAI CHARACTER THO THUNG
+<U0E17> /x73 THAI CHARACTER THO THAHAN
+<U0E18> /x74 THAI CHARACTER THO THONG
+<U0E19> /x75 THAI CHARACTER NO NU
+<U0E1A> /x76 THAI CHARACTER BO BAIMAI
+<U0E1B> /x77 THAI CHARACTER PO PLA
+<U0E1C> /x78 THAI CHARACTER PHO PHUNG
+<U0060> /x79 GRAVE ACCENT
+<U003A> /x7a COLON
+<U0023> /x7b NUMBER SIGN
+<U0040> /x7c COMMERCIAL AT
+<U0027> /x7d APOSTROPHE
+<U003D> /x7e EQUALS SIGN
+<U0022> /x7f QUOTATION MARK
+<U0E4F> /x80 THAI CHARACTER FONGMAN
+<U0061> /x81 LATIN SMALL LETTER A
+<U0062> /x82 LATIN SMALL LETTER B
+<U0063> /x83 LATIN SMALL LETTER C
+<U0064> /x84 LATIN SMALL LETTER D
+<U0065> /x85 LATIN SMALL LETTER E
+<U0066> /x86 LATIN SMALL LETTER F
+<U0067> /x87 LATIN SMALL LETTER G
+<U0068> /x88 LATIN SMALL LETTER H
+<U0069> /x89 LATIN SMALL LETTER I
+<U0E1D> /x8a THAI CHARACTER FO FA
+<U0E1E> /x8b THAI CHARACTER PHO PHAN
+<U0E1F> /x8c THAI CHARACTER FO FAN
+<U0E20> /x8d THAI CHARACTER PHO SAMPHAO
+<U0E21> /x8e THAI CHARACTER MO MA
+<U0E22> /x8f THAI CHARACTER YO YAK
+<U0E5A> /x90 THAI CHARACTER ANGKHANKHU
+<U006A> /x91 LATIN SMALL LETTER J
+<U006B> /x92 LATIN SMALL LETTER K
+<U006C> /x93 LATIN SMALL LETTER L
+<U006D> /x94 LATIN SMALL LETTER M
+<U006E> /x95 LATIN SMALL LETTER N
+<U006F> /x96 LATIN SMALL LETTER O
+<U0070> /x97 LATIN SMALL LETTER P
+<U0071> /x98 LATIN SMALL LETTER Q
+<U0072> /x99 LATIN SMALL LETTER R
+<U0E23> /x9a THAI CHARACTER RO RUA
+<U0E24> /x9b THAI CHARACTER RU
+<U0E25> /x9c THAI CHARACTER LO LING
+<U0E26> /x9d THAI CHARACTER LU
+<U0E27> /x9e THAI CHARACTER WO WAEN
+<U0E28> /x9f THAI CHARACTER SO SALA
+<U0E5B> /xa0 THAI CHARACTER KHOMUT
+<U007E> /xa1 TILDE
+<U0073> /xa2 LATIN SMALL LETTER S
+<U0074> /xa3 LATIN SMALL LETTER T
+<U0075> /xa4 LATIN SMALL LETTER U
+<U0076> /xa5 LATIN SMALL LETTER V
+<U0077> /xa6 LATIN SMALL LETTER W
+<U0078> /xa7 LATIN SMALL LETTER X
+<U0079> /xa8 LATIN SMALL LETTER Y
+<U007A> /xa9 LATIN SMALL LETTER Z
+<U0E29> /xaa THAI CHARACTER SO RUSI
+<U0E2A> /xab THAI CHARACTER SO SUA
+<U0E2B> /xac THAI CHARACTER HO HIP
+<U0E2C> /xad THAI CHARACTER LO CHULA
+<U0E2D> /xae THAI CHARACTER O ANG
+<U0E2E> /xaf THAI CHARACTER HO NOKHUK
+<U0E50> /xb0 THAI DIGIT ZERO
+<U0E51> /xb1 THAI DIGIT ONE
+<U0E52> /xb2 THAI DIGIT TWO
+<U0E53> /xb3 THAI DIGIT THREE
+<U0E54> /xb4 THAI DIGIT FOUR
+<U0E55> /xb5 THAI DIGIT FIVE
+<U0E56> /xb6 THAI DIGIT SIX
+<U0E57> /xb7 THAI DIGIT SEVEN
+<U0E58> /xb8 THAI DIGIT EIGHT
+<U0E59> /xb9 THAI DIGIT NINE
+<U0E2F> /xba THAI CHARACTER PAIYANNOI
+<U0E30> /xbb THAI CHARACTER SARA A
+<U0E31> /xbc THAI CHARACTER MAI HAN-AKAT
+<U0E32> /xbd THAI CHARACTER SARA AA
+<U0E33> /xbe THAI CHARACTER SARA AM
+<U0E34> /xbf THAI CHARACTER SARA I
+<U007B> /xc0 LEFT CURLY BRACKET
+<U0041> /xc1 LATIN CAPITAL LETTER A
+<U0042> /xc2 LATIN CAPITAL LETTER B
+<U0043> /xc3 LATIN CAPITAL LETTER C
+<U0044> /xc4 LATIN CAPITAL LETTER D
+<U0045> /xc5 LATIN CAPITAL LETTER E
+<U0046> /xc6 LATIN CAPITAL LETTER F
+<U0047> /xc7 LATIN CAPITAL LETTER G
+<U0048> /xc8 LATIN CAPITAL LETTER H
+<U0049> /xc9 LATIN CAPITAL LETTER I
+%IRREVERSIBLE%<U0E49> /xca THAI CHARACTER MAI THO
+<U0E35> /xcb THAI CHARACTER SARA II
+<U0E36> /xcc THAI CHARACTER SARA UE
+<U0E37> /xcd THAI CHARACTER SARA UEE
+<U0E38> /xce THAI CHARACTER SARA U
+<U0E39> /xcf THAI CHARACTER SARA UU
+<U007D> /xd0 RIGHT CURLY BRACKET
+<U004A> /xd1 LATIN CAPITAL LETTER J
+<U004B> /xd2 LATIN CAPITAL LETTER K
+<U004C> /xd3 LATIN CAPITAL LETTER L
+<U004D> /xd4 LATIN CAPITAL LETTER M
+<U004E> /xd5 LATIN CAPITAL LETTER N
+<U004F> /xd6 LATIN CAPITAL LETTER O
+<U0050> /xd7 LATIN CAPITAL LETTER P
+<U0051> /xd8 LATIN CAPITAL LETTER Q
+<U0052> /xd9 LATIN CAPITAL LETTER R
+<U0E3A> /xda THAI CHARACTER PHINTHU
+<U0E40> /xdb THAI CHARACTER SARA E
+<U0E41> /xdc THAI CHARACTER SARA AE
+<U0E42> /xdd THAI CHARACTER SARA O
+<U0E43> /xde THAI CHARACTER SARA AI MAIMUAN
+<U0E44> /xdf THAI CHARACTER SARA AI MAIMALAI
+<U005C> /xe0 REVERSE SOLIDUS
+%IRREVERSIBLE%<U0E4A> /xe1 THAI CHARACTER MAI TRI
+<U0053> /xe2 LATIN CAPITAL LETTER S
+<U0054> /xe3 LATIN CAPITAL LETTER T
+<U0055> /xe4 LATIN CAPITAL LETTER U
+<U0056> /xe5 LATIN CAPITAL LETTER V
+<U0057> /xe6 LATIN CAPITAL LETTER W
+<U0058> /xe7 LATIN CAPITAL LETTER X
+<U0059> /xe8 LATIN CAPITAL LETTER Y
+<U005A> /xe9 LATIN CAPITAL LETTER Z
+<U0E45> /xea THAI CHARACTER LAKKHANGYAO
+<U0E46> /xeb THAI CHARACTER MAIYAMOK
+<U0E47> /xec THAI CHARACTER MAITAIKHU
+<U0E48> /xed THAI CHARACTER MAI EK
+<U0E49> /xee THAI CHARACTER MAI THO
+<U0E4A> /xef THAI CHARACTER MAI TRI
+<U0030> /xf0 DIGIT ZERO
+<U0031> /xf1 DIGIT ONE
+<U0032> /xf2 DIGIT TWO
+<U0033> /xf3 DIGIT THREE
+<U0034> /xf4 DIGIT FOUR
+<U0035> /xf5 DIGIT FIVE
+<U0036> /xf6 DIGIT SIX
+<U0037> /xf7 DIGIT SEVEN
+<U0038> /xf8 DIGIT EIGHT
+<U0039> /xf9 DIGIT NINE
+<U0E4B> /xfa THAI CHARACTER MAI CHATTAWA
+<U0E4C> /xfb THAI CHARACTER THANTHAKHAT
+<U0E4D> /xfc THAI CHARACTER NIKHAHIT
+%IRREVERSIBLE%<U0E4B> /xfd THAI CHARACTER MAI CHATTAWA
+<U20AC> /xfe EURO SIGN
+<U009F> /xff <control>
+END CHARMAP
diff --git a/localedata/charmaps/IBM1161 b/localedata/charmaps/IBM1161
new file mode 100644
index 0000000..9340ba1
--- /dev/null
+++ b/localedata/charmaps/IBM1161
@@ -0,0 +1,231 @@
+<code_set_name> IBM1161
+<comment_char> %
+<escape_char> /
+
+% alias CP1161
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001C> /x1a <control>
+<U001B> /x1b <control>
+<U007F> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U001A> /x7f <control>
+%IRREVERSIBLE%<U0E48> /xa0 THAI CHARACTER MAI EK
+<U0E01> /xa1 THAI CHARACTER KO KAI
+<U0E02> /xa2 THAI CHARACTER KHO KHAI
+<U0E03> /xa3 THAI CHARACTER KHO KHUAT
+<U0E04> /xa4 THAI CHARACTER KHO KHWAI
+<U0E05> /xa5 THAI CHARACTER KHO KHON
+<U0E06> /xa6 THAI CHARACTER KHO RAKHANG
+<U0E07> /xa7 THAI CHARACTER NGO NGU
+<U0E08> /xa8 THAI CHARACTER CHO CHAN
+<U0E09> /xa9 THAI CHARACTER CHO CHING
+<U0E0A> /xaa THAI CHARACTER CHO CHANG
+<U0E0B> /xab THAI CHARACTER SO SO
+<U0E0C> /xac THAI CHARACTER CHO CHOE
+<U0E0D> /xad THAI CHARACTER YO YING
+<U0E0E> /xae THAI CHARACTER DO CHADA
+<U0E0F> /xaf THAI CHARACTER TO PATAK
+<U0E10> /xb0 THAI CHARACTER THO THAN
+<U0E11> /xb1 THAI CHARACTER THO NANGMONTHO
+<U0E12> /xb2 THAI CHARACTER THO PHUTHAO
+<U0E13> /xb3 THAI CHARACTER NO NEN
+<U0E14> /xb4 THAI CHARACTER DO DEK
+<U0E15> /xb5 THAI CHARACTER TO TAO
+<U0E16> /xb6 THAI CHARACTER THO THUNG
+<U0E17> /xb7 THAI CHARACTER THO THAHAN
+<U0E18> /xb8 THAI CHARACTER THO THONG
+<U0E19> /xb9 THAI CHARACTER NO NU
+<U0E1A> /xba THAI CHARACTER BO BAIMAI
+<U0E1B> /xbb THAI CHARACTER PO PLA
+<U0E1C> /xbc THAI CHARACTER PHO PHUNG
+<U0E1D> /xbd THAI CHARACTER FO FA
+<U0E1E> /xbe THAI CHARACTER PHO PHAN
+<U0E1F> /xbf THAI CHARACTER FO FAN
+<U0E20> /xc0 THAI CHARACTER PHO SAMPHAO
+<U0E21> /xc1 THAI CHARACTER MO MA
+<U0E22> /xc2 THAI CHARACTER YO YAK
+<U0E23> /xc3 THAI CHARACTER RO RUA
+<U0E24> /xc4 THAI CHARACTER RU
+<U0E25> /xc5 THAI CHARACTER LO LING
+<U0E26> /xc6 THAI CHARACTER LU
+<U0E27> /xc7 THAI CHARACTER WO WAEN
+<U0E28> /xc8 THAI CHARACTER SO SALA
+<U0E29> /xc9 THAI CHARACTER SO RUSI
+<U0E2A> /xca THAI CHARACTER SO SUA
+<U0E2B> /xcb THAI CHARACTER HO HIP
+<U0E2C> /xcc THAI CHARACTER LO CHULA
+<U0E2D> /xcd THAI CHARACTER O ANG
+<U0E2E> /xce THAI CHARACTER HO NOKHUK
+<U0E2F> /xcf THAI CHARACTER PAIYANNOI
+<U0E30> /xd0 THAI CHARACTER SARA A
+<U0E31> /xd1 THAI CHARACTER MAI HAN-AKAT
+<U0E32> /xd2 THAI CHARACTER SARA AA
+<U0E33> /xd3 THAI CHARACTER SARA AM
+<U0E34> /xd4 THAI CHARACTER SARA I
+<U0E35> /xd5 THAI CHARACTER SARA II
+<U0E36> /xd6 THAI CHARACTER SARA UE
+<U0E37> /xd7 THAI CHARACTER SARA UEE
+<U0E38> /xd8 THAI CHARACTER SARA U
+<U0E39> /xd9 THAI CHARACTER SARA UU
+<U0E3A> /xda THAI CHARACTER PHINTHU
+%IRREVERSIBLE%<U0E49> /xdb THAI CHARACTER MAI THO
+%IRREVERSIBLE%<U0E4A> /xdc THAI CHARACTER MAI TRI
+%IRREVERSIBLE%<U0E4B> /xdd THAI CHARACTER MAI CHATTAWA
+<U20AC> /xde EURO SIGN
+<U0E3F> /xdf THAI CURRENCY SYMBOL BAHT
+<U0E40> /xe0 THAI CHARACTER SARA E
+<U0E41> /xe1 THAI CHARACTER SARA AE
+<U0E42> /xe2 THAI CHARACTER SARA O
+<U0E43> /xe3 THAI CHARACTER SARA AI MAIMUAN
+<U0E44> /xe4 THAI CHARACTER SARA AI MAIMALAI
+<U0E45> /xe5 THAI CHARACTER LAKKHANGYAO
+<U0E46> /xe6 THAI CHARACTER MAIYAMOK
+<U0E47> /xe7 THAI CHARACTER MAITAIKHU
+<U0E48> /xe8 THAI CHARACTER MAI EK
+<U0E49> /xe9 THAI CHARACTER MAI THO
+<U0E4A> /xea THAI CHARACTER MAI TRI
+<U0E4B> /xeb THAI CHARACTER MAI CHATTAWA
+<U0E4C> /xec THAI CHARACTER THANTHAKHAT
+<U0E4D> /xed THAI CHARACTER NIKHAHIT
+<U0E4E> /xee THAI CHARACTER YAMAKKAN
+<U0E4F> /xef THAI CHARACTER FONGMAN
+<U0E50> /xf0 THAI DIGIT ZERO
+<U0E51> /xf1 THAI DIGIT ONE
+<U0E52> /xf2 THAI DIGIT TWO
+<U0E53> /xf3 THAI DIGIT THREE
+<U0E54> /xf4 THAI DIGIT FOUR
+<U0E55> /xf5 THAI DIGIT FIVE
+<U0E56> /xf6 THAI DIGIT SIX
+<U0E57> /xf7 THAI DIGIT SEVEN
+<U0E58> /xf8 THAI DIGIT EIGHT
+<U0E59> /xf9 THAI DIGIT NINE
+<U0E5A> /xfa THAI CHARACTER ANGKHANKHU
+<U0E5B> /xfb THAI CHARACTER KHOMUT
+<U00A2> /xfc CENT SIGN
+<U00AC> /xfd NOT SIGN
+<U00A6> /xfe BROKEN BAR
+<U00A0> /xff NO-BREAK SPACE
+END CHARMAP
diff --git a/localedata/charmaps/IBM1162 b/localedata/charmaps/IBM1162
new file mode 100644
index 0000000..3d50e57
--- /dev/null
+++ b/localedata/charmaps/IBM1162
@@ -0,0 +1,255 @@
+<code_set_name> IBM1133
+<comment_char> %
+<escape_char> /
+
+% alias CP1133
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001A> /x1a <control>
+<U001B> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U007F> /x7f <control>
+<U20AC> /x80 EURO SIGN
+<U0081> /x81 <control>
+<U0082> /x82 <control>
+<U0083> /x83 <control>
+<U0084> /x84 <control>
+<U2026> /x85 HORIZONTAL ELLIPSIS
+<U0086> /x86 <control>
+<U0087> /x87 <control>
+<U0088> /x88 <control>
+<U0089> /x89 <control>
+<U008A> /x8a <control>
+<U008B> /x8b <control>
+<U008C> /x8c <control>
+<U008D> /x8d <control>
+<U008E> /x8e <control>
+<U008F> /x8f <control>
+<U0090> /x90 <control>
+<U2018> /x91 LEFT SINGLE QUOTATION MARK
+<U2019> /x92 RIGHT SINGLE QUOTATION MARK
+<U201C> /x93 LEFT DOUBLE QUOTATION MARK
+<U201D> /x94 RIGHT DOUBLE QUOTATION MARK
+<U2022> /x95 BULLET
+<U2013> /x96 EN DASH
+<U2014> /x97 EM DASH
+<U0098> /x98 <control>
+<U0099> /x99 <control>
+<U009A> /x9a <control>
+<U009B> /x9b <control>
+<U009C> /x9c <control>
+<U009D> /x9d <control>
+<U009E> /x9e <control>
+<U009F> /x9f <control>
+<U00A0> /xa0 NO-BREAK SPACE
+<U0E01> /xa1 THAI CHARACTER KO KAI
+<U0E02> /xa2 THAI CHARACTER KHO KHAI
+<U0E03> /xa3 THAI CHARACTER KHO KHUAT
+<U0E04> /xa4 THAI CHARACTER KHO KHWAI
+<U0E05> /xa5 THAI CHARACTER KHO KHON
+<U0E06> /xa6 THAI CHARACTER KHO RAKHANG
+<U0E07> /xa7 THAI CHARACTER NGO NGU
+<U0E08> /xa8 THAI CHARACTER CHO CHAN
+<U0E09> /xa9 THAI CHARACTER CHO CHING
+<U0E0A> /xaa THAI CHARACTER CHO CHANG
+<U0E0B> /xab THAI CHARACTER SO SO
+<U0E0C> /xac THAI CHARACTER CHO CHOE
+<U0E0D> /xad THAI CHARACTER YO YING
+<U0E0E> /xae THAI CHARACTER DO CHADA
+<U0E0F> /xaf THAI CHARACTER TO PATAK
+<U0E10> /xb0 THAI CHARACTER THO THAN
+<U0E11> /xb1 THAI CHARACTER THO NANGMONTHO
+<U0E12> /xb2 THAI CHARACTER THO PHUTHAO
+<U0E13> /xb3 THAI CHARACTER NO NEN
+<U0E14> /xb4 THAI CHARACTER DO DEK
+<U0E15> /xb5 THAI CHARACTER TO TAO
+<U0E16> /xb6 THAI CHARACTER THO THUNG
+<U0E17> /xb7 THAI CHARACTER THO THAHAN
+<U0E18> /xb8 THAI CHARACTER THO THONG
+<U0E19> /xb9 THAI CHARACTER NO NU
+<U0E1A> /xba THAI CHARACTER BO BAIMAI
+<U0E1B> /xbb THAI CHARACTER PO PLA
+<U0E1C> /xbc THAI CHARACTER PHO PHUNG
+<U0E1D> /xbd THAI CHARACTER FO FA
+<U0E1E> /xbe THAI CHARACTER PHO PHAN
+<U0E1F> /xbf THAI CHARACTER FO FAN
+<U0E20> /xc0 THAI CHARACTER PHO SAMPHAO
+<U0E21> /xc1 THAI CHARACTER MO MA
+<U0E22> /xc2 THAI CHARACTER YO YAK
+<U0E23> /xc3 THAI CHARACTER RO RUA
+<U0E24> /xc4 THAI CHARACTER RU
+<U0E25> /xc5 THAI CHARACTER LO LING
+<U0E26> /xc6 THAI CHARACTER LU
+<U0E27> /xc7 THAI CHARACTER WO WAEN
+<U0E28> /xc8 THAI CHARACTER SO SALA
+<U0E29> /xc9 THAI CHARACTER SO RUSI
+<U0E2A> /xca THAI CHARACTER SO SUA
+<U0E2B> /xcb THAI CHARACTER HO HIP
+<U0E2C> /xcc THAI CHARACTER LO CHULA
+<U0E2D> /xcd THAI CHARACTER O ANG
+<U0E2E> /xce THAI CHARACTER HO NOKHUK
+<U0E2F> /xcf THAI CHARACTER PAIYANNOI
+<U0E30> /xd0 THAI CHARACTER SARA A
+<U0E31> /xd1 THAI CHARACTER MAI HAN-AKAT
+<U0E32> /xd2 THAI CHARACTER SARA AA
+<U0E33> /xd3 THAI CHARACTER SARA AM
+<U0E34> /xd4 THAI CHARACTER SARA I
+<U0E35> /xd5 THAI CHARACTER SARA II
+<U0E36> /xd6 THAI CHARACTER SARA UE
+<U0E37> /xd7 THAI CHARACTER SARA UEE
+<U0E38> /xd8 THAI CHARACTER SARA U
+<U0E39> /xd9 THAI CHARACTER SARA UU
+<U0E3A> /xda THAI CHARACTER PHINTHU
+<U0E3F> /xdf THAI CURRENCY SYMBOL BAHT
+<U0E40> /xe0 THAI CHARACTER SARA E
+<U0E41> /xe1 THAI CHARACTER SARA AE
+<U0E42> /xe2 THAI CHARACTER SARA O
+<U0E43> /xe3 THAI CHARACTER SARA AI MAIMUAN
+<U0E44> /xe4 THAI CHARACTER SARA AI MAIMALAI
+<U0E45> /xe5 THAI CHARACTER LAKKHANGYAO
+<U0E46> /xe6 THAI CHARACTER MAIYAMOK
+<U0E47> /xe7 THAI CHARACTER MAITAIKHU
+<U0E48> /xe8 THAI CHARACTER MAI EK
+<U0E49> /xe9 THAI CHARACTER MAI THO
+<U0E4A> /xea THAI CHARACTER MAI TRI
+<U0E4B> /xeb THAI CHARACTER MAI CHATTAWA
+<U0E4C> /xec THAI CHARACTER THANTHAKHAT
+<U0E4D> /xed THAI CHARACTER NIKHAHIT
+<U0E4E> /xee THAI CHARACTER YAMAKKAN
+<U0E4F> /xef THAI CHARACTER FONGMAN
+<U0E50> /xf0 THAI DIGIT ZERO
+<U0E51> /xf1 THAI DIGIT ONE
+<U0E52> /xf2 THAI DIGIT TWO
+<U0E53> /xf3 THAI DIGIT THREE
+<U0E54> /xf4 THAI DIGIT FOUR
+<U0E55> /xf5 THAI DIGIT FIVE
+<U0E56> /xf6 THAI DIGIT SIX
+<U0E57> /xf7 THAI DIGIT SEVEN
+<U0E58> /xf8 THAI DIGIT EIGHT
+<U0E59> /xf9 THAI DIGIT NINE
+<U0E5A> /xfa THAI CHARACTER ANGKHANKHU
+<U0E5B> /xfb THAI CHARACTER KHOMUT
+END CHARMAP
diff --git a/localedata/charmaps/IBM1163 b/localedata/charmaps/IBM1163
new file mode 100644
index 0000000..44281e6
--- /dev/null
+++ b/localedata/charmaps/IBM1163
@@ -0,0 +1,263 @@
+<code_set_name> IBM1163
+<comment_char> %
+<escape_char> /
+
+% alias CP1163
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001A> /x1a <control>
+<U001B> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U007F> /x7f <control>
+<U0080> /x80 <control>
+<U0081> /x81 <control>
+<U0082> /x82 <control>
+<U0083> /x83 <control>
+<U0084> /x84 <control>
+<U0085> /x85 <control>
+<U0086> /x86 <control>
+<U0087> /x87 <control>
+<U0088> /x88 <control>
+<U0089> /x89 <control>
+<U008A> /x8a <control>
+<U008B> /x8b <control>
+<U008C> /x8c <control>
+<U008D> /x8d <control>
+<U008E> /x8e <control>
+<U008F> /x8f <control>
+<U0090> /x90 <control>
+<U0091> /x91 <control>
+<U0092> /x92 <control>
+<U0093> /x93 <control>
+<U0094> /x94 <control>
+<U0095> /x95 <control>
+<U0096> /x96 <control>
+<U0097> /x97 <control>
+<U0098> /x98 <control>
+<U0099> /x99 <control>
+<U009A> /x9a <control>
+<U009B> /x9b <control>
+<U009C> /x9c <control>
+<U009D> /x9d <control>
+<U009E> /x9e <control>
+<U009F> /x9f <control>
+<U00A0> /xa0 NO-BREAK SPACE
+<U00A1> /xa1 INVERTED EXCLAMATION MARK
+<U00A2> /xa2 CENT SIGN
+<U00A3> /xa3 POUND SIGN
+<U20AC> /xa4 EURO SIGN
+<U00A5> /xa5 YEN SIGN
+<U00A6> /xa6 BROKEN BAR
+<U00A7> /xa7 SECTION SIGN
+<U0153> /xa8 LATIN SMALL LIGATURE OE
+<U00A9> /xa9 COPYRIGHT SIGN
+<U00AA> /xaa FEMININE ORDINAL INDICATOR
+<U00AB> /xab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00AC> /xac NOT SIGN
+<U00AD> /xad SOFT HYPHEN
+<U00AE> /xae REGISTERED SIGN
+<U00AF> /xaf MACRON
+<U00B0> /xb0 DEGREE SIGN
+<U00B1> /xb1 PLUS-MINUS SIGN
+<U00B2> /xb2 SUPERSCRIPT TWO
+<U00B3> /xb3 SUPERSCRIPT THREE
+<U0178> /xb4 LATIN CAPITAL LETTER Y WITH DIAERESIS
+<U00B5> /xb5 MICRO SIGN
+<U00B6> /xb6 PILCROW SIGN
+<U00B7> /xb7 MIDDLE DOT
+<U0152> /xb8 LATIN CAPITAL LIGATURE OE
+<U00B9> /xb9 SUPERSCRIPT ONE
+<U00BA> /xba MASCULINE ORDINAL INDICATOR
+<U00BB> /xbb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00BC> /xbc VULGAR FRACTION ONE QUARTER
+<U00BD> /xbd VULGAR FRACTION ONE HALF
+<U00BE> /xbe VULGAR FRACTION THREE QUARTERS
+<U00BF> /xbf INVERTED QUESTION MARK
+<U00C0> /xc0 LATIN CAPITAL LETTER A WITH GRAVE
+<U00C1> /xc1 LATIN CAPITAL LETTER A WITH ACUTE
+<U00C2> /xc2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<U0102> /xc3 LATIN CAPITAL LETTER A WITH BREVE
+<U00C4> /xc4 LATIN CAPITAL LETTER A WITH DIAERESIS
+<U00C5> /xc5 LATIN CAPITAL LETTER A WITH RING ABOVE
+<U00C6> /xc6 LATIN CAPITAL LETTER AE
+<U00C7> /xc7 LATIN CAPITAL LETTER C WITH CEDILLA
+<U00C8> /xc8 LATIN CAPITAL LETTER E WITH GRAVE
+<U00C9> /xc9 LATIN CAPITAL LETTER E WITH ACUTE
+<U00CA> /xca LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<U00CB> /xcb LATIN CAPITAL LETTER E WITH DIAERESIS
+<U0300> /xcc COMBINING GRAVE ACCENT
+<U00CD> /xcd LATIN CAPITAL LETTER I WITH ACUTE
+<U00CE> /xce LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<U00CF> /xcf LATIN CAPITAL LETTER I WITH DIAERESIS
+<U0110> /xd0 LATIN CAPITAL LETTER D WITH STROKE
+<U00D1> /xd1 LATIN CAPITAL LETTER N WITH TILDE
+<U0309> /xd2 COMBINING HOOK ABOVE
+<U00D3> /xd3 LATIN CAPITAL LETTER O WITH ACUTE
+<U00D4> /xd4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+<U01A0> /xd5 LATIN CAPITAL LETTER O WITH HORN
+<U00D6> /xd6 LATIN CAPITAL LETTER O WITH DIAERESIS
+<U00D7> /xd7 MULTIPLICATION SIGN
+<U00D8> /xd8 LATIN CAPITAL LETTER O WITH STROKE
+<U00D9> /xd9 LATIN CAPITAL LETTER U WITH GRAVE
+<U00DA> /xda LATIN CAPITAL LETTER U WITH ACUTE
+<U00DB> /xdb LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U00DC> /xdc LATIN CAPITAL LETTER U WITH DIAERESIS
+<U01AF> /xdd LATIN CAPITAL LETTER U WITH HORN
+<U0303> /xde COMBINING TILDE
+<U00DF> /xdf LATIN SMALL LETTER SHARP S
+<U00E0> /xe0 LATIN SMALL LETTER A WITH GRAVE
+<U00E1> /xe1 LATIN SMALL LETTER A WITH ACUTE
+<U00E2> /xe2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+<U0103> /xe3 LATIN SMALL LETTER A WITH BREVE
+<U00E4> /xe4 LATIN SMALL LETTER A WITH DIAERESIS
+<U00E5> /xe5 LATIN SMALL LETTER A WITH RING ABOVE
+<U00E6> /xe6 LATIN SMALL LETTER AE
+<U00E7> /xe7 LATIN SMALL LETTER C WITH CEDILLA
+<U00E8> /xe8 LATIN SMALL LETTER E WITH GRAVE
+<U00E9> /xe9 LATIN SMALL LETTER E WITH ACUTE
+<U00EA> /xea LATIN SMALL LETTER E WITH CIRCUMFLEX
+<U00EB> /xeb LATIN SMALL LETTER E WITH DIAERESIS
+<U0301> /xec COMBINING ACUTE ACCENT
+<U00ED> /xed LATIN SMALL LETTER I WITH ACUTE
+<U00EE> /xee LATIN SMALL LETTER I WITH CIRCUMFLEX
+<U00EF> /xef LATIN SMALL LETTER I WITH DIAERESIS
+<U0111> /xf0 LATIN SMALL LETTER D WITH STROKE
+<U00F1> /xf1 LATIN SMALL LETTER N WITH TILDE
+<U0323> /xf2 COMBINING DOT BELOW
+<U00F3> /xf3 LATIN SMALL LETTER O WITH ACUTE
+<U00F4> /xf4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+<U01A1> /xf5 LATIN SMALL LETTER O WITH HORN
+<U00F6> /xf6 LATIN SMALL LETTER O WITH DIAERESIS
+<U00F7> /xf7 DIVISION SIGN
+<U00F8> /xf8 LATIN SMALL LETTER O WITH STROKE
+<U00F9> /xf9 LATIN SMALL LETTER U WITH GRAVE
+<U00FA> /xfa LATIN SMALL LETTER U WITH ACUTE
+<U00FB> /xfb LATIN SMALL LETTER U WITH CIRCUMFLEX
+<U00FC> /xfc LATIN SMALL LETTER U WITH DIAERESIS
+<U01B0> /xfd LATIN SMALL LETTER U WITH HORN
+<U20AB> /xfe DONG SIGN
+<U00FF> /xff LATIN SMALL LETTER Y WITH DIAERESIS
+END CHARMAP
diff --git a/localedata/charmaps/IBM1164 b/localedata/charmaps/IBM1164
new file mode 100644
index 0000000..9b313d8
--- /dev/null
+++ b/localedata/charmaps/IBM1164
@@ -0,0 +1,263 @@
+<code_set_name> IBM1164
+<comment_char> %
+<escape_char> /
+
+% alias CP1164
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U009C> /x04 <control>
+<U0009> /x05 <control>
+<U0086> /x06 <control>
+<U007F> /x07 <control>
+<U0097> /x08 <control>
+<U008D> /x09 <control>
+<U008E> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U009D> /x14 <control>
+<U0085> /x15 <control>
+<U0008> /x16 <control>
+<U0087> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U0092> /x1a <control>
+<U008F> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0080> /x20 <control>
+<U0081> /x21 <control>
+<U0082> /x22 <control>
+<U0083> /x23 <control>
+<U0084> /x24 <control>
+<U000A> /x25 <control>
+<U0017> /x26 <control>
+<U001B> /x27 <control>
+<U0088> /x28 <control>
+<U0089> /x29 <control>
+<U008A> /x2a <control>
+<U008B> /x2b <control>
+<U008C> /x2c <control>
+<U0005> /x2d <control>
+<U0006> /x2e <control>
+<U0007> /x2f <control>
+<U0090> /x30 <control>
+<U0091> /x31 <control>
+<U0016> /x32 <control>
+<U0093> /x33 <control>
+<U0094> /x34 <control>
+<U0095> /x35 <control>
+<U0096> /x36 <control>
+<U0004> /x37 <control>
+<U0098> /x38 <control>
+<U0099> /x39 <control>
+<U009A> /x3a <control>
+<U009B> /x3b <control>
+<U0014> /x3c <control>
+<U0015> /x3d <control>
+<U009E> /x3e <control>
+<U001A> /x3f <control>
+<U0020> /x40 SPACE
+<U00A0> /x41 NO-BREAK SPACE
+<U00E2> /x42 LATIN SMALL LETTER A WITH CIRCUMFLEX
+<U00E4> /x43 LATIN SMALL LETTER A WITH DIAERESIS
+<U00E0> /x44 LATIN SMALL LETTER A WITH GRAVE
+<U00E1> /x45 LATIN SMALL LETTER A WITH ACUTE
+<U0103> /x46 LATIN SMALL LETTER A WITH BREVE
+<U00E5> /x47 LATIN SMALL LETTER A WITH RING ABOVE
+<U00E7> /x48 LATIN SMALL LETTER C WITH CEDILLA
+<U00F1> /x49 LATIN SMALL LETTER N WITH TILDE
+<U005B> /x4a LEFT SQUARE BRACKET
+<U002E> /x4b FULL STOP
+<U003C> /x4c LESS-THAN SIGN
+<U0028> /x4d LEFT PARENTHESIS
+<U002B> /x4e PLUS SIGN
+<U0021> /x4f EXCLAMATION MARK
+<U0026> /x50 AMPERSAND
+<U00E9> /x51 LATIN SMALL LETTER E WITH ACUTE
+<U00EA> /x52 LATIN SMALL LETTER E WITH CIRCUMFLEX
+<U00EB> /x53 LATIN SMALL LETTER E WITH DIAERESIS
+<U00E8> /x54 LATIN SMALL LETTER E WITH GRAVE
+<U00ED> /x55 LATIN SMALL LETTER I WITH ACUTE
+<U00EE> /x56 LATIN SMALL LETTER I WITH CIRCUMFLEX
+<U00EF> /x57 LATIN SMALL LETTER I WITH DIAERESIS
+<U0303> /x58 COMBINING TILDE
+<U00DF> /x59 LATIN SMALL LETTER SHARP S
+<U005D> /x5a RIGHT SQUARE BRACKET
+<U0024> /x5b DOLLAR SIGN
+<U002A> /x5c ASTERISK
+<U0029> /x5d RIGHT PARENTHESIS
+<U003B> /x5e SEMICOLON
+<U005E> /x5f CIRCUMFLEX ACCENT
+<U002D> /x60 HYPHEN-MINUS
+<U002F> /x61 SOLIDUS
+<U00C2> /x62 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<U00C4> /x63 LATIN CAPITAL LETTER A WITH DIAERESIS
+<U00C0> /x64 LATIN CAPITAL LETTER A WITH GRAVE
+<U00C1> /x65 LATIN CAPITAL LETTER A WITH ACUTE
+<U0102> /x66 LATIN CAPITAL LETTER A WITH BREVE
+<U00C5> /x67 LATIN CAPITAL LETTER A WITH RING ABOVE
+<U00C7> /x68 LATIN CAPITAL LETTER C WITH CEDILLA
+<U00D1> /x69 LATIN CAPITAL LETTER N WITH TILDE
+<U00A6> /x6a BROKEN BAR
+<U002C> /x6b COMMA
+<U0025> /x6c PERCENT SIGN
+<U005F> /x6d LOW LINE
+<U003E> /x6e GREATER-THAN SIGN
+<U003F> /x6f QUESTION MARK
+<U00F8> /x70 LATIN SMALL LETTER O WITH STROKE
+<U00C9> /x71 LATIN CAPITAL LETTER E WITH ACUTE
+<U00CA> /x72 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<U00CB> /x73 LATIN CAPITAL LETTER E WITH DIAERESIS
+<U00C8> /x74 LATIN CAPITAL LETTER E WITH GRAVE
+<U00CD> /x75 LATIN CAPITAL LETTER I WITH ACUTE
+<U00CE> /x76 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<U00CF> /x77 LATIN CAPITAL LETTER I WITH DIAERESIS
+<U20AB> /x78 DONG SIGN
+<U0060> /x79 GRAVE ACCENT
+<U003A> /x7a COLON
+<U0023> /x7b NUMBER SIGN
+<U0040> /x7c COMMERCIAL AT
+<U0027> /x7d APOSTROPHE
+<U003D> /x7e EQUALS SIGN
+<U0022> /x7f QUOTATION MARK
+<U00D8> /x80 LATIN CAPITAL LETTER O WITH STROKE
+<U0061> /x81 LATIN SMALL LETTER A
+<U0062> /x82 LATIN SMALL LETTER B
+<U0063> /x83 LATIN SMALL LETTER C
+<U0064> /x84 LATIN SMALL LETTER D
+<U0065> /x85 LATIN SMALL LETTER E
+<U0066> /x86 LATIN SMALL LETTER F
+<U0067> /x87 LATIN SMALL LETTER G
+<U0068> /x88 LATIN SMALL LETTER H
+<U0069> /x89 LATIN SMALL LETTER I
+<U00AB> /x8a LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00BB> /x8b RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U0111> /x8c LATIN SMALL LETTER D WITH STROKE
+<U0309> /x8d COMBINING HOOK ABOVE
+<U0300> /x8e COMBINING GRAVE ACCENT
+<U00B1> /x8f PLUS-MINUS SIGN
+<U00B0> /x90 DEGREE SIGN
+<U006A> /x91 LATIN SMALL LETTER J
+<U006B> /x92 LATIN SMALL LETTER K
+<U006C> /x93 LATIN SMALL LETTER L
+<U006D> /x94 LATIN SMALL LETTER M
+<U006E> /x95 LATIN SMALL LETTER N
+<U006F> /x96 LATIN SMALL LETTER O
+<U0070> /x97 LATIN SMALL LETTER P
+<U0071> /x98 LATIN SMALL LETTER Q
+<U0072> /x99 LATIN SMALL LETTER R
+<U00AA> /x9a FEMININE ORDINAL INDICATOR
+<U00BA> /x9b MASCULINE ORDINAL INDICATOR
+<U00E6> /x9c LATIN SMALL LETTER AE
+<U0152> /x9d LATIN CAPITAL LIGATURE OE
+<U00C6> /x9e LATIN CAPITAL LETTER AE
+<U20AC> /x9f EURO SIGN
+<U00B5> /xa0 MICRO SIGN
+<U007E> /xa1 TILDE
+<U0073> /xa2 LATIN SMALL LETTER S
+<U0074> /xa3 LATIN SMALL LETTER T
+<U0075> /xa4 LATIN SMALL LETTER U
+<U0076> /xa5 LATIN SMALL LETTER V
+<U0077> /xa6 LATIN SMALL LETTER W
+<U0078> /xa7 LATIN SMALL LETTER X
+<U0079> /xa8 LATIN SMALL LETTER Y
+<U007A> /xa9 LATIN SMALL LETTER Z
+<U00A1> /xaa INVERTED EXCLAMATION MARK
+<U00BF> /xab INVERTED QUESTION MARK
+<U0110> /xac LATIN CAPITAL LETTER D WITH STROKE
+<U0323> /xad COMBINING DOT BELOW
+<U0301> /xae COMBINING ACUTE ACCENT
+<U00AE> /xaf REGISTERED SIGN
+<U00A2> /xb0 CENT SIGN
+<U00A3> /xb1 POUND SIGN
+<U00A5> /xb2 YEN SIGN
+<U00B7> /xb3 MIDDLE DOT
+<U00A9> /xb4 COPYRIGHT SIGN
+<U00A7> /xb5 SECTION SIGN
+<U00B6> /xb6 PILCROW SIGN
+<U00BC> /xb7 VULGAR FRACTION ONE QUARTER
+<U00BD> /xb8 VULGAR FRACTION ONE HALF
+<U00BE> /xb9 VULGAR FRACTION THREE QUARTERS
+<U00AC> /xba NOT SIGN
+<U007C> /xbb VERTICAL LINE
+<U00AF> /xbc MACRON
+<U0153> /xbd LATIN SMALL LIGATURE OE
+<U0178> /xbe LATIN CAPITAL LETTER Y WITH DIAERESIS
+<U00D7> /xbf MULTIPLICATION SIGN
+<U007B> /xc0 LEFT CURLY BRACKET
+<U0041> /xc1 LATIN CAPITAL LETTER A
+<U0042> /xc2 LATIN CAPITAL LETTER B
+<U0043> /xc3 LATIN CAPITAL LETTER C
+<U0044> /xc4 LATIN CAPITAL LETTER D
+<U0045> /xc5 LATIN CAPITAL LETTER E
+<U0046> /xc6 LATIN CAPITAL LETTER F
+<U0047> /xc7 LATIN CAPITAL LETTER G
+<U0048> /xc8 LATIN CAPITAL LETTER H
+<U0049> /xc9 LATIN CAPITAL LETTER I
+<U00AD> /xca SOFT HYPHEN
+<U00F4> /xcb LATIN SMALL LETTER O WITH CIRCUMFLEX
+<U00F6> /xcc LATIN SMALL LETTER O WITH DIAERESIS
+<U01B0> /xcd LATIN SMALL LETTER U WITH HORN
+<U00F3> /xce LATIN SMALL LETTER O WITH ACUTE
+<U01A1> /xcf LATIN SMALL LETTER O WITH HORN
+<U007D> /xd0 RIGHT CURLY BRACKET
+<U004A> /xd1 LATIN CAPITAL LETTER J
+<U004B> /xd2 LATIN CAPITAL LETTER K
+<U004C> /xd3 LATIN CAPITAL LETTER L
+<U004D> /xd4 LATIN CAPITAL LETTER M
+<U004E> /xd5 LATIN CAPITAL LETTER N
+<U004F> /xd6 LATIN CAPITAL LETTER O
+<U0050> /xd7 LATIN CAPITAL LETTER P
+<U0051> /xd8 LATIN CAPITAL LETTER Q
+<U0052> /xd9 LATIN CAPITAL LETTER R
+<U00B9> /xda SUPERSCRIPT ONE
+<U00FB> /xdb LATIN SMALL LETTER U WITH CIRCUMFLEX
+<U00FC> /xdc LATIN SMALL LETTER U WITH DIAERESIS
+<U00F9> /xdd LATIN SMALL LETTER U WITH GRAVE
+<U00FA> /xde LATIN SMALL LETTER U WITH ACUTE
+<U00FF> /xdf LATIN SMALL LETTER Y WITH DIAERESIS
+<U005C> /xe0 REVERSE SOLIDUS
+<U00F7> /xe1 DIVISION SIGN
+<U0053> /xe2 LATIN CAPITAL LETTER S
+<U0054> /xe3 LATIN CAPITAL LETTER T
+<U0055> /xe4 LATIN CAPITAL LETTER U
+<U0056> /xe5 LATIN CAPITAL LETTER V
+<U0057> /xe6 LATIN CAPITAL LETTER W
+<U0058> /xe7 LATIN CAPITAL LETTER X
+<U0059> /xe8 LATIN CAPITAL LETTER Y
+<U005A> /xe9 LATIN CAPITAL LETTER Z
+<U00B2> /xea SUPERSCRIPT TWO
+<U00D4> /xeb LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+<U00D6> /xec LATIN CAPITAL LETTER O WITH DIAERESIS
+<U01AF> /xed LATIN CAPITAL LETTER U WITH HORN
+<U00D3> /xee LATIN CAPITAL LETTER O WITH ACUTE
+<U01A0> /xef LATIN CAPITAL LETTER O WITH HORN
+<U0030> /xf0 DIGIT ZERO
+<U0031> /xf1 DIGIT ONE
+<U0032> /xf2 DIGIT TWO
+<U0033> /xf3 DIGIT THREE
+<U0034> /xf4 DIGIT FOUR
+<U0035> /xf5 DIGIT FIVE
+<U0036> /xf6 DIGIT SIX
+<U0037> /xf7 DIGIT SEVEN
+<U0038> /xf8 DIGIT EIGHT
+<U0039> /xf9 DIGIT NINE
+<U00B3> /xfa SUPERSCRIPT THREE
+<U00DB> /xfb LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U00DC> /xfc LATIN CAPITAL LETTER U WITH DIAERESIS
+<U00D9> /xfd LATIN CAPITAL LETTER U WITH GRAVE
+<U00DA> /xfe LATIN CAPITAL LETTER U WITH ACUTE
+<U009F> /xff <control>
+END CHARMAP
diff --git a/localedata/charmaps/IBM856 b/localedata/charmaps/IBM856
new file mode 100644
index 0000000..8499cbc
--- /dev/null
+++ b/localedata/charmaps/IBM856
@@ -0,0 +1,223 @@
+<code_set_name> IBM856
+<comment_char> %
+<escape_char> /
+
+% alias CP856
+% alias 856
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001C> /x1a <control>
+<U001B> /x1b <control>
+<U007F> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U001A> /x7f <control>
+<U05D0> /x80 HEBREW LETTER ALEF
+<U05D1> /x81 HEBREW LETTER BET
+<U05D2> /x82 HEBREW LETTER GIMEL
+<U05D3> /x83 HEBREW LETTER DALET
+<U05D4> /x84 HEBREW LETTER HE
+<U05D5> /x85 HEBREW LETTER VAV
+<U05D6> /x86 HEBREW LETTER ZAYIN
+<U05D7> /x87 HEBREW LETTER HET
+<U05D8> /x88 HEBREW LETTER TET
+<U05D9> /x89 HEBREW LETTER YOD
+<U05DA> /x8a HEBREW LETTER FINAL KAF
+<U05DB> /x8b HEBREW LETTER KAF
+<U05DC> /x8c HEBREW LETTER LAMED
+<U05DD> /x8d HEBREW LETTER FINAL MEM
+<U05DE> /x8e HEBREW LETTER MEM
+<U05DF> /x8f HEBREW LETTER FINAL NUN
+<U05E0> /x90 HEBREW LETTER NUN
+<U05E1> /x91 HEBREW LETTER SAMEKH
+<U05E2> /x92 HEBREW LETTER AYIN
+<U05E3> /x93 HEBREW LETTER FINAL PE
+<U05E4> /x94 HEBREW LETTER PE
+<U05E5> /x95 HEBREW LETTER FINAL TSADI
+<U05E6> /x96 HEBREW LETTER TSADI
+<U05E7> /x97 HEBREW LETTER QOF
+<U05E8> /x98 HEBREW LETTER RESH
+<U05E9> /x99 HEBREW LETTER SHIN
+<U05EA> /x9a HEBREW LETTER TAV
+<U00A3> /x9c POUND SIGN
+<U00D7> /x9e MULTIPLICATION SIGN
+<U00AE> /xa9 REGISTERED SIGN
+<U00AC> /xaa NOT SIGN
+<U00BD> /xab VULGAR FRACTION ONE HALF
+<U00BC> /xac VULGAR FRACTION ONE QUARTER
+<U00AB> /xae LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00BB> /xaf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U2591> /xb0 LIGHT SHADE
+<U2592> /xb1 MEDIUM SHADE
+<U2593> /xb2 DARK SHADE
+<U2502> /xb3 BOX DRAWINGS LIGHT VERTICAL
+<U2524> /xb4 BOX DRAWINGS LIGHT VERTICAL AND LEFT
+<U00A9> /xb8 COPYRIGHT SIGN
+<U2563> /xb9 BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+<U2551> /xba BOX DRAWINGS DOUBLE VERTICAL
+<U2557> /xbb BOX DRAWINGS DOUBLE DOWN AND LEFT
+<U255D> /xbc BOX DRAWINGS DOUBLE UP AND LEFT
+<U00A2> /xbd CENT SIGN
+<U00A5> /xbe YEN SIGN
+<U2510> /xbf BOX DRAWINGS LIGHT DOWN AND LEFT
+<U2514> /xc0 BOX DRAWINGS LIGHT UP AND RIGHT
+<U2534> /xc1 BOX DRAWINGS LIGHT UP AND HORIZONTAL
+<U252C> /xc2 BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+<U251C> /xc3 BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+<U2500> /xc4 BOX DRAWINGS LIGHT HORIZONTAL
+<U253C> /xc5 BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+<U255A> /xc8 BOX DRAWINGS DOUBLE UP AND RIGHT
+<U2554> /xc9 BOX DRAWINGS DOUBLE DOWN AND RIGHT
+<U2569> /xca BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+<U2566> /xcb BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+<U2560> /xcc BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+<U2550> /xcd BOX DRAWINGS DOUBLE HORIZONTAL
+<U256C> /xce BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+<U00A4> /xcf CURRENCY SIGN
+<U2518> /xd9 BOX DRAWINGS LIGHT UP AND LEFT
+<U250C> /xda BOX DRAWINGS LIGHT DOWN AND RIGHT
+<U2588> /xdb FULL BLOCK
+<U2584> /xdc LOWER HALF BLOCK
+<U00A6> /xdd BROKEN BAR
+<U2580> /xdf UPPER HALF BLOCK
+<U00B5> /xe6 MICRO SIGN
+<U203E> /xee OVERLINE
+<U00B4> /xef ACUTE ACCENT
+<U00AD> /xf0 SOFT HYPHEN
+<U00B1> /xf1 PLUS-MINUS SIGN
+<U2017> /xf2 DOUBLE LOW LINE
+<U00BE> /xf3 VULGAR FRACTION THREE QUARTERS
+<U00B6> /xf4 PILCROW SIGN
+<U00A7> /xf5 SECTION SIGN
+<U00F7> /xf6 DIVISION SIGN
+<U00B8> /xf7 CEDILLA
+<U00B0> /xf8 DEGREE SIGN
+<U00A8> /xf9 DIAERESIS
+<U2022> /xfa BULLET
+<U00B9> /xfb SUPERSCRIPT ONE
+<U00B3> /xfc SUPERSCRIPT THREE
+<U00B2> /xfd SUPERSCRIPT TWO
+<U25A0> /xfe BLACK SQUARE
+<U00A0> /xff NO-BREAK SPACE
+END CHARMAP
diff --git a/localedata/charmaps/IBM922 b/localedata/charmaps/IBM922
new file mode 100644
index 0000000..6ed0093
--- /dev/null
+++ b/localedata/charmaps/IBM922
@@ -0,0 +1,263 @@
+<code_set_name> IBM922
+<comment_char> %
+<escape_char> /
+
+% alias CP922
+CHARMAP
+<U0000> /x00 <control>
+<U0001> /x01 <control>
+<U0002> /x02 <control>
+<U0003> /x03 <control>
+<U0004> /x04 <control>
+<U0005> /x05 <control>
+<U0006> /x06 <control>
+<U0007> /x07 <control>
+<U0008> /x08 <control>
+<U0009> /x09 <control>
+<U000A> /x0a <control>
+<U000B> /x0b <control>
+<U000C> /x0c <control>
+<U000D> /x0d <control>
+<U000E> /x0e <control>
+<U000F> /x0f <control>
+<U0010> /x10 <control>
+<U0011> /x11 <control>
+<U0012> /x12 <control>
+<U0013> /x13 <control>
+<U0014> /x14 <control>
+<U0015> /x15 <control>
+<U0016> /x16 <control>
+<U0017> /x17 <control>
+<U0018> /x18 <control>
+<U0019> /x19 <control>
+<U001A> /x1a <control>
+<U001B> /x1b <control>
+<U001C> /x1c <control>
+<U001D> /x1d <control>
+<U001E> /x1e <control>
+<U001F> /x1f <control>
+<U0020> /x20 SPACE
+<U0021> /x21 EXCLAMATION MARK
+<U0022> /x22 QUOTATION MARK
+<U0023> /x23 NUMBER SIGN
+<U0024> /x24 DOLLAR SIGN
+<U0025> /x25 PERCENT SIGN
+<U0026> /x26 AMPERSAND
+<U0027> /x27 APOSTROPHE
+<U0028> /x28 LEFT PARENTHESIS
+<U0029> /x29 RIGHT PARENTHESIS
+<U002A> /x2a ASTERISK
+<U002B> /x2b PLUS SIGN
+<U002C> /x2c COMMA
+<U002D> /x2d HYPHEN-MINUS
+<U002E> /x2e FULL STOP
+<U002F> /x2f SOLIDUS
+<U0030> /x30 DIGIT ZERO
+<U0031> /x31 DIGIT ONE
+<U0032> /x32 DIGIT TWO
+<U0033> /x33 DIGIT THREE
+<U0034> /x34 DIGIT FOUR
+<U0035> /x35 DIGIT FIVE
+<U0036> /x36 DIGIT SIX
+<U0037> /x37 DIGIT SEVEN
+<U0038> /x38 DIGIT EIGHT
+<U0039> /x39 DIGIT NINE
+<U003A> /x3a COLON
+<U003B> /x3b SEMICOLON
+<U003C> /x3c LESS-THAN SIGN
+<U003D> /x3d EQUALS SIGN
+<U003E> /x3e GREATER-THAN SIGN
+<U003F> /x3f QUESTION MARK
+<U0040> /x40 COMMERCIAL AT
+<U0041> /x41 LATIN CAPITAL LETTER A
+<U0042> /x42 LATIN CAPITAL LETTER B
+<U0043> /x43 LATIN CAPITAL LETTER C
+<U0044> /x44 LATIN CAPITAL LETTER D
+<U0045> /x45 LATIN CAPITAL LETTER E
+<U0046> /x46 LATIN CAPITAL LETTER F
+<U0047> /x47 LATIN CAPITAL LETTER G
+<U0048> /x48 LATIN CAPITAL LETTER H
+<U0049> /x49 LATIN CAPITAL LETTER I
+<U004A> /x4a LATIN CAPITAL LETTER J
+<U004B> /x4b LATIN CAPITAL LETTER K
+<U004C> /x4c LATIN CAPITAL LETTER L
+<U004D> /x4d LATIN CAPITAL LETTER M
+<U004E> /x4e LATIN CAPITAL LETTER N
+<U004F> /x4f LATIN CAPITAL LETTER O
+<U0050> /x50 LATIN CAPITAL LETTER P
+<U0051> /x51 LATIN CAPITAL LETTER Q
+<U0052> /x52 LATIN CAPITAL LETTER R
+<U0053> /x53 LATIN CAPITAL LETTER S
+<U0054> /x54 LATIN CAPITAL LETTER T
+<U0055> /x55 LATIN CAPITAL LETTER U
+<U0056> /x56 LATIN CAPITAL LETTER V
+<U0057> /x57 LATIN CAPITAL LETTER W
+<U0058> /x58 LATIN CAPITAL LETTER X
+<U0059> /x59 LATIN CAPITAL LETTER Y
+<U005A> /x5a LATIN CAPITAL LETTER Z
+<U005B> /x5b LEFT SQUARE BRACKET
+<U005C> /x5c REVERSE SOLIDUS
+<U005D> /x5d RIGHT SQUARE BRACKET
+<U005E> /x5e CIRCUMFLEX ACCENT
+<U005F> /x5f LOW LINE
+<U0060> /x60 GRAVE ACCENT
+<U0061> /x61 LATIN SMALL LETTER A
+<U0062> /x62 LATIN SMALL LETTER B
+<U0063> /x63 LATIN SMALL LETTER C
+<U0064> /x64 LATIN SMALL LETTER D
+<U0065> /x65 LATIN SMALL LETTER E
+<U0066> /x66 LATIN SMALL LETTER F
+<U0067> /x67 LATIN SMALL LETTER G
+<U0068> /x68 LATIN SMALL LETTER H
+<U0069> /x69 LATIN SMALL LETTER I
+<U006A> /x6a LATIN SMALL LETTER J
+<U006B> /x6b LATIN SMALL LETTER K
+<U006C> /x6c LATIN SMALL LETTER L
+<U006D> /x6d LATIN SMALL LETTER M
+<U006E> /x6e LATIN SMALL LETTER N
+<U006F> /x6f LATIN SMALL LETTER O
+<U0070> /x70 LATIN SMALL LETTER P
+<U0071> /x71 LATIN SMALL LETTER Q
+<U0072> /x72 LATIN SMALL LETTER R
+<U0073> /x73 LATIN SMALL LETTER S
+<U0074> /x74 LATIN SMALL LETTER T
+<U0075> /x75 LATIN SMALL LETTER U
+<U0076> /x76 LATIN SMALL LETTER V
+<U0077> /x77 LATIN SMALL LETTER W
+<U0078> /x78 LATIN SMALL LETTER X
+<U0079> /x79 LATIN SMALL LETTER Y
+<U007A> /x7a LATIN SMALL LETTER Z
+<U007B> /x7b LEFT CURLY BRACKET
+<U007C> /x7c VERTICAL LINE
+<U007D> /x7d RIGHT CURLY BRACKET
+<U007E> /x7e TILDE
+<U007F> /x7f <control>
+<U0080> /x80 <control>
+<U0081> /x81 <control>
+<U0082> /x82 <control>
+<U0083> /x83 <control>
+<U0084> /x84 <control>
+<U0085> /x85 <control>
+<U0086> /x86 <control>
+<U0087> /x87 <control>
+<U0088> /x88 <control>
+<U0089> /x89 <control>
+<U008A> /x8a <control>
+<U008B> /x8b <control>
+<U008C> /x8c <control>
+<U008D> /x8d <control>
+<U008E> /x8e <control>
+<U008F> /x8f <control>
+<U0090> /x90 <control>
+<U0091> /x91 <control>
+<U0092> /x92 <control>
+<U0093> /x93 <control>
+<U0094> /x94 <control>
+<U0095> /x95 <control>
+<U0096> /x96 <control>
+<U0097> /x97 <control>
+<U0098> /x98 <control>
+<U0099> /x99 <control>
+<U009A> /x9a <control>
+<U009B> /x9b <control>
+<U009C> /x9c <control>
+<U009D> /x9d <control>
+<U009E> /x9e <control>
+<U009F> /x9f <control>
+<U00A0> /xa0 NO-BREAK SPACE
+<U00A1> /xa1 INVERTED EXCLAMATION MARK
+<U00A2> /xa2 CENT SIGN
+<U00A3> /xa3 POUND SIGN
+<U00A4> /xa4 CURRENCY SIGN
+<U00A5> /xa5 YEN SIGN
+<U00A6> /xa6 BROKEN BAR
+<U00A7> /xa7 SECTION SIGN
+<U00A8> /xa8 DIAERESIS
+<U00A9> /xa9 COPYRIGHT SIGN
+<U00AA> /xaa FEMININE ORDINAL INDICATOR
+<U00AB> /xab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00AC> /xac NOT SIGN
+<U00AD> /xad SOFT HYPHEN
+<U00AE> /xae REGISTERED SIGN
+<U00AF> /xaf MACRON
+<U00B0> /xb0 DEGREE SIGN
+<U00B1> /xb1 PLUS-MINUS SIGN
+<U00B2> /xb2 SUPERSCRIPT TWO
+<U00B3> /xb3 SUPERSCRIPT THREE
+<U00B4> /xb4 ACUTE ACCENT
+<U00B5> /xb5 MICRO SIGN
+<U00B6> /xb6 PILCROW SIGN
+<U00B7> /xb7 MIDDLE DOT
+<U00B8> /xb8 CEDILLA
+<U00B9> /xb9 SUPERSCRIPT ONE
+<U00BA> /xba MASCULINE ORDINAL INDICATOR
+<U00BB> /xbb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00BC> /xbc VULGAR FRACTION ONE QUARTER
+<U00BD> /xbd VULGAR FRACTION ONE HALF
+<U00BE> /xbe VULGAR FRACTION THREE QUARTERS
+<U00BF> /xbf INVERTED QUESTION MARK
+<U00C0> /xc0 LATIN CAPITAL LETTER A WITH GRAVE
+<U00C1> /xc1 LATIN CAPITAL LETTER A WITH ACUTE
+<U00C2> /xc2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<U00C3> /xc3 LATIN CAPITAL LETTER A WITH TILDE
+<U00C4> /xc4 LATIN CAPITAL LETTER A WITH DIAERESIS
+<U00C5> /xc5 LATIN CAPITAL LETTER A WITH RING ABOVE
+<U00C6> /xc6 LATIN CAPITAL LETTER AE
+<U00C7> /xc7 LATIN CAPITAL LETTER C WITH CEDILLA
+<U00C8> /xc8 LATIN CAPITAL LETTER E WITH GRAVE
+<U00C9> /xc9 LATIN CAPITAL LETTER E WITH ACUTE
+<U00CA> /xca LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<U00CB> /xcb LATIN CAPITAL LETTER E WITH DIAERESIS
+<U00CC> /xcc LATIN CAPITAL LETTER I WITH GRAVE
+<U00CD> /xcd LATIN CAPITAL LETTER I WITH ACUTE
+<U00CE> /xce LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<U00CF> /xcf LATIN CAPITAL LETTER I WITH DIAERESIS
+<U0160> /xd0 LATIN CAPITAL LETTER S WITH CARON
+<U00D1> /xd1 LATIN CAPITAL LETTER N WITH TILDE
+<U00D2> /xd2 LATIN CAPITAL LETTER O WITH GRAVE
+<U00D3> /xd3 LATIN CAPITAL LETTER O WITH ACUTE
+<U00D4> /xd4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+<U00D5> /xd5 LATIN CAPITAL LETTER O WITH TILDE
+<U00D6> /xd6 LATIN CAPITAL LETTER O WITH DIAERESIS
+<U00D7> /xd7 MULTIPLICATION SIGN
+<U00D8> /xd8 LATIN CAPITAL LETTER O WITH STROKE
+<U00D9> /xd9 LATIN CAPITAL LETTER U WITH GRAVE
+<U00DA> /xda LATIN CAPITAL LETTER U WITH ACUTE
+<U00DB> /xdb LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U00DC> /xdc LATIN CAPITAL LETTER U WITH DIAERESIS
+<U00DD> /xdd LATIN CAPITAL LETTER Y WITH ACUTE
+<U017D> /xde LATIN CAPITAL LETTER Z WITH CARON
+<U00DF> /xdf LATIN SMALL LETTER SHARP S
+<U00E0> /xe0 LATIN SMALL LETTER A WITH GRAVE
+<U00E1> /xe1 LATIN SMALL LETTER A WITH ACUTE
+<U00E2> /xe2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+<U00E3> /xe3 LATIN SMALL LETTER A WITH TILDE
+<U00E4> /xe4 LATIN SMALL LETTER A WITH DIAERESIS
+<U00E5> /xe5 LATIN SMALL LETTER A WITH RING ABOVE
+<U00E6> /xe6 LATIN SMALL LETTER AE
+<U00E7> /xe7 LATIN SMALL LETTER C WITH CEDILLA
+<U00E8> /xe8 LATIN SMALL LETTER E WITH GRAVE
+<U00E9> /xe9 LATIN SMALL LETTER E WITH ACUTE
+<U00EA> /xea LATIN SMALL LETTER E WITH CIRCUMFLEX
+<U00EB> /xeb LATIN SMALL LETTER E WITH DIAERESIS
+<U00EC> /xec LATIN SMALL LETTER I WITH GRAVE
+<U00ED> /xed LATIN SMALL LETTER I WITH ACUTE
+<U00EE> /xee LATIN SMALL LETTER I WITH CIRCUMFLEX
+<U00EF> /xef LATIN SMALL LETTER I WITH DIAERESIS
+<U0161> /xf0 LATIN SMALL LETTER S WITH CARON
+<U00F1> /xf1 LATIN SMALL LETTER N WITH TILDE
+<U00F2> /xf2 LATIN SMALL LETTER O WITH GRAVE
+<U00F3> /xf3 LATIN SMALL LETTER O WITH ACUTE
+<U00F4> /xf4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+<U00F5> /xf5 LATIN SMALL LETTER O WITH TILDE
+<U00F6> /xf6 LATIN SMALL LETTER O WITH DIAERESIS
+<U00F7> /xf7 DIVISION SIGN
+<U00F8> /xf8 LATIN SMALL LETTER O WITH STROKE
+<U00F9> /xf9 LATIN SMALL LETTER U WITH GRAVE
+<U00FA> /xfa LATIN SMALL LETTER U WITH ACUTE
+<U00FB> /xfb LATIN SMALL LETTER U WITH CIRCUMFLEX
+<U00FC> /xfc LATIN SMALL LETTER U WITH DIAERESIS
+<U00FD> /xfd LATIN SMALL LETTER Y WITH ACUTE
+<U017E> /xfe LATIN SMALL LETTER Z WITH CARON
+<U00FF> /xff LATIN SMALL LETTER Y WITH DIAERESIS
+END CHARMAP
diff --git a/time/tst-mktime.c b/time/tst-mktime.c
index 7ce1d45..8bc7631 100644
--- a/time/tst-mktime.c
+++ b/time/tst-mktime.c
@@ -1,3 +1,4 @@
+#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
@@ -30,7 +31,7 @@ main (void)
result = strcmp (daybuf, "Wednesday") != 0;
}
- setenv ("TZ", "EST", 1);
+ setenv ("TZ", "EST+5", 1);
#define EVENING69 1 * 60 * 60 + 2 * 60 + 29
t = EVENING69;
tm = localtime (&t);
@@ -45,14 +46,14 @@ main (void)
t = mktime (&time_str);
if (t != EVENING69)
{
- printf ("mktime returned %ld, expected %ld\n",
+ printf ("mktime returned %ld, expected %d\n",
(long) t, EVENING69);
result = 1;
}
else
(void) puts ("Dec 31 1969 EST test passed");
- setenv ("TZ", "CET", 1);
+ setenv ("TZ", "CET-1", 1);
t = mktime (&time_str);
if (t != (time_t) -1)
{