aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--iconvdata/Makefile6
-rw-r--r--iconvdata/cp874.h313
-rw-r--r--iconvdata/gconv-modules7
-rw-r--r--iconvdata/ibm874.c (renamed from iconvdata/cp874.c)0
-rw-r--r--localedata/ChangeLog8
-rw-r--r--localedata/charmaps/IBM864684
-rw-r--r--localedata/charmaps/IBM86510
-rw-r--r--localedata/charmaps/IBM8696
-rw-r--r--localedata/charmaps/IBM874320
10 files changed, 698 insertions, 664 deletions
diff --git a/ChangeLog b/ChangeLog
index 8691c9f7ad..7064bf95ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+1999-04-17 Ulrich Drepper <drepper@cygnus.com>
+
+ * iconvdata/gconv-modules: Rename CP874 to IBM874.
+ * iconvdata/Makefile: Likewise.
+ * iconvdata/cp874.h: Removed.
+ * iconvdata/cp874.c: Renamed to...
+ * iconvdata/ibm874.c: ...this.
+
1999-04-16 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/bits/types.h: Correct
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 30ec2e16d5..4c77568619 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -32,7 +32,7 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT \
EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423 \
IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047 \
- CP874 CP737 CP775 ISO-2022-KR \
+ IBM874 CP737 CP775 ISO-2022-KR \
KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278 \
IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 \
IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861 \
@@ -84,7 +84,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \
TESTS $(wildcard testdata/*) run-iconv-test.sh \
8bit-generic.c 8bit-gap.c \
ansi_x3.110.c asmo_449.c baltic.c big5.c cp737.c cp737.h \
- cp775.c cp775.h cp874.c cp874.h cns11643.c cns11643.h \
+ cp775.c cp775.h ibm874.c cns11643.c cns11643.h \
cns11643l1.c cns11643l1.h cp1250.c cp1251.c cp1252.c cp1253.c \
cp1254.c cp1255.c cp1256.c cp1257.c cp1258.c \
csn_369103.c cwi.c dec-mcs.c ebcdic-at-de.c ebcdic-at-de-a.c \
@@ -151,7 +151,7 @@ gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \
inis-cyrillic iso_2033 iso_5427 iso_5427-ext \
iso_5428 iso_10367-box mac-is nats-dano nats-sefi \
iso8859-13 iso8859-14 iso8859-15 mac-uk sami-ws2 \
- iso-ir-197 cp1258 tis-620 koi8-u
+ iso-ir-197 cp1258 tis-620 koi8-u ibm874
gen-special-modules := iso8859-7jp
diff --git a/iconvdata/cp874.h b/iconvdata/cp874.h
deleted file mode 100644
index 85f0eaea31..0000000000
--- a/iconvdata/cp874.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/* Mapping table for CP874.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* Table to map to UCS4. It can be generated using
- (I know, this is a useless use of cat, but the linebreak requires it):
-
- cat .../unix/mappings/vendors/micsft/pc/cp874.txt |
- sed -e 's/\(0x..\)[[:space:]]*\(0x....\).*$/ [\1] = \2,/p' -e d
-
- */
-static const uint32_t to_ucs4[256] =
-{
- [0x00] = 0x0000,
- [0x01] = 0x0001,
- [0x02] = 0x0002,
- [0x03] = 0x0003,
- [0x04] = 0x0004,
- [0x05] = 0x0005,
- [0x06] = 0x0006,
- [0x07] = 0x0007,
- [0x08] = 0x0008,
- [0x09] = 0x0009,
- [0x0a] = 0x000a,
- [0x0b] = 0x000b,
- [0x0c] = 0x000c,
- [0x0d] = 0x000d,
- [0x0e] = 0x000e,
- [0x0f] = 0x000f,
- [0x10] = 0x0010,
- [0x11] = 0x0011,
- [0x12] = 0x0012,
- [0x13] = 0x0013,
- [0x14] = 0x0014,
- [0x15] = 0x0015,
- [0x16] = 0x0016,
- [0x17] = 0x0017,
- [0x18] = 0x0018,
- [0x19] = 0x0019,
- [0x1a] = 0x001a,
- [0x1b] = 0x001b,
- [0x1c] = 0x001c,
- [0x1d] = 0x001d,
- [0x1e] = 0x001e,
- [0x1f] = 0x001f,
- [0x20] = 0x0020,
- [0x21] = 0x0021,
- [0x22] = 0x0022,
- [0x23] = 0x0023,
- [0x24] = 0x0024,
- [0x25] = 0x0025,
- [0x26] = 0x0026,
- [0x27] = 0x0027,
- [0x28] = 0x0028,
- [0x29] = 0x0029,
- [0x2a] = 0x002a,
- [0x2b] = 0x002b,
- [0x2c] = 0x002c,
- [0x2d] = 0x002d,
- [0x2e] = 0x002e,
- [0x2f] = 0x002f,
- [0x30] = 0x0030,
- [0x31] = 0x0031,
- [0x32] = 0x0032,
- [0x33] = 0x0033,
- [0x34] = 0x0034,
- [0x35] = 0x0035,
- [0x36] = 0x0036,
- [0x37] = 0x0037,
- [0x38] = 0x0038,
- [0x39] = 0x0039,
- [0x3a] = 0x003a,
- [0x3b] = 0x003b,
- [0x3c] = 0x003c,
- [0x3d] = 0x003d,
- [0x3e] = 0x003e,
- [0x3f] = 0x003f,
- [0x40] = 0x0040,
- [0x41] = 0x0041,
- [0x42] = 0x0042,
- [0x43] = 0x0043,
- [0x44] = 0x0044,
- [0x45] = 0x0045,
- [0x46] = 0x0046,
- [0x47] = 0x0047,
- [0x48] = 0x0048,
- [0x49] = 0x0049,
- [0x4a] = 0x004a,
- [0x4b] = 0x004b,
- [0x4c] = 0x004c,
- [0x4d] = 0x004d,
- [0x4e] = 0x004e,
- [0x4f] = 0x004f,
- [0x50] = 0x0050,
- [0x51] = 0x0051,
- [0x52] = 0x0052,
- [0x53] = 0x0053,
- [0x54] = 0x0054,
- [0x55] = 0x0055,
- [0x56] = 0x0056,
- [0x57] = 0x0057,
- [0x58] = 0x0058,
- [0x59] = 0x0059,
- [0x5a] = 0x005a,
- [0x5b] = 0x005b,
- [0x5c] = 0x005c,
- [0x5d] = 0x005d,
- [0x5e] = 0x005e,
- [0x5f] = 0x005f,
- [0x60] = 0x0060,
- [0x61] = 0x0061,
- [0x62] = 0x0062,
- [0x63] = 0x0063,
- [0x64] = 0x0064,
- [0x65] = 0x0065,
- [0x66] = 0x0066,
- [0x67] = 0x0067,
- [0x68] = 0x0068,
- [0x69] = 0x0069,
- [0x6a] = 0x006a,
- [0x6b] = 0x006b,
- [0x6c] = 0x006c,
- [0x6d] = 0x006d,
- [0x6e] = 0x006e,
- [0x6f] = 0x006f,
- [0x70] = 0x0070,
- [0x71] = 0x0071,
- [0x72] = 0x0072,
- [0x73] = 0x0073,
- [0x74] = 0x0074,
- [0x75] = 0x0075,
- [0x76] = 0x0076,
- [0x77] = 0x0077,
- [0x78] = 0x0078,
- [0x79] = 0x0079,
- [0x7a] = 0x007a,
- [0x7b] = 0x007b,
- [0x7c] = 0x007c,
- [0x7d] = 0x007d,
- [0x7e] = 0x007e,
- [0x7f] = 0x007f,
- [0x80] = 0x20ac,
- [0x85] = 0x2026,
- [0x91] = 0x2018,
- [0x92] = 0x2019,
- [0x93] = 0x201c,
- [0x94] = 0x201d,
- [0x95] = 0x2022,
- [0x96] = 0x2013,
- [0x97] = 0x2014,
- [0xa0] = 0x00a0,
- [0xa1] = 0x0e01,
- [0xa2] = 0x0e02,
- [0xa3] = 0x0e03,
- [0xa4] = 0x0e04,
- [0xa5] = 0x0e05,
- [0xa6] = 0x0e06,
- [0xa7] = 0x0e07,
- [0xa8] = 0x0e08,
- [0xa9] = 0x0e09,
- [0xaa] = 0x0e0a,
- [0xab] = 0x0e0b,
- [0xac] = 0x0e0c,
- [0xad] = 0x0e0d,
- [0xae] = 0x0e0e,
- [0xaf] = 0x0e0f,
- [0xb0] = 0x0e10,
- [0xb1] = 0x0e11,
- [0xb2] = 0x0e12,
- [0xb3] = 0x0e13,
- [0xb4] = 0x0e14,
- [0xb5] = 0x0e15,
- [0xb6] = 0x0e16,
- [0xb7] = 0x0e17,
- [0xb8] = 0x0e18,
- [0xb9] = 0x0e19,
- [0xba] = 0x0e1a,
- [0xbb] = 0x0e1b,
- [0xbc] = 0x0e1c,
- [0xbd] = 0x0e1d,
- [0xbe] = 0x0e1e,
- [0xbf] = 0x0e1f,
- [0xc0] = 0x0e20,
- [0xc1] = 0x0e21,
- [0xc2] = 0x0e22,
- [0xc3] = 0x0e23,
- [0xc4] = 0x0e24,
- [0xc5] = 0x0e25,
- [0xc6] = 0x0e26,
- [0xc7] = 0x0e27,
- [0xc8] = 0x0e28,
- [0xc9] = 0x0e29,
- [0xca] = 0x0e2a,
- [0xcb] = 0x0e2b,
- [0xcc] = 0x0e2c,
- [0xcd] = 0x0e2d,
- [0xce] = 0x0e2e,
- [0xcf] = 0x0e2f,
- [0xd0] = 0x0e30,
- [0xd1] = 0x0e31,
- [0xd2] = 0x0e32,
- [0xd3] = 0x0e33,
- [0xd4] = 0x0e34,
- [0xd5] = 0x0e35,
- [0xd6] = 0x0e36,
- [0xd7] = 0x0e37,
- [0xd8] = 0x0e38,
- [0xd9] = 0x0e39,
- [0xda] = 0x0e3a,
- [0xdf] = 0x0e3f,
- [0xe0] = 0x0e40,
- [0xe1] = 0x0e41,
- [0xe2] = 0x0e42,
- [0xe3] = 0x0e43,
- [0xe4] = 0x0e44,
- [0xe5] = 0x0e45,
- [0xe6] = 0x0e46,
- [0xe7] = 0x0e47,
- [0xe8] = 0x0e48,
- [0xe9] = 0x0e49,
- [0xea] = 0x0e4a,
- [0xeb] = 0x0e4b,
- [0xec] = 0x0e4c,
- [0xed] = 0x0e4d,
- [0xee] = 0x0e4e,
- [0xef] = 0x0e4f,
- [0xf0] = 0x0e50,
- [0xf1] = 0x0e51,
- [0xf2] = 0x0e52,
- [0xf3] = 0x0e53,
- [0xf4] = 0x0e54,
- [0xf5] = 0x0e55,
- [0xf6] = 0x0e56,
- [0xf7] = 0x0e57,
- [0xf8] = 0x0e58,
- [0xf9] = 0x0e59,
- [0xfa] = 0x0e5a,
- [0xfb] = 0x0e5b,
-};
-
-
-/* Index table for mapping from UCS4. The table can be generated with
-
- cat .../unix/mappings/vendors/micsft/pc/cp874.txt |
- awk '/^0x/ { if (NF > 2) print $2; }' | perl gap.pl
-
- where gap.pl is the file in this directory.
- */
-static struct gap from_idx[] =
-{
- { start: 0x0000, end: 0x007f, idx: 0 },
- { start: 0x00a0, end: 0x00a0, idx: -32 },
- { start: 0x0e01, end: 0x0e5b, idx: -3456 },
- { start: 0x2013, end: 0x2026, idx: -7991 },
- { start: 0xffff, end: 0xffff, idx: 0 }
-};
-
-/* Table accessed through above index table. It can be generated using:
-
- cat .../unix/mappings/vendors/micsft/pc/cp874.txt |
- awk '/^0x/ { if (NF > 2) print $2, $1; }' | perl gaptab.pl
-
- where gaptab.pl is the file in this directory.
- */
-static const char from_ucs4[] =
-{
- '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07',
- '\x08', '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f',
- '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17',
- '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f',
- '\x20', '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27',
- '\x28', '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f',
- '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37',
- '\x38', '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f',
- '\x40', '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47',
- '\x48', '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f',
- '\x50', '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57',
- '\x58', '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f',
- '\x60', '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67',
- '\x68', '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f',
- '\x70', '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77',
- '\x78', '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x7e', '\x7f',
- '\xa0', '\xa1', '\xa2', '\xa3', '\xa4', '\xa5', '\xa6', '\xa7',
- '\xa8', '\xa9', '\xaa', '\xab', '\xac', '\xad', '\xae', '\xaf',
- '\xb0', '\xb1', '\xb2', '\xb3', '\xb4', '\xb5', '\xb6', '\xb7',
- '\xb8', '\xb9', '\xba', '\xbb', '\xbc', '\xbd', '\xbe', '\xbf',
- '\xc0', '\xc1', '\xc2', '\xc3', '\xc4', '\xc5', '\xc6', '\xc7',
- '\xc8', '\xc9', '\xca', '\xcb', '\xcc', '\xcd', '\xce', '\xcf',
- '\xd0', '\xd1', '\xd2', '\xd3', '\xd4', '\xd5', '\xd6', '\xd7',
- '\xd8', '\xd9', '\xda', '\x00', '\x00', '\x00', '\x00', '\xdf',
- '\xe0', '\xe1', '\xe2', '\xe3', '\xe4', '\xe5', '\xe6', '\xe7',
- '\xe8', '\xe9', '\xea', '\xeb', '\xec', '\xed', '\xee', '\xef',
- '\xf0', '\xf1', '\xf2', '\xf3', '\xf4', '\xf5', '\xf6', '\xf7',
- '\xf8', '\xf9', '\xfa', '\xfb', '\x96', '\x97', '\x00', '\x00',
- '\x00', '\x91', '\x92', '\x00', '\x00', '\x93', '\x94', '\x00',
- '\x00', '\x00', '\x00', '\x95', '\x00', '\x00', '\x00', '\x85',
-};
diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules
index b01a5b3239..917027c49a 100644
--- a/iconvdata/gconv-modules
+++ b/iconvdata/gconv-modules
@@ -934,9 +934,10 @@ module CP1258// INTERNAL CP1258 1
module INTERNAL CP1258// CP1258 1
# from to module cost
-alias 874// CP874//
-module CP874// INTERNAL CP874 1
-module INTERNAL CP874// CP874 1
+alias 874// IBM874//
+alias CP874// IBM874//
+module IBM874// INTERNAL IBM874 1
+module INTERNAL IBM874// IBM874 1
# from to module cost
module CP737// INTERNAL CP737 1
diff --git a/iconvdata/cp874.c b/iconvdata/ibm874.c
index f82343b6e4..f82343b6e4 100644
--- a/iconvdata/cp874.c
+++ b/iconvdata/ibm874.c
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 1438ebcf3e..db05290326 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,5 +1,13 @@
1999-04-16 Ulrich Drepper <drepper@cygnus.com>
+ * charmaps/IBM874: New file.
+
+ * charmaps/IBM869: Correct entries 8b, 8e, and ef.
+
+ * charmaps/IBM865: Correct entries af, ed, f8, f9, and fa.
+
+ * charmaps/IBM864: Major update from Unicode data.
+
* charmaps/IBM863: Correct entries 8d, ed, f8, f9, and fa.
* charmaps/IBM862: Correct entries 9d, 9f, a9, f9, and fa.
diff --git a/localedata/charmaps/IBM864 b/localedata/charmaps/IBM864
index dab0a2f9c5..c647ce9164 100644
--- a/localedata/charmaps/IBM864
+++ b/localedata/charmaps/IBM864
@@ -1,344 +1,354 @@
<code_set_name> IBM864
<comment_char> %
<escape_char> /
-% version: 1.0
-% repertoiremap: mnemonic,ds
-% source: IBM Keyboard layouts and code pages, PN 07G4586 June 1991
+% automatically generated from the charDB
% alias CP864
CHARMAP
-<NU> /x00 <U0000> NULL (NUL)
-<SH> /x01 <U0001> START OF HEADING (SOH)
-<SX> /x02 <U0002> START OF TEXT (STX)
-<EX> /x03 <U0003> END OF TEXT (ETX)
-<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
-<EQ> /x05 <U0005> ENQUIRY (ENQ)
-<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
-<BL> /x07 <U0007> BELL (BEL)
-<BS> /x08 <U0008> BACKSPACE (BS)
-<HT> /x09 <U0009> CHARACTER TABULATION (HT)
-<LF> /x0A <U000A> LINE FEED (LF)
-<VT> /x0B <U000B> LINE TABULATION (VT)
-<FF> /x0C <U000C> FORM FEED (FF)
-<CR> /x0D <U000D> CARRIAGE RETURN (CR)
-<SO> /x0E <U000E> SHIFT OUT (SO)
-<SI> /x0F <U000F> SHIFT IN (SI)
-<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
-<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
-<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
-<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
-<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
-<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
-<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
-<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
-<CN> /x18 <U0018> CANCEL (CAN)
-<EM> /x19 <U0019> END OF MEDIUM (EM)
-<SB> /x1A <U001A> SUBSTITUTE (SUB)
-<EC> /x1B <U001B> ESCAPE (ESC)
-<FS> /x1C <U001C> FILE SEPARATOR (IS4)
-<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
-<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
-<US> /x1F <U001F> UNIT SEPARATOR (IS1)
-<SP> /x20 <U0020> SPACE
-<!> /x21 <U0021> EXCLAMATION MARK
-<"> /x22 <U0022> QUOTATION MARK
-<Nb> /x23 <U0023> NUMBER SIGN
-<DO> /x24 <U0024> DOLLAR SIGN
-<%> /x25 <U0025> PERCENT SIGN
-<&> /x26 <U0026> AMPERSAND
-<'> /x27 <U0027> APOSTROPHE
-<(> /x28 <U0028> LEFT PARENTHESIS
-<)> /x29 <U0029> RIGHT PARENTHESIS
-<*> /x2A <U002A> ASTERISK
-<+> /x2B <U002B> PLUS SIGN
-<,> /x2C <U002C> COMMA
-<-> /x2D <U002D> HYPHEN-MINUS
-<.> /x2E <U002E> FULL STOP
-<//> /x2F <U002F> SOLIDUS
-<0> /x30 <U0030> DIGIT ZERO
-<1> /x31 <U0031> DIGIT ONE
-<2> /x32 <U0032> DIGIT TWO
-<3> /x33 <U0033> DIGIT THREE
-<4> /x34 <U0034> DIGIT FOUR
-<5> /x35 <U0035> DIGIT FIVE
-<6> /x36 <U0036> DIGIT SIX
-<7> /x37 <U0037> DIGIT SEVEN
-<8> /x38 <U0038> DIGIT EIGHT
-<9> /x39 <U0039> DIGIT NINE
-<:> /x3A <U003A> COLON
-<;> /x3B <U003B> SEMICOLON
-<<> /x3C <U003C> LESS-THAN SIGN
-<=> /x3D <U003D> EQUALS SIGN
-</>> /x3E <U003E> GREATER-THAN SIGN
-<?> /x3F <U003F> QUESTION MARK
-<At> /x40 <U0040> COMMERCIAL AT
-<A> /x41 <U0041> LATIN CAPITAL LETTER A
-<B> /x42 <U0042> LATIN CAPITAL LETTER B
-<C> /x43 <U0043> LATIN CAPITAL LETTER C
-<D> /x44 <U0044> LATIN CAPITAL LETTER D
-<E> /x45 <U0045> LATIN CAPITAL LETTER E
-<F> /x46 <U0046> LATIN CAPITAL LETTER F
-<G> /x47 <U0047> LATIN CAPITAL LETTER G
-<H> /x48 <U0048> LATIN CAPITAL LETTER H
-<I> /x49 <U0049> LATIN CAPITAL LETTER I
-<J> /x4A <U004A> LATIN CAPITAL LETTER J
-<K> /x4B <U004B> LATIN CAPITAL LETTER K
-<L> /x4C <U004C> LATIN CAPITAL LETTER L
-<M> /x4D <U004D> LATIN CAPITAL LETTER M
-<N> /x4E <U004E> LATIN CAPITAL LETTER N
-<O> /x4F <U004F> LATIN CAPITAL LETTER O
-<P> /x50 <U0050> LATIN CAPITAL LETTER P
-<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
-<R> /x52 <U0052> LATIN CAPITAL LETTER R
-<S> /x53 <U0053> LATIN CAPITAL LETTER S
-<T> /x54 <U0054> LATIN CAPITAL LETTER T
-<U> /x55 <U0055> LATIN CAPITAL LETTER U
-<V> /x56 <U0056> LATIN CAPITAL LETTER V
-<W> /x57 <U0057> LATIN CAPITAL LETTER W
-<X> /x58 <U0058> LATIN CAPITAL LETTER X
-<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
-<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
-<<(> /x5B <U005B> LEFT SQUARE BRACKET
-<////> /x5C <U005C> REVERSE SOLIDUS
-<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
-<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
-<_> /x5F <U005F> LOW LINE
-<'!> /x60 <U0060> GRAVE ACCENT
-<a> /x61 <U0061> LATIN SMALL LETTER A
-<b> /x62 <U0062> LATIN SMALL LETTER B
-<c> /x63 <U0063> LATIN SMALL LETTER C
-<d> /x64 <U0064> LATIN SMALL LETTER D
-<e> /x65 <U0065> LATIN SMALL LETTER E
-<f> /x66 <U0066> LATIN SMALL LETTER F
-<g> /x67 <U0067> LATIN SMALL LETTER G
-<h> /x68 <U0068> LATIN SMALL LETTER H
-<i> /x69 <U0069> LATIN SMALL LETTER I
-<j> /x6A <U006A> LATIN SMALL LETTER J
-<k> /x6B <U006B> LATIN SMALL LETTER K
-<l> /x6C <U006C> LATIN SMALL LETTER L
-<m> /x6D <U006D> LATIN SMALL LETTER M
-<n> /x6E <U006E> LATIN SMALL LETTER N
-<o> /x6F <U006F> LATIN SMALL LETTER O
-<p> /x70 <U0070> LATIN SMALL LETTER P
-<q> /x71 <U0071> LATIN SMALL LETTER Q
-<r> /x72 <U0072> LATIN SMALL LETTER R
-<s> /x73 <U0073> LATIN SMALL LETTER S
-<t> /x74 <U0074> LATIN SMALL LETTER T
-<u> /x75 <U0075> LATIN SMALL LETTER U
-<v> /x76 <U0076> LATIN SMALL LETTER V
-<w> /x77 <U0077> LATIN SMALL LETTER W
-<x> /x78 <U0078> LATIN SMALL LETTER X
-<y> /x79 <U0079> LATIN SMALL LETTER Y
-<z> /x7A <U007A> LATIN SMALL LETTER Z
-<(!> /x7B <U007B> LEFT CURLY BRACKET
-<!!> /x7C <U007C> VERTICAL LINE
-<!)> /x7D <U007D> RIGHT CURLY BRACKET
-<'?> /x7E <U007E> TILDE
-<DT> /x7F <U007F> DELETE (DEL)
-<DG> /x80 <U00B0> DEGREE SIGN
-<.M> /x81 <U00B7> MIDDLE DOT
-<Ob> /x82 <U2218> RING OPERATOR
-<RT> /x83 <U221A> SQUARE ROOT
-<:S> /x84 <U2592> MEDIUM SHADE
-<hh> /x85 <U2500> BOX DRAWINGS LIGHT HORIZONTAL
-<vv> /x86 <U2502> BOX DRAWINGS LIGHT VERTICAL
-<vh> /x87 <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-<vl> /x88 <U2524> BOX DRAWINGS LIGHT VERTICAL AND LEFT
-<dh> /x89 <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-<vr> /x8A <U251C> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-<uh> /x8B <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL
-<dl> /x8C <U2510> BOX DRAWINGS LIGHT DOWN AND LEFT
-<dr> /x8D <U250C> BOX DRAWINGS LIGHT DOWN AND RIGHT
-<ur> /x8E <U2514> BOX DRAWINGS LIGHT UP AND RIGHT
-<ul> /x8F <U2518> BOX DRAWINGS LIGHT UP AND LEFT
-<ss> /x90 <U00DF> LATIN SMALL LETTER SHARP S (German)
-<00> /x91 <U221E> INFINITY
-<o//> /x92 <U00F8> LATIN SMALL LETTER O WITH STROKE
-<+-> /x93 <U00B1> PLUS-MINUS SIGN
-<12> /x94 <U00BD> VULGAR FRACTION ONE HALF
-<14> /x95 <U00BC> VULGAR FRACTION ONE QUARTER
-<?2> /x96 <U2248> ALMOST EQUAL TO
-<<<> /x97 <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-</>/>> /x98 <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-<lH-> /x99 <UFEF7> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-<lH.> /x9A <UFEF8> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-<la-> /x9D <UFEFB> ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-<la.> /x9E <UFEFC> ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-<a+:> /x9F <UE016> ARABIC LETTER ALEF FINAL FORM COMPATIBILITY <IBM868_90>
-<--> /xA1 <U00AD> SOFT HYPHEN
-<aM.> /xA2 <UFE82> ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-<Pd> /xA3 <U00A3> POUND SIGN
-<Cu> /xA4 <U00A4> CURRENCY SIGN
-<aH.> /xA5 <UFE84> ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-<a+.> /xA8 <UFE8E> ARABIC LETTER ALEF FINAL FORM
-<b+> /xA9 <U0628> ARABIC LETTER BEH
-<t+> /xAA <U062A> ARABIC LETTER TEH
-<tk> /xAB <U062B> ARABIC LETTER THEH
-<,+> /xAC <U060C> ARABIC COMMA
-<g+> /xAD <U062C> ARABIC LETTER JEEM
-<hk> /xAE <U062D> ARABIC LETTER HAH
-<x+> /xAF <U062E> ARABIC LETTER KHAH
-<0a> /xB0 <U0660> ARABIC-INDIC DIGIT ZERO
-<1a> /xB1 <U0661> ARABIC-INDIC DIGIT ONE
-<2a> /xB2 <U0662> ARABIC-INDIC DIGIT TWO
-<3a> /xB3 <U0663> ARABIC-INDIC DIGIT THREE
-<4a> /xB4 <U0664> ARABIC-INDIC DIGIT FOUR
-<5a> /xB5 <U0665> ARABIC-INDIC DIGIT FIVE
-<6a> /xB6 <U0666> ARABIC-INDIC DIGIT SIX
-<7a> /xB7 <U0667> ARABIC-INDIC DIGIT SEVEN
-<8a> /xB8 <U0668> ARABIC-INDIC DIGIT EIGHT
-<9a> /xB9 <U0669> ARABIC-INDIC DIGIT NINE
-<v+> /xBA <U06A4> ARABIC LETTER VEH
-<;+> /xBB <U061B> ARABIC SEMICOLON
-<s+> /xBC <U0633> ARABIC LETTER SEEN
-<sn> /xBD <U0634> ARABIC LETTER SHEEN
-<c+> /xBE <U0635> ARABIC LETTER SAD
-<?+> /xBF <U061F> ARABIC QUESTION MARK
-<Ct> /xC0 <U00A2> CENT SIGN
-<H'> /xC1 <U0621> ARABIC LETTER HAMZA
-<aM> /xC2 <U0622> ARABIC LETTER ALEF WITH MADDA ABOVE
-<aH> /xC3 <U0623> ARABIC LETTER ALEF WITH HAMZA ABOVE
-<wH> /xC4 <U0624> ARABIC LETTER WAW WITH HAMZA ABOVE
-<e+.> /xC5 <UFECA> ARABIC LETTER AIN FINAL FORM
-<yH> /xC6 <U0626> ARABIC LETTER YEH WITH HAMZA ABOVE
-<a+> /xC7 <U0627> ARABIC LETTER ALEF
-<b+,> /xC8 <UFE91> ARABIC LETTER BEH INITIAL FORM
-<tm> /xC9 <U0629> ARABIC LETTER TEH MARBUTA
-<t+,> /xCA <UFE97> ARABIC LETTER TEH INITIAL FORM
-<tk,> /xCB <UFE9B> ARABIC LETTER THEH INITIAL FORM
-<g+,> /xCC <UFE9F> ARABIC LETTER JEEM INITIAL FORM
-<hk,> /xCD <UFEA3> ARABIC LETTER HAH INITIAL FORM
-<x+,> /xCE <UFEA7> ARABIC LETTER KHAH INITIAL FORM
-<d+> /xCF <U062F> ARABIC LETTER DAL
-<dk> /xD0 <U0630> ARABIC LETTER THAL
-<r+> /xD1 <U0631> ARABIC LETTER REH
-<z+> /xD2 <U0632> ARABIC LETTER ZAIN
-<s+,> /xD3 <UFEB3> ARABIC LETTER SEEN INITIAL FORM
-<sn,> /xD4 <UFEB7> ARABIC LETTER SHEEN INITIAL FORM
-<c+,> /xD5 <UFEBB> ARABIC LETTER SAD INITIAL FORM
-<dd,> /xD6 <UFEBF> ARABIC LETTER DAD INITIAL FORM
-<tj> /xD7 <U0637> ARABIC LETTER TAH
-<zH> /xD8 <U0638> ARABIC LETTER ZAH
-<e+,> /xD9 <UFECB> ARABIC LETTER AIN INITIAL FORM
-<i+,> /xDA <UFECF> ARABIC LETTER GHAIN INITIAL FORM
-<BB> /xDB <U00A6> BROKEN BAR
-<NO> /xDC <U00AC> NOT SIGN
-<-:> /xDD <U00F7> DIVISION SIGN
-<*X> /xDE <U00D7> MULTIPLICATION SIGN
-<e+> /xDF <U0639> ARABIC LETTER AIN
-<++> /xE0 <U0640> ARABIC TATWEEL
-<f+.> /xE1 <UFED2> ARABIC LETTER FEH FINAL FORM
-<q+.> /xE2 <UFED6> ARABIC LETTER QAF FINAL FORM
-<k+,> /xE3 <UFEDB> ARABIC LETTER KAF INITIAL FORM
-<l+.> /xE4 <UFEDE> ARABIC LETTER LAM FINAL FORM
-<m+,> /xE5 <UFEE3> ARABIC LETTER MEEM INITIAL FORM
-<n+.> /xE6 <UFEE6> ARABIC LETTER NOON FINAL FORM
-<h+,> /xE7 <UFEEB> ARABIC LETTER HEH INITIAL FORM
-<w+> /xE8 <U0648> ARABIC LETTER WAW
-<j+> /xE9 <U0649> ARABIC LETTER ALEF MAKSURA
-<y+,> /xEA <UFEF3> ARABIC LETTER YEH INITIAL FORM
-<dd> /xEB <U0636> ARABIC LETTER DAD
-<m+.> /xEC <UFEE2> ARABIC LETTER MEEM FINAL FORM
-<i+.> /xED <UFECE> ARABIC LETTER GHAIN FINAL FORM
-<i+> /xEE <U063A> ARABIC LETTER GHAIN
-<m+> /xEF <U0645> ARABIC LETTER MEEM
-<3+;> /xF0 <UFE7D> ARABIC SHADDA MEDIAL FORM
-<3+> /xF1 <U0651> ARABIC SHADDA
-<n+> /xF2 <U0646> ARABIC LETTER NOON
-<h+> /xF3 <U0647> ARABIC LETTER HEH
-<h+;> /xF4 <UFEEC> ARABIC LETTER HEH MEDIAL FORM
-<j+.> /xF5 <UFEF0> ARABIC LETTER ALEF MAKSURA FINAL FORM
-<y+.> /xF6 <UFEF2> ARABIC LETTER YEH FINAL FORM
-<f+> /xF7 <U0641> ARABIC LETTER FEH
-<q+> /xF8 <U0642> ARABIC LETTER QAF
-<lM-> /xF9 <UFEF5> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-<lM.> /xFA <UFEF6> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-<l+> /xFB <U0644> ARABIC LETTER LAM
-<k+> /xFC <U0643> ARABIC LETTER KAF
-<y+> /xFD <U064A> ARABIC LETTER YEH
-<fS> /xFE <U25A0> BLACK SQUARE
-<NS> /xFF <U00A0> NO-BREAK SPACE
-<NUL> /x00 <U0000> NUL
-<SOH> /x01 <U0001> START OF HEADING (SOH)
-<STX> /x02 <U0002> START OF TEXT (STX)
-<ETX> /x03 <U0003> END OF TEXT (ETX)
-<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
-<ENQ> /x05 <U0005> ENQUIRY (ENQ)
-<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
-<alert> /x07 <U0007> BELL (BEL)
-<BEL> /x07 <U0007> BELL (BEL)
-<backspace> /x08 <U0008> BACKSPACE (BS)
-<tab> /x09 <U0009> CHARACTER TABULATION (HT)
-<newline> /x0A <U000A> LINE FEED (LF)
-<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
-<form-feed> /x0C <U000C> FORM FEED (FF)
-<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
-<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
-<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
-<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
-<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
-<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
-<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
-<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
-<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
-<CAN> /x18 <U0018> CANCEL (CAN)
-<SUB> /x1A <U001A> SUBSTITUTE (SUB)
-<ESC> /x1B <U001B> ESCAPE (ESC)
-<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
-<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
-<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
-<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
-<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
-<DEL> /x7F <U007F> DELETE (DEL)
-<space> /x20 <U0020> SPACE
-<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
-<quotation-mark> /x22 <U0022> QUOTATION MARK
-<number-sign> /x23 <U0023> NUMBER SIGN
-<dollar-sign> /x24 <U0024> DOLLAR SIGN
-<percent-sign> /x25 <U0025> PERCENT SIGN
-<ampersand> /x26 <U0026> AMPERSAND
-<apostrophe> /x27 <U0027> APOSTROPHE
-<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
-<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
-<asterisk> /x2A <U002A> ASTERISK
-<plus-sign> /x2B <U002B> PLUS SIGN
-<comma> /x2C <U002C> COMMA
-<hyphen> /x2D <U002D> HYPHEN-MINUS
-<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
-<period> /x2E <U002E> FULL STOP
-<full-stop> /x2E <U002E> FULL STOP
-<slash> /x2F <U002F> SOLIDUS
-<solidus> /x2F <U002F> SOLIDUS
-<zero> /x30 <U0030> DIGIT ZERO
-<one> /x31 <U0031> DIGIT ONE
-<two> /x32 <U0032> DIGIT TWO
-<three> /x33 <U0033> DIGIT THREE
-<four> /x34 <U0034> DIGIT FOUR
-<five> /x35 <U0035> DIGIT FIVE
-<six> /x36 <U0036> DIGIT SIX
-<seven> /x37 <U0037> DIGIT SEVEN
-<eight> /x38 <U0038> DIGIT EIGHT
-<nine> /x39 <U0039> DIGIT NINE
-<colon> /x3A <U003A> COLON
-<semicolon> /x3B <U003B> SEMICOLON
-<less-than-sign> /x3C <U003C> LESS-THAN SIGN
-<equals-sign> /x3D <U003D> EQUALS SIGN
-<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
-<question-mark> /x3F <U003F> QUESTION MARK
-<commercial-at> /x40 <U0040> COMMERCIAL AT
-<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
-<backslash> /x5C <U005C> REVERSE SOLIDUS
-<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
-<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
-<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
-<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
-<underscore> /x5F <U005F> LOW LINE
-<low-line> /x5F <U005F> LOW LINE
-<grave-accent> /x60 <U0060> GRAVE ACCENT
-<left-brace> /x7B <U007B> LEFT CURLY BRACKET
-<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
-<vertical-line> /x7C <U007C> VERTICAL LINE
-<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
-<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
-<tilde> /x7E <U007E> TILDE
+<NU> /x00 <U0000> NULL
+<NUL> /x00 <U0000> NULL
+<SH> /x01 <U0001> START OF HEADING
+<SOH> /x01 <U0001> START OF HEADING
+<STX> /x02 <U0002> START OF TEXT
+<SX> /x02 <U0002> START OF TEXT
+<ETX> /x03 <U0003> END OF TEXT
+<EX> /x03 <U0003> END OF TEXT
+<EOT> /x04 <U0004> END OF TRANSMISSION
+<ET> /x04 <U0004> END OF TRANSMISSION
+<ENQ> /x05 <U0005> ENQUIRY
+<EQ> /x05 <U0005> ENQUIRY
+<ACK> /x06 <U0006> ACKNOWLEDGE
+<AK> /x06 <U0006> ACKNOWLEDGE
+<BEL> /x07 <U0007> BELL
+<BL> /x07 <U0007> BELL
+<alert> /x07 <U0007> BELL
+<BS> /x08 <U0008> BACKSPACE
+<backspace> /x08 <U0008> BACKSPACE
+<HT> /x09 <U0009> HORIZONTAL TABULATION
+<tab> /x09 <U0009> HORIZONTAL TABULATION
+<LF> /x0A <U000A> LINE FEED
+<newline> /x0A <U000A> LINE FEED
+<VT> /x0B <U000B> VERTICAL TABULATION
+<vertical-tab> /x0B <U000B> VERTICAL TABULATION
+<FF> /x0C <U000C> FORM FEED
+<form-feed> /x0C <U000C> FORM FEED
+<CR> /x0D <U000D> CARRIAGE RETURN
+<carriage-return> /x0D <U000D> CARRIAGE RETURN
+<SO> /x0E <U000E> SHIFT OUT
+<SI> /x0F <U000F> SHIFT IN
+<DL> /x10 <U0010> DATA LINK ESCAPE
+<DLE> /x10 <U0010> DATA LINK ESCAPE
+<D1> /x11 <U0011> DEVICE CONTROL ONE
+<DC1> /x11 <U0011> DEVICE CONTROL ONE
+<D2> /x12 <U0012> DEVICE CONTROL TWO
+<DC2> /x12 <U0012> DEVICE CONTROL TWO
+<D3> /x13 <U0013> DEVICE CONTROL THREE
+<DC3> /x13 <U0013> DEVICE CONTROL THREE
+<D4> /x14 <U0014> DEVICE CONTROL FOUR
+<DC4> /x14 <U0014> DEVICE CONTROL FOUR
+<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE
+<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE
+<SY> /x16 <U0016> SYNCHRONOUS IDLE
+<SYN> /x16 <U0016> SYNCHRONOUS IDLE
+<EB> /x17 <U0017> END OF TRANSMISSION BLOCK
+<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK
+<CAN> /x18 <U0018> CANCEL
+<CN> /x18 <U0018> CANCEL
+<EM> /x19 <U0019> END OF MEDIUM
+<SB> /x1A <U001A> SUBSTITUTE
+<SUB> /x1A <U001A> SUBSTITUTE
+<EC> /x1B <U001B> ESCAPE
+<ESC> /x1B <U001B> ESCAPE
+<FS> /x1C <U001C> FILE SEPARATOR
+<IS4> /x1C <U001C> FILE SEPARATOR
+<GS> /x1D <U001D> GROUP SEPARATOR
+<IS3> /x1D <U001D> GROUP SEPARATOR
+<intro> /x1D <U001D> GROUP SEPARATOR
+<IS2> /x1E <U001E> RECORD SEPARATOR
+<RS> /x1E <U001E> RECORD SEPARATOR
+<IS1> /x1F <U001F> UNIT SEPARATOR
+<US> /x1F <U001F> UNIT SEPARATOR
+<space> /x20 <U0020> SPACE
+<SP> /x20 <U0020> SPACE
+<!> /x21 <U0021> EXCLAMATION MARK
+<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
+<"> /x22 <U0022> QUOTATION MARK
+<quotation-mark> /x22 <U0022> QUOTATION MARK
+<Nb> /x23 <U0023> NUMBER SIGN
+<number-sign> /x23 <U0023> NUMBER SIGN
+<H-> /x23 <U0023> NUMBER SIGN
+<!S> /x24 <U0024> DOLLAR SIGN
+<DO> /x24 <U0024> DOLLAR SIGN
+<dollar-sign> /x24 <U0024> DOLLAR SIGN
+<&> /x26 <U0026> AMPERSAND
+<ampersand> /x26 <U0026> AMPERSAND
+<'> /x27 <U0027> APOSTROPHE
+<apostrophe> /x27 <U0027> APOSTROPHE
+<(> /x28 <U0028> LEFT PARENTHESIS
+<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
+<)> /x29 <U0029> RIGHT PARENTHESIS
+<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
+<*> /x2A <U002A> ASTERISK
+<asterisk> /x2A <U002A> ASTERISK
+<+> /x2B <U002B> PLUS SIGN
+<plus-sign> /x2B <U002B> PLUS SIGN
+<,> /x2C <U002C> COMMA
+<comma> /x2C <U002C> COMMA
+<-> /x2D <U002D> HYPHEN-MINUS
+<hyphen> /x2D <U002D> HYPHEN-MINUS
+<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
+<.> /x2E <U002E> FULL STOP
+<full-stop> /x2E <U002E> FULL STOP
+<period> /x2E <U002E> FULL STOP
+<//> /x2F <U002F> SOLIDUS
+<slash> /x2F <U002F> SOLIDUS
+<solidus> /x2F <U002F> SOLIDUS
+<0> /x30 <U0030> DIGIT ZERO
+<zero> /x30 <U0030> DIGIT ZERO
+<1> /x31 <U0031> DIGIT ONE
+<one> /x31 <U0031> DIGIT ONE
+<2> /x32 <U0032> DIGIT TWO
+<two> /x32 <U0032> DIGIT TWO
+<3> /x33 <U0033> DIGIT THREE
+<three> /x33 <U0033> DIGIT THREE
+<4> /x34 <U0034> DIGIT FOUR
+<four> /x34 <U0034> DIGIT FOUR
+<5> /x35 <U0035> DIGIT FIVE
+<five> /x35 <U0035> DIGIT FIVE
+<6> /x36 <U0036> DIGIT SIX
+<six> /x36 <U0036> DIGIT SIX
+<7> /x37 <U0037> DIGIT SEVEN
+<seven> /x37 <U0037> DIGIT SEVEN
+<8> /x38 <U0038> DIGIT EIGHT
+<eight> /x38 <U0038> DIGIT EIGHT
+<9> /x39 <U0039> DIGIT NINE
+<nine> /x39 <U0039> DIGIT NINE
+<:> /x3A <U003A> COLON
+<colon> /x3A <U003A> COLON
+<;> /x3B <U003B> SEMICOLON
+<semicolon> /x3B <U003B> SEMICOLON
+<<> /x3C <U003C> LESS-THAN SIGN
+<less-than-sign> /x3C <U003C> LESS-THAN SIGN
+<=> /x3D <U003D> EQUALS SIGN
+<equals-sign> /x3D <U003D> EQUALS SIGN
+</>> /x3E <U003E> GREATER-THAN SIGN
+<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
+<?> /x3F <U003F> QUESTION MARK
+<question-mark> /x3F <U003F> QUESTION MARK
+<At> /x40 <U0040> COMMERCIAL AT
+<commercial-at> /x40 <U0040> COMMERCIAL AT
+<@> /x40 <U0040> COMMERCIAL AT
+<Oa> /x40 <U0040> COMMERCIAL AT
+<A> /x41 <U0041> LATIN CAPITAL LETTER A
+<B> /x42 <U0042> LATIN CAPITAL LETTER B
+<C> /x43 <U0043> LATIN CAPITAL LETTER C
+<D> /x44 <U0044> LATIN CAPITAL LETTER D
+<E> /x45 <U0045> LATIN CAPITAL LETTER E
+<F> /x46 <U0046> LATIN CAPITAL LETTER F
+<G> /x47 <U0047> LATIN CAPITAL LETTER G
+<H> /x48 <U0048> LATIN CAPITAL LETTER H
+<I> /x49 <U0049> LATIN CAPITAL LETTER I
+<J> /x4A <U004A> LATIN CAPITAL LETTER J
+<K> /x4B <U004B> LATIN CAPITAL LETTER K
+<L> /x4C <U004C> LATIN CAPITAL LETTER L
+<M> /x4D <U004D> LATIN CAPITAL LETTER M
+<N> /x4E <U004E> LATIN CAPITAL LETTER N
+<O> /x4F <U004F> LATIN CAPITAL LETTER O
+<P> /x50 <U0050> LATIN CAPITAL LETTER P
+<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
+<R> /x52 <U0052> LATIN CAPITAL LETTER R
+<S> /x53 <U0053> LATIN CAPITAL LETTER S
+<T> /x54 <U0054> LATIN CAPITAL LETTER T
+<U> /x55 <U0055> LATIN CAPITAL LETTER U
+<V> /x56 <U0056> LATIN CAPITAL LETTER V
+<W> /x57 <U0057> LATIN CAPITAL LETTER W
+<X> /x58 <U0058> LATIN CAPITAL LETTER X
+<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
+<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
+<<(> /x5B <U005B> LEFT SQUARE BRACKET
+<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
+<////> /x5C <U005C> REVERSE SOLIDUS
+<backslash> /x5C <U005C> REVERSE SOLIDUS
+<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
+<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
+<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
+<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
+<_> /x5F <U005F> LOW LINE
+<low-line> /x5F <U005F> LOW LINE
+<underscore> /x5F <U005F> LOW LINE
+<'!> /x60 <U0060> GRAVE ACCENT
+<grave-accent> /x60 <U0060> GRAVE ACCENT
+<a> /x61 <U0061> LATIN SMALL LETTER A
+<b> /x62 <U0062> LATIN SMALL LETTER B
+<c> /x63 <U0063> LATIN SMALL LETTER C
+<d> /x64 <U0064> LATIN SMALL LETTER D
+<e> /x65 <U0065> LATIN SMALL LETTER E
+<f> /x66 <U0066> LATIN SMALL LETTER F
+<g> /x67 <U0067> LATIN SMALL LETTER G
+<h> /x68 <U0068> LATIN SMALL LETTER H
+<i> /x69 <U0069> LATIN SMALL LETTER I
+<j> /x6A <U006A> LATIN SMALL LETTER J
+<k> /x6B <U006B> LATIN SMALL LETTER K
+<l> /x6C <U006C> LATIN SMALL LETTER L
+<m> /x6D <U006D> LATIN SMALL LETTER M
+<n> /x6E <U006E> LATIN SMALL LETTER N
+<o> /x6F <U006F> LATIN SMALL LETTER O
+<p> /x70 <U0070> LATIN SMALL LETTER P
+<q> /x71 <U0071> LATIN SMALL LETTER Q
+<r> /x72 <U0072> LATIN SMALL LETTER R
+<s> /x73 <U0073> LATIN SMALL LETTER S
+<t> /x74 <U0074> LATIN SMALL LETTER T
+<u> /x75 <U0075> LATIN SMALL LETTER U
+<v> /x76 <U0076> LATIN SMALL LETTER V
+<w> /x77 <U0077> LATIN SMALL LETTER W
+<x> /x78 <U0078> LATIN SMALL LETTER X
+<y> /x79 <U0079> LATIN SMALL LETTER Y
+<z> /x7A <U007A> LATIN SMALL LETTER Z
+<(!> /x7B <U007B> LEFT CURLY BRACKET
+<left-brace> /x7B <U007B> LEFT CURLY BRACKET
+<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
+<!!> /x7C <U007C> VERTICAL LINE
+<vertical-line> /x7C <U007C> VERTICAL LINE
+<!)> /x7D <U007D> RIGHT CURLY BRACKET
+<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
+<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
+<'?> /x7E <U007E> TILDE
+<tilde> /x7E <U007E> TILDE
+<DEL> /x7F <U007F> DELETE
+<DT> /x7F <U007F> DELETE
+<DG> /x80 <U00B0> DEGREE SIGN
+<.M> /x81 <U00B7> MIDDLE DOT
+<Sb> /x82 <U2219> BULLET OPERATOR
+<RT> /x83 <U221A> SQUARE ROOT
+<:S> /x84 <U2592> MEDIUM SHADE
+<hh> /x85 <U2500> BOX DRAWINGS LIGHT HORIZONTAL
+<_-> /x85 <U2500> BOX DRAWINGS LIGHT HORIZONTAL
+<vv> /x86 <U2502> BOX DRAWINGS LIGHT VERTICAL
+<_!> /x86 <U2502> BOX DRAWINGS LIGHT VERTICAL
+<vh> /x87 <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+<_!-> /x87 <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+<vl> /x88 <U2524> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+<_!<> /x88 <U2524> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+<dh> /x89 <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+<_V-> /x89 <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+<vr> /x8A <U251C> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+<_!/>> /x8A <U251C> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+<uh> /x8B <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+<_-A> /x8B <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+<dl> /x8C <U2510> BOX DRAWINGS LIGHT DOWN AND LEFT
+<_V<w> /x8C <U2510> BOX DRAWINGS LIGHT DOWN AND LEFT
+<dr> /x8D <U250C> BOX DRAWINGS LIGHT DOWN AND RIGHT
+<_V/>> /x8D <U250C> BOX DRAWINGS LIGHT DOWN AND RIGHT
+<ur> /x8E <U2514> BOX DRAWINGS LIGHT UP AND RIGHT
+<_A/>> /x8E <U2514> BOX DRAWINGS LIGHT UP AND RIGHT
+<ul> /x8F <U2518> BOX DRAWINGS LIGHT UP AND LEFT
+<_A<> /x8F <U2518> BOX DRAWINGS LIGHT UP AND LEFT
+<b*> /x90 <U03B2> GREEK SMALL LETTER BETA
+<00> /x91 <U221E> INFINITY
+<f*> /x92 <U03C6> GREEK SMALL LETTER PHI
+<+-> /x93 <U00B1> PLUS-MINUS SIGN
+<12> /x94 <U00BD> VULGAR FRACTION ONE HALF
+<14> /x95 <U00BC> VULGAR FRACTION ONE QUARTER
+<?2> /x96 <U2248> ALMOST EQUAL TO
+<<<> /x97 <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+</>/>> /x98 <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<lH-> /x99 <UFEF7> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+<lH.> /x9A <UFEF8> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+<la-> /x9D <UFEFB> ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+<la.> /x9E <UFEFC> ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+<NS> /xA0 <U00A0> NO-BREAK SPACE
+<--> /xA1 <U00AD> SOFT HYPHEN
+<aM.> /xA2 <UFE82> ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+<L-> /xA3 <U00A3> POUND SIGN
+<Pd> /xA3 <U00A3> POUND SIGN
+<Cu> /xA4 <U00A4> CURRENCY SIGN
+<Xo> /xA4 <U00A4> CURRENCY SIGN
+<aH.> /xA5 <UFE84> ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+<a+.> /xA8 <UFE8E> ARABIC LETTER ALEF FINAL FORM
+<b+-> /xA9 <UFE8F> ARABIC LETTER BEH ISOLATED FORM
+<t+-> /xAA <UFE95> ARABIC LETTER TEH ISOLATED FORM
+<tk-> /xAB <UFE99> ARABIC LETTER THEH ISOLATED FORM
+<,+> /xAC <U060C> ARABIC COMMA
+<g+-> /xAD <UFE9D> ARABIC LETTER JEEM ISOLATED FORM
+<hk-> /xAE <UFEA1> ARABIC LETTER HAH ISOLATED FORM
+<x+-> /xAF <UFEA5> ARABIC LETTER KHAH ISOLATED FORM
+<0a> /xB0 <U0660> ARABIC-INDIC DIGIT ZERO
+<1a> /xB1 <U0661> ARABIC-INDIC DIGIT ONE
+<2a> /xB2 <U0662> ARABIC-INDIC DIGIT TWO
+<3a> /xB3 <U0663> ARABIC-INDIC DIGIT THREE
+<4a> /xB4 <U0664> ARABIC-INDIC DIGIT FOUR
+<5a> /xB5 <U0665> ARABIC-INDIC DIGIT FIVE
+<6a> /xB6 <U0666> ARABIC-INDIC DIGIT SIX
+<7a> /xB7 <U0667> ARABIC-INDIC DIGIT SEVEN
+<8a> /xB8 <U0668> ARABIC-INDIC DIGIT EIGHT
+<9a> /xB9 <U0669> ARABIC-INDIC DIGIT NINE
+<f+-> /xBA <UFED1> ARABIC LETTER FEH ISOLATED FORM
+<;+> /xBB <U061B> ARABIC SEMICOLON
+<s+-> /xBC <UFEB1> ARABIC LETTER SEEN ISOLATED FORM
+<sn-> /xBD <UFEB5> ARABIC LETTER SHEEN ISOLATED FORM
+<c+-> /xBE <UFEB9> ARABIC LETTER SAD ISOLATED FORM
+<?+> /xBF <U061F> ARABIC QUESTION MARK
+<Ct> /xC0 <U00A2> CENT SIGN
+<!C> /xC0 <U00A2> CENT SIGN
+<e+.> /xC5 <UFECA> ARABIC LETTER AIN FINAL FORM
+<a+-> /xC7 <UFE8D> ARABIC LETTER ALEF ISOLATED FORM
+<b+,> /xC8 <UFE91> ARABIC LETTER BEH INITIAL FORM
+<tm-> /xC9 <UFE93> ARABIC LETTER TEH MARBUTA ISOLATED FORM
+<t+,> /xCA <UFE97> ARABIC LETTER TEH INITIAL FORM
+<tk,> /xCB <UFE9B> ARABIC LETTER THEH INITIAL FORM
+<g+,> /xCC <UFE9F> ARABIC LETTER JEEM INITIAL FORM
+<hk,> /xCD <UFEA3> ARABIC LETTER HAH INITIAL FORM
+<x+,> /xCE <UFEA7> ARABIC LETTER KHAH INITIAL FORM
+<d+-> /xCF <UFEA9> ARABIC LETTER DAL ISOLATED FORM
+<dk-> /xD0 <UFEAB> ARABIC LETTER THAL ISOLATED FORM
+<r+-> /xD1 <UFEAD> ARABIC LETTER REH ISOLATED FORM
+<z+-> /xD2 <UFEAF> ARABIC LETTER ZAIN ISOLATED FORM
+<s+,> /xD3 <UFEB3> ARABIC LETTER SEEN INITIAL FORM
+<sn,> /xD4 <UFEB7> ARABIC LETTER SHEEN INITIAL FORM
+<c+,> /xD5 <UFEBB> ARABIC LETTER SAD INITIAL FORM
+<dd,> /xD6 <UFEBF> ARABIC LETTER DAD INITIAL FORM
+<tj-> /xD7 <UFEC1> ARABIC LETTER TAH ISOLATED FORM
+<zH-> /xD8 <UFEC5> ARABIC LETTER ZAH ISOLATED FORM
+<e+,> /xD9 <UFECB> ARABIC LETTER AIN INITIAL FORM
+<i+,> /xDA <UFECF> ARABIC LETTER GHAIN INITIAL FORM
+<BB> /xDB <U00A6> BROKEN BAR
+<!B> /xDB <U00A6> BROKEN BAR
+<NO> /xDC <U00AC> NOT SIGN
+<7!> /xDC <U00AC> NOT SIGN
+<-:> /xDD <U00F7> DIVISION SIGN
+<*X> /xDE <U00D7> MULTIPLICATION SIGN
+<e+-> /xDF <UFEC9> ARABIC LETTER AIN ISOLATED FORM
+<++> /xE0 <U0640> ARABIC TATWEEL
+<f+,> /xE1 <UFED3> ARABIC LETTER FEH INITIAL FORM
+<q+,> /xE2 <UFED7> ARABIC LETTER QAF INITIAL FORM
+<k+,> /xE3 <UFEDB> ARABIC LETTER KAF INITIAL FORM
+<l+,> /xE4 <UFEDF> ARABIC LETTER LAM INITIAL FORM
+<m+,> /xE5 <UFEE3> ARABIC LETTER MEEM INITIAL FORM
+<n+,> /xE6 <UFEE7> ARABIC LETTER NOON INITIAL FORM
+<h+,> /xE7 <UFEEB> ARABIC LETTER HEH INITIAL FORM
+<w+-> /xE8 <UFEED> ARABIC LETTER WAW ISOLATED FORM
+<j+-> /xE9 <UFEEF> ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+<y+,> /xEA <UFEF3> ARABIC LETTER YEH INITIAL FORM
+<dd-> /xEB <UFEBD> ARABIC LETTER DAD ISOLATED FORM
+<e+;> /xEC <UFECC> ARABIC LETTER AIN MEDIAL FORM
+<i+.> /xED <UFECE> ARABIC LETTER GHAIN FINAL FORM
+<i+-> /xEE <UFECD> ARABIC LETTER GHAIN ISOLATED FORM
+<m+-> /xEF <UFEE1> ARABIC LETTER MEEM ISOLATED FORM
+<3+;> /xF0 <UFE7D> ARABIC SHADDA MEDIAL FORM
+<3+> /xF1 <U0651> ARABIC SHADDA
+<n+-> /xF2 <UFEE5> ARABIC LETTER NOON ISOLATED FORM
+<h+-> /xF3 <UFEE9> ARABIC LETTER HEH ISOLATED FORM
+<h+;> /xF4 <UFEEC> ARABIC LETTER HEH MEDIAL FORM
+<j+.> /xF5 <UFEF0> ARABIC LETTER ALEF MAKSURA FINAL FORM
+<y+.> /xF6 <UFEF2> ARABIC LETTER YEH FINAL FORM
+<i+;> /xF7 <UFED0> ARABIC LETTER GHAIN MEDIAL FORM
+<q+-> /xF8 <UFED5> ARABIC LETTER QAF ISOLATED FORM
+<lM-> /xF9 <UFEF5> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+<lM.> /xFA <UFEF6> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+<l+-> /xFB <UFEDD> ARABIC LETTER LAM ISOLATED FORM
+<k+-> /xFC <UFED9> ARABIC LETTER KAF ISOLATED FORM
+<y+-> /xFD <UFEF1> ARABIC LETTER YEH ISOLATED FORM
+<fS> /xFE <U25A0> BLACK SQUARE
END CHARMAP
diff --git a/localedata/charmaps/IBM865 b/localedata/charmaps/IBM865
index db9c0a4d2a..20a41f31eb 100644
--- a/localedata/charmaps/IBM865
+++ b/localedata/charmaps/IBM865
@@ -183,7 +183,7 @@ CHARMAP
<14> /xAC <U00BC> VULGAR FRACTION ONE QUARTER
<!I> /xAD <U00A1> INVERTED EXCLAMATION MARK
<<<> /xAE <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-</>/>> /xAF <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<Cu> /xAF <U00A4> CURRENCY SIGN
<.S> /xB0 <U2591> LIGHT SHADE
<:S> /xB1 <U2592> MEDIUM SHADE
<?S> /xB2 <U2593> DARK SHADE
@@ -245,7 +245,7 @@ CHARMAP
<W*> /xEA <U03A9> GREEK CAPITAL LETTER OMEGA
<d*> /xEB <U03B4> GREEK SMALL LETTER DELTA
<00> /xEC <U221E> INFINITY
-<//0> /xED <U2205> EMPTY SET
+<f*> /xED <U03C6> GREEK SMALL LETTER PHI
<e*> /xEE <U03B5> GREEK SMALL LETTER EPSILON
<(U> /xEF <U2229> INTERSECTION
<=3> /xF0 <U2261> IDENTICAL TO
@@ -256,9 +256,9 @@ CHARMAP
<Il> /xF5 <U2321> BOTTOM HALF INTEGRAL
<-:> /xF6 <U00F7> DIVISION SIGN
<?2> /xF7 <U2248> ALMOST EQUAL TO
-<Ob> /xF8 <U2218> RING OPERATOR
-<.M> /xF9 <U00B7> MIDDLE DOT
-<sb> /xFA <U2022> BULLET
+<DG> /xF8 <U00B0> DEGREE SIGN
+<Sb> /xF9 <U2219> BULLET OPERATOR
+<.M> /xFA <U00B7> MIDDLE DOT
<RT> /xFB <U221A> SQUARE ROOT
<nS> /xFC <U207F> SUPERSCRIPT LATIN SMALL LETTER N
<2S> /xFD <U00B2> SUPERSCRIPT TWO
diff --git a/localedata/charmaps/IBM869 b/localedata/charmaps/IBM869
index 5dd4f7da12..a0f04c99f9 100644
--- a/localedata/charmaps/IBM869
+++ b/localedata/charmaps/IBM869
@@ -141,10 +141,10 @@ CHARMAP
<.M> /x88 <U00B7> MIDDLE DOT
<NO> /x89 <U00AC> NOT SIGN
<BB> /x8A <U00A6> BROKEN BAR
-<9'> /x8B <U201B> SINGLE HIGH-REVERSED-9 QUOTATION MARK
+<'6> /x8B <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x8C <U2019> RIGHT SINGLE QUOTATION MARK
<E%> /x8D <U0388> GREEK CAPITAL LETTER EPSILON WITH TONOS
-<-M> /x8E <U2014> EM DASH
+<-3> /x8E <U2015> HORIZONTAL BAR
<Y%> /x8F <U0389> GREEK CAPITAL LETTER ETA WITH TONOS
<I%> /x90 <U038A> GREEK CAPITAL LETTER IOTA WITH TONOS
<J*> /x91 <U03AA> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
@@ -239,7 +239,7 @@ CHARMAP
<s*> /xEC <U03C3> GREEK SMALL LETTER SIGMA
<*s> /xED <U03C2> GREEK SMALL LETTER FINAL SIGMA
<t*> /xEE <U03C4> GREEK SMALL LETTER TAU
-<''> /xEF <U00B4> ACUTE ACCENT
+<'*> /xEF <U0384> GREEK TONOS
<--> /xF0 <U00AD> SOFT HYPHEN
<+-> /xF1 <U00B1> PLUS-MINUS SIGN
<u*> /xF2 <U03C5> GREEK SMALL LETTER UPSILON
diff --git a/localedata/charmaps/IBM874 b/localedata/charmaps/IBM874
new file mode 100644
index 0000000000..27a19fe61d
--- /dev/null
+++ b/localedata/charmaps/IBM874
@@ -0,0 +1,320 @@
+<code_set_name> IBM874
+<comment_char> %
+<escape_char> /
+% automatically generated from the charDB
+
+% alias CP874
+CHARMAP
+<NU> /x00 <U0000> NULL
+<NUL> /x00 <U0000> NULL
+<SH> /x01 <U0001> START OF HEADING
+<SOH> /x01 <U0001> START OF HEADING
+<STX> /x02 <U0002> START OF TEXT
+<SX> /x02 <U0002> START OF TEXT
+<ETX> /x03 <U0003> END OF TEXT
+<EX> /x03 <U0003> END OF TEXT
+<EOT> /x04 <U0004> END OF TRANSMISSION
+<ET> /x04 <U0004> END OF TRANSMISSION
+<ENQ> /x05 <U0005> ENQUIRY
+<EQ> /x05 <U0005> ENQUIRY
+<ACK> /x06 <U0006> ACKNOWLEDGE
+<AK> /x06 <U0006> ACKNOWLEDGE
+<BEL> /x07 <U0007> BELL
+<BL> /x07 <U0007> BELL
+<alert> /x07 <U0007> BELL
+<BS> /x08 <U0008> BACKSPACE
+<backspace> /x08 <U0008> BACKSPACE
+<HT> /x09 <U0009> HORIZONTAL TABULATION
+<tab> /x09 <U0009> HORIZONTAL TABULATION
+<LF> /x0A <U000A> LINE FEED
+<newline> /x0A <U000A> LINE FEED
+<VT> /x0B <U000B> VERTICAL TABULATION
+<vertical-tab> /x0B <U000B> VERTICAL TABULATION
+<FF> /x0C <U000C> FORM FEED
+<form-feed> /x0C <U000C> FORM FEED
+<CR> /x0D <U000D> CARRIAGE RETURN
+<carriage-return> /x0D <U000D> CARRIAGE RETURN
+<SO> /x0E <U000E> SHIFT OUT
+<SI> /x0F <U000F> SHIFT IN
+<DL> /x10 <U0010> DATA LINK ESCAPE
+<DLE> /x10 <U0010> DATA LINK ESCAPE
+<D1> /x11 <U0011> DEVICE CONTROL ONE
+<DC1> /x11 <U0011> DEVICE CONTROL ONE
+<D2> /x12 <U0012> DEVICE CONTROL TWO
+<DC2> /x12 <U0012> DEVICE CONTROL TWO
+<D3> /x13 <U0013> DEVICE CONTROL THREE
+<DC3> /x13 <U0013> DEVICE CONTROL THREE
+<D4> /x14 <U0014> DEVICE CONTROL FOUR
+<DC4> /x14 <U0014> DEVICE CONTROL FOUR
+<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE
+<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE
+<SY> /x16 <U0016> SYNCHRONOUS IDLE
+<SYN> /x16 <U0016> SYNCHRONOUS IDLE
+<EB> /x17 <U0017> END OF TRANSMISSION BLOCK
+<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK
+<CAN> /x18 <U0018> CANCEL
+<CN> /x18 <U0018> CANCEL
+<EM> /x19 <U0019> END OF MEDIUM
+<SB> /x1A <U001A> SUBSTITUTE
+<SUB> /x1A <U001A> SUBSTITUTE
+<EC> /x1B <U001B> ESCAPE
+<ESC> /x1B <U001B> ESCAPE
+<FS> /x1C <U001C> FILE SEPARATOR
+<IS4> /x1C <U001C> FILE SEPARATOR
+<GS> /x1D <U001D> GROUP SEPARATOR
+<IS3> /x1D <U001D> GROUP SEPARATOR
+<intro> /x1D <U001D> GROUP SEPARATOR
+<IS2> /x1E <U001E> RECORD SEPARATOR
+<RS> /x1E <U001E> RECORD SEPARATOR
+<IS1> /x1F <U001F> UNIT SEPARATOR
+<US> /x1F <U001F> UNIT SEPARATOR
+<space> /x20 <U0020> SPACE
+<SP> /x20 <U0020> SPACE
+<!> /x21 <U0021> EXCLAMATION MARK
+<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
+<"> /x22 <U0022> QUOTATION MARK
+<quotation-mark> /x22 <U0022> QUOTATION MARK
+<Nb> /x23 <U0023> NUMBER SIGN
+<number-sign> /x23 <U0023> NUMBER SIGN
+<H-> /x23 <U0023> NUMBER SIGN
+<!S> /x24 <U0024> DOLLAR SIGN
+<DO> /x24 <U0024> DOLLAR SIGN
+<dollar-sign> /x24 <U0024> DOLLAR SIGN
+<%> /x25 <U0025> PERCENT SIGN
+<percent-sign> /x25 <U0025> PERCENT SIGN
+<percent-sign/>> /x25 <U0025> PERCENT SIGN
+<&> /x26 <U0026> AMPERSAND
+<ampersand> /x26 <U0026> AMPERSAND
+<'> /x27 <U0027> APOSTROPHE
+<apostrophe> /x27 <U0027> APOSTROPHE
+<(> /x28 <U0028> LEFT PARENTHESIS
+<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
+<)> /x29 <U0029> RIGHT PARENTHESIS
+<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
+<*> /x2A <U002A> ASTERISK
+<asterisk> /x2A <U002A> ASTERISK
+<+> /x2B <U002B> PLUS SIGN
+<plus-sign> /x2B <U002B> PLUS SIGN
+<,> /x2C <U002C> COMMA
+<comma> /x2C <U002C> COMMA
+<-> /x2D <U002D> HYPHEN-MINUS
+<hyphen> /x2D <U002D> HYPHEN-MINUS
+<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
+<.> /x2E <U002E> FULL STOP
+<full-stop> /x2E <U002E> FULL STOP
+<period> /x2E <U002E> FULL STOP
+<//> /x2F <U002F> SOLIDUS
+<slash> /x2F <U002F> SOLIDUS
+<solidus> /x2F <U002F> SOLIDUS
+<0> /x30 <U0030> DIGIT ZERO
+<zero> /x30 <U0030> DIGIT ZERO
+<1> /x31 <U0031> DIGIT ONE
+<one> /x31 <U0031> DIGIT ONE
+<2> /x32 <U0032> DIGIT TWO
+<two> /x32 <U0032> DIGIT TWO
+<3> /x33 <U0033> DIGIT THREE
+<three> /x33 <U0033> DIGIT THREE
+<4> /x34 <U0034> DIGIT FOUR
+<four> /x34 <U0034> DIGIT FOUR
+<5> /x35 <U0035> DIGIT FIVE
+<five> /x35 <U0035> DIGIT FIVE
+<6> /x36 <U0036> DIGIT SIX
+<six> /x36 <U0036> DIGIT SIX
+<7> /x37 <U0037> DIGIT SEVEN
+<seven> /x37 <U0037> DIGIT SEVEN
+<8> /x38 <U0038> DIGIT EIGHT
+<eight> /x38 <U0038> DIGIT EIGHT
+<9> /x39 <U0039> DIGIT NINE
+<nine> /x39 <U0039> DIGIT NINE
+<:> /x3A <U003A> COLON
+<colon> /x3A <U003A> COLON
+<;> /x3B <U003B> SEMICOLON
+<semicolon> /x3B <U003B> SEMICOLON
+<<> /x3C <U003C> LESS-THAN SIGN
+<less-than-sign> /x3C <U003C> LESS-THAN SIGN
+<=> /x3D <U003D> EQUALS SIGN
+<equals-sign> /x3D <U003D> EQUALS SIGN
+</>> /x3E <U003E> GREATER-THAN SIGN
+<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
+<?> /x3F <U003F> QUESTION MARK
+<question-mark> /x3F <U003F> QUESTION MARK
+<At> /x40 <U0040> COMMERCIAL AT
+<commercial-at> /x40 <U0040> COMMERCIAL AT
+<@> /x40 <U0040> COMMERCIAL AT
+<Oa> /x40 <U0040> COMMERCIAL AT
+<A> /x41 <U0041> LATIN CAPITAL LETTER A
+<B> /x42 <U0042> LATIN CAPITAL LETTER B
+<C> /x43 <U0043> LATIN CAPITAL LETTER C
+<D> /x44 <U0044> LATIN CAPITAL LETTER D
+<E> /x45 <U0045> LATIN CAPITAL LETTER E
+<F> /x46 <U0046> LATIN CAPITAL LETTER F
+<G> /x47 <U0047> LATIN CAPITAL LETTER G
+<H> /x48 <U0048> LATIN CAPITAL LETTER H
+<I> /x49 <U0049> LATIN CAPITAL LETTER I
+<J> /x4A <U004A> LATIN CAPITAL LETTER J
+<K> /x4B <U004B> LATIN CAPITAL LETTER K
+<L> /x4C <U004C> LATIN CAPITAL LETTER L
+<M> /x4D <U004D> LATIN CAPITAL LETTER M
+<N> /x4E <U004E> LATIN CAPITAL LETTER N
+<O> /x4F <U004F> LATIN CAPITAL LETTER O
+<P> /x50 <U0050> LATIN CAPITAL LETTER P
+<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
+<R> /x52 <U0052> LATIN CAPITAL LETTER R
+<S> /x53 <U0053> LATIN CAPITAL LETTER S
+<T> /x54 <U0054> LATIN CAPITAL LETTER T
+<U> /x55 <U0055> LATIN CAPITAL LETTER U
+<V> /x56 <U0056> LATIN CAPITAL LETTER V
+<W> /x57 <U0057> LATIN CAPITAL LETTER W
+<X> /x58 <U0058> LATIN CAPITAL LETTER X
+<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
+<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
+<<(> /x5B <U005B> LEFT SQUARE BRACKET
+<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
+<////> /x5C <U005C> REVERSE SOLIDUS
+<backslash> /x5C <U005C> REVERSE SOLIDUS
+<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
+<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
+<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
+<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
+<_> /x5F <U005F> LOW LINE
+<low-line> /x5F <U005F> LOW LINE
+<underscore> /x5F <U005F> LOW LINE
+<'!> /x60 <U0060> GRAVE ACCENT
+<grave-accent> /x60 <U0060> GRAVE ACCENT
+<a> /x61 <U0061> LATIN SMALL LETTER A
+<b> /x62 <U0062> LATIN SMALL LETTER B
+<c> /x63 <U0063> LATIN SMALL LETTER C
+<d> /x64 <U0064> LATIN SMALL LETTER D
+<e> /x65 <U0065> LATIN SMALL LETTER E
+<f> /x66 <U0066> LATIN SMALL LETTER F
+<g> /x67 <U0067> LATIN SMALL LETTER G
+<h> /x68 <U0068> LATIN SMALL LETTER H
+<i> /x69 <U0069> LATIN SMALL LETTER I
+<j> /x6A <U006A> LATIN SMALL LETTER J
+<k> /x6B <U006B> LATIN SMALL LETTER K
+<l> /x6C <U006C> LATIN SMALL LETTER L
+<m> /x6D <U006D> LATIN SMALL LETTER M
+<n> /x6E <U006E> LATIN SMALL LETTER N
+<o> /x6F <U006F> LATIN SMALL LETTER O
+<p> /x70 <U0070> LATIN SMALL LETTER P
+<q> /x71 <U0071> LATIN SMALL LETTER Q
+<r> /x72 <U0072> LATIN SMALL LETTER R
+<s> /x73 <U0073> LATIN SMALL LETTER S
+<t> /x74 <U0074> LATIN SMALL LETTER T
+<u> /x75 <U0075> LATIN SMALL LETTER U
+<v> /x76 <U0076> LATIN SMALL LETTER V
+<w> /x77 <U0077> LATIN SMALL LETTER W
+<x> /x78 <U0078> LATIN SMALL LETTER X
+<y> /x79 <U0079> LATIN SMALL LETTER Y
+<z> /x7A <U007A> LATIN SMALL LETTER Z
+<(!> /x7B <U007B> LEFT CURLY BRACKET
+<left-brace> /x7B <U007B> LEFT CURLY BRACKET
+<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
+<!!> /x7C <U007C> VERTICAL LINE
+<vertical-line> /x7C <U007C> VERTICAL LINE
+<!)> /x7D <U007D> RIGHT CURLY BRACKET
+<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
+<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
+<'?> /x7E <U007E> TILDE
+<tilde> /x7E <U007E> TILDE
+<DEL> /x7F <U007F> DELETE
+<DT> /x7F <U007F> DELETE
+<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
+<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
+<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
+<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
+<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
+<sb> /x95 <U2022> BULLET
+<-N> /x96 <U2013> EN DASH
+<-M> /x97 <U2014> EM DASH
+<NS> /xA0 <U00A0> NO-BREAK SPACE
+<th161> /xA1 <U0E01> THAI CHARACTER KO KAI
+<th162> /xA2 <U0E02> THAI CHARACTER KHO KHAI
+<th163> /xA3 <U0E03> THAI CHARACTER KHO KHUAT
+<th164> /xA4 <U0E04> THAI CHARACTER KHO KHWAI
+<th165> /xA5 <U0E05> THAI CHARACTER KHO KHON
+<th166> /xA6 <U0E06> THAI CHARACTER KHO RAKHANG
+<th167> /xA7 <U0E07> THAI CHARACTER NGO NGU
+<th168> /xA8 <U0E08> THAI CHARACTER CHO CHAN
+<th169> /xA9 <U0E09> THAI CHARACTER CHO CHING
+<th170> /xAA <U0E0A> THAI CHARACTER CHO CHANG
+<th171> /xAB <U0E0B> THAI CHARACTER SO SO
+<th172> /xAC <U0E0C> THAI CHARACTER CHO CHOE
+<th173> /xAD <U0E0D> THAI CHARACTER YO YING
+<th174> /xAE <U0E0E> THAI CHARACTER DO CHADA
+<th175> /xAF <U0E0F> THAI CHARACTER TO PATAK
+<th176> /xB0 <U0E10> THAI CHARACTER THO THAN
+<th177> /xB1 <U0E11> THAI CHARACTER THO NANGMONTHO
+<th178> /xB2 <U0E12> THAI CHARACTER THO PHUTHAO
+<th179> /xB3 <U0E13> THAI CHARACTER NO NEN
+<th180> /xB4 <U0E14> THAI CHARACTER DO DEK
+<th181> /xB5 <U0E15> THAI CHARACTER TO TAO
+<th182> /xB6 <U0E16> THAI CHARACTER THO THUNG
+<th183> /xB7 <U0E17> THAI CHARACTER THO THAHAN
+<th184> /xB8 <U0E18> THAI CHARACTER THO THONG
+<th185> /xB9 <U0E19> THAI CHARACTER NO NU
+<th186> /xBA <U0E1A> THAI CHARACTER BO BAIMAI
+<th187> /xBB <U0E1B> THAI CHARACTER PO PLA
+<th188> /xBC <U0E1C> THAI CHARACTER PHO PHUNG
+<th189> /xBD <U0E1D> THAI CHARACTER FO FA
+<th190> /xBE <U0E1E> THAI CHARACTER PHO PHAN
+<th191> /xBF <U0E1F> THAI CHARACTER FO FAN
+<th192> /xC0 <U0E20> THAI CHARACTER PHO SAMPHAO
+<th193> /xC1 <U0E21> THAI CHARACTER MO MA
+<th194> /xC2 <U0E22> THAI CHARACTER YO YAK
+<th195> /xC3 <U0E23> THAI CHARACTER RO RUA
+<th196> /xC4 <U0E24> THAI CHARACTER RU
+<th197> /xC5 <U0E25> THAI CHARACTER LO LING
+<th198> /xC6 <U0E26> THAI CHARACTER LU
+<th199> /xC7 <U0E27> THAI CHARACTER WO WAEN
+<th200> /xC8 <U0E28> THAI CHARACTER SO SALA
+<th201> /xC9 <U0E29> THAI CHARACTER SO RUSI
+<th202> /xCA <U0E2A> THAI CHARACTER SO SUA
+<th203> /xCB <U0E2B> THAI CHARACTER HO HIP
+<th204> /xCC <U0E2C> THAI CHARACTER LO CHULA
+<th205> /xCD <U0E2D> THAI CHARACTER O ANG
+<th206> /xCE <U0E2E> THAI CHARACTER HO NOKHUK
+<th207> /xCF <U0E2F> THAI CHARACTER PAIYANNOI
+<th208> /xD0 <U0E30> THAI CHARACTER SARA A
+<th209> /xD1 <U0E31> THAI CHARACTER MAI HAN-AKAT
+<th210> /xD2 <U0E32> THAI CHARACTER SARA AA
+<th211> /xD3 <U0E33> THAI CHARACTER SARA AM
+<th212> /xD4 <U0E34> THAI CHARACTER SARA I
+<th213> /xD5 <U0E35> THAI CHARACTER SARA II
+<th214> /xD6 <U0E36> THAI CHARACTER SARA UE
+<th215> /xD7 <U0E37> THAI CHARACTER SARA UEE
+<th216> /xD8 <U0E38> THAI CHARACTER SARA U
+<th217> /xD9 <U0E39> THAI CHARACTER SARA UU
+<th218> /xDA <U0E3A> THAI CHARACTER PHINTHU
+<th223> /xDF <U0E3F> THAI CURRENCY SYMBOL BAHT
+<th224> /xE0 <U0E40> THAI CHARACTER SARA E
+<th225> /xE1 <U0E41> THAI CHARACTER SARA AE
+<th226> /xE2 <U0E42> THAI CHARACTER SARA O
+<th227> /xE3 <U0E43> THAI CHARACTER SARA AI MAIMUAN
+<th228> /xE4 <U0E44> THAI CHARACTER SARA AI MAIMALAI
+<th229> /xE5 <U0E45> THAI CHARACTER LAKKHANGYAO
+<th230> /xE6 <U0E46> THAI CHARACTER MAIYAMOK
+<th231> /xE7 <U0E47> THAI CHARACTER MAITAIKHU
+<th232> /xE8 <U0E48> THAI CHARACTER MAI EK
+<th233> /xE9 <U0E49> THAI CHARACTER MAI THO
+<th234> /xEA <U0E4A> THAI CHARACTER MAI TRI
+<th235> /xEB <U0E4B> THAI CHARACTER MAI CHATTAWA
+<th236> /xEC <U0E4C> THAI CHARACTER THANTHAKHAT
+<th237> /xED <U0E4D> THAI CHARACTER NIKHAHIT
+<th238> /xEE <U0E4E> THAI CHARACTER YAMAKKAN
+<th239> /xEF <U0E4F> THAI CHARACTER FONGMAN
+<th240> /xF0 <U0E50> THAI DIGIT ZERO
+<th241> /xF1 <U0E51> THAI DIGIT ONE
+<th242> /xF2 <U0E52> THAI DIGIT TWO
+<th243> /xF3 <U0E53> THAI DIGIT THREE
+<th244> /xF4 <U0E54> THAI DIGIT FOUR
+<th245> /xF5 <U0E55> THAI DIGIT FIVE
+<th246> /xF6 <U0E56> THAI DIGIT SIX
+<th247> /xF7 <U0E57> THAI DIGIT SEVEN
+<th248> /xF8 <U0E58> THAI DIGIT EIGHT
+<th249> /xF9 <U0E59> THAI DIGIT NINE
+<th250> /xFA <U0E5A> THAI CHARACTER ANGKHANKHU
+<th251> /xFB <U0E5B> THAI CHARACTER KHOMUT
+END CHARMAP