aboutsummaryrefslogtreecommitdiff
path: root/iconvdata
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-10-19 23:58:35 +0000
committerUlrich Drepper <drepper@redhat.com>2005-10-19 23:58:35 +0000
commit3b8d12b8769074a037d14c20cc5a3488a39a99c8 (patch)
treea52bea4fbe352ffa18e069b4369881ee83477e63 /iconvdata
parentad1df114133a7a2169776562d935af3e2c4680e9 (diff)
downloadglibc-3b8d12b8769074a037d14c20cc5a3488a39a99c8.tar.xz
glibc-3b8d12b8769074a037d14c20cc5a3488a39a99c8.zip
..
2005-10-19 Ulrich Drepper <drepper@redhat.com> * iconvdata/Makefile (modules): Add IBM1364, IBM1371, IBM1388, IBM1390, and IBM1399. (distribute): Add ibm1364.c, ibm1364.h, ibm1371.c, ibm1371.h, ibm1388.c, ibm1388.h, ibm1390.c, ibm1390.h, ibm1399.c, and ibm1399.h. * iconvdata/TESTS: Add entries for IBM1364, IBM1371, IBM1388, IBM1390, and IBM1399. * iconvdata/gconv-modules: Likewise. * iconvdata/ibm1364.c: New file. * iconvdata/ibm1364.h: New file. * iconvdata/ibm1371.c: New file. * iconvdata/ibm1371.h: New file. * iconvdata/ibm1388.c: New file. * iconvdata/ibm1388.h: New file. * iconvdata/ibm1390.c: New file. * iconvdata/ibm1390.h: New file. * iconvdata/ibm1399.c: New file. * iconvdata/ibm1399.h: New file. * iconvdata/testdata/IBM1364: New file. * iconvdata/testdata/IBM1364..UTF8: New file. * iconvdata/testdata/IBM1371: New file. * iconvdata/testdata/IBM1371..UTF8: New file. * iconvdata/testdata/IBM1388: New file. * iconvdata/testdata/IBM1388..UTF8: New file * iconvdata/testdata/IBM1390: New file. * iconvdata/testdata/IBM1390..UTF8: New file. * iconvdata/testdata/IBM1399: New file. * iconvdata/testdata/IBM1399..UTF8: New file. Original patch by Masahide Washizawa <washi@jp.ibm.com>.
Diffstat (limited to 'iconvdata')
-rw-r--r--iconvdata/Makefile7
-rw-r--r--iconvdata/TESTS5
-rw-r--r--iconvdata/gconv-modules35
-rw-r--r--iconvdata/ibm1364.h14207
-rw-r--r--iconvdata/ibm1371.c34
-rw-r--r--iconvdata/ibm1371.h11973
-rw-r--r--iconvdata/ibm1388.c34
-rw-r--r--iconvdata/ibm1388.h17236
-rw-r--r--iconvdata/ibm1390.c36
-rw-r--r--iconvdata/ibm1390.h15606
-rw-r--r--iconvdata/ibm1399.c36
-rw-r--r--iconvdata/ibm1399.h15606
-rw-r--r--iconvdata/testdata/IBM1364bin0 -> 98184 bytes
-rw-r--r--iconvdata/testdata/IBM1364..UTF8bin0 -> 78604 bytes
-rw-r--r--iconvdata/testdata/IBM1371bin0 -> 100698 bytes
-rw-r--r--iconvdata/testdata/IBM1371..UTF8bin0 -> 80530 bytes
-rw-r--r--iconvdata/testdata/IBM1388bin0 -> 162348 bytes
-rw-r--r--iconvdata/testdata/IBM1388..UTF8bin0 -> 129566 bytes
-rw-r--r--iconvdata/testdata/IBM1390bin0 -> 110956 bytes
-rw-r--r--iconvdata/testdata/IBM1390..UTF8bin0 -> 88681 bytes
-rw-r--r--iconvdata/testdata/IBM1399bin0 -> 110958 bytes
-rw-r--r--iconvdata/testdata/IBM1399..UTF8bin0 -> 88683 bytes
22 files changed, 74813 insertions, 2 deletions
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 2ea0fcfcce..f6e9c17a0c 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -57,7 +57,8 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
IBM1008_420 IBM1097 IBM1112 IBM1123 IBM1130 IBM1140 IBM1141 \
IBM1142 IBM1143 IBM1144 IBM1145 IBM1146 IBM1147 IBM1148 \
IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 \
- IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804
+ IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804 \
+ IBM1364 IBM1371 IBM1388 IBM1390 IBM1399
modules.so := $(addsuffix .so, $(modules))
@@ -192,7 +193,9 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \
ibm1167.c ibm1167.h ibm4517.c ibm4517.h ibm4899.c ibm4899.h \
ibm4909.c ibm4909.h ibm4971.c ibm4971.h ibm5347.c ibm5347.h \
ibm9030.c ibm9030.h ibm9066.c ibm9066.h ibm9448.c ibm9448.h \
- ibm12712.c ibm12712.h ibm16804.c ibm16804.h
+ ibm12712.c ibm12712.h ibm16804.c ibm16804.h \
+ ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \
+ ibm1390.c ibm1390.h ibm1399.c ibm1399.h
# We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared))
diff --git a/iconvdata/TESTS b/iconvdata/TESTS
index 05b0837558..9cd2a75e02 100644
--- a/iconvdata/TESTS
+++ b/iconvdata/TESTS
@@ -159,3 +159,8 @@ IBM9066 IBM9066 N UTF8
IBM9448 IBM9448 N UTF8
IBM12712 IBM12712 N UTF8
IBM16804 IBM16804 - UTF8
+IBM1364 IBM1364 N UTF8
+IBM1371 IBM1371 N UTF8
+IBM1388 IBM1388 N UTF8
+IBM1390 IBM1390 N UTF8
+IBM1399 IBM1399 N UTF8
diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules
index e03795f529..37b3e5f924 100644
--- a/iconvdata/gconv-modules
+++ b/iconvdata/gconv-modules
@@ -1862,3 +1862,38 @@ alias CP16804// IBM16804//
alias CSIBM16804// IBM16804//
module IBM16804// INTERNAL IBM16804 1
module INTERNAL IBM16804// IBM16804 1
+
+# from to module cost
+alias IBM-1364// IBM1364//
+alias CP1364// IBM1364//
+alias CSIBM1364// IBM1364//
+module IBM1364// INTERNAL IBM1364 1
+module INTERNAL IBM1364// IBM1364 1
+
+# from to module cost
+alias IBM-1371// IBM1371//
+alias CP1371// IBM1371//
+alias CSIBM1371// IBM1371//
+module IBM1371// INTERNAL IBM1371 1
+module INTERNAL IBM1371// IBM1371 1
+
+# from to module cost
+alias IBM-1388// IBM1388//
+alias CP1388// IBM1388//
+alias CSIBM1388// IBM1388//
+module IBM1388// INTERNAL IBM1388 1
+module INTERNAL IBM1388// IBM1388 1
+
+# from to module cost
+alias IBM-1390// IBM1390//
+alias CP1390// IBM1390//
+alias CSIBM1390// IBM1390//
+module IBM1390// INTERNAL IBM1390 1
+module INTERNAL IBM1390// IBM1390 1
+
+# from to module cost
+alias IBM-1399// IBM1399//
+alias CP1399// IBM1399//
+alias CSIBM1399// IBM1399//
+module IBM1399// INTERNAL IBM1399 1
+module INTERNAL IBM1399// IBM1399 1
diff --git a/iconvdata/ibm1364.h b/iconvdata/ibm1364.h
new file mode 100644
index 0000000000..f3bcdf706c
--- /dev/null
+++ b/iconvdata/ibm1364.h
@@ -0,0 +1,14207 @@
+/* Tables for conversion from and to IBM1364.
+ Copyright (C) 2005 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Masahide Washizawa <washi@jp.ibm.com>, 2005.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+
+#ifndef _IBM1364_H
+#define _IBM1364_H 1
+
+struct gap
+{
+ uint16_t start;
+ uint16_t end;
+ int32_t idx;
+};
+
+static const uint16_t __ibm1364sb_to_ucs4[256] =
+{
+ /* 0x00 */ 0x0000, 0x0001, 0x0002, 0x0003,
+ /* 0x04 */ 0x009c, 0x0009, 0x0086, 0x007f,
+ /* 0x08 */ 0x0097, 0x008d, 0x008e, 0x000b,
+ /* 0x0c */ 0x000c, 0x000d, 0x0000, 0x0000,
+ /* 0x10 */ 0x0010, 0x0011, 0x0012, 0x0013,
+ /* 0x14 */ 0x009d, 0x0085, 0x0008, 0x0087,
+ /* 0x18 */ 0x0018, 0x0019, 0x0092, 0x008f,
+ /* 0x1c */ 0x001c, 0x001d, 0x001e, 0x001f,
+ /* 0x20 */ 0x0080, 0x0081, 0x0082, 0x0083,
+ /* 0x24 */ 0x0084, 0x000a, 0x0017, 0x001b,
+ /* 0x28 */ 0x0088, 0x0089, 0x008a, 0x008b,
+ /* 0x2c */ 0x008c, 0x0005, 0x0006, 0x0007,
+ /* 0x30 */ 0x0090, 0x0091, 0x0016, 0x0093,
+ /* 0x34 */ 0x0094, 0x0095, 0x0096, 0x0004,
+ /* 0x38 */ 0x0098, 0x0099, 0x009a, 0x009b,
+ /* 0x3c */ 0x0014, 0x0015, 0x009e, 0x001a,
+ /* 0x40 */ 0x0020, 0x0000, 0xffa0, 0xffa1,
+ /* 0x44 */ 0xffa2, 0xffa3, 0xffa4, 0xffa5,
+ /* 0x48 */ 0xffa6, 0xffa7, 0x00a2, 0x002e,
+ /* 0x4c */ 0x003c, 0x0028, 0x002b, 0x007c,
+ /* 0x50 */ 0x0026, 0x0000, 0xffa8, 0xffa9,
+ /* 0x54 */ 0xffaa, 0xffab, 0xffac, 0xffad,
+ /* 0x58 */ 0xffae, 0xffaf, 0x0021, 0x0024,
+ /* 0x5c */ 0x002a, 0x0029, 0x003b, 0x00ac,
+ /* 0x60 */ 0x002d, 0x002f, 0xffb0, 0xffb1,
+ /* 0x64 */ 0xffb2, 0xffb3, 0xffb4, 0xffb5,
+ /* 0x68 */ 0xffb6, 0xffb7, 0x00a6, 0x002c,
+ /* 0x6c */ 0x0025, 0x005f, 0x003e, 0x003f,
+ /* 0x70 */ 0x005b, 0x0000, 0xffb8, 0xffb9,
+ /* 0x74 */ 0xffba, 0xffbb, 0xffbc, 0xffbd,
+ /* 0x78 */ 0xffbe, 0x0060, 0x003a, 0x0023,
+ /* 0x7c */ 0x0040, 0x0027, 0x003d, 0x0022,
+ /* 0x80 */ 0x005d, 0x0061, 0x0062, 0x0063,
+ /* 0x84 */ 0x0064, 0x0065, 0x0066, 0x0067,
+ /* 0x88 */ 0x0068, 0x0069, 0xffc2, 0xffc3,
+ /* 0x8c */ 0xffc4, 0xffc5, 0xffc6, 0xffc7,
+ /* 0x90 */ 0x0000, 0x006a, 0x006b, 0x006c,
+ /* 0x94 */ 0x006d, 0x006e, 0x006f, 0x0070,
+ /* 0x98 */ 0x0071, 0x0072, 0xffca, 0xffcb,
+ /* 0x9c */ 0xffcc, 0xffcd, 0xffce, 0xffcf,
+ /* 0xa0 */ 0x203e, 0x007e, 0x0073, 0x0074,
+ /* 0xa4 */ 0x0075, 0x0076, 0x0077, 0x0078,
+ /* 0xa8 */ 0x0079, 0x007a, 0xffd2, 0xffd3,
+ /* 0xac */ 0xffd4, 0xffd5, 0xffd6, 0xffd7,
+ /* 0xb0 */ 0x005e, 0x0000, 0x005c, 0x0000,
+ /* 0xb4 */ 0x0000, 0x0000, 0x0000, 0x0000,
+ /* 0xb8 */ 0x0000, 0x0000, 0xffda, 0xffdb,
+ /* 0xbc */ 0xffdc, 0x0000, 0x0000, 0x0000,
+ /* 0xc0 */ 0x007b, 0x0041, 0x0042, 0x0043,
+ /* 0xc4 */ 0x0044, 0x0045, 0x0046, 0x0047,
+ /* 0xc8 */ 0x0048, 0x0049, 0x0000, 0x0000,
+ /* 0xcc */ 0x0000, 0x0000, 0x0000, 0x0000,
+ /* 0xd0 */ 0x007d, 0x004a, 0x004b, 0x004c,
+ /* 0xd4 */ 0x004d, 0x004e, 0x004f, 0x0050,
+ /* 0xd8 */ 0x0051, 0x0052, 0x0000, 0x0000,
+ /* 0xdc */ 0x0000, 0x0000, 0x0000, 0x0000,
+ /* 0xe0 */ 0x20a9, 0x0000, 0x0053, 0x0054,
+ /* 0xe4 */ 0x0055, 0x0056, 0x0057, 0x0058,
+ /* 0xe8 */ 0x0059, 0x005a, 0x0000, 0x0000,
+ /* 0xec */ 0x0000, 0x0000, 0x0000, 0x0000,
+ /* 0xf0 */ 0x0030, 0x0031, 0x0032, 0x0033,
+ /* 0xf4 */ 0x0034, 0x0035, 0x0036, 0x0037,
+ /* 0xf8 */ 0x0038, 0x0039, 0x0000, 0x0000,
+ /* 0xfc */ 0x0000, 0x0000, 0x0000, 0x009f
+};
+
+static const struct gap __ibm1364db_to_ucs4_idx[] =
+{
+ { .start = 0x4040, .end = 0x4040, .idx = -16448 },
+ { .start = 0x4141, .end = 0x419d, .idx = -16704 },
+ { .start = 0x424a, .end = 0x436a, .idx = -16876 },
+ { .start = 0x4441, .end = 0x4493, .idx = -17090 },
+ { .start = 0x4541, .end = 0x4596, .idx = -17263 },
+ { .start = 0x4641, .end = 0x4698, .idx = -17433 },
+ { .start = 0x4741, .end = 0x4784, .idx = -17601 },
+ { .start = 0x4841, .end = 0x4886, .idx = -17789 },
+ { .start = 0x4941, .end = 0x4996, .idx = -17975 },
+ { .start = 0x4a41, .end = 0x4a82, .idx = -18145 },
+ { .start = 0x4b41, .end = 0x4c9a, .idx = -18335 },
+ { .start = 0x4d41, .end = 0x4d84, .idx = -18501 },
+ { .start = 0x4e41, .end = 0x4e92, .idx = -18689 },
+ { .start = 0x5041, .end = 0x6c45, .idx = -19119 },
+ { .start = 0x8441, .end = 0x87a1, .idx = -25258 },
+ { .start = 0x8841, .end = 0xddfd, .idx = -25417 },
+ { .start = 0xffff, .end = 0xffff, .idx = 0 }
+};
+
+static const uint16_t __ibm1364db_to_ucs4[] =
+{
+ 0x3000, 0x3001, 0x3002, 0x30fb,
+ 0x2025, 0x2026, 0x00a8, 0x3003,
+ 0x2010, 0x2014, 0x2225, 0xff3c,
+ 0xffe3, 0x2018, 0x2019, 0x201c,
+ 0x201d, 0x3014, 0x3015, 0x3008,
+ 0x3009, 0x300a, 0x300b, 0x300c,
+ 0x300d, 0x300e, 0x300f, 0x3010,
+ 0x3011, 0x00b1, 0x00d7, 0x00f7,
+ 0x01c2, 0x2266, 0x2267, 0x221e,
+ 0x2234, 0x00b0, 0x2032, 0x2033,
+ 0x2103, 0x212a, 0xff3e, 0xffe1,
+ 0xffe5, 0x3396, 0x3397, 0x2113,
+ 0x33c4, 0x339c, 0x339d, 0x339e,
+ 0x338e, 0x338f, 0x00a7, 0x203b,
+ 0x2606, 0x2605, 0x25cb, 0x25cf,
+ 0x25ce, 0x25c7, 0x25c6, 0x25a1,
+ 0x25a0, 0x25b3, 0x25b2, 0x25bd,
+ 0x25bc, 0x2192, 0x2190, 0x2191,
+ 0x2193, 0x2194, 0x3013, 0xff3b,
+ 0xff3d, 0x2260, 0x2264, 0x2265,
+ 0x212b, 0x2642, 0x2640, 0x2220,
+ 0x22a5, 0x2312, 0x2202, 0x2207,
+ 0x2261, 0x2252, 0x226a, 0x226b,
+ 0x221a, 0x223d, 0xffe0, 0xff0e,
+ 0xff1c, 0xff08, 0xff0b, 0xff5c,
+ 0xff06, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0xff01, 0xff04,
+ 0xff0a, 0xff09, 0xff1b, 0xffe2,
+ 0xff0d, 0xff0f, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0xffe4, 0xff0c,
+ 0xff05, 0xff3f, 0xff1e, 0xff1f,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0xff40, 0xff1a, 0xff03,
+ 0xff20, 0xff07, 0xff1d, 0xff02,
+ 0x0000, 0xff41, 0xff42, 0xff43,
+ 0xff44, 0xff45, 0xff46, 0xff47,
+ 0xff48, 0xff49, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0xff4a, 0xff4b, 0xff4c,
+ 0xff4d, 0xff4e, 0xff4f, 0xff50,
+ 0xff51, 0xff52, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x301c, 0xff53, 0xff54,
+ 0xff55, 0xff56, 0xff57, 0xff58,
+ 0xff59, 0xff5a, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xff5b, 0xff21, 0xff22, 0xff23,
+ 0xff24, 0xff25, 0xff26, 0xff27,
+ 0xff28, 0xff29, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xff5d, 0xff2a, 0xff2b, 0xff2c,
+ 0xff2d, 0xff2e, 0xff2f, 0xff30,
+ 0xff31, 0xff32, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xffe6, 0x0000, 0xff33, 0xff34,
+ 0xff35, 0xff36, 0xff37, 0xff38,
+ 0xff39, 0xff3a, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xff10, 0xff11, 0xff12, 0xff13,
+ 0xff14, 0xff15, 0xff16, 0xff17,
+ 0xff18, 0xff19, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x3165, 0x3166, 0x3167,
+ 0x3168, 0x3169, 0x316a, 0x316b,
+ 0x316c, 0x316d, 0x316e, 0x316f,
+ 0x3170, 0x3171, 0x3172, 0x3173,
+ 0x3174, 0x3175, 0x3176, 0x3177,
+ 0x3178, 0x3179, 0x317a, 0x317b,
+ 0x317c, 0x317d, 0x317e, 0x317f,
+ 0x3180, 0x3181, 0x3182, 0x3183,
+ 0x3184, 0x3185, 0x3186, 0x3187,
+ 0x3188, 0x3189, 0x318a, 0x318b,
+ 0x318c, 0x318d, 0x318e, 0x3041,
+ 0x3042, 0x3043, 0x3044, 0x3045,
+ 0x3046, 0x3047, 0x3048, 0x3049,
+ 0x304a, 0x304b, 0x304c, 0x304d,
+ 0x304e, 0x304f, 0x3050, 0x3051,
+ 0x3052, 0x3053, 0x3054, 0x3055,
+ 0x3056, 0x3057, 0x3058, 0x3059,
+ 0x305a, 0x305b, 0x305c, 0x305d,
+ 0x305e, 0x305f, 0x3060, 0x3061,
+ 0x3062, 0x3063, 0x3064, 0x3065,
+ 0x3066, 0x3067, 0x3068, 0x3069,
+ 0x306a, 0x306b, 0x306c, 0x306d,
+ 0x306e, 0x306f, 0x3070, 0x3071,
+ 0x3072, 0x3073, 0x3074, 0x3075,
+ 0x3076, 0x3077, 0x3078, 0x3079,
+ 0x307a, 0x307b, 0x307c, 0x307d,
+ 0x307e, 0x307f, 0x3080, 0x3081,
+ 0x3082, 0x3083, 0x3084, 0x3085,
+ 0x3086, 0x3087, 0x3088, 0x3089,
+ 0x308a, 0x308b, 0x308c, 0x308d,
+ 0x308e, 0x308f, 0x3090, 0x3091,
+ 0x3092, 0x3093, 0x30a1, 0x30a2,
+ 0x30a3, 0x30a4, 0x30a5, 0x30a6,
+ 0x30a7, 0x30a8, 0x30a9, 0x30aa,
+ 0x30ab, 0x30ac, 0x30ad, 0x30ae,
+ 0x30af, 0x30b0, 0x30b1, 0x30b2,
+ 0x30b3, 0x30b4, 0x30b5, 0x30b6,
+ 0x30b7, 0x30b8, 0x30b9, 0x30ba,
+ 0x30bb, 0x30bc, 0x30bd, 0x30be,
+ 0x30bf, 0x30c0, 0x30c1, 0x30c2,
+ 0x30c3, 0x30c4, 0x30c5, 0x30c6,
+ 0x30c7, 0x30c8, 0x30c9, 0x30ca,
+ 0x30cb, 0x30cc, 0x30cd, 0x30ce,
+ 0x30cf, 0x30d0, 0x30d1, 0x30d2,
+ 0x30d3, 0x30d4, 0x30d5, 0x30d6,
+ 0x30d7, 0x30d8, 0x30d9, 0x30da,
+ 0x30db, 0x30dc, 0x30dd, 0x30de,
+ 0x30df, 0x30e0, 0x30e1, 0x30e2,
+ 0x30e3, 0x30e4, 0x30e5, 0x30e6,
+ 0x30e7, 0x30e8, 0x30e9, 0x30ea,
+ 0x30eb, 0x30ec, 0x30ed, 0x30ee,
+ 0x30ef, 0x30f0, 0x30f1, 0x30f2,
+ 0x30f3, 0x30f4, 0x30f5, 0x30f6,
+ 0x2170, 0x2171, 0x2172, 0x2173,
+ 0x2174, 0x2175, 0x2176, 0x2177,
+ 0x2178, 0x2179, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x2160,
+ 0x2161, 0x2162, 0x2163, 0x2164,
+ 0x2165, 0x2166, 0x2167, 0x2168,
+ 0x2169, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0391, 0x0392, 0x0393, 0x0394,
+ 0x0395, 0x0396, 0x0397, 0x0398,
+ 0x0399, 0x039a, 0x039b, 0x039c,
+ 0x039d, 0x039e, 0x039f, 0x03a0,
+ 0x03a1, 0x03a3, 0x03a4, 0x03a5,
+ 0x03a6, 0x03a7, 0x03a8, 0x03a9,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x03b1, 0x03b2, 0x03b3, 0x03b4,
+ 0x03b5, 0x03b6, 0x03b7, 0x03b8,
+ 0x03b9, 0x03ba, 0x03bb, 0x03bc,
+ 0x03bd, 0x03be, 0x03bf, 0x03c0,
+ 0x03c1, 0x03c3, 0x03c4, 0x03c5,
+ 0x03c6, 0x03c7, 0x03c8, 0x03c9,
+ 0x2500, 0x2502, 0x250c, 0x2510,
+ 0x2518, 0x2514, 0x251c, 0x252c,
+ 0x2524, 0x2534, 0x253c, 0x2501,
+ 0x2503, 0x250f, 0x2513, 0x251b,
+ 0x2517, 0x2523, 0x2533, 0x252b,
+ 0x253b, 0x254b, 0x2520, 0x252f,
+ 0x2528, 0x2537, 0x253f, 0x251d,
+ 0x2530, 0x2525, 0x2538, 0x2542,
+ 0x2512, 0x2511, 0x251a, 0x2519,
+ 0x2516, 0x2515, 0x250e, 0x250d,
+ 0x251e, 0x251f, 0x2521, 0x2522,
+ 0x2526, 0x2527, 0x2529, 0x252a,
+ 0x252d, 0x252e, 0x2531, 0x2532,
+ 0x2535, 0x2536, 0x2539, 0x253a,
+ 0x253d, 0x253e, 0x2540, 0x2541,
+ 0x2543, 0x2544, 0x2545, 0x2546,
+ 0x2547, 0x2548, 0x2549, 0x254a,
+ 0x3395, 0x3398, 0x33a3, 0x33a4,
+ 0x33a5, 0x33a6, 0x3399, 0x339a,
+ 0x339b, 0x339f, 0x33a0, 0x33a1,
+ 0x33a2, 0x33ca, 0x338d, 0x33cf,
+ 0x3388, 0x3389, 0x33c8, 0x33a7,
+ 0x33a8, 0x33b0, 0x33b1, 0x33b2,
+ 0x33b3, 0x33b4, 0x33b5, 0x33b6,
+ 0x33b7, 0x33b8, 0x33b9, 0x3380,
+ 0x3381, 0x3382, 0x3383, 0x3384,
+ 0x33ba, 0x33bb, 0x33bc, 0x33bd,
+ 0x33be, 0x33bf, 0x3390, 0x3391,
+ 0x3392, 0x3393, 0x3394, 0x2126,
+ 0x33c0, 0x33c1, 0x338a, 0x338b,
+ 0x338c, 0x33d6, 0x33c5, 0x33ad,
+ 0x33ae, 0x33af, 0x33db, 0x33a9,
+ 0x33aa, 0x33ab, 0x33ac, 0x33dd,
+ 0x33d0, 0x33d3, 0x33c3, 0x33c9,
+ 0x33dc, 0x33c6, 0x221d, 0x2235,
+ 0x222b, 0x222c, 0x2208, 0x220b,
+ 0x2286, 0x2287, 0x2282, 0x2283,
+ 0x222a, 0x2229, 0x2227, 0x2228,
+ 0x21d2, 0x21d4, 0x2200, 0x2203,
+ 0x00b4, 0x02dc, 0x02c7, 0x02d8,
+ 0x02dd, 0x02da, 0x02d9, 0x00b8,
+ 0x02db, 0x00a1, 0x00bf, 0x02d0,
+ 0x222e, 0x2211, 0x220f, 0x00a4,
+ 0x2109, 0x2030, 0x25c1, 0x25c0,
+ 0x25b7, 0x25b6, 0x2664, 0x2660,
+ 0x2661, 0x2665, 0x2667, 0x2663,
+ 0x25c9, 0x25c8, 0x25a3, 0x25d0,
+ 0x25d1, 0x2592, 0x25a4, 0x25a5,
+ 0x25a8, 0x25a7, 0x25a6, 0x25a9,
+ 0x2668, 0x260f, 0x260e, 0x261c,
+ 0x261e, 0x00b6, 0x2020, 0x2021,
+ 0x2195, 0x2197, 0x2199, 0x2196,
+ 0x2198, 0x266d, 0x2669, 0x266a,
+ 0x266c, 0x327f, 0x321c, 0x2116,
+ 0x33c7, 0x2122, 0x33c2, 0x33d8,
+ 0x2121, 0x02ba, 0x20ac, 0x00ae,
+ 0x0410, 0x0411, 0x0412, 0x0413,
+ 0x0414, 0x0415, 0x0401, 0x0416,
+ 0x0417, 0x0418, 0x0419, 0x041a,
+ 0x041b, 0x041c, 0x041d, 0x041e,
+ 0x041f, 0x0420, 0x0421, 0x0422,
+ 0x0423, 0x0424, 0x0425, 0x0426,
+ 0x0427, 0x0428, 0x0429, 0x042a,
+ 0x042b, 0x042c, 0x042d, 0x042e,
+ 0x042f, 0x0430, 0x0431, 0x0432,
+ 0x0433, 0x0434, 0x0435, 0x0451,
+ 0x0436, 0x0437, 0x0438, 0x0439,
+ 0x043a, 0x043b, 0x043c, 0x043d,
+ 0x043e, 0x043f, 0x0440, 0x0441,
+ 0x0442, 0x0443, 0x0444, 0x0445,
+ 0x0446, 0x0447, 0x0448, 0x0449,
+ 0x044a, 0x044b, 0x044c, 0x044d,
+ 0x044e, 0x044f, 0x00c6, 0x00d0,
+ 0x00aa, 0x0126, 0x0000, 0x0132,
+ 0x0000, 0x013f, 0x0141, 0x00d8,
+ 0x0152, 0x00ba, 0x00de, 0x0166,
+ 0x014a, 0x0000, 0x3260, 0x3261,
+ 0x3262, 0x3263, 0x3264, 0x3265,
+ 0x3266, 0x3267, 0x3268, 0x3269,
+ 0x326a, 0x326b, 0x326c, 0x326d,
+ 0x326e, 0x326f, 0x3270, 0x3271,
+ 0x3272, 0x3273, 0x3274, 0x3275,
+ 0x3276, 0x3277, 0x3278, 0x3279,
+ 0x327a, 0x327b, 0x24d0, 0x24d1,
+ 0x24d2, 0x24d3, 0x24d4, 0x24d5,
+ 0x24d6, 0x24d7, 0x24d8, 0x24d9,
+ 0x24da, 0x24db, 0x24dc, 0x24dd,
+ 0x24de, 0x24df, 0x24e0, 0x24e1,
+ 0x24e2, 0x24e3, 0x24e4, 0x24e5,
+ 0x24e6, 0x24e7, 0x24e8, 0x24e9,
+ 0x2460, 0x2461, 0x2462, 0x2463,
+ 0x2464, 0x2465, 0x2466, 0x2467,
+ 0x2468, 0x2469, 0x246a, 0x246b,
+ 0x246c, 0x246d, 0x246e, 0x00bd,
+ 0x2153, 0x2154, 0x00bc, 0x00be,
+ 0x215b, 0x215c, 0x215d, 0x215e,
+ 0x0000, 0x00e6, 0x0111, 0x00f0,
+ 0x0127, 0x0131, 0x0133, 0x0138,
+ 0x0140, 0x0142, 0x00f8, 0x0153,
+ 0x00df, 0x00fe, 0x0167, 0x014b,
+ 0x0149, 0x3200, 0x3201, 0x3202,
+ 0x3203, 0x3204, 0x3205, 0x3206,
+ 0x3207, 0x3208, 0x3209, 0x320a,
+ 0x320b, 0x320c, 0x320d, 0x320e,
+ 0x320f, 0x3210, 0x3211, 0x3212,
+ 0x3213, 0x3214, 0x3215, 0x3216,
+ 0x3217, 0x3218, 0x3219, 0x321a,
+ 0x321b, 0x249c, 0x249d, 0x249e,
+ 0x249f, 0x24a0, 0x24a1, 0x24a2,
+ 0x24a3, 0x24a4, 0x24a5, 0x24a6,
+ 0x24a7, 0x24a8, 0x24a9, 0x24aa,
+ 0x24ab, 0x24ac, 0x24ad, 0x24ae,
+ 0x24af, 0x24b0, 0x24b1, 0x24b2,
+ 0x24b3, 0x24b4, 0x24b5, 0x2474,
+ 0x2475, 0x2476, 0x2477, 0x2478,
+ 0x2479, 0x247a, 0x247b, 0x247c,
+ 0x247d, 0x247e, 0x247f, 0x2480,
+ 0x2481, 0x2482, 0x00b9, 0x00b2,
+ 0x00b3, 0x2074, 0x207f, 0x2081,
+ 0x2082, 0x2083, 0x2084, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x1100, 0x1101,
+ 0x1102, 0x1103, 0x1104, 0x1105,
+ 0x1106, 0x1107, 0x1108, 0x1109,
+ 0x110a, 0x110b, 0x110c, 0x110d,
+ 0x110e, 0x110f, 0x1110, 0x1111,
+ 0x1112, 0x1113, 0x1114, 0x1115,
+ 0x1116, 0x1117, 0x1118, 0x1119,
+ 0x111a, 0x111b, 0x111c, 0x111d,
+ 0x111e, 0x111f, 0x1120, 0x1121,
+ 0x1122, 0x1123, 0x1124, 0x1125,
+ 0x1126, 0x1127, 0x1128, 0x1129,
+ 0x112a, 0x112b, 0x112c, 0x112d,
+ 0x112e, 0x112f, 0x1130, 0x1131,
+ 0x1132, 0x1133, 0x1134, 0x1135,
+ 0x1136, 0x1137, 0