From 204694cc71383eae9e54934a20c8dee885e16ded Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 3 Jan 2023 09:36:46 +0200 Subject: [PATCH] Optimize out more checks from hot path for BIG5 decoding This boosts the speed of BIG5 encoding conversion by just 1-2%. I tried various other tweaks to the BIG5 decoding routine to see if I could make it faster at the cost of using a larger conversion table, but at least on the machine I am using for benchmarking, these other changes just made things slower. --- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 8 +- .../libmbfl/filters/unicode_table_big5.h | 358 +++++++++++++----- 2 files changed, 268 insertions(+), 98 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index dafc3f5d3ec..081fc49afc3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -398,7 +398,7 @@ static size_t mb_big5_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf if (c <= 0x7F) { *out++ = c; - } else if (c > 0xA0 && c <= 0xF9 && c != 0xC8) { + } else if (c > 0xA0 && c <= 0xF9) { /* We don't need to check p < e here; it's not possible that this pointer dereference * will be outside the input string, because of e-- above */ unsigned char c2 = *p++; @@ -407,8 +407,12 @@ static size_t mb_big5_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf unsigned int w = (c - 0xA1)*157 + c2 - ((c2 <= 0x7E) ? 0x40 : 0xA1 - 0x3F); ZEND_ASSERT(w < big5_ucs_table_size); w = big5_ucs_table[w]; - if (!w) + if (!w) { + if (c == 0xC8) { + p--; + } w = MBFL_BAD_INPUT; + } *out++ = w; } else { *out++ = MBFL_BAD_INPUT; diff --git a/ext/mbstring/libmbfl/filters/unicode_table_big5.h b/ext/mbstring/libmbfl/filters/unicode_table_big5.h index 88f71d808d5..44daf3595a4 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_big5.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_big5.h @@ -27,6 +27,7 @@ /* Big5 -> UCS */ static const unsigned short big5_ucs_table[] = { +/* 0xA140 */ 0x3000,0xff0c,0x3001,0x3002,0xff0e,0x2022,0xff1b,0xff1a, 0xff1f,0xff01,0xfe30,0x2026,0x2025,0xfe50,0xff64,0xfe52, 0x00b7,0xfe54,0xfe55,0xfe56,0xfe57,0xff5c,0x2013,0xfe31, @@ -46,7 +47,9 @@ static const unsigned short big5_ucs_table[] = { 0xfe66,0x223c,0x2229,0x222a,0x22a5,0x2220,0x221f,0x22bf, 0x33d2,0x33d1,0x222b,0x222e,0x2235,0x2234,0x2640,0x2642, 0x2641,0x2609,0x2191,0x2193,0x2190,0x2192,0x2196,0x2197, -0x2199,0x2198,0x2225,0x2223,0x0000,0x0000,0xff0f,0xff3c, +0x2199,0x2198,0x2225,0x2223,0x0000, +/* 0xA240 */ +0x0000,0xff0f,0xff3c, 0xff04,0xffe5,0x3012,0x00a2,0x00a3,0xff05,0xff20,0x2103, 0x2109,0xfe69,0xfe6a,0xfe6b,0x33d5,0x339c,0x339d,0x339e, 0x33ce,0x33a1,0x338e,0x338f,0x33c4,0x00b0,0x5159,0x515b, @@ -66,7 +69,9 @@ static const unsigned short big5_ucs_table[] = { 0xff37,0xff38,0xff39,0xff3a,0xff41,0xff42,0xff43,0xff44, 0xff45,0xff46,0xff47,0xff48,0xff49,0xff4a,0xff4b,0xff4c, 0xff4d,0xff4e,0xff4f,0xff50,0xff51,0xff52,0xff53,0xff54, -0xff55,0xff56,0xff57,0xff58,0xff59,0xff5a,0x0391,0x0392, +0xff55,0xff56, +/* 0xA340 */ +0xff57,0xff58,0xff59,0xff5a,0x0391,0x0392, 0x0393,0x0394,0x0395,0x0396,0x0397,0x0398,0x0399,0x039a, 0x039b,0x039c,0x039d,0x039e,0x039f,0x03a0,0x03a1,0x03a3, 0x03a4,0x03a5,0x03a6,0x03a7,0x03a8,0x03a9,0x03b1,0x03b2, @@ -85,7 +90,9 @@ static const unsigned short big5_ucs_table[] = { 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,0x4e00, +0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, +/* 0xA440 */ +0x4e00, 0x4e59,0x4e01,0x4e03,0x4e43,0x4e5d,0x4e86,0x4e8c,0x4eba, 0x513f,0x5165,0x516b,0x51e0,0x5200,0x5201,0x529b,0x5315, 0x5341,0x535c,0x53c8,0x4e09,0x4e0b,0x4e08,0x4e0a,0x4e2b, @@ -105,7 +112,9 @@ static const unsigned short big5_ucs_table[] = { 0x624e,0x652f,0x6587,0x6597,0x65a4,0x65b9,0x65e5,0x66f0, 0x6708,0x6728,0x6b20,0x6b62,0x6b79,0x6bcb,0x6bd4,0x6bdb, 0x6c0f,0x6c34,0x706b,0x722a,0x7236,0x723b,0x7247,0x7259, -0x725b,0x72ac,0x738b,0x4e19,0x4e16,0x4e15,0x4e14,0x4e18, +0x725b,0x72ac,0x738b,0x4e19, +/* 0xA540 */ +0x4e16,0x4e15,0x4e14,0x4e18, 0x4e3b,0x4e4d,0x4e4f,0x4e4e,0x4ee5,0x4ed8,0x4ed4,0x4ed5, 0x4ed6,0x4ed7,0x4ee3,0x4ee4,0x4ed9,0x4ede,0x5145,0x5144, 0x5189,0x518a,0x51ac,0x51f9,0x51fa,0x51f8,0x520a,0x52a0, @@ -125,7 +134,9 @@ static const unsigned short big5_ucs_table[] = { 0x4ea4,0x4ea6,0x4ea5,0x4eff,0x4f09,0x4f19,0x4f0a,0x4f15, 0x4f0d,0x4f10,0x4f11,0x4f0f,0x4ef2,0x4ef6,0x4efb,0x4ef0, 0x4ef3,0x4efd,0x4f01,0x4f0b,0x5149,0x5147,0x5146,0x5148, -0x5168,0x5171,0x518d,0x51b0,0x5217,0x5211,0x5212,0x520e, +0x5168, +/* 0xA640 */ +0x5171,0x518d,0x51b0,0x5217,0x5211,0x5212,0x520e, 0x5216,0x52a3,0x5308,0x5321,0x5320,0x5370,0x5371,0x5409, 0x540f,0x540c,0x540a,0x5410,0x5401,0x540b,0x5404,0x5411, 0x540d,0x5408,0x5403,0x540e,0x5406,0x5412,0x56e0,0x56de, @@ -144,7 +155,9 @@ static const unsigned short big5_ucs_table[] = { 0x826e,0x8272,0x827e,0x866b,0x8840,0x884c,0x8863,0x897f, 0x9621,0x4e32,0x4ea8,0x4f4d,0x4f4f,0x4f47,0x4f57,0x4f5e, 0x4f34,0x4f5b,0x4f55,0x4f30,0x4f50,0x4f51,0x4f3d,0x4f3a, -0x4f38,0x4f43,0x4f54,0x4f3c,0x4f46,0x4f63,0x4f5c,0x4f60, +0x4f38,0x4f43,0x4f54,0x4f3c,0x4f46,0x4f63, +/* 0xA740 */ +0x4f5c,0x4f60, 0x4f2f,0x4f4e,0x4f36,0x4f59,0x4f5d,0x4f48,0x4f5a,0x514c, 0x514b,0x514d,0x5175,0x51b6,0x51b7,0x5225,0x5224,0x5229, 0x522a,0x5228,0x52ab,0x52a9,0x52aa,0x52ac,0x5323,0x5373, @@ -164,7 +177,9 @@ static const unsigned short big5_ucs_table[] = { 0x627e,0x6279,0x6273,0x6292,0x626f,0x6298,0x626e,0x6295, 0x6293,0x6291,0x6286,0x6539,0x653b,0x6538,0x65f1,0x66f4, 0x675f,0x674e,0x674f,0x6750,0x6751,0x675c,0x6756,0x675e, -0x6749,0x6746,0x6760,0x6753,0x6757,0x6b65,0x6bcf,0x6c42, +0x6749,0x6746,0x6760, +/* 0xA840 */ +0x6753,0x6757,0x6b65,0x6bcf,0x6c42, 0x6c5e,0x6c99,0x6c81,0x6c88,0x6c89,0x6c85,0x6c9b,0x6c6a, 0x6c7a,0x6c90,0x6c70,0x6c8c,0x6c68,0x6c96,0x6c92,0x6c7d, 0x6c83,0x6c72,0x6c7e,0x6c74,0x6c86,0x6c76,0x6c8d,0x6c94, @@ -184,6 +199,7 @@ static const unsigned short big5_ucs_table[] = { 0x51fd,0x523b,0x5238,0x5237,0x523a,0x5230,0x522e,0x5236, 0x5241,0x52be,0x52bb,0x5352,0x5354,0x5353,0x5351,0x5366, 0x5377,0x5378,0x5379,0x53d6,0x53d4,0x53d7,0x5473,0x5475, +/* 0xA940 */ 0x5496,0x5478,0x5495,0x5480,0x547b,0x5477,0x5484,0x5492, 0x5486,0x547c,0x5490,0x5471,0x5476,0x548c,0x549a,0x5462, 0x5468,0x548b,0x547d,0x548e,0x56fa,0x5783,0x5777,0x576a, @@ -203,7 +219,9 @@ static const unsigned short big5_ucs_table[] = { 0x62bd,0x62bc,0x62d0,0x62d9,0x62c7,0x62cd,0x62b5,0x62da, 0x62b1,0x62d8,0x62d6,0x62d7,0x62c6,0x62ac,0x62ce,0x653e, 0x65a7,0x65bc,0x65fa,0x6614,0x6613,0x660c,0x6606,0x6602, -0x660e,0x6600,0x660f,0x6615,0x660a,0x6607,0x670d,0x670b, +0x660e,0x6600,0x660f,0x6615,0x660a, +/* 0xAA40 */ +0x6607,0x670d,0x670b, 0x676d,0x678b,0x6795,0x6771,0x679c,0x6773,0x6777,0x6787, 0x679d,0x6797,0x676f,0x6770,0x677f,0x6789,0x677e,0x6790, 0x6775,0x679a,0x6793,0x677c,0x676a,0x6772,0x6b23,0x6b66, @@ -223,7 +241,9 @@ static const unsigned short big5_ucs_table[] = { 0x82b8,0x82a3,0x82b0,0x82be,0x82b7,0x864e,0x8671,0x521d, 0x8868,0x8ecb,0x8fce,0x8fd4,0x8fd1,0x90b5,0x90b8,0x90b1, 0x90b6,0x91c7,0x91d1,0x9577,0x9580,0x961c,0x9640,0x963f, -0x963b,0x9644,0x9642,0x96b9,0x96e8,0x9752,0x975e,0x4e9f, +0x963b,0x9644, +/* 0xAB40 */ +0x9642,0x96b9,0x96e8,0x9752,0x975e,0x4e9f, 0x4ead,0x4eae,0x4fe1,0x4fb5,0x4faf,0x4fbf,0x4fe0,0x4fd1, 0x4fcf,0x4fdd,0x4fc3,0x4fb6,0x4fd8,0x4fdf,0x4fca,0x4fd7, 0x4fae,0x4fd0,0x4fc4,0x4fc2,0x4fda,0x4fce,0x4fde,0x4fb7, @@ -242,7 +262,9 @@ static const unsigned short big5_ucs_table[] = { 0x5f87,0x5f8c,0x5f89,0x6012,0x601d,0x6020,0x6025,0x600e, 0x6028,0x604d,0x6070,0x6068,0x6062,0x6046,0x6043,0x606c, 0x606b,0x606a,0x6064,0x6241,0x62dc,0x6316,0x6309,0x62fc, -0x62ed,0x6301,0x62ee,0x62fd,0x6307,0x62f1,0x62f7,0x62ef, +0x62ed,0x6301,0x62ee,0x62fd,0x6307,0x62f1,0x62f7, +/* 0xAC40 */ +0x62ef, 0x62ec,0x62fe,0x62f4,0x6311,0x6302,0x653f,0x6545,0x65ab, 0x65bd,0x65e2,0x6625,0x662d,0x6620,0x6627,0x662f,0x661f, 0x6628,0x6631,0x6624,0x66f7,0x67ff,0x67d3,0x67f1,0x67d4, @@ -262,7 +284,9 @@ static const unsigned short big5_ucs_table[] = { 0x7814,0x780c,0x780d,0x7946,0x7949,0x7948,0x7947,0x79b9, 0x79ba,0x79d1,0x79d2,0x79cb,0x7a7f,0x7a81,0x7aff,0x7afd, 0x7c7d,0x7d02,0x7d05,0x7d00,0x7d09,0x7d07,0x7d04,0x7d06, -0x7f38,0x7f8e,0x7fbf,0x8004,0x8010,0x800d,0x8011,0x8036, +0x7f38,0x7f8e,0x7fbf,0x8004, +/* 0xAD40 */ +0x8010,0x800d,0x8011,0x8036, 0x80d6,0x80e5,0x80da,0x80c3,0x80c4,0x80cc,0x80e1,0x80db, 0x80ce,0x80de,0x80e4,0x80dd,0x81f4,0x8222,0x82e7,0x8303, 0x8305,0x82e3,0x82db,0x82e6,0x8304,0x82e5,0x8302,0x8309, @@ -282,7 +306,9 @@ static const unsigned short big5_ucs_table[] = { 0x525c,0x5254,0x525b,0x525d,0x532a,0x537f,0x539f,0x539d, 0x53df,0x54e8,0x5510,0x5501,0x5537,0x54fc,0x54e5,0x54f2, 0x5506,0x54fa,0x5514,0x54e9,0x54ed,0x54e1,0x5509,0x54ee, -0x54ea,0x54e6,0x5527,0x5507,0x54fd,0x550f,0x5703,0x5704, +0x54ea, +/* 0xAE40 */ +0x54e6,0x5527,0x5507,0x54fd,0x550f,0x5703,0x5704, 0x57c2,0x57d4,0x57cb,0x57c3,0x5809,0x590f,0x5957,0x5958, 0x595a,0x5a11,0x5a18,0x5a1c,0x5a1f,0x5a1b,0x5a13,0x59ec, 0x5a20,0x5a23,0x5a29,0x5a25,0x5a0c,0x5a09,0x5b6b,0x5c58, @@ -301,7 +327,9 @@ static const unsigned short big5_ucs_table[] = { 0x6851,0x683d,0x67f4,0x6850,0x6840,0x683c,0x6843,0x682a, 0x6845,0x6813,0x6818,0x6841,0x6b8a,0x6b89,0x6bb7,0x6c23, 0x6c27,0x6c28,0x6c26,0x6c24,0x6cf0,0x6d6a,0x6d95,0x6d88, -0x6d87,0x6d66,0x6d78,0x6d77,0x6d59,0x6d93,0x6d6c,0x6d89, +0x6d87,0x6d66,0x6d78,0x6d77,0x6d59,0x6d93, +/* 0xAF40 */ +0x6d6c,0x6d89, 0x6d6e,0x6d5a,0x6d74,0x6d69,0x6d8c,0x6d8a,0x6d79,0x6d85, 0x6d65,0x6d94,0x70ca,0x70d8,0x70e4,0x70d9,0x70c8,0x70cf, 0x7239,0x7279,0x72fc,0x72f9,0x72fd,0x72f8,0x72f7,0x7386, @@ -321,7 +349,9 @@ static const unsigned short big5_ucs_table[] = { 0x81ed,0x81ec,0x8200,0x8210,0x822a,0x822b,0x8228,0x822c, 0x82bb,0x832b,0x8352,0x8354,0x834a,0x8338,0x8350,0x8349, 0x8335,0x8334,0x834f,0x8332,0x8339,0x8336,0x8317,0x8340, -0x8331,0x8328,0x8343,0x8654,0x868a,0x86aa,0x8693,0x86a4, +0x8331,0x8328,0x8343, +/* 0xB040 */ +0x8654,0x868a,0x86aa,0x8693,0x86a4, 0x86a9,0x868c,0x86a3,0x869c,0x8870,0x8877,0x8881,0x8882, 0x887d,0x8879,0x8a18,0x8a10,0x8a0e,0x8a0c,0x8a15,0x8a0a, 0x8a17,0x8a13,0x8a16,0x8a0f,0x8a11,0x8c48,0x8c7a,0x8c79, @@ -341,6 +371,7 @@ static const unsigned short big5_ucs_table[] = { 0x5541,0x5557,0x5708,0x570b,0x5709,0x57df,0x5805,0x580a, 0x5806,0x57e0,0x57e4,0x57fa,0x5802,0x5835,0x57f7,0x57f9, 0x5920,0x5962,0x5a36,0x5a41,0x5a49,0x5a66,0x5a6a,0x5a40, +/* 0xB140 */ 0x5a3c,0x5a62,0x5a5a,0x5a46,0x5a4a,0x5b70,0x5bc7,0x5bc5, 0x5bc4,0x5bc2,0x5bbf,0x5bc6,0x5c09,0x5c08,0x5c07,0x5c60, 0x5c5c,0x5c5d,0x5d07,0x5d06,0x5d0e,0x5d1b,0x5d16,0x5d22, @@ -360,7 +391,9 @@ static const unsigned short big5_ucs_table[] = { 0x6666,0x665e,0x66f9,0x52d7,0x671b,0x6881,0x68af,0x68a2, 0x6893,0x68b5,0x687f,0x6876,0x68b1,0x68a7,0x6897,0x68b0, 0x6883,0x68c4,0x68ad,0x6886,0x6885,0x6894,0x689d,0x68a8, -0x689f,0x68a1,0x6882,0x6b32,0x6bba,0x6beb,0x6bec,0x6c2b, +0x689f,0x68a1,0x6882,0x6b32,0x6bba, +/* 0xB240 */ +0x6beb,0x6bec,0x6c2b, 0x6d8e,0x6dbc,0x6df3,0x6dd9,0x6db2,0x6de1,0x6dcc,0x6de4, 0x6dfb,0x6dfa,0x6e05,0x6dc7,0x6dcb,0x6daf,0x6dd1,0x6dae, 0x6dde,0x6df9,0x6db8,0x6df7,0x6df5,0x6dc5,0x6dd2,0x6e1a, @@ -380,7 +413,9 @@ static const unsigned short big5_ucs_table[] = { 0x8123,0x812b,0x8129,0x8130,0x8124,0x8202,0x8235,0x8237, 0x8236,0x8239,0x838e,0x839e,0x8398,0x8378,0x83a2,0x8396, 0x83bd,0x83ab,0x8392,0x838a,0x8393,0x8389,0x83a0,0x8377, -0x837b,0x837c,0x8386,0x83a7,0x8655,0x5f6a,0x86c7,0x86c0, +0x837b,0x837c, +/* 0xB340 */ +0x8386,0x83a7,0x8655,0x5f6a,0x86c7,0x86c0, 0x86b6,0x86c4,0x86b5,0x86c6,0x86cb,0x86b1,0x86af,0x86c9, 0x8853,0x889e,0x8888,0x88ab,0x8892,0x8896,0x888d,0x888b, 0x8993,0x898f,0x8a2a,0x8a1d,0x8a23,0x8a25,0x8a31,0x8a2d, @@ -399,7 +434,9 @@ static const unsigned short big5_ucs_table[] = { 0x55aa,0x5594,0x5587,0x558b,0x5583,0x55b3,0x55ae,0x559f, 0x553e,0x55b2,0x559a,0x55bb,0x55ac,0x55b1,0x557e,0x5589, 0x55ab,0x5599,0x570d,0x582f,0x582a,0x5834,0x5824,0x5830, -0x5831,0x5821,0x581d,0x5820,0x58f9,0x58fa,0x5960,0x5a77, +0x5831,0x5821,0x581d,0x5820,0x58f9,0x58fa,0x5960, +/* 0xB440 */ +0x5a77, 0x5a9a,0x5a7f,0x5a92,0x5a9b,0x5aa7,0x5b73,0x5b71,0x5bd2, 0x5bcc,0x5bd3,0x5bd0,0x5c0a,0x5c0b,0x5c31,0x5d4c,0x5d50, 0x5d34,0x5d47,0x5dfd,0x5e45,0x5e3d,0x5e40,0x5e43,0x5e7e, @@ -419,7 +456,9 @@ static const unsigned short big5_ucs_table[] = { 0x6c2c,0x6e2f,0x6e38,0x6e54,0x6e21,0x6e32,0x6e67,0x6e4a, 0x6e20,0x6e25,0x6e23,0x6e1b,0x6e5b,0x6e58,0x6e24,0x6e56, 0x6e6e,0x6e2d,0x6e26,0x6e6f,0x6e34,0x6e4d,0x6e3a,0x6e2c, -0x6e43,0x6e1d,0x6e3e,0x6ecb,0x6e89,0x6e19,0x6e4e,0x6e63, +0x6e43,0x6e1d,0x6e3e,0x6ecb, +/* 0xB540 */ +0x6e89,0x6e19,0x6e4e,0x6e63, 0x6e44,0x6e72,0x6e69,0x6e5f,0x7119,0x711a,0x7126,0x7130, 0x7121,0x7136,0x716e,0x711c,0x724c,0x7284,0x7280,0x7336, 0x7325,0x7334,0x7329,0x743a,0x742a,0x7433,0x7422,0x7425, @@ -439,7 +478,9 @@ static const unsigned short big5_ucs_table[] = { 0x83dc,0x8407,0x83d4,0x83df,0x865b,0x86df,0x86d9,0x86ed, 0x86d4,0x86db,0x86e4,0x86d0,0x86de,0x8857,0x88c1,0x88c2, 0x88b1,0x8983,0x8996,0x8a3b,0x8a60,0x8a55,0x8a5e,0x8a3c, -0x8a41,0x8a54,0x8a5b,0x8a50,0x8a46,0x8a34,0x8a3a,0x8a36, +0x8a41, +/* 0xB640 */ +0x8a54,0x8a5b,0x8a50,0x8a46,0x8a34,0x8a3a,0x8a36, 0x8a56,0x8c61,0x8c82,0x8caf,0x8cbc,0x8cb3,0x8cbd,0x8cc1, 0x8cbb,0x8cc0,0x8cb4,0x8cb7,0x8cb6,0x8cbf,0x8cb8,0x8d8a, 0x8d85,0x8d81,0x8dce,0x8ddd,0x8dcb,0x8dda,0x8dd1,0x8dcc, @@ -458,7 +499,9 @@ static const unsigned short big5_ucs_table[] = { 0x55e4,0x55ef,0x55da,0x55e1,0x55c5,0x55c6,0x55e5,0x55c9, 0x5712,0x5713,0x585e,0x5851,0x5858,0x5857,0x585a,0x5854, 0x586b,0x584c,0x586d,0x584a,0x5862,0x5852,0x584b,0x5967, -0x5ac1,0x5ac9,0x5acc,0x5abe,0x5abd,0x5abc,0x5ab3,0x5ac2, +0x5ac1,0x5ac9,0x5acc,0x5abe,0x5abd,0x5abc, +/* 0xB740 */ +0x5ab3,0x5ac2, 0x5ab2,0x5d69,0x5d6f,0x5e4c,0x5e79,0x5ec9,0x5ec8,0x5f12, 0x5f59,0x5fac,0x5fae,0x611a,0x610f,0x6148,0x611f,0x60f3, 0x611b,0x60f9,0x6101,0x6108,0x614e,0x614c,0x6144,0x614d, @@ -478,7 +521,9 @@ static const unsigned short big5_ucs_table[] = { 0x745a,0x7455,0x745f,0x745e,0x7441,0x743f,0x7459,0x745b, 0x745c,0x7576,0x7578,0x7600,0x75f0,0x7601,0x75f2,0x75f1, 0x75fa,0x75ff,0x75f4,0x75f3,0x76de,0x76df,0x775b,0x776b, -0x7766,0x775e,0x7763,0x7779,0x776a,0x776c,0x775c,0x7765, +0x7766,0x775e,0x7763, +/* 0xB840 */ +0x7779,0x776a,0x776c,0x775c,0x7765, 0x7768,0x7762,0x77ee,0x788e,0x78b0,0x7897,0x7898,0x788c, 0x7889,0x787c,0x7891,0x7893,0x787f,0x797a,0x797f,0x7981, 0x842c,0x79bd,0x7a1c,0x7a1a,0x7a20,0x7a14,0x7a1f,0x7a1e, @@ -498,6 +543,7 @@ static const unsigned short big5_ucs_table[] = { 0x8c8a,0x8c89,0x8cca,0x8cc7,0x8cc8,0x8cc4,0x8cb2,0x8cc3, 0x8cc2,0x8cc5,0x8de1,0x8ddf,0x8de8,0x8def,0x8df3,0x8dfa, 0x8dea,0x8de4,0x8de6,0x8eb2,0x8f03,0x8f09,0x8efe,0x8f0a, +/* 0xB940 */ 0x8f9f,0x8fb2,0x904b,0x904a,0x9053,0x9042,0x9054,0x903c, 0x9055,0x9050,0x9047,0x904f,0x904e,0x904d,0x9051,0x903e, 0x9041,0x9112,0x9117,0x916c,0x916a,0x9169,0x91c9,0x9237, @@ -517,7 +563,9 @@ static const unsigned short big5_ucs_table[] = { 0x5ad6,0x5ad8,0x5ae3,0x5b75,0x5bde,0x5be7,0x5be1,0x5be5, 0x5be6,0x5be8,0x5be2,0x5be4,0x5bdf,0x5c0d,0x5c62,0x5d84, 0x5d87,0x5e5b,0x5e63,0x5e55,0x5e57,0x5e54,0x5ed3,0x5ed6, -0x5f0a,0x5f46,0x5f70,0x5fb9,0x6147,0x613f,0x614b,0x6177, +0x5f0a,0x5f46,0x5f70,0x5fb9,0x6147, +/* 0xBA40 */ +0x613f,0x614b,0x6177, 0x6162,0x6163,0x615f,0x615a,0x6158,0x6175,0x622a,0x6487, 0x6458,0x6454,0x64a4,0x6478,0x645f,0x647a,0x6451,0x6467, 0x6434,0x646d,0x647b,0x6572,0x65a1,0x65d7,0x65d6,0x66a2, @@ -537,7 +585,9 @@ static const unsigned short big5_ucs_table[] = { 0x7b8f,0x7bb8,0x7b87,0x7b84,0x7cb9,0x7cbd,0x7cbe,0x7dbb, 0x7db0,0x7d9c,0x7dbd,0x7dbe,0x7da0,0x7dca,0x7db4,0x7db2, 0x7db1,0x7dba,0x7da2,0x7dbf,0x7db5,0x7db8,0x7dad,0x7dd2, -0x7dc7,0x7dac,0x7f70,0x7fe0,0x7fe1,0x7fdf,0x805e,0x805a, +0x7dc7,0x7dac, +/* 0xBB40 */ +0x7f70,0x7fe0,0x7fe1,0x7fdf,0x805e,0x805a, 0x8087,0x8150,0x8180,0x818f,0x8188,0x818a,0x817f,0x8182, 0x81e7,0x81fa,0x8207,0x8214,0x821e,0x824b,0x84c9,0x84bf, 0x84c6,0x84c4,0x8499,0x849e,0x84b2,0x849c,0x84cb,0x84b8, @@ -556,7 +606,9 @@ static const unsigned short big5_ucs_table[] = { 0x97f6,0x9817,0x9818,0x98af,0x98b1,0x9903,0x9905,0x990c, 0x9909,0x99c1,0x9aaf,0x9ab0,0x9ae6,0x9b41,0x9b42,0x9cf4, 0x9cf6,0x9cf3,0x9ebc,0x9f3b,0x9f4a,0x5104,0x5100,0x50fb, -0x50f5,0x50f9,0x5102,0x5108,0x5109,0x5105,0x51dc,0x5287, +0x50f5,0x50f9,0x5102,0x5108,0x5109,0x5105,0x51dc, +/* 0xBC40 */ +0x5287, 0x5288,0x5289,0x528d,0x528a,0x52f0,0x53b2,0x562e,0x563b, 0x5639,0x5632,0x563f,0x5634,0x5629,0x5653,0x564e,0x5657, 0x5674,0x5636,0x562f,0x5630,0x5880,0x589f,0x589e,0x58b3, @@ -576,7 +628,9 @@ static const unsigned short big5_ucs_table[] = { 0x6f66,0x6f54,0x6f86,0x6f6d,0x6f5b,0x6f78,0x6f6e,0x6f8e, 0x6f7a,0x6f70,0x6f64,0x6f97,0x6f58,0x6ed5,0x6f6f,0x6f60, 0x6f5f,0x719f,0x71ac,0x71b1,0x71a8,0x7256,0x729b,0x734e, -0x7357,0x7469,0x748b,0x7483,0x747e,0x7480,0x757f,0x7620, +0x7357,0x7469,0x748b,0x7483, +/* 0xBD40 */ +0x747e,0x7480,0x757f,0x7620, 0x7629,0x761f,0x7624,0x7626,0x7621,0x7622,0x769a,0x76ba, 0x76e4,0x778e,0x7787,0x778c,0x7791,0x778b,0x78cb,0x78c5, 0x78ba,0x78ca,0x78be,0x78d5,0x78bc,0x78d0,0x7a3f,0x7a3c, @@ -596,7 +650,9 @@ static const unsigned short big5_ucs_table[] = { 0x8ce3,0x8cdc,0x8cea,0x8ce1,0x8d6d,0x8d9f,0x8da3,0x8e2b, 0x8e10,0x8e1d,0x8e22,0x8e0f,0x8e29,0x8e1f,0x8e21,0x8e1e, 0x8eba,0x8f1d,0x8f1b,0x8f1f,0x8f29,0x8f26,0x8f2a,0x8f1c, -0x8f1e,0x8f25,0x9069,0x906e,0x9068,0x906d,0x9077,0x9130, +0x8f1e, +/* 0xBE40 */ +0x8f25,0x9069,0x906e,0x9068,0x906d,0x9077,0x9130, 0x912d,0x9127,0x9131,0x9187,0x9189,0x918b,0x9183,0x92c5, 0x92bb,0x92b7,0x92ea,0x92ac,0x92e4,0x92c1,0x92b3,0x92bc, 0x92d2,0x92c7,0x92f0,0x92b2,0x95ad,0x95b1,0x9704,0x9706, @@ -615,7 +671,9 @@ static const unsigned short big5_ucs_table[] = { 0x64d4,0x64be,0x6574,0x66c6,0x66c9,0x66b9,0x66c4,0x66c7, 0x66b8,0x6a3d,0x6a38,0x6a3a,0x6a59,0x6a6b,0x6a58,0x6a39, 0x6a44,0x6a62,0x6a61,0x6a4b,0x6a47,0x6a35,0x6a5f,0x6a48, -0x6b59,0x6b77,0x6c05,0x6fc2,0x6fb1,0x6fa1,0x6fc3,0x6fa4, +0x6b59,0x6b77,0x6c05,0x6fc2,0x6fb1,0x6fa1, +/* 0xBF40 */ +0x6fc3,0x6fa4, 0x6fc1,0x6fa7,0x6fb3,0x6fc0,0x6fb9,0x6fb6,0x6fa6,0x6fa0, 0x6fb4,0x71be,0x71c9,0x71d0,0x71d2,0x71c8,0x71d5,0x71b9, 0x71ce,0x71d9,0x71dc,0x71c3,0x71c4,0x7368,0x749c,0x74a3, @@ -635,7 +693,9 @@ static const unsigned short big5_ucs_table[] = { 0x8e42,0x8e39,0x8e35,0x8f3b,0x8f2f,0x8f38,0x8f33,0x8fa8, 0x8fa6,0x9075,0x9074,0x9078,0x9072,0x907c,0x907a,0x9134, 0x9192,0x9320,0x9336,0x92f8,0x9333,0x932f,0x9322,0x92fc, -0x932b,0x9304,0x931a,0x9310,0x9326,0x9321,0x9315,0x932e, +0x932b,0x9304,0x931a, +/* 0xC040 */ +0x9310,0x9326,0x9321,0x9315,0x932e, 0x9319,0x95bb,0x96a7,0x96a8,0x96aa,0x96d5,0x970e,0x9711, 0x9716,0x970d,0x9713,0x970f,0x975b,0x975c,0x9766,0x9798, 0x9830,0x9838,0x983b,0x9837,0x982d,0x9839,0x9824,0x9910, @@ -655,6 +715,7 @@ static const unsigned short big5_ucs_table[] = { 0x71df,0x71ee,0x71e6,0x71e5,0x71ed,0x71ec,0x71f4,0x71e0, 0x7235,0x7246,0x7370,0x7372,0x74a9,0x74b0,0x74a6,0x74a8, 0x7646,0x7642,0x764c,0x76ea,0x77b3,0x77aa,0x77b0,0x77ac, +/* 0xC140 */ 0x77a7,0x77ad,0x77ef,0x78f7,0x78fa,0x78f4,0x78ef,0x7901, 0x79a7,0x79aa,0x7a57,0x7abf,0x7c07,0x7c0d,0x7bfe,0x7bf7, 0x7c0c,0x7be0,0x7ce0,0x7cdc,0x7cde,0x7ce2,0x7cdf,0x7cd9, @@ -674,7 +735,9 @@ static const unsigned short big5_ucs_table[] = { 0x9382,0x9328,0x9375,0x934a,0x9365,0x934b,0x9318,0x937e, 0x936c,0x935b,0x9370,0x935a,0x9354,0x95ca,0x95cb,0x95cc, 0x95c8,0x95c6,0x96b1,0x96b8,0x96d6,0x971c,0x971e,0x97a0, -0x97d3,0x9846,0x98b6,0x9935,0x9a01,0x99ff,0x9bae,0x9bab, +0x97d3,0x9846,0x98b6,0x9935,0x9a01, +/* 0xC240 */ +0x99ff,0x9bae,0x9bab, 0x9baa,0x9bad,0x9d3b,0x9d3f,0x9e8b,0x9ecf,0x9ede,0x9edc, 0x9edd,0x9edb,0x9f3e,0x9f4b,0x53e2,0x5695,0x56ae,0x58d9, 0x58d8,0x5b38,0x5f5d,0x61e3,0x6233,0x64f4,0x64f2,0x64fe, @@ -694,7 +757,9 @@ static const unsigned short big5_ucs_table[] = { 0x91ab,0x91ac,0x91d0,0x9394,0x938a,0x9396,0x93a2,0x93b3, 0x93ae,0x93ac,0x93b0,0x9398,0x939a,0x9397,0x95d4,0x95d6, 0x95d0,0x95d5,0x96e2,0x96dc,0x96d9,0x96db,0x96de,0x9724, -0x97a3,0x97a6,0x97ad,0x97f9,0x984d,0x984f,0x984c,0x984e, +0x97a3,0x97a6, +/* 0xC340 */ +0x97ad,0x97f9,0x984d,0x984f,0x984c,0x984e, 0x9853,0x98ba,0x993e,0x993f,0x993d,0x992e,0x99a5,0x9a0e, 0x9ac1,0x9b03,0x9b06,0x9b4f,0x9b4e,0x9b4d,0x9bca,0x9bc9, 0x9bfd,0x9bc8,0x9bc0,0x9d51,0x9d5d,0x9d60,0x9ee0,0x9f15, @@ -713,7 +778,9 @@ static const unsigned short big5_ucs_table[] = { 0x8e74,0x8f54,0x8f4e,0x8fad,0x908a,0x908b,0x91b1,0x91ae, 0x93e1,0x93d1,0x93df,0x93c3,0x93c8,0x93dc,0x93dd,0x93d6, 0x93e2,0x93cd,0x93d8,0x93e4,0x93d7,0x93e8,0x95dc,0x96b4, -0x96e3,0x972a,0x9727,0x9761,0x97dc,0x97fb,0x985e,0x9858, +0x96e3,0x972a,0x9727,0x9761,0x97dc,0x97fb,0x985e, +/* 0xC440 */ +0x9858, 0x985b,0x98bc,0x9945,0x9949,0x9a16,0x9a19,0x9b0d,0x9be8, 0x9be7,0x9bd6,0x9bdb,0x9d89,0x9d61,0x9d72,0x9d6a,0x9d6c, 0x9e92,0x9e97,0x9e93,0x9eb4,0x52f8,0x56a8,0x56b7,0x56b6, @@ -733,7 +800,9 @@ static const unsigned short big5_ucs_table[] = { 0x6595,0x66e9,0x6afb,0x6b04,0x6afa,0x6bb2,0x704c,0x721b, 0x72a7,0x74d6,0x74d4,0x7669,0x77d3,0x7c50,0x7e8f,0x7e8c, 0x7fbc,0x8617,0x862d,0x861a,0x8823,0x8822,0x8821,0x881f, -0x896a,0x896c,0x89bd,0x8b74,0x8b77,0x8b7d,0x8d13,0x8e8a, +0x896a,0x896c,0x89bd,0x8b74, +/* 0xC540 */ +0x8b77,0x8b7d,0x8d13,0x8e8a, 0x8e8d,0x8e8b,0x8f5f,0x8faf,0x91ba,0x942e,0x9433,0x9435, 0x943a,0x9438,0x9432,0x942b,0x95e2,0x9738,0x9739,0x9732, 0x97ff,0x9867,0x9865,0x9957,0x9a45,0x9a43,0x9a40,0x9a3e, @@ -753,7 +822,9 @@ static const unsigned short big5_ucs_table[] = { 0x9a5b,0x9a57,0x9ad3,0x9ad4,0x9ad1,0x9c54,0x9c57,0x9c56, 0x9de5,0x9e9f,0x9ef4,0x56d1,0x58e9,0x652c,0x705e,0x7671, 0x7672,0x77d7,0x7f50,0x7f88,0x8836,0x8839,0x8862,0x8b93, -0x8b92,0x8b96,0x8277,0x8d1b,0x91c0,0x946a,0x9742,0x9748, +0x8b92, +/* 0xC640 */ +0x8b96,0x8277,0x8d1b,0x91c0,0x946a,0x9742,0x9748, 0x9744,0x97c6,0x9870,0x9a5f,0x9b22,0x9b58,0x9c5f,0x9df9, 0x9dfa,0x9e7c,0x9e7d,0x9f07,0x9f77,0x9f72,0x5ef3,0x6b16, 0x7063,0x7c6c,0x7c6e,0x883b,0x89c0,0x8ea1,0x91c1,0x9472, @@ -772,7 +843,9 @@ static const unsigned short big5_ucs_table[] = { 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, +0x30a2,0x30a3,0x30a4,0x30a5,0x30a6,0x30a7, +/* 0xC740 */ +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, @@ -792,26 +865,29 @@ static const unsigned short big5_ucs_table[] = { 0x044b,0x044c,0x044d,0x044e,0x044f,0x2460,0x2461,0x2462, 0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,0x2469,0x2474, 0x2475,0x2476,0x2477,0x2478,0x2479,0x247a,0x247b,0x247c, -0x247d,0x0000,0x0000,0xf7ac,0xf7ad,0xf7ae,0xf7af,0xf7b0, -0xf7b1,0xf7b2,0xf7b3,0xf7b4,0xf7b5,0xf7b6,0xf7b7,0xf7b8, -0xf7b9,0xf7ba,0xf7bb,0xf7bc,0xf7bd,0xf7be,0xf7bf,0xf7c0, -0xf7c1,0xf7c2,0xf7c3,0xf7c4,0xf7c5,0xf7c6,0xf7c7,0xf7c8, -0xf7c9,0xf7ca,0xf7cb,0xf7cc,0xf7cd,0xf7ce,0xf7cf,0xf7d0, -0xf7d1,0xf7d2,0xf7d3,0xf7d4,0xf7d5,0xf7d6,0xf7d7,0xf7d8, -0xf7d9,0xf7da,0xf7db,0xf7dc,0xf7dd,0xf7de,0xf7df,0xf7e0, -0xf7e1,0xf7e2,0xf7e3,0xf7e4,0xf7e5,0xf7e6,0xf7e7,0xf7e8, -0xf7e9,0xf7ea,0xf7eb,0xf7ec,0xf7ed,0xf7ee,0xf7ef,0xf7f0, -0xf7f1,0xf7f2,0xf7f3,0xf7f4,0xf7f5,0xf7f6,0xf7f7,0xf7f8, -0xf7f9,0xf7fa,0xf7fb,0xf7fc,0xf7fd,0xf7fe,0xf7ff,0xf800, -0xf801,0xf802,0xf803,0xf804,0xf805,0xf806,0xf807,0xf808, -0xf809,0xf80a,0xf80b,0xf80c,0xf80d,0xf80e,0xf80f,0xf810, -0xf811,0xf812,0xf813,0xf814,0xf815,0xf816,0xf817,0xf818, -0xf819,0xf81a,0xf81b,0xf81c,0xf81d,0xf81e,0xf81f,0xf820, -0xf821,0xf822,0xf823,0xf824,0xf825,0xf826,0xf827,0xf828, -0xf829,0xf82a,0xf82b,0xf82c,0xf82d,0xf82e,0xf82f,0xf830, -0xf831,0xf832,0xf833,0xf834,0xf835,0xf836,0xf837,0xf838, -0xf839,0xf83a,0xf83b,0xf83c,0xf83d,0xf83e,0xf83f,0xf840, -0xf841,0xf842,0xf843,0xf844,0xf845,0xf846,0xf847,0xf848, +0x247d,0x0000,0x0000, +/* 0xC840 */ +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,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,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, +0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, +/* 0xC940 */ 0x4e42,0x4e5c,0x51f5,0x531a,0x5382,0x4e07,0x4e0c,0x4e47, 0x4e8d,0x56d7,0xfa0c,0x5c6e,0x5f73,0x4e0f,0x5187,0x4e0e, 0x4e2e,0x4e93,0x4ec2,0x4ec9,0x4ec8,0x5198,0x52fc,0x536c, @@ -831,7 +907,9 @@ static const unsigned short big5_ucs_table[] = { 0x5fcf,0x625c,0x625e,0x6264,0x6261,0x6266,0x6262,0x6259, 0x6260,0x625a,0x6265,0x65ef,0x65ee,0x673e,0x6739,0x6738, 0x673b,0x673a,0x673f,0x673c,0x6733,0x6c18,0x6c46,0x6c52, -0x6c5c,0x6c4f,0x6c4a,0x6c54,0x6c4b,0x6c4c,0x7071,0x725e, +0x6c5c,0x6c4f,0x6c4a,0x6c54,0x6c4b, +/* 0xCA40 */ +0x6c4c,0x7071,0x725e, 0x72b4,0x72b5,0x738e,0x752a,0x767f,0x7a75,0x7f51,0x8278, 0x827c,0x8280,0x827d,0x827f,0x864d,0x897e,0x9099,0x9097, 0x9098,0x909b,0x9094,0x9622,0x9624,0x9620,0x9623,0x4f56, @@ -851,7 +929,9 @@ static const unsigned short big5_ucs_table[] = { 0x5ff4,0x623a,0x6283,0x628c,0x628e,0x628f,0x6294,0x6287, 0x6271,0x627b,0x627a,0x6270,0x6281,0x6288,0x6277,0x627d, 0x6272,0x6274,0x6537,0x65f0,0x65f4,0x65f3,0x65f2,0x65f5, -0x6745,0x6747,0x6759,0x6755,0x674c,0x6748,0x675d,0x674d, +0x6745,0x6747, +/* 0xCB40 */ +0x6759,0x6755,0x674c,0x6748,0x675d,0x674d, 0x675a,0x674b,0x6bd0,0x6c19,0x6c1a,0x6c78,0x6c67,0x6c6b, 0x6c84,0x6c8b,0x6c8f,0x6c71,0x6c6f,0x6c69,0x6c9a,0x6c6d, 0x6c87,0x6c95,0x6c9c,0x6c66,0x6c73,0x6c65,0x6c7b,0x6c8e, @@ -870,7 +950,9 @@ static const unsigned short big5_ucs_table[] = { 0x5488,0x546b,0x547a,0x547e,0x5465,0x546c,0x5474,0x5466, 0x548d,0x546f,0x5461,0x5460,0x5498,0x5463,0x5467,0x5464, 0x56f7,0x56f9,0x576f,0x5772,0x576d,0x576b,0x5771,0x5770, -0x5776,0x5780,0x5775,0x577b,0x5773,0x5774,0x5762,0x5768, +0x5776,0x5780,0x5775,0x577b,0x5773,0x5774,0x5762, +/* 0xCC40 */ +0x5768, 0x577d,0x590c,0x5945,0x59b5,0x59ba,0x59cf,0x59ce,0x59b2, 0x59cc,0x59c1,0x59b6,0x59bc,0x59c3,0x59d6,0x59b1,0x59bd, 0x59c0,0x59c8,0x59b4,0x59c7,0x5b62,0x5b65,0x5b93,0x5b95, @@ -890,7 +972,9 @@ static const unsigned short big5_ucs_table[] = { 0x6783,0x677d,0x6781,0x6778,0x6779,0x6794,0x6b25,0x6b80, 0x6b7e,0x6bde,0x6c1d,0x6c93,0x6cec,0x6ceb,0x6cee,0x6cd9, 0x6cb6,0x6cd4,0x6cad,0x6ce7,0x6cb7,0x6cd0,0x6cc2,0x6cba, -0x6cc3,0x6cc6,0x6ced,0x6cf2,0x6cd2,0x6cdd,0x6cb4,0x6c8a, +0x6cc3,0x6cc6,0x6ced,0x6cf2, +/* 0xCD40 */ +0x6cd2,0x6cdd,0x6cb4,0x6c8a, 0x6c9d,0x6c80,0x6cde,0x6cc0,0x6d30,0x6ccd,0x6cc7,0x6cb0, 0x6cf9,0x6ccf,0x6ce9,0x6cd1,0x7094,0x7098,0x7085,0x7093, 0x7086,0x7084,0x7091,0x7096,0x7082,0x709a,0x7083,0x726a, @@ -910,7 +994,9 @@ static const unsigned short big5_ucs_table[] = { 0x4fd9,0x4fbb,0x4fb3,0x4fdb,0x4fc7,0x4fd6,0x4fba,0x4fc0, 0x4fb9,0x4fec,0x5244,0x5249,0x52c0,0x52c2,0x533d,0x537c, 0x5397,0x5396,0x5399,0x5398,0x54ba,0x54a1,0x54ad,0x54a5, -0x54cf,0x54c3,0x830d,0x54b7,0x54ae,0x54d6,0x54b6,0x54c5, +0x54cf, +/* 0xCE40 */ +0x54c3,0x830d,0x54b7,0x54ae,0x54d6,0x54b6,0x54c5, 0x54c6,0x54a0,0x5470,0x54bc,0x54a2,0x54be,0x5472,0x54de, 0x54b0,0x57b5,0x579e,0x579f,0x57a4,0x578c,0x5797,0x579d, 0x579b,0x5794,0x5798,0x578f,0x5799,0x57a5,0x579a,0x5795, @@ -929,7 +1015,9 @@ static const unsigned short big5_ucs_table[] = { 0x6313,0x6314,0x62fa,0x6315,0x62fb,0x62f0,0x6541,0x6543, 0x65aa,0x65bf,0x6636,0x6621,0x6632,0x6635,0x661c,0x6626, 0x6622,0x6633,0x662b,0x663a,0x661d,0x6634,0x6639,0x662e, -0x670f,0x6710,0x67c1,0x67f2,0x67c8,0x67ba,0x67dc,0x67bb, +0x670f,0x6710,0x67c1,0x67f2,0x67c8,0x67ba, +/* 0xCF40 */ +0x67dc,0x67bb, 0x67f8,0x67d8,0x67c0,0x67b7,0x67c5,0x67eb,0x67e4,0x67df, 0x67b5,0x67cd,0x67b3,0x67f7,0x67f6,0x67ee,0x67e3,0x67c2, 0x67b9,0x67ce,0x67e7,0x67f0,0x67b2,0x67fc,0x67c6,0x67ed, @@ -949,7 +1037,9 @@ static const unsigned short big5_ucs_table[] = { 0x770a,0x76f7,0x76fb,0x76fa,0x77e7,0x77e8,0x7806,0x7811, 0x7812,0x7805,0x7810,0x780f,0x780e,0x7809,0x7803,0x7813, 0x794a,0x794c,0x794b,0x7945,0x7944,0x79d5,0x79cd,0x79cf, -0x79d6,0x79ce,0x7a80,0x7a7e,0x7ad1,0x7b00,0x7b01,0x7c7a, +0x79d6,0x79ce,0x7a80, +/* 0xD040 */ +0x7a7e,0x7ad1,0x7b00,0x7b01,0x7c7a, 0x7c78,0x7c79,0x7c7f,0x7c80,0x7c81,0x7d03,0x7d08,0x7d01, 0x7f58,0x7f91,0x7f8d,0x7fbe,0x8007,0x800e,0x800f,0x8014, 0x8037,0x80d8,0x80c7,0x80e0,0x80d1,0x80c8,0x80c2,0x80d0, @@ -969,6 +1059,7 @@ static const unsigned short big5_ucs_table[] = { 0x525a,0x5252,0x525e,0x525f,0x5255,0x5262,0x52cd,0x530e, 0x539e,0x5526,0x54e2,0x5517,0x5512,0x54e7,0x54f3,0x54e4, 0x551a,0x54ff,0x5504,0x5508,0x54eb,0x5511,0x5505,0x54f1, +/* 0xD140 */ 0x550a,0x54fb,0x54f7,0x54f8,0x54e0,0x550e,0x5503,0x550b, 0x5701,0x5702,0x57cc,0x5832,0x57d5,0x57d2,0x57ba,0x57c6, 0x57bd,0x57bc,0x57b8,0x57b6,0x57bf,0x57c7,0x57d0,0x57b9, @@ -988,7 +1079,9 @@ static const unsigned short big5_ucs_table[] = { 0x6831,0x681c,0x6835,0x682b,0x682d,0x682f,0x684e,0x6844, 0x6834,0x681d,0x6812,0x6814,0x6826,0x6828,0x682e,0x684d, 0x683a,0x6825,0x6820,0x6b2c,0x6b2f,0x6b2d,0x6b31,0x6b34, -0x6b6d,0x8082,0x6b88,0x6be6,0x6be4,0x6be8,0x6be3,0x6be2, +0x6b6d,0x8082,0x6b88,0x6be6,0x6be4, +/* 0xD240 */ +0x6be8,0x6be3,0x6be2, 0x6be7,0x6c25,0x6d7a,0x6d63,0x6d64,0x6d76,0x6d0d,0x6d61, 0x6d92,0x6d58,0x6d62,0x6d6d,0x6d6f,0x6d91,0x6d8d,0x6def, 0x6d7f,0x6d86,0x6d5e,0x6d67,0x6d60,0x6d97,0x6d70,0x6d7c, @@ -1008,7 +1101,9 @@ static const unsigned short big5_ucs_table[] = { 0x7831,0x7954,0x795b,0x794f,0x795c,0x7953,0x7952,0x7951, 0x79eb,0x79ec,0x79e0,0x79ee,0x79ed,0x79ea,0x79dc,0x79de, 0x79dd,0x7a86,0x7a89,0x7a85,0x7a8b,0x7a8c,0x7a8a,0x7a87, -0x7ad8,0x7b10,0x7b04,0x7b13,0x7b05,0x7b0f,0x7b08,0x7b0a, +0x7ad8,0x7b10, +/* 0xD340 */ +0x7b04,0x7b13,0x7b05,0x7b0f,0x7b08,0x7b0a, 0x7b0e,0x7b09,0x7b12,0x7c84,0x7c91,0x7c8a,0x7c8c,0x7c88, 0x7c8d,0x7c85,0x7d1e,0x7d1d,0x7d11,0x7d0e,0x7d18,0x7d16, 0x7d13,0x7d1f,0x7d12,0x7d0f,0x7d0c,0x7f5c,0x7f61,0x7f5e, @@ -1027,7 +1122,9 @@ static const unsigned short big5_ucs_table[] = { 0x8c7b,0x8ca4,0x8ca3,0x8d76,0x8d78,0x8db5,0x8db7,0x8db6, 0x8ed1,0x8ed3,0x8ffe,0x8ff5,0x9002,0x8fff,0x8ffb,0x9004, 0x8ffc,0x8ff6,0x90d6,0x90e0,0x90d9,0x90da,0x90e3,0x90df, -0x90e5,0x90d8,0x90db,0x90d7,0x90dc,0x90e4,0x9150,0x914e, +0x90e5,0x90d8,0x90db,0x90d7,0x90dc,0x90e4,0x9150, +/* 0xD440 */ +0x914e, 0x914f,0x91d5,0x91e2,0x91da,0x965c,0x965f,0x96bc,0x98e3, 0x9adf,0x9b2f,0x4e7f,0x5070,0x506a,0x5061,0x505e,0x5060, 0x5053,0x504b,0x505d,0x5072,0x5048,0x504d,0x5041,0x505b, @@ -1047,7 +1144,9 @@ static const unsigned short big5_ucs_table[] = { 0x5a8e,0x5a3e,0x5a4d,0x5a39,0x5a4c,0x5a70,0x5a69,0x5a47, 0x5a51,0x5a56,0x5a42,0x5a5c,0x5b72,0x5b6e,0x5bc1,0x5bc0, 0x5c59,0x5d1e,0x5d0b,0x5d1d,0x5d1a,0x5d20,0x5d0c,0x5d28, -0x5d0d,0x5d26,0x5d25,0x5d0f,0x5d30,0x5d12,0x5d23,0x5d1f, +0x5d0d,0x5d26,0x5d25,0x5d0f, +/* 0xD540 */ +0x5d30,0x5d12,0x5d23,0x5d1f, 0x5d2e,0x5e3e,0x5e34,0x5eb1,0x5eb4,0x5eb9,0x5eb2,0x5eb3, 0x5f36,0x5f38,0x5f9b,0x5f96,0x5f9f,0x608a,0x6090,0x6086, 0x60be,0x60b0,0x60ba,0x60d3,0x60d4,0x60cf,0x60e4,0x60d9, @@ -1067,7 +1166,9 @@ static const unsigned short big5_ucs_table[] = { 0x6de9,0x6de2,0x6db7,0x6df6,0x6dd4,0x6e00,0x6dc8,0x6de0, 0x6ddf,0x6dd6,0x6dbe,0x6de5,0x6ddc,0x6ddd,0x6ddb,0x6df4, 0x6dca,0x6dbd,0x6ded,0x6df0,0x6dba,0x6dd5,0x6dc2,0x6dcf, -0x6dc9,0x6dd0,0x6df2,0x6dd3,0x6dfd,0x6dd7,0x6dcd,0x6de3, +0x6dc9, +/* 0xD640 */ +0x6dd0,0x6df2,0x6dd3,0x6dfd,0x6dd7,0x6dcd,0x6de3, 0x6dbb,0x70fa,0x710d,0x70f7,0x7117,0x70f4,0x710c,0x70f0, 0x7104,0x70f3,0x7110,0x70fc,0x70ff,0x7106,0x7113,0x7100, 0x70f8,0x70f6,0x710b,0x7102,0x710e,0x727e,0x727b,0x727c, @@ -1086,7 +1187,9 @@ static const unsigned short big5_ucs_table[] = { 0x7ca3,0x7d35,0x7d3d,0x7d38,0x7d36,0x7d3a,0x7d45,0x7d2c, 0x7d29,0x7d41,0x7d47,0x7d3e,0x7d3f,0x7d4a,0x7d3b,0x7d28, 0x7f63,0x7f95,0x7f9c,0x7f9d,0x7f9b,0x7fca,0x7fcb,0x7fcd, -0x7fd0,0x7fd1,0x7fc7,0x7fcf,0x7fc9,0x801f,0x801e,0x801b, +0x7fd0,0x7fd1,0x7fc7,0x7fcf,0x7fc9,0x801f, +/* 0xD740 */ +0x801e,0x801b, 0x8047,0x8043,0x8048,0x8118,0x8125,0x8119,0x811b,0x812d, 0x811f,0x812c,0x811e,0x8121,0x8115,0x8127,0x811d,0x8122, 0x8211,0x8238,0x8233,0x823a,0x8234,0x8232,0x8274,0x8390, @@ -1106,7 +1209,9 @@ static const unsigned short big5_ucs_table[] = { 0x9011,0x901c,0x900c,0x9021,0x90ef,0x90ea,0x90f0,0x90f4, 0x90f2,0x90f3,0x90d4,0x90eb,0x90ec,0x90e9,0x9156,0x9158, 0x915a,0x9153,0x9155,0x91ec,0x91f4,0x91f1,0x91f3,0x91f8, -0x91e4,0x91f9,0x91ea,0x91eb,0x91f7,0x91e8,0x91ee,0x957a, +0x91e4,0x91f9,0x91ea, +/* 0xD840 */ +0x91eb,0x91f7,0x91e8,0x91ee,0x957a, 0x9586,0x9588,0x967c,0x966d,0x966b,0x9671,0x966f,0x96bf, 0x976a,0x9804,0x98e5,0x9997,0x509b,0x5095,0x5094,0x509e, 0x508b,0x50a3,0x5083,0x508c,0x508e,0x509d,0x5068,0x509c, @@ -1126,6 +1231,7 @@ static const unsigned short big5_ucs_table[] = { 0x5d31,0x5d59,0x5d42,0x5d39,0x5d49,0x5d38,0x5d3c,0x5d32, 0x5d36,0x5d40,0x5d45,0x5e44,0x5e41,0x5f58,0x5fa6,0x5fa5, 0x5fab,0x60c9,0x60b9,0x60cc,0x60e2,0x60ce,0x60c4,0x6114, +/* 0xD940 */ 0x60f2,0x610a,0x6116,0x6105,0x60f5,0x6113,0x60f8,0x60fc, 0x60fe,0x60c1,0x6103,0x6118,0x611d,0x6110,0x60ff,0x6104, 0x610b,0x624a,0x6394,0x63b1,0x63b0,0x63ce,0x63e5,0x63e8, @@ -1145,7 +1251,9 @@ static const unsigned short big5_ucs_table[] = { 0x6bbd,0x6bf0,0x6bf2,0x6bf3,0x6c30,0x6dfc,0x6e46,0x6e47, 0x6e1f,0x6e49,0x6e88,0x6e3c,0x6e3d,0x6e45,0x6e62,0x6e2b, 0x6e3f,0x6e41,0x6e5d,0x6e73,0x6e1c,0x6e33,0x6e4b,0x6e40, -0x6e51,0x6e3b,0x6e03,0x6e2e,0x6e5e,0x6e68,0x6e5c,0x6e61, +0x6e51,0x6e3b,0x6e03,0x6e2e,0x6e5e, +/* 0xDA40 */ +0x6e68,0x6e5c,0x6e61, 0x6e31,0x6e28,0x6e60,0x6e71,0x6e6b,0x6e39,0x6e22,0x6e30, 0x6e53,0x6e65,0x6e27,0x6e78,0x6e64,0x6e77,0x6e55,0x6e79, 0x6e52,0x6e66,0x6e35,0x6e36,0x6e5a,0x7120,0x711e,0x712f, @@ -1165,7 +1273,9 @@ static const unsigned short big5_ucs_table[] = { 0x7b58,0x7b45,0x7ca2,0x7c9e,0x7ca8,0x7ca1,0x7d58,0x7d6f, 0x7d63,0x7d53,0x7d56,0x7d67,0x7d6a,0x7d4f,0x7d6d,0x7d5c, 0x7d6b,0x7d52,0x7d54,0x7d69,0x7d51,0x7d5f,0x7d4e,0x7f3e, -0x7f3f,0x7f65,0x7f66,0x7fa2,0x7fa0,0x7fa1,0x7fd7,0x8051, +0x7f3f,0x7f65, +/* 0xDB40 */ +0x7f66,0x7fa2,0x7fa0,0x7fa1,0x7fd7,0x8051, 0x804f,0x8050,0x80fe,0x80d4,0x8143,0x814a,0x8152,0x814f, 0x8147,0x813d,0x814d,0x813a,0x81e6,0x81ee,0x81f7,0x81f8, 0x81f9,0x8204,0x823c,0x823d,0x823f,0x8275,0x833b,0x83cf, @@ -1184,7 +1294,9 @@ static const unsigned short big5_ucs_table[] = { 0x8a48,0x8a51,0x8a4a,0x8a4c,0x8a4f,0x8c5f,0x8c81,0x8c80, 0x8cba,0x8cbe,0x8cb0,0x8cb9,0x8cb5,0x8d84,0x8d80,0x8d89, 0x8dd8,0x8dd3,0x8dcd,0x8dc7,0x8dd6,0x8ddc,0x8dcf,0x8dd5, -0x8dd9,0x8dc8,0x8dd7,0x8dc5,0x8eef,0x8ef7,0x8efa,0x8ef9, +0x8dd9,0x8dc8,0x8dd7,0x8dc5,0x8eef,0x8ef7,0x8efa, +/* 0xDC40 */ +0x8ef9, 0x8ee6,0x8eee,0x8ee5,0x8ef5,0x8ee7,0x8ee8,0x8ef6,0x8eeb, 0x8ef1,0x8eec,0x8ef4,0x8ee9,0x902d,0x9034,0x902f,0x9106, 0x912c,0x9104,0x90ff,0x90fc,0x9108,0x90f9,0x90fb,0x9101, @@ -1204,7 +1316,9 @@ static const unsigned short big5_ucs_table[] = { 0x5868,0x5864,0x584f,0x584d,0x5849,0x586f,0x5855,0x584e, 0x585d,0x5859,0x5865,0x585b,0x583d,0x5863,0x5871,0x58fc, 0x5ac7,0x5ac4,0x5acb,0x5aba,0x5ab8,0x5ab1,0x5ab5,0x5ab0, -0x5abf,0x5ac8,0x5abb,0x5ac6,0x5ab7,0x5ac0,0x5aca,0x5ab4, +0x5abf,0x5ac8,0x5abb,0x5ac6, +/* 0xDD40 */ +0x5ab7,0x5ac0,0x5aca,0x5ab4, 0x5ab6,0x5acd,0x5ab9,0x5a90,0x5bd6,0x5bd8,0x5bd9,0x5c1f, 0x5c33,0x5d71,0x5d63,0x5d4a,0x5d65,0x5d72,0x5d6c,0x5d5e, 0x5d68,0x5d67,0x5d62,0x5df0,0x5e4f,0x5e4e,0x5e4a,0x5e4d, @@ -1224,7 +1338,9 @@ static const unsigned short big5_ucs_table[] = { 0x6958,0x6941,0x6974,0x694c,0x693b,0x694b,0x6937,0x695c, 0x694f,0x6951,0x6932,0x6952,0x692f,0x697b,0x693c,0x6b46, 0x6b45,0x6b43,0x6b42,0x6b48,0x6b41,0x6b9b,0xfa0d,0x6bfb, -0x6bfc,0x6bf9,0x6bf7,0x6bf8,0x6e9b,0x6ed6,0x6ec8,0x6e8f, +0x6bfc, +/* 0xDE40 */ +0x6bf9,0x6bf7,0x6bf8,0x6e9b,0x6ed6,0x6ec8,0x6e8f, 0x6ec0,0x6e9f,0x6e93,0x6e94,0x6ea0,0x6eb1,0x6eb9,0x6ec6, 0x6ed2,0x6ebd,0x6ec1,0x6e9e,0x6ec9,0x6eb7,0x6eb0,0x6ecd, 0x6ea6,0x6ecf,0x6eb2,0x6ebe,0x6ec3,0x6edc,0x6ed8,0x6e99, @@ -1243,7 +1359,9 @@ static const unsigned short big5_ucs_table[] = { 0x7759,0x776d,0x77e0,0x7887,0x789a,0x7894,0x788f,0x7884, 0x7895,0x7885,0x7886,0x78a1,0x7883,0x7879,0x7899,0x7880, 0x7896,0x787b,0x797c,0x7982,0x797d,0x7979,0x7a11,0x7a18, -0x7a19,0x7a12,0x7a17,0x7a15,0x7a22,0x7a13,0x7a1b,0x7a10, +0x7a19,0x7a12,0x7a17,0x7a15,0x7a22,0x7a13, +/* 0xDF40 */ +0x7a1b,0x7a10, 0x7aa3,0x7aa2,0x7a9e,0x7aeb,0x7b66,0x7b64,0x7b6d,0x7b74, 0x7b69,0x7b72,0x7b65,0x7b73,0x7b71,0x7b70,0x7b61,0x7b78, 0x7b76,0x7b63,0x7cb2,0x7cb4,0x7caf,0x7d88,0x7d86,0x7d80, @@ -1263,7 +1381,9 @@ static const unsigned short big5_ucs_table[] = { 0x86f7,0x870c,0x86fa,0x86d6,0x86f5,0x874d,0x86f8,0x870e, 0x8709,0x8701,0x86f6,0x870d,0x8705,0x88d6,0x88cb,0x88cd, 0x88ce,0x88de,0x88db,0x88da,0x88cc,0x88d0,0x8985,0x899b, -0x89df,0x89e5,0x89e4,0x89e1,0x89e0,0x89e2,0x89dc,0x89e6, +0x89df,0x89e5,0x89e4, +/* 0xE040 */ +0x89e1,0x89e0,0x89e2,0x89dc,0x89e6, 0x8a76,0x8a86,0x8a7f,0x8a61,0x8a3f,0x8a77,0x8a82,0x8a84, 0x8a75,0x8a83,0x8a81,0x8a74,0x8a7a,0x8c3c,0x8c4b,0x8c4a, 0x8c65,0x8c64,0x8c66,0x8c86,0x8c84,0x8c85,0x8ccc,0x8d68, @@ -1283,6 +1403,7 @@ static const unsigned short big5_ucs_table[] = { 0x99b5,0x9aad,0x9aab,0x9b5b,0x9cea,0x9ced,0x9ce7,0x9e80, 0x9efd,0x50e6,0x50d4,0x50d7,0x50e8,0x50f3,0x50db,0x50ea, 0x50dd,0x50e4,0x50d3,0x50ec,0x50f0,0x50ef,0x50e3,0x50e0, +/* 0xE140 */ 0x51d8,0x5280,0x5281,0x52e9,0x52eb,0x5330,0x53ac,0x5627, 0x5615,0x560c,0x5612,0x55fc,0x560f,0x561c,0x5601,0x5613, 0x5602,0x55fa,0x561d,0x5604,0x55ff,0x55f9,0x5889,0x587c, @@ -1302,7 +1423,9 @@ static const unsigned short big5_ucs_table[] = { 0x6475,0x6466,0x64a6,0x644e,0x6482,0x645e,0x645c,0x644b, 0x6453,0x6460,0x6450,0x647f,0x643f,0x646c,0x646b,0x6459, 0x6465,0x6477,0x6573,0x65a0,0x66a1,0x66a0,0x669f,0x6705, -0x6704,0x6722,0x69b1,0x69b6,0x69c9,0x69a0,0x69ce,0x6996, +0x6704,0x6722,0x69b1,0x69b6,0x69c9, +/* 0xE240 */ +0x69a0,0x69ce,0x6996, 0x69b0,0x69ac,0x69bc,0x6991,0x6999,0x698e,0x69a7,0x698d, 0x69a9,0x69be,0x69af,0x69bf,0x69c4,0x69bd,0x69a4,0x69d4, 0x69b9,0x69ca,0x699a,0x69cf,0x69b3,0x6993,0x69aa,0x69a1, @@ -1322,7 +1445,9 @@ static const unsigned short big5_ucs_table[] = { 0x7782,0x776e,0x7780,0x776f,0x777e,0x7783,0x78b2,0x78aa, 0x78b4,0x78ad,0x78a8,0x787e,0x78ab,0x789e,0x78a5,0x78a0, 0x78ac,0x78a2,0x78a4,0x7998,0x798a,0x798b,0x7996,0x7995, -0x7994,0x7993,0x7997,0x7988,0x7992,0x7990,0x7a2b,0x7a4a, +0x7994,0x7993, +/* 0xE340 */ +0x7997,0x7988,0x7992,0x7990,0x7a2b,0x7a4a, 0x7a30,0x7a2f,0x7a28,0x7a26,0x7aa8,0x7aab,0x7aac,0x7aee, 0x7b88,0x7b9c,0x7b8a,0x7b91,0x7b90,0x7b96,0x7b8d,0x7b8c, 0x7b9b,0x7b8e,0x7b85,0x7b98,0x5284,0x7b99,0x7ba4,0x7b82, @@ -1341,7 +1466,9 @@ static const unsigned short big5_ucs_table[] = { 0x872c,0x8741,0x873e,0x8746,0x8720,0x8732,0x872a,0x872d, 0x873c,0x8712,0x873a,0x8731,0x8735,0x8742,0x8726,0x8727, 0x8738,0x8724,0x871a,0x8730,0x8711,0x88f7,0x88e7,0x88f1, -0x88f2,0x88fa,0x88fe,0x88ee,0x88fc,0x88f6,0x88fb,0x88f0, +0x88f2,0x88fa,0x88fe,0x88ee,0x88fc,0x88f6,0x88fb, +/* 0xE440 */ +0x88f0, 0x88ec,0x88eb,0x899d,0x89a1,0x899f,0x899e,0x89e9,0x89eb, 0x89e8,0x8aab,0x8a99,0x8a8b,0x8a92,0x8a8f,0x8a96,0x8c3d, 0x8c68,0x8c69,0x8cd5,0x8ccf,0x8cd7,0x8d96,0x8e09,0x8e02, @@ -1361,7 +1488,9 @@ static const unsigned short big5_ucs_table[] = { 0x9cf2,0x9cf5,0x9ea7,0x50ff,0x5103,0x5130,0x50f8,0x5106, 0x5107,0x50f6,0x50fe,0x510b,0x510c,0x50fd,0x510a,0x528b, 0x528c,0x52f1,0x52ef,0x5648,0x5642,0x564c,0x5635,0x5641, -0x564a,0x5649,0x5646,0x5658,0x565a,0x5640,0x5633,0x563d, +0x564a,0x5649,0x5646,0x5658, +/* 0xE540 */ +0x565a,0x5640,0x5633,0x563d, 0x562c,0x563e,0x5638,0x562a,0x563a,0x571a,0x58ab,0x589d, 0x58b1,0x58a0,0x58a3,0x58af,0x58ac,0x58a5,0x58a1,0x58ff, 0x5aff,0x5af4,0x5afd,0x5af7,0x5af6,0x5b03,0x5af8,0x5b02, @@ -1381,7 +1510,9 @@ static const unsigned short big5_ucs_table[] = { 0x6a09,0x6a04,0x6a18,0x6a25,0x6a0f,0x69f6,0x6a26,0x6a07, 0x69f4,0x6a16,0x6b51,0x6ba5,0x6ba3,0x6ba2,0x6ba6,0x6c01, 0x6c00,0x6bff,0x6c02,0x6f41,0x6f26,0x6f7e,0x6f87,0x6fc6, -0x6f92,0x6f8d,0x6f89,0x6f8c,0x6f62,0x6f4f,0x6f85,0x6f5a, +0x6f92, +/* 0xE640 */ +0x6f8d,0x6f89,0x6f8c,0x6f62,0x6f4f,0x6f85,0x6f5a, 0x6f96,0x6f76,0x6f6c,0x6f82,0x6f55,0x6f72,0x6f52,0x6f50, 0x6f57,0x6f94,0x6f93,0x6f5d,0x6f00,0x6f61,0x6f6b,0x6f7d, 0x6f67,0x6f90,0x6f53,0x6f8b,0x6f69,0x6f7f,0x6f95,0x6f63, @@ -1400,7 +1531,9 @@ static const unsigned short big5_ucs_table[] = { 0x7ccc,0x7ccb,0x7df7,0x7ddb,0x7dea,0x7de7,0x7dd7,0x7de1, 0x7e03,0x7dfa,0x7de6,0x7df6,0x7df1,0x7df0,0x7dee,0x7ddf, 0x7f76,0x7fac,0x7fb0,0x7fad,0x7fed,0x7feb,0x7fea,0x7fec, -0x7fe6,0x7fe8,0x8064,0x8067,0x81a3,0x819f,0x819e,0x8195, +0x7fe6,0x7fe8,0x8064,0x8067,0x81a3,0x819f, +/* 0xE740 */ +0x819e,0x8195, 0x81a2,0x8199,0x8197,0x8216,0x824f,0x8253,0x8252,0x8250, 0x824e,0x8251,0x8524,0x853b,0x850f,0x8500,0x8529,0x850e, 0x8509,0x850d,0x851f,0x850a,0x8527,0x851c,0x84fb,0x852b, @@ -1420,7 +1553,9 @@ static const unsigned short big5_ucs_table[] = { 0x8ad9,0x8c3e,0x8c4d,0x8c8f,0x8ce5,0x8cdf,0x8cd9,0x8ce8, 0x8cda,0x8cdd,0x8ce7,0x8da0,0x8d9c,0x8da1,0x8d9b,0x8e20, 0x8e23,0x8e25,0x8e24,0x8e2e,0x8e15,0x8e1b,0x8e16,0x8e11, -0x8e19,0x8e26,0x8e27,0x8e14,0x8e12,0x8e18,0x8e13,0x8e1c, +0x8e19,0x8e26,0x8e27, +/* 0xE840 */ +0x8e14,0x8e12,0x8e18,0x8e13,0x8e1c, 0x8e17,0x8e1a,0x8f2c,0x8f24,0x8f18,0x8f1a,0x8f20,0x8f23, 0x8f16,0x8f17,0x9073,0x9070,0x906f,0x9067,0x906b,0x912f, 0x912b,0x9129,0x912a,0x9132,0x9126,0x912e,0x9185,0x9186, @@ -1440,6 +1575,7 @@ static const unsigned short big5_ucs_table[] = { 0x9cff,0x9cf7,0x9d07,0x9d00,0x9cf9,0x9cfb,0x9d08,0x9d05, 0x9d04,0x9e83,0x9ed3,0x9f0f,0x9f10,0x511c,0x5113,0x5117, 0x511a,0x5111,0x51de,0x5334,0x53e1,0x5670,0x5660,0x566e, +/* 0xE940 */ 0x5673,0x5666,0x5663,0x566d,0x5672,0x565e,0x5677,0x571c, 0x571b,0x58c8,0x58bd,0x58c9,0x58bf,0x58ba,0x58c2,0x58bc, 0x58c6,0x5b17,0x5b19,0x5b1b,0x5b21,0x5b14,0x5b13,0x5b10, @@ -1459,7 +1595,9 @@ static const unsigned short big5_ucs_table[] = { 0x6baa,0x6bab,0x6bc8,0x6bc7,0x6c04,0x6c03,0x6c06,0x6fad, 0x6fcb,0x6fa3,0x6fc7,0x6fbc,0x6fce,0x6fc8,0x6f5e,0x6fc4, 0x6fbd,0x6f9e,0x6fca,0x6fa8,0x7004,0x6fa5,0x6fae,0x6fba, -0x6fac,0x6faa,0x6fcf,0x6fbf,0x6fb8,0x6fa2,0x6fc9,0x6fab, +0x6fac,0x6faa,0x6fcf,0x6fbf,0x6fb8, +/* 0xEA40 */ +0x6fa2,0x6fc9,0x6fab, 0x6fcd,0x6faf,0x6fb2,0x6fb0,0x71c5,0x71c2,0x71bf,0x71b8, 0x71d6,0x71c0,0x71c1,0x71cb,0x71d4,0x71ca,0x71c7,0x71cf, 0x71bd,0x71d8,0x71bc,0x71c6,0x71da,0x71db,0x729d,0x729e, @@ -1479,7 +1617,9 @@ static const unsigned short big5_ucs_table[] = { 0x802a,0x8029,0x806c,0x81b1,0x81a6,0x81ae,0x81b9,0x81b5, 0x81ab,0x81b0,0x81ac,0x81b4,0x81b2,0x81b7,0x81a7,0x81f2, 0x8255,0x8256,0x8257,0x8556,0x8545,0x856b,0x854d,0x8553, -0x8561,0x8558,0x8540,0x8546,0x8564,0x8541,0x8562,0x8544, +0x8561,0x8558, +/* 0xEB40 */ +0x8540,0x8546,0x8564,0x8541,0x8562,0x8544, 0x8551,0x8547,0x8563,0x853e,0x855b,0x8571,0x854e,0x856e, 0x8575,0x8555,0x8567,0x8560,0x858c,0x8566,0x855d,0x8554, 0x8565,0x856c,0x8663,0x8665,0x8664,0x879b,0x878f,0x8797, @@ -1498,7 +1638,9 @@ static const unsigned short big5_ucs_table[] = { 0x931f,0x9306,0x930f,0x937a,0x9338,0x933c,0x931b,0x9323, 0x9312,0x9301,0x9346,0x932d,0x930e,0x930d,0x92cb,0x931d, 0x92fa,0x9325,0x9313,0x92f9,0x92f7,0x9334,0x9302,0x9324, -0x92ff,0x9329,0x9339,0x9335,0x932a,0x9314,0x930c,0x930b, +0x92ff,0x9329,0x9339,0x9335,0x932a,0x9314,0x930c, +/* 0xEC40 */ +0x930b, 0x92fe,0x9309,0x9300,0x92fb,0x9316,0x95bc,0x95cd,0x95be, 0x95b9,0x95ba,0x95b6,0x95bf,0x95b5,0x95bd,0x96a9,0x96d4, 0x970b,0x9712,0x9710,0x9799,0x9797,0x9794,0x97f0,0x97f8, @@ -1518,7 +1660,9 @@ static const unsigned short big5_ucs_table[] = { 0x61e0,0x61e5,0x61e4,0x61e8,0x61de,0x64ef,0x64e9,0x64e3, 0x64eb,0x64e4,0x64e8,0x6581,0x6580,0x65b6,0x65da,0x66d2, 0x6a8d,0x6a96,0x6a81,0x6aa5,0x6a89,0x6a9f,0x6a9b,0x6aa1, -0x6a9e,0x6a87,0x6a93,0x6a8e,0x6a95,0x6a83,0x6aa8,0x6aa4, +0x6a9e,0x6a87,0x6a93,0x6a8e, +/* 0xED40 */ +0x6a95,0x6a83,0x6aa8,0x6aa4, 0x6a91,0x6a7f,0x6aa6,0x6a9a,0x6a85,0x6a8c,0x6a92,0x6b5b, 0x6bad,0x6c09,0x6fcc,0x6fa9,0x6ff4,0x6fd4,0x6fe3,0x6fdc, 0x6fed,0x6fe7,0x6fe6,0x6fde,0x6ff2,0x6fdd,0x6fe2,0x6fe8, @@ -1538,7 +1682,9 @@ static const unsigned short big5_ucs_table[] = { 0x7ff2,0x802c,0x81bb,0x81c4,0x81cc,0x81ca,0x81c5,0x81c7, 0x81bc,0x81e9,0x825b,0x825a,0x825c,0x8583,0x8580,0x858f, 0x85a7,0x8595,0x85a0,0x858b,0x85a3,0x857b,0x85a4,0x859a, -0x859e,0x8577,0x857c,0x8589,0x85a1,0x857a,0x8578,0x8557, +0x859e, +/* 0xEE40 */ +0x8577,0x857c,0x8589,0x85a1,0x857a,0x8578,0x8557, 0x858e,0x8596,0x8586,0x858d,0x8599,0x859d,0x8581,0x85a2, 0x8582,0x8588,0x8585,0x8579,0x8576,0x8598,0x8590,0x859f, 0x8668,0x87be,0x87aa,0x87ad,0x87c5,0x87b0,0x87ac,0x87b9, @@ -1557,7 +1703,9 @@ static const unsigned short big5_ucs_table[] = { 0x9355,0x9352,0x934f,0x9371,0x9377,0x937b,0x9361,0x935e, 0x9363,0x9367,0x9380,0x934e,0x9359,0x95c7,0x95c0,0x95c9, 0x95c3,0x95c5,0x95b7,0x96ae,0x96b0,0x96ac,0x9720,0x971f, -0x9718,0x971d,0x9719,0x979a,0x97a1,0x979c,0x979e,0x979d, +0x9718,0x971d,0x9719,0x979a,0x97a1,0x979c, +/* 0xEF40 */ +0x979e,0x979d, 0x97d5,0x97d4,0x97f1,0x9841,0x9844,0x984a,0x9849,0x9845, 0x9843,0x9925,0x992b,0x992c,0x992a,0x9933,0x9932,0x992f, 0x992d,0x9931,0x9930,0x9998,0x99a3,0x99a1,0x9a02,0x99fa, @@ -1577,7 +1725,9 @@ static const unsigned short big5_ucs_table[] = { 0x6ab7,0x6ac7,0x6ab4,0x6aad,0x6b5e,0x6bc9,0x6c0b,0x7007, 0x700c,0x700d,0x7001,0x7005,0x7014,0x700e,0x6fff,0x7000, 0x6ffb,0x7026,0x6ffc,0x6ff7,0x700a,0x7201,0x71ff,0x71f9, -0x7203,0x71fd,0x7376,0x74b8,0x74c0,0x74b5,0x74c1,0x74be, +0x7203,0x71fd,0x7376, +/* 0xF040 */ +0x74b8,0x74c0,0x74b5,0x74c1,0x74be, 0x74b6,0x74bb,0x74c2,0x7514,0x7513,0x765c,0x7664,0x7659, 0x7650,0x7653,0x7657,0x765a,0x76a6,0x76bd,0x76ec,0x77c2, 0x77ba,0x78ff,0x790c,0x7913,0x7914,0x7909,0x7910,0x7912, @@ -1597,6 +1747,7 @@ static const unsigned short big5_ucs_table[] = { 0x8b26,0x8b36,0x8b2e,0x8b24,0x8b3b,0x8b3d,0x8b3a,0x8c42, 0x8c75,0x8c99,0x8c98,0x8c97,0x8cfe,0x8d04,0x8d02,0x8d00, 0x8e5c,0x8e62,0x8e60,0x8e57,0x8e56,0x8e5e,0x8e65,0x8e67, +/* 0xF140 */ 0x8e5b,0x8e5a,0x8e61,0x8e5d,0x8e69,0x8e54,0x8f46,0x8f47, 0x8f48,0x8f4b,0x9128,0x913a,0x913b,0x913e,0x91a8,0x91a5, 0x91a7,0x91af,0x91aa,0x93b5,0x938c,0x9392,0x93b7,0x939b, @@ -1616,7 +1767,9 @@ static const unsigned short big5_ucs_table[] = { 0x9f00,0x9f16,0x9f25,0x9f2b,0x9f2a,0x9f29,0x9f28,0x9f4c, 0x9f55,0x5134,0x5135,0x5296,0x52f7,0x53b4,0x56ab,0x56ad, 0x56a6,0x56a7,0x56aa,0x56ac,0x58da,0x58dd,0x58db,0x5912, -0x5b3d,0x5b3e,0x5b3f,0x5dc3,0x5e70,0x5fbf,0x61fb,0x6507, +0x5b3d,0x5b3e,0x5b3f,0x5dc3,0x5e70, +/* 0xF240 */ +0x5fbf,0x61fb,0x6507, 0x6510,0x650d,0x6509,0x650c,0x650e,0x6584,0x65de,0x65dd, 0x66de,0x6ae7,0x6ae0,0x6acc,0x6ad1,0x6ad9,0x6acb,0x6adf, 0x6adc,0x6ad0,0x6aeb,0x6acf,0x6acd,0x6ade,0x6b60,0x6bb0, @@ -1636,7 +1789,9 @@ static const unsigned short big5_ucs_table[] = { 0x8808,0x87ff,0x880a,0x8802,0x8962,0x895a,0x895b,0x8957, 0x8961,0x895c,0x8958,0x895d,0x8959,0x8988,0x89b7,0x89b6, 0x89f6,0x8b50,0x8b48,0x8b4a,0x8b40,0x8b53,0x8b56,0x8b54, -0x8b4b,0x8b55,0x8b51,0x8b42,0x8b52,0x8b57,0x8c43,0x8c77, +0x8b4b,0x8b55, +/* 0xF340 */ +0x8b51,0x8b42,0x8b52,0x8b57,0x8c43,0x8c77, 0x8c76,0x8c9a,0x8d06,0x8d07,0x8d09,0x8dac,0x8daa,0x8dad, 0x8dab,0x8e6d,0x8e78,0x8e73,0x8e6a,0x8e6f,0x8e7b,0x8ec2, 0x8f52,0x8f51,0x8f4f,0x8f50,0x8f53,0x8fb4,0x9140,0x913f, @@ -1655,7 +1810,9 @@ static const unsigned short big5_ucs_table[] = { 0x9d86,0x9d8b,0x9d8c,0x9d7d,0x9d6b,0x9d74,0x9d75,0x9d70, 0x9d69,0x9d85,0x9d73,0x9d7b,0x9d82,0x9d6f,0x9d79,0x9d7f, 0x9d87,0x9d68,0x9e94,0x9e91,0x9ec0,0x9efc,0x9f2d,0x9f40, -0x9f41,0x9f4d,0x9f56,0x9f57,0x9f58,0x5337,0x56b2,0x56b5, +0x9f41,0x9f4d,0x9f56,0x9f57,0x9f58,0x5337,0x56b2, +/* 0xF440 */ +0x56b5, 0x56b3,0x58e3,0x5b45,0x5dc6,0x5dc7,0x5eee,0x5eef,0x5fc0, 0x5fc1,0x61f9,0x6517,0x6516,0x6515,0x6513,0x65df,0x66e8, 0x66e3,0x66e4,0x6af3,0x6af0,0x6aea,0x6ae8,0x6af9,0x6af1, @@ -1675,7 +1832,9 @@ static const unsigned short big5_ucs_table[] = { 0x91b7,0x91b5,0x91b2,0x91b3,0x940b,0x9413,0x93fb,0x9420, 0x940f,0x9414,0x93fe,0x9415,0x9410,0x9428,0x9419,0x940d, 0x93f5,0x9400,0x93f7,0x9407,0x940e,0x9416,0x9412,0x93fa, -0x9409,0x93f8,0x940a,0x93ff,0x93fc,0x940c,0x93f6,0x9411, +0x9409,0x93f8,0x940a,0x93ff, +/* 0xF540 */ +0x93fc,0x940c,0x93f6,0x9411, 0x9406,0x95de,0x95e0,0x95df,0x972e,0x972f,0x97b9,0x97bb, 0x97fd,0x97fe,0x9860,0x9862,0x9863,0x985f,0x98c1,0x98c2, 0x9950,0x994e,0x9959,0x994c,0x994b,0x9953,0x9a32,0x9a34, @@ -1695,7 +1854,9 @@ static const unsigned short big5_ucs_table[] = { 0x7cf2,0x7e8a,0x7e87,0x7e88,0x7e8b,0x7e86,0x7e8d,0x7f4d, 0x7fbb,0x8030,0x81dd,0x8618,0x862a,0x8626,0x861f,0x8623, 0x861c,0x8619,0x8627,0x862e,0x8621,0x8620,0x8629,0x861e, -0x8625,0x8829,0x881d,0x881b,0x8820,0x8824,0x881c,0x882b, +0x8625, +/* 0xF640 */ +0x8829,0x881d,0x881b,0x8820,0x8824,0x881c,0x882b, 0x884a,0x896d,0x8969,0x896e,0x896b,0x89fa,0x8b79,0x8b78, 0x8b45,0x8b7a,0x8b7b,0x8d10,0x8d14,0x8daf,0x8e8e,0x8e8c, 0x8f5e,0x8f5b,0x8f5d,0x9146,0x9144,0x9145,0x91b9,0x943f, @@ -1714,7 +1875,9 @@ static const unsigned short big5_ucs_table[] = { 0x6520,0x6526,0x6522,0x6b0b,0x6b08,0x6b09,0x6c0d,0x7055, 0x7056,0x7057,0x7052,0x721e,0x721f,0x72a9,0x737f,0x74d8, 0x74d5,0x74d9,0x74d7,0x766d,0x76ad,0x7935,0x79b4,0x7a70, -0x7a71,0x7c57,0x7c5c,0x7c59,0x7c5b,0x7c5a,0x7cf4,0x7cf1, +0x7a71,0x7c57,0x7c5c,0x7c59,0x7c5b,0x7c5a, +/* 0xF740 */ +0x7cf4,0x7cf1, 0x7e91,0x7f4f,0x7f87,0x81de,0x826b,0x8634,0x8635,0x8633, 0x862c,0x8632,0x8636,0x882c,0x8828,0x8826,0x882a,0x8825, 0x8971,0x89bf,0x89be,0x89fb,0x8b7e,0x8b84,0x8b82,0x8b86, @@ -1734,7 +1897,9 @@ static const unsigned short big5_ucs_table[] = { 0x705b,0x705a,0x7222,0x7382,0x7381,0x7383,0x7670,0x77d4, 0x7c67,0x7c66,0x7e95,0x826c,0x863a,0x8640,0x8639,0x863c, 0x8631,0x863b,0x863e,0x8830,0x8832,0x882e,0x8833,0x8976, -0x8974,0x8973,0x89fe,0x8b8c,0x8b8e,0x8b8b,0x8b88,0x8c45, +0x8974,0x8973,0x89fe, +/* 0xF840 */ +0x8b8c,0x8b8e,0x8b8b,0x8b88,0x8c45, 0x8d19,0x8e98,0x8f64,0x8f63,0x91bc,0x9462,0x9455,0x945d, 0x9457,0x945e,0x97c4,0x97c5,0x9800,0x9a56,0x9a59,0x9b1e, 0x9b1f,0x9b20,0x9c52,0x9c58,0x9c50,0x9c4a,0x9c4d,0x9c4b, @@ -1754,6 +1919,7 @@ static const unsigned short big5_ucs_table[] = { 0x9e04,0x9ea0,0x9f1e,0x9f46,0x9f74,0x9f75,0x9f76,0x56d4, 0x652e,0x65b8,0x6b18,0x6b19,0x6b17,0x6b1a,0x7062,0x7226, 0x72aa,0x77d8,0x77d9,0x7939,0x7c69,0x7c6b,0x7cf6,0x7e9a, +/* 0xF940 */ 0x7e98,0x7e9b,0x7e99,0x81e0,0x81e1,0x8646,0x8647,0x8648, 0x8979,0x897a,0x897c,0x897b,0x89ff,0x8b98,0x8b99,0x8ea5, 0x8ea4,0x8ea3,0x946e,0x946d,0x946f,0x9471,0x9473,0x9749,