summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authorVladislav Vaintroub <vvaintroub@mysql.com>2010-01-22 12:50:33 +0100
committerVladislav Vaintroub <vvaintroub@mysql.com>2010-01-22 12:50:33 +0100
commitcb5b0d4ffa964b2808dfb42b64f53b4b9e2d9bc1 (patch)
tree16e166d97e758468adaf6e8c29470666e9910f4e /strings
parent68c66c645a76608438e33259be85f3ca4b244ed8 (diff)
parent08bcd2d8f67dcacd36abd2592fa2a59321abe7c2 (diff)
downloadmariadb-git-cb5b0d4ffa964b2808dfb42b64f53b4b9e2d9bc1.tar.gz
merge
Diffstat (limited to 'strings')
-rw-r--r--strings/ctype-big5.c621
-rw-r--r--strings/ctype-cp932.c1510
-rw-r--r--strings/ctype-euc_kr.c1275
-rw-r--r--strings/ctype-eucjpms.c1541
-rw-r--r--strings/ctype-gb2312.c646
-rw-r--r--strings/ctype-gbk.c862
-rw-r--r--strings/ctype-mb.c108
-rw-r--r--strings/ctype-sjis.c879
-rw-r--r--strings/ctype-ujis.c1271
9 files changed, 8684 insertions, 29 deletions
diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c
index 3da307b82fc..966acdfa8f0 100644
--- a/strings/ctype-big5.c
+++ b/strings/ctype-big5.c
@@ -176,6 +176,623 @@ static uchar NEAR sort_order_big5[]=
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377',
};
+
+static MY_UNICASE_INFO cA2[256]=
+{
+ /* A200-A20F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A210-A21F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A220-A22F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A230-A23F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A240-A24F */
+ {0xA240,0xA240,0xFFFD},
+ {0xA241,0xA241,0xFF0F},
+ {0xA242,0xA242,0xFF3C},
+ {0xA243,0xA243,0xFF04},
+ {0xA244,0xA244,0x00A5},
+ {0xA245,0xA245,0x3012},
+ {0xA246,0xA246,0x00A2},
+ {0xA247,0xA247,0x00A3},
+ {0xA248,0xA248,0xFF05},
+ {0xA249,0xA249,0xFF20},
+ {0xA24A,0xA24A,0x2103},
+ {0xA24B,0xA24B,0x2109},
+ {0xA24C,0xA24C,0xFE69},
+ {0xA24D,0xA24D,0xFE6A},
+ {0xA24E,0xA24E,0xFE6B},
+ {0xA24F,0xA24F,0x33D5},
+ /* A250-A25F */
+ {0xA250,0xA250,0x339C},
+ {0xA251,0xA251,0x339D},
+ {0xA252,0xA252,0x339E},
+ {0xA253,0xA253,0x33CE},
+ {0xA254,0xA254,0x33A1},
+ {0xA255,0xA255,0x338E},
+ {0xA256,0xA256,0x338F},
+ {0xA257,0xA257,0x33C4},
+ {0xA258,0xA258,0x00B0},
+ {0xA259,0xA259,0x5159},
+ {0xA25A,0xA25A,0x515B},
+ {0xA25B,0xA25B,0x515E},
+ {0xA25C,0xA25C,0x515D},
+ {0xA25D,0xA25D,0x5161},
+ {0xA25E,0xA25E,0x5163},
+ {0xA25F,0xA25F,0x55E7},
+ /* A260-A26F */
+ {0xA260,0xA260,0x74E9},
+ {0xA261,0xA261,0x7CCE},
+ {0xA262,0xA262,0x2581},
+ {0xA263,0xA263,0x2582},
+ {0xA264,0xA264,0x2583},
+ {0xA265,0xA265,0x2584},
+ {0xA266,0xA266,0x2585},
+ {0xA267,0xA267,0x2586},
+ {0xA268,0xA268,0x2587},
+ {0xA269,0xA269,0x2588},
+ {0xA26A,0xA26A,0x258F},
+ {0xA26B,0xA26B,0x258E},
+ {0xA26C,0xA26C,0x258D},
+ {0xA26D,0xA26D,0x258C},
+ {0xA26E,0xA26E,0x258B},
+ {0xA26F,0xA26F,0x258A},
+ /* A270-A27F */
+ {0xA270,0xA270,0x2589},
+ {0xA271,0xA271,0x253C},
+ {0xA272,0xA272,0x2534},
+ {0xA273,0xA273,0x252C},
+ {0xA274,0xA274,0x2524},
+ {0xA275,0xA275,0x251C},
+ {0xA276,0xA276,0x2594},
+ {0xA277,0xA277,0x2500},
+ {0xA278,0xA278,0x2502},
+ {0xA279,0xA279,0x2595},
+ {0xA27A,0xA27A,0x250C},
+ {0xA27B,0xA27B,0x2510},
+ {0xA27C,0xA27C,0x2514},
+ {0xA27D,0xA27D,0x2518},
+ {0xA27E,0xA27E,0x256D},
+ {0x0000,0x0000,0x0000},
+ /* A280-A28F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A290-A29F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A2A0-A2AF */
+ {0x0000,0x0000,0x0000},
+ {0xA2A1,0xA2A1,0x256E},
+ {0xA2A2,0xA2A2,0x2570},
+ {0xA2A3,0xA2A3,0x256F},
+ {0xA2A4,0xA2A4,0x2550},
+ {0xA2A5,0xA2A5,0x255E},
+ {0xA2A6,0xA2A6,0x256A},
+ {0xA2A7,0xA2A7,0x2561},
+ {0xA2A8,0xA2A8,0x25E2},
+ {0xA2A9,0xA2A9,0x25E3},
+ {0xA2AA,0xA2AA,0x25E5},
+ {0xA2AB,0xA2AB,0x25E4},
+ {0xA2AC,0xA2AC,0x2571},
+ {0xA2AD,0xA2AD,0x2572},
+ {0xA2AE,0xA2AE,0x2573},
+ {0xA2AF,0xA2AF,0xFF10},
+ /* A2B0-A2BF */
+ {0xA2B0,0xA2B0,0xFF11},
+ {0xA2B1,0xA2B1,0xFF12},
+ {0xA2B2,0xA2B2,0xFF13},
+ {0xA2B3,0xA2B3,0xFF14},
+ {0xA2B4,0xA2B4,0xFF15},
+ {0xA2B5,0xA2B5,0xFF16},
+ {0xA2B6,0xA2B6,0xFF17},
+ {0xA2B7,0xA2B7,0xFF18},
+ {0xA2B8,0xA2B8,0xFF19},
+ {0xA2B9,0xA2B9,0x2160},
+ {0xA2BA,0xA2BA,0x2161},
+ {0xA2BB,0xA2BB,0x2162},
+ {0xA2BC,0xA2BC,0x2163},
+ {0xA2BD,0xA2BD,0x2164},
+ {0xA2BE,0xA2BE,0x2165},
+ {0xA2BF,0xA2BF,0x2166},
+ /* A2C0-A2CF */
+ {0xA2C0,0xA2C0,0x2167},
+ {0xA2C1,0xA2C1,0x2168},
+ {0xA2C2,0xA2C2,0x2169},
+ {0xA2C3,0xA2C3,0x3021},
+ {0xA2C4,0xA2C4,0x3022},
+ {0xA2C5,0xA2C5,0x3023},
+ {0xA2C6,0xA2C6,0x3024},
+ {0xA2C7,0xA2C7,0x3025},
+ {0xA2C8,0xA2C8,0x3026},
+ {0xA2C9,0xA2C9,0x3027},
+ {0xA2CA,0xA2CA,0x3028},
+ {0xA2CB,0xA2CB,0x3029},
+ {0xA2CC,0xA2CC,0xFFFD},
+ {0xA2CD,0xA2CD,0x5344},
+ {0xA2CE,0xA2CE,0xFFFD},
+ {0xA2CF,0xA2E9,0xFF21},
+ /* A2D0-A2DF */
+ {0xA2D0,0xA2EA,0xFF22},
+ {0xA2D1,0xA2EB,0xFF23},
+ {0xA2D2,0xA2EC,0xFF24},
+ {0xA2D3,0xA2ED,0xFF25},
+ {0xA2D4,0xA2EE,0xFF26},
+ {0xA2D5,0xA2EF,0xFF27},
+ {0xA2D6,0xA2F0,0xFF28},
+ {0xA2D7,0xA2F1,0xFF29},
+ {0xA2D8,0xA2F2,0xFF2A},
+ {0xA2D9,0xA2F3,0xFF2B},
+ {0xA2DA,0xA2F4,0xFF2C},
+ {0xA2DB,0xA2F5,0xFF2D},
+ {0xA2DC,0xA2F6,0xFF2E},
+ {0xA2DD,0xA2F7,0xFF2F},
+ {0xA2DE,0xA2F8,0xFF30},
+ {0xA2DF,0xA2F9,0xFF31},
+ /* A2E0-A2EF */
+ {0xA2E0,0xA2FA,0xFF32},
+ {0xA2E1,0xA2FB,0xFF33},
+ {0xA2E2,0xA2FC,0xFF34},
+ {0xA2E3,0xA2FD,0xFF35},
+ {0xA2E4,0xA2FE,0xFF36},
+ {0xA2E5,0xA340,0xFF37},
+ {0xA2E6,0xA341,0xFF38},
+ {0xA2E7,0xA342,0xFF39},
+ {0xA2E8,0xA343,0xFF3A},
+ {0xA2CF,0xA2E9,0xFF41},
+ {0xA2D0,0xA2EA,0xFF42},
+ {0xA2D1,0xA2EB,0xFF43},
+ {0xA2D2,0xA2EC,0xFF44},
+ {0xA2D3,0xA2ED,0xFF45},
+ {0xA2D4,0xA2EE,0xFF46},
+ {0xA2D5,0xA2EF,0xFF47},
+ /* A2F0-A2FF */
+ {0xA2D6,0xA2F0,0xFF48},
+ {0xA2D7,0xA2F1,0xFF49},
+ {0xA2D8,0xA2F2,0xFF4A},
+ {0xA2D9,0xA2F3,0xFF4B},
+ {0xA2DA,0xA2F4,0xFF4C},
+ {0xA2DB,0xA2F5,0xFF4D},
+ {0xA2DC,0xA2F6,0xFF4E},
+ {0xA2DD,0xA2F7,0xFF4F},
+ {0xA2DE,0xA2F8,0xFF50},
+ {0xA2DF,0xA2F9,0xFF51},
+ {0xA2E0,0xA2FA,0xFF52},
+ {0xA2E1,0xA2FB,0xFF53},
+ {0xA2E2,0xA2FC,0xFF54},
+ {0xA2E3,0xA2FD,0xFF55},
+ {0xA2E4,0xA2FE,0xFF56},
+ {0x0000,0x0000,0x0000}
+};
+
+
+static MY_UNICASE_INFO cA3[256]=
+{
+ /* A300-A30F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A310-A31F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A320-A32F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A330-A33F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A340-A34F */
+ {0xA2E5,0xA340,0xFF57},
+ {0xA2E6,0xA341,0xFF58},
+ {0xA2E7,0xA342,0xFF59},
+ {0xA2E8,0xA343,0xFF5A},
+ {0xA344,0xA35C,0x0391},
+ {0xA345,0xA35D,0x0392},
+ {0xA346,0xA35E,0x0393},
+ {0xA347,0xA35F,0x0394},
+ {0xA348,0xA360,0x0395},
+ {0xA349,0xA361,0x0396},
+ {0xA34A,0xA362,0x0397},
+ {0xA34B,0xA363,0x0398},
+ {0xA34C,0xA364,0x0399},
+ {0xA34D,0xA365,0x039A},
+ {0xA34E,0xA366,0x039B},
+ {0xA34F,0xA367,0x039C},
+ /* A350-A35F */
+ {0xA350,0xA368,0x039D},
+ {0xA351,0xA369,0x039E},
+ {0xA352,0xA36A,0x039F},
+ {0xA353,0xA36B,0x03A0},
+ {0xA354,0xA36C,0x03A1},
+ {0xA355,0xA36D,0x03A3},
+ {0xA356,0xA36E,0x03A4},
+ {0xA357,0xA36F,0x03A5},
+ {0xA358,0xA370,0x03A6},
+ {0xA359,0xA371,0x03A7},
+ {0xA35A,0xA372,0x03A8},
+ {0xA35B,0xA373,0x03A9},
+ {0xA344,0xA35C,0x03B1},
+ {0xA345,0xA35D,0x03B2},
+ {0xA346,0xA35E,0x03B3},
+ {0xA347,0xA35F,0x03B4},
+ /* A360-A36F */
+ {0xA348,0xA360,0x03B5},
+ {0xA349,0xA361,0x03B6},
+ {0xA34A,0xA362,0x03B7},
+ {0xA34B,0xA363,0x03B8},
+ {0xA34C,0xA364,0x03B9},
+ {0xA34D,0xA365,0x03BA},
+ {0xA34E,0xA366,0x03BB},
+ {0xA34F,0xA367,0x03BC},
+ {0xA350,0xA368,0x03BD},
+ {0xA351,0xA369,0x03BE},
+ {0xA352,0xA36A,0x03BF},
+ {0xA353,0xA36B,0x03C0},
+ {0xA354,0xA36C,0x03C1},
+ {0xA355,0xA36D,0x03C3},
+ {0xA356,0xA36E,0x03C4},
+ {0xA357,0xA36F,0x03C5},
+ /* A370-A37F */
+ {0xA358,0xA370,0x03C6},
+ {0xA359,0xA371,0x03C7},
+ {0xA35A,0xA372,0x03C8},
+ {0xA35B,0xA373,0x03C9},
+ {0xA374,0xA374,0x3105},
+ {0xA375,0xA375,0x3106},
+ {0xA376,0xA376,0x3107},
+ {0xA377,0xA377,0x3108},
+ {0xA378,0xA378,0x3109},
+ {0xA379,0xA379,0x310A},
+ {0xA37A,0xA37A,0x310B},
+ {0xA37B,0xA37B,0x310C},
+ {0xA37C,0xA37C,0x310D},
+ {0xA37D,0xA37D,0x310E},
+ {0xA37E,0xA37E,0x310F},
+ {0x0000,0x0000,0x0000},
+ /* A380-A38F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A390-A39F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* A3A0-A3AF */
+ {0x0000,0x0000,0x0000},
+ {0xA3A1,0xA3A1,0x3110},
+ {0xA3A2,0xA3A2,0x3111},
+ {0xA3A3,0xA3A3,0x3112},
+ {0xA3A4,0xA3A4,0x3113},
+ {0xA3A5,0xA3A5,0x3114},
+ {0xA3A6,0xA3A6,0x3115},
+ {0xA3A7,0xA3A7,0x3116},
+ {0xA3A8,0xA3A8,0x3117},
+ {0xA3A9,0xA3A9,0x3118},
+ {0xA3AA,0xA3AA,0x3119},
+ {0xA3AB,0xA3AB,0x311A},
+ {0xA3AC,0xA3AC,0x311B},
+ {0xA3AD,0xA3AD,0x311C},
+ {0xA3AE,0xA3AE,0x311D},
+ {0xA3AF,0xA3AF,0x311E},
+ /* A3B0-A3BF */
+ {0xA3B0,0xA3B0,0x311F},
+ {0xA3B1,0xA3B1,0x3120},
+ {0xA3B2,0xA3B2,0x3121},
+ {0xA3B3,0xA3B3,0x3122},
+ {0xA3B4,0xA3B4,0x3123},
+ {0xA3B5,0xA3B5,0x3124},
+ {0xA3B6,0xA3B6,0x3125},
+ {0xA3B7,0xA3B7,0x3126},
+ {0xA3B8,0xA3B8,0x3127},
+ {0xA3B9,0xA3B9,0x3128},
+ {0xA3BA,0xA3BA,0x3129},
+ {0xA3BB,0xA3BB,0x02D9},
+ {0xA3BC,0xA3BC,0x02C9},
+ {0xA3BD,0xA3BD,0x02CA},
+ {0xA3BE,0xA3BE,0x02C7},
+ {0xA3BF,0xA3BF,0x02CB},
+ /* A3C0-A3CF */
+ {0xA3C0,0xA3C0,0x003F},
+ {0xA3C1,0xA3C1,0x003F},
+ {0xA3C2,0xA3C2,0x003F},
+ {0xA3C3,0xA3C3,0x003F},
+ {0xA3C4,0xA3C4,0x003F},
+ {0xA3C5,0xA3C5,0x003F},
+ {0xA3C6,0xA3C6,0x003F},
+ {0xA3C7,0xA3C7,0x003F},
+ {0xA3C8,0xA3C8,0x003F},
+ {0xA3C9,0xA3C9,0x003F},
+ {0xA3CA,0xA3CA,0x003F},
+ {0xA3CB,0xA3CB,0x003F},
+ {0xA3CC,0xA3CC,0x003F},
+ {0xA3CD,0xA3CD,0x003F},
+ {0xA3CE,0xA3CE,0x003F},
+ {0xA3CF,0xA3CF,0x003F},
+ /* A3D0-A3DF */
+ {0xA3D0,0xA3D0,0x003F},
+ {0xA3D1,0xA3D1,0x003F},
+ {0xA3D2,0xA3D2,0x003F},
+ {0xA3D3,0xA3D3,0x003F},
+ {0xA3D4,0xA3D4,0x003F},
+ {0xA3D5,0xA3D5,0x003F},
+ {0xA3D6,0xA3D6,0x003F},
+ {0xA3D7,0xA3D7,0x003F},
+ {0xA3D8,0xA3D8,0x003F},
+ {0xA3D9,0xA3D9,0x003F},
+ {0xA3DA,0xA3DA,0x003F},
+ {0xA3DB,0xA3DB,0x003F},
+ {0xA3DC,0xA3DC,0x003F},
+ {0xA3DD,0xA3DD,0x003F},
+ {0xA3DE,0xA3DE,0x003F},
+ {0xA3DF,0xA3DF,0x003F},
+ /* A3E0-A3EF */
+ {0xA3E0,0xA3E0,0x003F},
+ {0xA3E1,0xA3E1,0x003F},
+ {0xA3E2,0xA3E2,0x003F},
+ {0xA3E3,0xA3E3,0x003F},
+ {0xA3E4,0xA3E4,0x003F},
+ {0xA3E5,0xA3E5,0x003F},
+ {0xA3E6,0xA3E6,0x003F},
+ {0xA3E7,0xA3E7,0x003F},
+ {0xA3E8,0xA3E8,0x003F},
+ {0xA3E9,0xA3E9,0x003F},
+ {0xA3EA,0xA3EA,0x003F},
+ {0xA3EB,0xA3EB,0x003F},
+ {0xA3EC,0xA3EC,0x003F},
+ {0xA3ED,0xA3ED,0x003F},
+ {0xA3EE,0xA3EE,0x003F},
+ {0xA3EF,0xA3EF,0x003F},
+ /* A3F0-A3FF */
+ {0xA3F0,0xA3F0,0x003F},
+ {0xA3F1,0xA3F1,0x003F},
+ {0xA3F2,0xA3F2,0x003F},
+ {0xA3F3,0xA3F3,0x003F},
+ {0xA3F4,0xA3F4,0x003F},
+ {0xA3F5,0xA3F5,0x003F},
+ {0xA3F6,0xA3F6,0x003F},
+ {0xA3F7,0xA3F7,0x003F},
+ {0xA3F8,0xA3F8,0x003F},
+ {0xA3F9,0xA3F9,0x003F},
+ {0xA3FA,0xA3FA,0x003F},
+ {0xA3FB,0xA3FB,0x003F},
+ {0xA3FC,0xA3FC,0x003F},
+ {0xA3FD,0xA3FD,0x003F},
+ {0xA3FE,0xA3FE,0x003F},
+ {0x0000,0x0000,0x0000}
+};
+
+
+static MY_UNICASE_INFO cC7[256]=
+{
+ /* C700-C70F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* C710-C71F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* C720-C72F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* C730-C73F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* C740-C74F */
+ {0xC740,0xC740,0x30A8},
+ {0xC741,0xC741,0x30A9},
+ {0xC742,0xC742,0x30AA},
+ {0xC743,0xC743,0x30AB},
+ {0xC744,0xC744,0x30AC},
+ {0xC745,0xC745,0x30AD},
+ {0xC746,0xC746,0x30AE},
+ {0xC747,0xC747,0x30AF},
+ {0xC748,0xC748,0x30B0},
+ {0xC749,0xC749,0x30B1},
+ {0xC74A,0xC74A,0x30B2},
+ {0xC74B,0xC74B,0x30B3},
+ {0xC74C,0xC74C,0x30B4},
+ {0xC74D,0xC74D,0x30B5},
+ {0xC74E,0xC74E,0x30B6},
+ {0xC74F,0xC74F,0x30B7},
+ /* C750-C75F */
+ {0xC750,0xC750,0x30B8},
+ {0xC751,0xC751,0x30B9},
+ {0xC752,0xC752,0x30BA},
+ {0xC753,0xC753,0x30BB},
+ {0xC754,0xC754,0x30BC},
+ {0xC755,0xC755,0x30BD},
+ {0xC756,0xC756,0x30BE},
+ {0xC757,0xC757,0x30BF},
+ {0xC758,0xC758,0x30C0},
+ {0xC759,0xC759,0x30C1},
+ {0xC75A,0xC75A,0x30C2},
+ {0xC75B,0xC75B,0x30C3},
+ {0xC75C,0xC75C,0x30C4},
+ {0xC75D,0xC75D,0x30C5},
+ {0xC75E,0xC75E,0x30C6},
+ {0xC75F,0xC75F,0x30C7},
+ /* C760-C76F */
+ {0xC760,0xC760,0x30C8},
+ {0xC761,0xC761,0x30C9},
+ {0xC762,0xC762,0x30CA},
+ {0xC763,0xC763,0x30CB},
+ {0xC764,0xC764,0x30CC},
+ {0xC765,0xC765,0x30CD},
+ {0xC766,0xC766,0x30CE},
+ {0xC767,0xC767,0x30CF},
+ {0xC768,0xC768,0x30D0},
+ {0xC769,0xC769,0x30D1},
+ {0xC76A,0xC76A,0x30D2},
+ {0xC76B,0xC76B,0x30D3},
+ {0xC76C,0xC76C,0x30D4},
+ {0xC76D,0xC76D,0x30D5},
+ {0xC76E,0xC76E,0x30D6},
+ {0xC76F,0xC76F,0x30D7},
+ /* C770-C77F */
+ {0xC770,0xC770,0x30D8},
+ {0xC771,0xC771,0x30D9},
+ {0xC772,0xC772,0x30DA},
+ {0xC773,0xC773,0x30DB},
+ {0xC774,0xC774,0x30DC},
+ {0xC775,0xC775,0x30DD},
+ {0xC776,0xC776,0x30DE},
+ {0xC777,0xC777,0x30DF},
+ {0xC778,0xC778,0x30E0},
+ {0xC779,0xC779,0x30E1},
+ {0xC77A,0xC77A,0x30E2},
+ {0xC77B,0xC77B,0x30E3},
+ {0xC77C,0xC77C,0x30E4},
+ {0xC77D,0xC77D,0x30E5},
+ {0xC77E,0xC77E,0x30E6},
+ {0x0000,0x0000,0x0000},
+ /* C780-C78F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* C790-C79F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* C7A0-C7AF */
+ {0x0000,0x0000,0x0000},
+ {0xC7A1,0xC7A1,0x30E7},
+ {0xC7A2,0xC7A2,0x30E8},
+ {0xC7A3,0xC7A3,0x30E9},
+ {0xC7A4,0xC7A4,0x30EA},
+ {0xC7A5,0xC7A5,0x30EB},
+ {0xC7A6,0xC7A6,0x30EC},
+ {0xC7A7,0xC7A7,0x30ED},
+ {0xC7A8,0xC7A8,0x30EE},
+ {0xC7A9,0xC7A9,0x30EF},
+ {0xC7AA,0xC7AA,0x30F0},
+ {0xC7AB,0xC7AB,0x30F1},
+ {0xC7AC,0xC7AC,0x30F2},
+ {0xC7AD,0xC7AD,0x30F3},
+ {0xC7AE,0xC7AE,0x30F4},
+ {0xC7AF,0xC7AF,0x30F5},
+ /* C7B0-C7BF */
+ {0xC7B0,0xC7B0,0x30F6},
+ {0xC7B1,0xC7CC,0x0414},
+ {0xC7B2,0xC7CD,0x0415},
+ {0xC7B3,0xC7CE,0x0401},
+ {0xC7B4,0xC7CF,0x0416},
+ {0xC7B5,0xC7D0,0x0417},
+ {0xC7B6,0xC7D1,0x0418},
+ {0xC7B7,0xC7D2,0x0419},
+ {0xC7B8,0xC7D3,0x041A},
+ {0xC7B9,0xC7D4,0x041B},
+ {0xC7BA,0xC7D5,0x041C},
+ {0xC7BB,0xC7DC,0x0423},
+ {0xC7BC,0xC7DD,0x0424},
+ {0xC7BD,0xC7DE,0x0425},
+ {0xC7BE,0xC7DF,0x0426},
+ {0xC7BF,0xC7E0,0x0427},
+ /* C7C0-C7CF */
+ {0xC7C0,0xC7E1,0x0428},
+ {0xC7C1,0xC7E2,0x0429},
+ {0xC7C2,0xC7E3,0x042A},
+ {0xC7C3,0xC7E4,0x042B},
+ {0xC7C4,0xC7E5,0x042C},
+ {0xC7C5,0xC7E6,0x042D},
+ {0xC7C6,0xC7E7,0x042E},
+ {0xC7C7,0xC7E8,0x042F},
+ {0xC7C8,0xC7C8,0x0430},
+ {0xC7C9,0xC7C9,0x0431},
+ {0xC7CA,0xC7CA,0x0432},
+ {0xC7CB,0xC7CB,0x0433},
+ {0xC7B1,0xC7CC,0x0434},
+ {0xC7B2,0xC7CD,0x0435},
+ {0xC7B3,0xC7CE,0x0451},
+ {0xC7B4,0xC7CF,0x0436},
+ /* C7D0-C7DF */
+ {0xC7B5,0xC7D0,0x0437},
+ {0xC7B6,0xC7D1,0x0438},
+ {0xC7B7,0xC7D2,0x0439},
+ {0xC7B8,0xC7D3,0x043A},
+ {0xC7B9,0xC7D4,0x043B},
+ {0xC7BA,0xC7D5,0x043C},
+ {0xC7D6,0xC7D6,0x043D},
+ {0xC7D7,0xC7D7,0x043E},
+ {0xC7D8,0xC7D8,0x043F},
+ {0xC7D9,0xC7D9,0x0440},
+ {0xC7DA,0xC7DA,0x0441},
+ {0xC7DB,0xC7DB,0x0442},
+ {0xC7BB,0xC7DC,0x0443},
+ {0xC7BC,0xC7DD,0x0444},
+ {0xC7BD,0xC7DE,0x0445},
+ {0xC7BE,0xC7DF,0x0446},
+ /* C7E0-C7EF */
+ {0xC7BF,0xC7E0,0x0447},
+ {0xC7C0,0xC7E1,0x0448},
+ {0xC7C1,0xC7E2,0x0449},
+ {0xC7C2,0xC7E3,0x044A},
+ {0xC7C3,0xC7E4,0x044B},
+ {0xC7C4,0xC7E5,0x044C},
+ {0xC7C5,0xC7E6,0x044D},
+ {0xC7C6,0xC7E7,0x044E},
+ {0xC7C7,0xC7E8,0x044F},
+ {0xC7E9,0xC7E9,0x2460},
+ {0xC7EA,0xC7EA,0x2461},
+ {0xC7EB,0xC7EB,0x2462},
+ {0xC7EC,0xC7EC,0x2463},
+ {0xC7ED,0xC7ED,0x2464},
+ {0xC7EE,0xC7EE,0x2465},
+ {0xC7EF,0xC7EF,0x2466},
+ /* C7F0-C7FF */
+ {0xC7F0,0xC7F0,0x2467},
+ {0xC7F1,0xC7F1,0x2468},
+ {0xC7F2,0xC7F2,0x2469},
+ {0xC7F3,0xC7F3,0x2474},
+ {0xC7F4,0xC7F4,0x2475},
+ {0xC7F5,0xC7F5,0x2476},
+ {0xC7F6,0xC7F6,0x2477},
+ {0xC7F7,0xC7F7,0x2478},
+ {0xC7F8,0xC7F8,0x2479},
+ {0xC7F9,0xC7F9,0x247A},
+ {0xC7FA,0xC7FA,0x247B},
+ {0xC7FB,0xC7FB,0x247C},
+ {0xC7FC,0xC7FC,0x247D},
+ {0xC7FD,0xC7FD,0x003F},
+ {0xC7FE,0xC7FE,0x003F},
+ {0x0000,0x0000,0x0000}
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_big5[256]=
+{
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, cA2, cA3, NULL, NULL, NULL, NULL, /* A */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, cC7, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+};
+
+
static uint16 big5strokexfrm(uint16 i)
{
if ((i == 0xA440) || (i == 0xA441)) return 0xA440;
@@ -6393,7 +7010,7 @@ CHARSET_INFO my_charset_big5_chinese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_big5, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@@ -6426,7 +7043,7 @@ CHARSET_INFO my_charset_big5_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_big5, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
diff --git a/strings/ctype-cp932.c b/strings/ctype-cp932.c
index 07191c436b7..f36f93b5527 100644
--- a/strings/ctype-cp932.c
+++ b/strings/ctype-cp932.c
@@ -197,6 +197,1512 @@ static uint mbcharlen_cp932(CHARSET_INFO *cs __attribute__((unused)),uint c)
#define cp932code(c,d) ((((uint) (uchar)(c)) << 8) | (uint) (uchar) (d))
+static MY_UNICASE_INFO c81[256]=
+{
+ /* 8100-810F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8110-811F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8120-812F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8130-813F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8140,0x8140,0x3000}, /* 8140-814F */
+ {0x8141,0x8141,0x3001},
+ {0x8142,0x8142,0x3002},
+ {0x8143,0x8143,0xFF0C},
+ {0x8144,0x8144,0xFF0E},
+ {0x8145,0x8145,0x30FB},
+ {0x8146,0x8146,0xFF1A},
+ {0x8147,0x8147,0xFF1B},
+ {0x8148,0x8148,0xFF1F},
+ {0x8149,0x8149,0xFF01},
+ {0x814A,0x814A,0x309B},
+ {0x814B,0x814B,0x309C},
+ {0x814C,0x814C,0x00B4},
+ {0x814D,0x814D,0xFF40},
+ {0x814E,0x814E,0x00A8},
+ {0x814F,0x814F,0xFF3E},
+ {0x8150,0x8150,0xFFE3}, /* 8150-815F */
+ {0x8151,0x8151,0xFF3F},
+ {0x8152,0x8152,0x30FD},
+ {0x8153,0x8153,0x30FE},
+ {0x8154,0x8154,0x309D},
+ {0x8155,0x8155,0x309E},
+ {0x8156,0x8156,0x3003},
+ {0x8157,0x8157,0x4EDD},
+ {0x8158,0x8158,0x3005},
+ {0x8159,0x8159,0x3006},
+ {0x815A,0x815A,0x3007},
+ {0x815B,0x815B,0x30FC},
+ {0x815C,0x815C,0x2015},
+ {0x815D,0x815D,0x2010},
+ {0x815E,0x815E,0xFF0F},
+ {0x815F,0x815F,0xFF3C},
+ {0x8160,0x8160,0xFF5E}, /* 8160-816F */
+ {0x8161,0x8161,0x2225},
+ {0x8162,0x8162,0xFF5C},
+ {0x8163,0x8163,0x2026},
+ {0x8164,0x8164,0x2025},
+ {0x8165,0x8165,0x2018},
+ {0x8166,0x8166,0x2019},
+ {0x8167,0x8167,0x201C},
+ {0x8168,0x8168,0x201D},
+ {0x8169,0x8169,0xFF08},
+ {0x816A,0x816A,0xFF09},
+ {0x816B,0x816B,0x3014},
+ {0x816C,0x816C,0x3015},
+ {0x816D,0x816D,0xFF3B},
+ {0x816E,0x816E,0xFF3D},
+ {0x816F,0x816F,0xFF5B},
+ {0x8170,0x8170,0xFF5D}, /* 8170-817F */
+ {0x8171,0x8171,0x3008},
+ {0x8172,0x8172,0x3009},
+ {0x8173,0x8173,0x300A},
+ {0x8174,0x8174,0x300B},
+ {0x8175,0x8175,0x300C},
+ {0x8176,0x8176,0x300D},
+ {0x8177,0x8177,0x300E},
+ {0x8178,0x8178,0x300F},
+ {0x8179,0x8179,0x3010},
+ {0x817A,0x817A,0x3011},
+ {0x817B,0x817B,0xFF0B},
+ {0x817C,0x817C,0xFF0D},
+ {0x817D,0x817D,0x00B1},
+ {0x817E,0x817E,0x00D7},
+ {0,0,0},
+ {0x8180,0x8180,0x00F7}, /* 8180-818F */
+ {0x8181,0x8181,0xFF1D},
+ {0x8182,0x8182,0x2260},
+ {0x8183,0x8183,0xFF1C},
+ {0x8184,0x8184,0xFF1E},
+ {0x8185,0x8185,0x2266},
+ {0x8186,0x8186,0x2267},
+ {0x8187,0x8187,0x221E},
+ {0x8188,0x8188,0x2234},
+ {0x8189,0x8189,0x2642},
+ {0x818A,0x818A,0x2640},
+ {0x818B,0x818B,0x00B0},
+ {0x818C,0x818C,0x2032},
+ {0x818D,0x818D,0x2033},
+ {0x818E,0x818E,0x2103},
+ {0x818F,0x818F,0xFFE5},
+ {0x8190,0x8190,0xFF04}, /* 8190-819F*/
+ {0x8191,0x8191,0xFFE0},
+ {0x8192,0x8192,0xFFE1},
+ {0x8193,0x8193,0xFF05},
+ {0x8194,0x8194,0xFF03},
+ {0x8195,0x8195,0xFF06},
+ {0x8196,0x8196,0xFF0A},
+ {0x8197,0x8197,0xFF20},
+ {0x8198,0x8198,0x00A7},
+ {0x8199,0x8199,0x2606},
+ {0x819A,0x819A,0x2605},
+ {0x819B,0x819B,0x25CB},
+ {0x819C,0x819C,0x25CF},
+ {0x819D,0x819D,0x25CE},
+ {0x819E,0x819E,0x25C7},
+ {0x819F,0x819F,0x25C6},
+ {0x81A0,0x81A0,0x25A1}, /* 81A0-81AF */
+ {0x81A1,0x81A1,0x25A0},
+ {0x81A2,0x81A2,0x25B3},
+ {0x81A3,0x81A3,0x25B2},
+ {0x81A4,0x81A4,0x25BD},
+ {0x81A5,0x81A5,0x25BC},
+ {0x81A6,0x81A6,0x203B},
+ {0x81A7,0x81A7,0x3012},
+ {0x81A8,0x81A8,0x2192},
+ {0x81A9,0x81A9,0x2190},
+ {0x81AA,0x81AA,0x2191},
+ {0x81AB,0x81AB,0x2193},
+ {0x81AC,0x81AC,0x3013},
+ {0x81AD,0x81AD,0x003F},
+ {0x81AE,0x81AE,0x003F},
+ {0x81AF,0x81AF,0x003F},
+ {0x81B0,0x81B0,0x003F}, /* 81B0-81BF */
+ {0x81B1,0x81B1,0x003F},
+ {0x81B2,0x81B2,0x003F},
+ {0x81B3,0x81B3,0x003F},
+ {0x81B4,0x81B4,0x003F},
+ {0x81B5,0x81B5,0x003F},
+ {0x81B6,0x81B6,0x003F},
+ {0x81B7,0x81B7,0x003F},
+ {0x81B8,0x81B8,0x2208},
+ {0x81B9,0x81B9,0x220B},
+ {0x81BA,0x81BA,0x2286},
+ {0x81BB,0x81BB,0x2287},
+ {0x81BC,0x81BC,0x2282},
+ {0x81BD,0x81BD,0x2283},
+ {0x81BE,0x81BE,0x222A},
+ {0x81BF,0x81BF,0x2229},
+ {0x81C0,0x81C0,0x003F}, /* 81C0-81CF */
+ {0x81C1,0x81C1,0x003F},
+ {0x81C2,0x81C2,0x003F},
+ {0x81C3,0x81C3,0x003F},
+ {0x81C4,0x81C4,0x003F},
+ {0x81C5,0x81C5,0x003F},
+ {0x81C6,0x81C6,0x003F},
+ {0x81C7,0x81C7,0x003F},
+ {0x81C8,0x81C8,0x2227},
+ {0x81C9,0x81C9,0x2228},
+ {0x81CA,0x81CA,0xFFE2},
+ {0x81CB,0x81CB,0x21D2},
+ {0x81CC,0x81CC,0x21D4},
+ {0x81CD,0x81CD,0x2200},
+ {0x81CE,0x81CE,0x2203},
+ {0x81CF,0x81CF,0x003F},
+ {0x81D0,0x81D0,0x003F}, /* 81D0-81DF */
+ {0x81D1,0x81D1,0x003F},
+ {0x81D2,0x81D2,0x003F},
+ {0x81D3,0x81D3,0x003F},
+ {0x81D4,0x81D4,0x003F},
+ {0x81D5,0x81D5,0x003F},
+ {0x81D6,0x81D6,0x003F},
+ {0x81D7,0x81D7,0x003F},
+ {0x81D8,0x81D8,0x003F},
+ {0x81D9,0x81D9,0x003F},
+ {0x81DA,0x81DA,0x2220},
+ {0x81DB,0x81DB,0x22A5},
+ {0x81DC,0x81DC,0x2312},
+ {0x81DD,0x81DD,0x2202},
+ {0x81DE,0x81DE,0x2207},
+ {0x81DF,0x81DF,0x2261},
+ {0x81E0,0x81E0,0x2252}, /* 81E0-81EF */
+ {0x81E1,0x81E1,0x226A},
+ {0x81E2,0x81E2,0x226B},
+ {0x81E3,0x81E3,0x221A},
+ {0x81E4,0x81E4,0x223D},
+ {0x81E5,0x81E5,0x221D},
+ {0x81E6,0x81E6,0x2235},
+ {0x81E7,0x81E7,0x222B},
+ {0x81E8,0x81E8,0x222C},
+ {0x81E9,0x81E9,0x003F},
+ {0x81EA,0x81EA,0x003F},
+ {0x81EB,0x81EB,0x003F},
+ {0x81EC,0x81EC,0x003F},
+ {0x81ED,0x81ED,0x003F},
+ {0x81EE,0x81EE,0x003F},
+ {0x81EF,0x81EF,0x003F},
+ {0x81F0,0x81F0,0x212B}, /* 81F0-81FF */
+ {0x81F1,0x81F1,0x2030},
+ {0x81F2,0x81F2,0x266F},
+ {0x81F3,0x81F3,0x266D},
+ {0x81F4,0x81F4,0x266A},
+ {0x81F5,0x81F5,0x2020},
+ {0x81F6,0x81F6,0x2021},
+ {0x81F7,0x81F7,0x00B6},
+ {0x81F8,0x81F8,0x003F},
+ {0x81F9,0x81F9,0x003F},
+ {0x81FA,0x81FA,0x003F},
+ {0x81FB,0x81FB,0x003F},
+ {0x81FC,0x81FC,0x25EF},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0},
+};
+
+
+static MY_UNICASE_INFO c82[256]=
+{
+ /* 8200-820F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8210-821F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8220-822F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8230-823F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8240,0x8240,0x003F}, /* 8240-824F */
+ {0x8241,0x8241,0x003F},
+ {0x8242,0x8242,0x003F},
+ {0x8243,0x8243,0x003F},
+ {0x8244,0x8244,0x003F},
+ {0x8245,0x8245,0x003F},
+ {0x8246,0x8246,0x003F},
+ {0x8247,0x8247,0x003F},
+ {0x8248,0x8248,0x003F},
+ {0x8249,0x8249,0x003F},
+ {0x824A,0x824A,0x003F},
+ {0x824B,0x824B,0x003F},
+ {0x824C,0x824C,0x003F},
+ {0x824D,0x824D,0x003F},
+ {0x824E,0x824E,0x003F},
+ {0x824F,0x824F,0xFF10},
+ {0x8250,0x8250,0xFF11}, /* 8250-825F */
+ {0x8251,0x8251,0xFF12},
+ {0x8252,0x8252,0xFF13},
+ {0x8253,0x8253,0xFF14},
+ {0x8254,0x8254,0xFF15},
+ {0x8255,0x8255,0xFF16},
+ {0x8256,0x8256,0xFF17},
+ {0x8257,0x8257,0xFF18},
+ {0x8258,0x8258,0xFF19},
+ {0x8259,0x8259,0x003F},
+ {0x825A,0x825A,0x003F},
+ {0x825B,0x825B,0x003F},
+ {0x825C,0x825C,0x003F},
+ {0x825D,0x825D,0x003F},
+ {0x825E,0x825E,0x003F},
+ {0x825F,0x825F,0x003F},
+ {0x8260,0x8281,0xFF21}, /* 8260-826F */
+ {0x8261,0x8282,0xFF22},
+ {0x8262,0x8283,0xFF23},
+ {0x8263,0x8284,0xFF24},
+ {0x8264,0x8285,0xFF25},
+ {0x8265,0x8286,0xFF26},
+ {0x8266,0x8287,0xFF27},
+ {0x8267,0x8288,0xFF28},
+ {0x8268,0x8289,0xFF29},
+ {0x8269,0x828A,0xFF2A},
+ {0x826A,0x828B,0xFF2B},
+ {0x826B,0x828C,0xFF2C},
+ {0x826C,0x828D,0xFF2D},
+ {0x826D,0x828E,0xFF2E},
+ {0x826E,0x828F,0xFF2F},
+ {0x826F,0x8290,0xFF30},
+ {0x8270,0x8291,0xFF31}, /* 8270-827F */
+ {0x8271,0x8292,0xFF32},
+ {0x8272,0x8293,0xFF33},
+ {0x8273,0x8294,0xFF34},
+ {0x8274,0x8295,0xFF35},
+ {0x8275,0x8296,0xFF36},
+ {0x8276,0x8297,0xFF37},
+ {0x8277,0x8298,0xFF38},
+ {0x8278,0x8299,0xFF39},
+ {0x8279,0x829A,0xFF3A},
+ {0x827A,0x827A,0x003F},
+ {0x827B,0x827B,0x003F},
+ {0x827C,0x827C,0x003F},
+ {0x827D,0x827D,0x003F},
+ {0x827E,0x827E,0x003F},
+ {0,0,0},
+ {0x8280,0x8280,0x003F}, /* 8280-828F */
+ {0x8260,0x8281,0xFF41},
+ {0x8261,0x8282,0xFF42},
+ {0x8262,0x8283,0xFF43},
+ {0x8263,0x8284,0xFF44},
+ {0x8264,0x8285,0xFF45},
+ {0x8265,0x8286,0xFF46},
+ {0x8266,0x8287,0xFF47},
+ {0x8267,0x8288,0xFF48},
+ {0x8268,0x8289,0xFF49},
+ {0x8269,0x828A,0xFF4A},
+ {0x826A,0x828B,0xFF4B},
+ {0x826B,0x828C,0xFF4C},
+ {0x826C,0x828D,0xFF4D},
+ {0x826D,0x828E,0xFF4E},
+ {0x826E,0x828F,0xFF4F},
+ {0x826F,0x8290,0xFF50}, /* 8290-829F */
+ {0x8270,0x8291,0xFF51},
+ {0x8271,0x8292,0xFF52},
+ {0x8272,0x8293,0xFF53},
+ {0x8273,0x8294,0xFF54},
+ {0x8274,0x8295,0xFF55},
+ {0x8275,0x8296,0xFF56},
+ {0x8276,0x8297,0xFF57},
+ {0x8277,0x8298,0xFF58},
+ {0x8278,0x8299,0xFF59},
+ {0x8279,0x829A,0xFF5A},
+ {0x829B,0x829B,0x003F},
+ {0x829C,0x829C,0x003F},
+ {0x829D,0x829D,0x003F},
+ {0x829E,0x829E,0x003F},
+ {0x829F,0x829F,0x3041},
+ {0x82A0,0x82A0,0x3042}, /* 82A0-82AF */
+ {0x82A1,0x82A1,0x3043},
+ {0x82A2,0x82A2,0x3044},
+ {0x82A3,0x82A3,0x3045},
+ {0x82A4,0x82A4,0x3046},
+ {0x82A5,0x82A5,0x3047},
+ {0x82A6,0x82A6,0x3048},
+ {0x82A7,0x82A7,0x3049},
+ {0x82A8,0x82A8,0x304A},
+ {0x82A9,0x82A9,0x304B},
+ {0x82AA,0x82AA,0x304C},
+ {0x82AB,0x82AB,0x304D},
+ {0x82AC,0x82AC,0x304E},
+ {0x82AD,0x82AD,0x304F},
+ {0x82AE,0x82AE,0x3050},
+ {0x82AF,0x82AF,0x3051},
+ {0x82B0,0x82B0,0x3052}, /* 82B0-82BF */
+ {0x82B1,0x82B1,0x3053},
+ {0x82B2,0x82B2,0x3054},
+ {0x82B3,0x82B3,0x3055},
+ {0x82B4,0x82B4,0x3056},
+ {0x82B5,0x82B5,0x3057},
+ {0x82B6,0x82B6,0x3058},
+ {0x82B7,0x82B7,0x3059},
+ {0x82B8,0x82B8,0x305A},
+ {0x82B9,0x82B9,0x305B},
+ {0x82BA,0x82BA,0x305C},
+ {0x82BB,0x82BB,0x305D},
+ {0x82BC,0x82BC,0x305E},
+ {0x82BD,0x82BD,0x305F},
+ {0x82BE,0x82BE,0x3060},
+ {0x82BF,0x82BF,0x3061},
+ {0x82C0,0x82C0,0x3062}, /* 82C0-82CF */
+ {0x82C1,0x82C1,0x3063},
+ {0x82C2,0x82C2,0x3064},
+ {0x82C3,0x82C3,0x3065},
+ {0x82C4,0x82C4,0x3066},
+ {0x82C5,0x82C5,0x3067},
+ {0x82C6,0x82C6,0x3068},
+ {0x82C7,0x82C7,0x3069},
+ {0x82C8,0x82C8,0x306A},
+ {0x82C9,0x82C9,0x306B},
+ {0x82CA,0x82CA,0x306C},
+ {0x82CB,0x82CB,0x306D},
+ {0x82CC,0x82CC,0x306E},
+ {0x82CD,0x82CD,0x306F},
+ {0x82CE,0x82CE,0x3070},
+ {0x82CF,0x82CF,0x3071},
+ {0x82D0,0x82D0,0x3072}, /* 82D0-82DF */
+ {0x82D1,0x82D1,0x3073},
+ {0x82D2,0x82D2,0x3074},
+ {0x82D3,0x82D3,0x3075},
+ {0x82D4,0x82D4,0x3076},
+ {0x82D5,0x82D5,0x3077},
+ {0x82D6,0x82D6,0x3078},
+ {0x82D7,0x82D7,0x3079},
+ {0x82D8,0x82D8,0x307A},
+ {0x82D9,0x82D9,0x307B},
+ {0x82DA,0x82DA,0x307C},
+ {0x82DB,0x82DB,0x307D},
+ {0x82DC,0x82DC,0x307E},
+ {0x82DD,0x82DD,0x307F},
+ {0x82DE,0x82DE,0x3080},
+ {0x82DF,0x82DF,0x3081},
+ {0x82E0,0x82E0,0x3082}, /* 82E0-82EF */
+ {0x82E1,0x82E1,0x3083},
+ {0x82E2,0x82E2,0x3084},
+ {0x82E3,0x82E3,0x3085},
+ {0x82E4,0x82E4,0x3086},
+ {0x82E5,0x82E5,0x3087},
+ {0x82E6,0x82E6,0x3088},
+ {0x82E7,0x82E7,0x3089},
+ {0x82E8,0x82E8,0x308A},
+ {0x82E9,0x82E9,0x308B},
+ {0x82EA,0x82EA,0x308C},
+ {0x82EB,0x82EB,0x308D},
+ {0x82EC,0x82EC,0x308E},
+ {0x82ED,0x82ED,0x308F},
+ {0x82EE,0x82EE,0x3090},
+ {0x82EF,0x82EF,0x3091},
+ {0x82F0,0x82F0,0x3092}, /* 82F0-82FF */
+ {0x82F1,0x82F1,0x3093},
+ {0x82F2,0x82F2,0x003F},
+ {0x82F3,0x82F3,0x003F},
+ {0x82F4,0x82F4,0x003F},
+ {0x82F5,0x82F5,0x003F},
+ {0x82F6,0x82F6,0x003F},
+ {0x82F7,0x82F7,0x003F},
+ {0x82F8,0x82F8,0x003F},
+ {0x82F9,0x82F9,0x003F},
+ {0x82FA,0x82FA,0x003F},
+ {0x82FB,0x82FB,0x003F},
+ {0x82FC,0x82FC,0x003F},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO c83[256]=
+{
+ /* 8300-830F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8310-831F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8320-832F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8330-833F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8340,0x8340,0x30A1}, /* 8340 */
+ {0x8341,0x8341,0x30A2},
+ {0x8342,0x8342,0x30A3},
+ {0x8343,0x8343,0x30A4},
+ {0x8344,0x8344,0x30A5},
+ {0x8345,0x8345,0x30A6},
+ {0x8346,0x8346,0x30A7},
+ {0x8347,0x8347,0x30A8},
+ {0x8348,0x8348,0x30A9},
+ {0x8349,0x8349,0x30AA},
+ {0x834A,0x834A,0x30AB},
+ {0x834B,0x834B,0x30AC},
+ {0x834C,0x834C,0x30AD},
+ {0x834D,0x834D,0x30AE},
+ {0x834E,0x834E,0x30AF},
+ {0x834F,0x834F,0x30B0},
+ {0x8350,0x8350,0x30B1}, /* 8350 */
+ {0x8351,0x8351,0x30B2},
+ {0x8352,0x8352,0x30B3},
+ {0x8353,0x8353,0x30B4},
+ {0x8354,0x8354,0x30B5},
+ {0x8355,0x8355,0x30B6},
+ {0x8356,0x8356,0x30B7},
+ {0x8357,0x8357,0x30B8},
+ {0x8358,0x8358,0x30B9},
+ {0x8359,0x8359,0x30BA},
+ {0x835A,0x835A,0x30BB},
+ {0x835B,0x835B,0x30BC},
+ {0x835C,0x835C,0x30BD},
+ {0x835D,0x835D,0x30BE},
+ {0x835E,0x835E,0x30BF},
+ {0x835F,0x835F,0x30C0},
+ {0x8360,0x8360,0x30C1}, /* 8360 */
+ {0x8361,0x8361,0x30C2},
+ {0x8362,0x8362,0x30C3},
+ {0x8363,0x8363,0x30C4},
+ {0x8364,0x8364,0x30C5},
+ {0x8365,0x8365,0x30C6},
+ {0x8366,0x8366,0x30C7},
+ {0x8367,0x8367,0x30C8},
+ {0x8368,0x8368,0x30C9},
+ {0x8369,0x8369,0x30CA},
+ {0x836A,0x836A,0x30CB},
+ {0x836B,0x836B,0x30CC},
+ {0x836C,0x836C,0x30CD},
+ {0x836D,0x836D,0x30CE},
+ {0x836E,0x836E,0x30CF},
+ {0x836F,0x836F,0x30D0},
+ {0x8370,0x8370,0x30D1}, /* 8370 */
+ {0x8371,0x8371,0x30D2},
+ {0x8372,0x8372,0x30D3},
+ {0x8373,0x8373,0x30D4},
+ {0x8374,0x8374,0x30D5},
+ {0x8375,0x8375,0x30D6},
+ {0x8376,0x8376,0x30D7},
+ {0x8377,0x8377,0x30D8},
+ {0x8378,0x8378,0x30D9},
+ {0x8379,0x8379,0x30DA},
+ {0x837A,0x837A,0x30DB},
+ {0x837B,0x837B,0x30DC},
+ {0x837C,0x837C,0x30DD},
+ {0x837D,0x837D,0x30DE},
+ {0x837E,0x837E,0x30DF},
+ {0,0,0},
+ {0x8380,0x8380,0x30E0}, /* 8380 */
+ {0x8381,0x8381,0x30E1},
+ {0x8382,0x8382,0x30E2},
+ {0x8383,0x8383,0x30E3},
+ {0x8384,0x8384,0x30E4},
+ {0x8385,0x8385,0x30E5},
+ {0x8386,0x8386,0x30E6},
+ {0x8387,0x8387,0x30E7},
+ {0x8388,0x8388,0x30E8},
+ {0x8389,0x8389,0x30E9},
+ {0x838A,0x838A,0x30EA},
+ {0x838B,0x838B,0x30EB},
+ {0x838C,0x838C,0x30EC},
+ {0x838D,0x838D,0x30ED},
+ {0x838E,0x838E,0x30EE},
+ {0x838F,0x838F,0x30EF},
+ {0x8390,0x8390,0x30F0}, /* 8390 */
+ {0x8391,0x8391,0x30F1},
+ {0x8392,0x8392,0x30F2},
+ {0x8393,0x8393,0x30F3},
+ {0x8394,0x8394,0x30F4},
+ {0x8395,0x8395,0x30F5},
+ {0x8396,0x8396,0x30F6},
+ {0x8397,0x8397,0x003F},
+ {0x8398,0x8398,0x003F},
+ {0x8399,0x8399,0x003F},
+ {0x839A,0x839A,0x003F},
+ {0x839B,0x839B,0x003F},
+ {0x839C,0x839C,0x003F},
+ {0x839D,0x839D,0x003F},
+ {0x839E,0x839E,0x003F},
+ {0x839F,0x83BF,0x0391},
+ {0x83A0,0x83C0,0x0392}, /* 83A0 */
+ {0x83A1,0x83C1,0x0393},
+ {0x83A2,0x83C2,0x0394},
+ {0x83A3,0x83C3,0x0395},
+ {0x83A4,0x83C4,0x0396},
+ {0x83A5,0x83C5,0x0397},
+ {0x83A6,0x83C6,0x0398},
+ {0x83A7,0x83C7,0x0399},
+ {0x83A8,0x83C8,0x039A},
+ {0x83A9,0x83C9,0x039B},
+ {0x83AA,0x83CA,0x039C},
+ {0x83AB,0x83CB,0x039D},
+ {0x83AC,0x83CC,0x039E},
+ {0x83AD,0x83CD,0x039F},
+ {0x83AE,0x83CE,0x03A0},
+ {0x83AF,0x83CF,0x03A1},
+ {0x83B0,0x83D0,0x03A3}, /* 83B0 */
+ {0x83B1,0x83D1,0x03A4},
+ {0x83B2,0x83D2,0x03A5},
+ {0x83B3,0x83D3,0x03A6},
+ {0x83B4,0x83D4,0x03A7},
+ {0x83B5,0x83D5,0x03A8},
+ {0x83B6,0x83D6,0x03A9},
+ {0x83B7,0x83B7,0x003F},
+ {0x83B8,0x83B8,0x003F},
+ {0x83B9,0x83B9,0x003F},
+ {0x83BA,0x83BA,0x003F},
+ {0x83BB,0x83BB,0x003F},
+ {0x83BC,0x83BC,0x003F},
+ {0x83BD,0x83BD,0x003F},
+ {0x83BE,0x83BE,0x003F},
+ {0x839F,0x83BF,0x03B1},
+ {0x83A0,0x83C0,0x03B2}, /* 83C0 */
+ {0x83A1,0x83C1,0x03B3},
+ {0x83A2,0x83C2,0x03B4},
+ {0x83A3,0x83C3,0x03B5},
+ {0x83A4,0x83C4,0x03B6},
+ {0x83A5,0x83C5,0x03B7},
+ {0x83A6,0x83C6,0x03B8},
+ {0x83A7,0x83C7,0x03B9},
+ {0x83A8,0x83C8,0x03BA},
+ {0x83A9,0x83C9,0x03BB},
+ {0x83AA,0x83CA,0x03BC},
+ {0x83AB,0x83CB,0x03BD},
+ {0x83AC,0x83CC,0x03BE},
+ {0x83AD,0x83CD,0x03BF},
+ {0x83AE,0x83CE,0x03C0},
+ {0x83AF,0x83CF,0x03C1},
+ {0x83B0,0x83D0,0x03C3}, /* 83D0 */
+ {0x83B1,0x83D1,0x03C4},
+ {0x83B2,0x83D2,0x03C5},
+ {0x83B3,0x83D3,0x03C6},
+ {0x83B4,0x83D4,0x03C7},
+ {0x83B5,0x83D5,0x03C8},
+ {0x83B6,0x83D6,0x03C9},
+ {0x83D7,0x83D7,0x003F},
+ {0x83D8,0x83D8,0x003F},
+ {0x83D9,0x83D9,0x003F},
+ {0x83DA,0x83DA,0x003F},
+ {0x83DB,0x83DB,0x003F},
+ {0x83DC,0x83DC,0x003F},
+ {0x83DD,0x83DD,0x003F},
+ {0x83DE,0x83DE,0x003F},
+ {0x83DF,0x83DF,0x003F},
+ {0x83E0,0x83E0,0x003F}, /* 83E0 */
+ {0x83E1,0x83E1,0x003F},
+ {0x83E2,0x83E2,0x003F},
+ {0x83E3,0x83E3,0x003F},
+ {0x83E4,0x83E4,0x003F},
+ {0x83E5,0x83E5,0x003F},
+ {0x83E6,0x83E6,0x003F},
+ {0x83E7,0x83E7,0x003F},
+ {0x83E8,0x83E8,0x003F},
+ {0x83E9,0x83E9,0x003F},
+ {0x83EA,0x83EA,0x003F},
+ {0x83EB,0x83EB,0x003F},
+ {0x83EC,0x83EC,0x003F},
+ {0x83ED,0x83ED,0x003F},
+ {0x83EE,0x83EE,0x003F},
+ {0x83EF,0x83EF,0x003F},
+ {0x83F0,0x83F0,0x003F}, /* 83F0 */
+ {0x83F1,0x83F1,0x003F},
+ {0x83F2,0x83F2,0x003F},
+ {0x83F3,0x83F3,0x003F},
+ {0x83F4,0x83F4,0x003F},
+ {0x83F5,0x83F5,0x003F},
+ {0x83F6,0x83F6,0x003F},
+ {0x83F7,0x83F7,0x003F},
+ {0x83F8,0x83F8,0x003F},
+ {0x83F9,0x83F9,0x003F},
+ {0x83FA,0x83FA,0x003F},
+ {0x83FB,0x83FB,0x003F},
+ {0x83FC,0x83FC,0x003F},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO c84[256]=
+{
+ /* 8400-840F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8410-841F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8420-842F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8430-843F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8440,0x8470,0x0410}, /* 8440 */
+ {0x8441,0x8471,0x0411},
+ {0x8442,0x8472,0x0412},
+ {0x8443,0x8473,0x0413},
+ {0x8444,0x8474,0x0414},
+ {0x8445,0x8475,0x0415},
+ {0x8446,0x8476,0x0401},
+ {0x8447,0x8477,0x0416},
+ {0x8448,0x8478,0x0417},
+ {0x8449,0x8479,0x0418},
+ {0x844A,0x847A,0x0419},
+ {0x844B,0x847B,0x041A},
+ {0x844C,0x847C,0x041B},
+ {0x844D,0x847D,0x041C},
+ {0x844E,0x847E,0x041D},
+ {0x844F,0x8480,0x041E},
+ {0x8450,0x8481,0x041F}, /* 8450 */
+ {0x8451,0x8482,0x0420},
+ {0x8452,0x8483,0x0421},
+ {0x8453,0x8484,0x0422},
+ {0x8454,0x8485,0x0423},
+ {0x8455,0x8486,0x0424},
+ {0x8456,0x8487,0x0425},
+ {0x8457,0x8488,0x0426},
+ {0x8458,0x8489,0x0427},
+ {0x8459,0x848A,0x0428},
+ {0x845A,0x848B,0x0429},
+ {0x845B,0x848C,0x042A},
+ {0x845C,0x848D,0x042B},
+ {0x845D,0x848E,0x042C},
+ {0x845E,0x848F,0x042D},
+ {0x845F,0x8490,0x042E},
+ {0x8460,0x8491,0x042F}, /* 8460 */
+ {0x8461,0x8461,0x003F},
+ {0x8462,0x8462,0x003F},
+ {0x8463,0x8463,0x003F},
+ {0x8464,0x8464,0x003F},
+ {0x8465,0x8465,0x003F},
+ {0x8466,0x8466,0x003F},
+ {0x8467,0x8467,0x003F},
+ {0x8468,0x8468,0x003F},
+ {0x8469,0x8469,0x003F},
+ {0x846A,0x846A,0x003F},
+ {0x846B,0x846B,0x003F},
+ {0x846C,0x846C,0x003F},
+ {0x846D,0x846D,0x003F},
+ {0x846E,0x846E,0x003F},
+ {0x846F,0x846F,0x003F},
+ {0x8440,0x8470,0x0430}, /* 8470 */
+ {0x8441,0x8471,0x0431},
+ {0x8442,0x8472,0x0432},
+ {0x8443,0x8473,0x0433},
+ {0x8444,0x8474,0x0434},
+ {0x8445,0x8475,0x0435},
+ {0x8446,0x8476,0x0451},
+ {0x8447,0x8477,0x0436},
+ {0x8448,0x8478,0x0437},
+ {0x8449,0x8479,0x0438},
+ {0x844A,0x847A,0x0439},
+ {0x844B,0x847B,0x043A},
+ {0x844C,0x847C,0x043B},
+ {0x844D,0x847D,0x043C},
+ {0x844E,0x847E,0x043D},
+ {0,0,0},
+ {0x844F,0x8480,0x043E}, /* 8480 */
+ {0x8450,0x8481,0x043F},
+ {0x8451,0x8482,0x0440},
+ {0x8452,0x8483,0x0441},
+ {0x8453,0x8484,0x0442},
+ {0x8454,0x8485,0x0443},
+ {0x8455,0x8486,0x0444},
+ {0x8456,0x8487,0x0445},
+ {0x8457,0x8488,0x0446},
+ {0x8458,0x8489,0x0447},
+ {0x8459,0x848A,0x0448},
+ {0x845A,0x848B,0x0449},
+ {0x845B,0x848C,0x044A},
+ {0x845C,0x848D,0x044B},
+ {0x845D,0x848E,0x044C},
+ {0x845E,0x848F,0x044D},
+ {0x845F,0x8490,0x044E}, /* 8490 */
+ {0x8460,0x8491,0x044F},
+ {0x8492,0x8492,0x003F},
+ {0x8493,0x8493,0x003F},
+ {0x8494,0x8494,0x003F},
+ {0x8495,0x8495,0x003F},
+ {0x8496,0x8496,0x003F},
+ {0x8497,0x8497,0x003F},
+ {0x8498,0x8498,0x003F},
+ {0x8499,0x8499,0x003F},
+ {0x849A,0x849A,0x003F},
+ {0x849B,0x849B,0x003F},
+ {0x849C,0x849C,0x003F},
+ {0x849D,0x849D,0x003F},
+ {0x849E,0x849E,0x003F},
+ {0x849F,0x849F,0x2500},
+ {0x84A0,0x84A0,0x2502}, /* 84A0 */
+ {0x84A1,0x84A1,0x250C},
+ {0x84A2,0x84A2,0x2510},
+ {0x84A3,0x84A3,0x2518},
+ {0x84A4,0x84A4,0x2514},
+ {0x84A5,0x84A5,0x251C},
+ {0x84A6,0x84A6,0x252C},
+ {0x84A7,0x84A7,0x2524},
+ {0x84A8,0x84A8,0x2534},
+ {0x84A9,0x84A9,0x253C},
+ {0x84AA,0x84AA,0x2501},
+ {0x84AB,0x84AB,0x2503},
+ {0x84AC,0x84AC,0x250F},
+ {0x84AD,0x84AD,0x2513},
+ {0x84AE,0x84AE,0x251B},
+ {0x84AF,0x84AF,0x2517},
+ {0x84B0,0x84B0,0x2523}, /* 84B0 */
+ {0x84B1,0x84B1,0x2533},
+ {0x84B2,0x84B2,0x252B},
+ {0x84B3,0x84B3,0x253B},
+ {0x84B4,0x84B4,0x254B},
+ {0x84B5,0x84B5,0x2520},
+ {0x84B6,0x84B6,0x252F},
+ {0x84B7,0x84B7,0x2528},
+ {0x84B8,0x84B8,0x2537},
+ {0x84B9,0x84B9,0x253F},
+ {0x84BA,0x84BA,0x251D},
+ {0x84BB,0x84BB,0x2530},
+ {0x84BC,0x84BC,0x2525},
+ {0x84BD,0x84BD,0x2538},
+ {0x84BE,0x84BE,0x2542},
+ {0x84BF,0x84BF,0x003F},
+ {0x84C0,0x84C0,0x003F}, /* 84C0 */
+ {0x84C1,0x84C1,0x003F},
+ {0x84C2,0x84C2,0x003F},
+ {0x84C3,0x84C3,0x003F},
+ {0x84C4,0x84C4,0x003F},
+ {0x84C5,0x84C5,0x003F},
+ {0x84C6,0x84C6,0x003F},
+ {0x84C7,0x84C7,0x003F},
+ {0x84C8,0x84C8,0x003F},
+ {0x84C9,0x84C9,0x003F},
+ {0x84CA,0x84CA,0x003F},
+ {0x84CB,0x84CB,0x003F},
+ {0x84CC,0x84CC,0x003F},
+ {0x84CD,0x84CD,0x003F},
+ {0x84CE,0x84CE,0x003F},
+ {0x84CF,0x84CF,0x003F},
+ {0x84D0,0x84D0,0x003F}, /* 84D0 */
+ {0x84D1,0x84D1,0x003F},
+ {0x84D2,0x84D2,0x003F},
+ {0x84D3,0x84D3,0x003F},
+ {0x84D4,0x84D4,0x003F},
+ {0x84D5,0x84D5,0x003F},
+ {0x84D6,0x84D6,0x003F},
+ {0x84D7,0x84D7,0x003F},
+ {0x84D8,0x84D8,0x003F},
+ {0x84D9,0x84D9,0x003F},
+ {0x84DA,0x84DA,0x003F},
+ {0x84DB,0x84DB,0x003F},
+ {0x84DC,0x84DC,0x003F},
+ {0x84DD,0x84DD,0x003F},
+ {0x84DE,0x84DE,0x003F},
+ {0x84DF,0x84DF,0x003F},
+ {0x84E0,0x84E0,0x003F}, /* 84E0 */
+ {0x84E1,0x84E1,0x003F},
+ {0x84E2,0x84E2,0x003F},
+ {0x84E3,0x84E3,0x003F},
+ {0x84E4,0x84E4,0x003F},
+ {0x84E5,0x84E5,0x003F},
+ {0x84E6,0x84E6,0x003F},
+ {0x84E7,0x84E7,0x003F},
+ {0x84E8,0x84E8,0x003F},
+ {0x84E9,0x84E9,0x003F},
+ {0x84EA,0x84EA,0x003F},
+ {0x84EB,0x84EB,0x003F},
+ {0x84EC,0x84EC,0x003F},
+ {0x84ED,0x84ED,0x003F},
+ {0x84EE,0x84EE,0x003F},
+ {0x84EF,0x84EF,0x003F},
+ {0x84F0,0x84F0,0x003F}, /* 84F0 */
+ {0x84F1,0x84F1,0x003F},
+ {0x84F2,0x84F2,0x003F},
+ {0x84F3,0x84F3,0x003F},
+ {0x84F4,0x84F4,0x003F},
+ {0x84F5,0x84F5,0x003F},
+ {0x84F6,0x84F6,0x003F},
+ {0x84F7,0x84F7,0x003F},
+ {0x84F8,0x84F8,0x003F},
+ {0x84F9,0x84F9,0x003F},
+ {0x84FA,0x84FA,0x003F},
+ {0x84FB,0x84FB,0x003F},
+ {0x84FC,0x84FC,0x003F},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO c87[256]=
+{
+ /* 8700-870F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8710-871F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8720-872F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8730-873F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8740,0x8740,0x2460}, /* 8740 */
+ {0x8741,0x8741,0x2461},
+ {0x8742,0x8742,0x2462},
+ {0x8743,0x8743,0x2463},
+ {0x8744,0x8744,0x2464},
+ {0x8745,0x8745,0x2465},
+ {0x8746,0x8746,0x2466},
+ {0x8747,0x8747,0x2467},
+ {0x8748,0x8748,0x2468},
+ {0x8749,0x8749,0x2469},
+ {0x874A,0x874A,0x246A},
+ {0x874B,0x874B,0x246B},
+ {0x874C,0x874C,0x246C},
+ {0x874D,0x874D,0x246D},
+ {0x874E,0x874E,0x246E},
+ {0x874F,0x874F,0x246F},
+ {0x8750,0x8750,0x2470}, /* 8750 */
+ {0x8751,0x8751,0x2471},
+ {0x8752,0x8752,0x2472},
+ {0x8753,0x8753,0x2473},
+ {0x8754,0xEEEF,0x2160},
+ {0x8755,0xEEF0,0x2161},
+ {0x8756,0xEEF1,0x2162},
+ {0x8757,0xEEF2,0x2163},
+ {0x8758,0xEEF3,0x2164},
+ {0x8759,0xEEF4,0x2165},
+ {0x875A,0xEEF5,0x2166},
+ {0x875B,0xEEF6,0x2167},
+ {0x875C,0xEEF7,0x2168},
+ {0x875D,0xEEF8,0x2169},
+ {0x875E,0x875E,0x003F},
+ {0x875F,0x875F,0x3349},
+ {0x8760,0x8760,0x3314}, /* 8760 */
+ {0x8761,0x8761,0x3322},
+ {0x8762,0x8762,0x334D},
+ {0x8763,0x8763,0x3318},
+ {0x8764,0x8764,0x3327},
+ {0x8765,0x8765,0x3303},
+ {0x8766,0x8766,0x3336},
+ {0x8767,0x8767,0x3351},
+ {0x8768,0x8768,0x3357},
+ {0x8769,0x8769,0x330D},
+ {0x876A,0x876A,0x3326},
+ {0x876B,0x876B,0x3323},
+ {0x876C,0x876C,0x332B},
+ {0x876D,0x876D,0x334A},
+ {0x876E,0x876E,0x333B},
+ {0x876F,0x876F,0x339C},
+ {0x8770,0x8770,0x339D}, /* 8770 */
+ {0x8771,0x8771,0x339E},
+ {0x8772,0x8772,0x338E},
+ {0x8773,0x8773,0x338F},
+ {0x8774,0x8774,0x33C4},
+ {0x8775,0x8775,0x33A1},
+ {0x8776,0x8776,0x003F},
+ {0x8777,0x8777,0x003F},
+ {0x8778,0x8778,0x003F},
+ {0x8779,0x8779,0x003F},
+ {0x877A,0x877A,0x003F},
+ {0x877B,0x877B,0x003F},
+ {0x877C,0x877C,0x003F},
+ {0x877D,0x877D,0x003F},
+ {0x877E,0x877E,0x337B},
+ {0,0,0},
+ {0x8780,0x8780,0x301D}, /* 8780 */
+ {0x8781,0x8781,0x301F},
+ {0x8782,0x8782,0x2116},
+ {0x8783,0x8783,0x33CD},
+ {0x8784,0x8784,0x2121},
+ {0x8785,0x8785,0x32A4},
+ {0x8786,0x8786,0x32A5},
+ {0x8787,0x8787,0x32A6},
+ {0x8788,0x8788,0x32A7},
+ {0x8789,0x8789,0x32A8},
+ {0x878A,0x878A,0x3231},
+ {0x878B,0x878B,0x3232},
+ {0x878C,0x878C,0x3239},
+ {0x878D,0x878D,0x337E},
+ {0x878E,0x878E,0x337D},
+ {0x878F,0x878F,0x337C},
+ {0x8790,0x8790,0x2252}, /* 8790 */
+ {0x8791,0x8791,0x2261},
+ {0x8792,0x8792,0x222B},
+ {0x8793,0x8793,0x222E},
+ {0x8794,0x8794,0x2211},
+ {0x8795,0x8795,0x221A},
+ {0x8796,0x8796,0x22A5},
+ {0x8797,0x8797,0x2220},
+ {0x8798,0x8798,0x221F},
+ {0x8799,0x8799,0x22BF},
+ {0x879A,0x879A,0x2235},
+ {0x879B,0x879B,0x2229},
+ {0x879C,0x879C,0x222A},
+ {0x879D,0x879D,0x003F},
+ {0x879E,0x879E,0x003F},
+ {0x879F,0x879F,0x003F},
+ {0x87A0,0x87A0,0x003F}, /* 87A0 */
+ {0x87A1,0x87A1,0x003F},
+ {0x87A2,0x87A2,0x003F},
+ {0x87A3,0x87A3,0x003F},
+ {0x87A4,0x87A4,0x003F},
+ {0x87A5,0x87A5,0x003F},
+ {0x87A6,0x87A6,0x003F},
+ {0x87A7,0x87A7,0x003F},
+ {0x87A8,0x87A8,0x003F},
+ {0x87A9,0x87A9,0x003F},
+ {0x87AA,0x87AA,0x003F},
+ {0x87AB,0x87AB,0x003F},
+ {0x87AC,0x87AC,0x003F},
+ {0x87AD,0x87AD,0x003F},
+ {0x87AE,0x87AE,0x003F},
+ {0x87AF,0x87AF,0x003F},
+ {0x87B0,0x87B0,0x003F}, /* 87B0 */
+ {0x87B1,0x87B1,0x003F},
+ {0x87B2,0x87B2,0x003F},
+ {0x87B3,0x87B3,0x003F},
+ {0x87B4,0x87B4,0x003F},
+ {0x87B5,0x87B5,0x003F},
+ {0x87B6,0x87B6,0x003F},
+ {0x87B7,0x87B7,0x003F},
+ {0x87B8,0x87B8,0x003F},
+ {0x87B9,0x87B9,0x003F},
+ {0x87BA,0x87BA,0x003F},
+ {0x87BB,0x87BB,0x003F},
+ {0x87BC,0x87BC,0x003F},
+ {0x87BD,0x87BD,0x003F},
+ {0x87BE,0x87BE,0x003F},
+ {0x87BF,0x87BF,0x003F},
+ {0x87C0,0x87C0,0x003F}, /* 87C0 */
+ {0x87C1,0x87C1,0x003F},
+ {0x87C2,0x87C2,0x003F},
+ {0x87C3,0x87C3,0x003F},
+ {0x87C4,0x87C4,0x003F},
+ {0x87C5,0x87C5,0x003F},
+ {0x87C6,0x87C6,0x003F},
+ {0x87C7,0x87C7,0x003F},
+ {0x87C8,0x87C8,0x003F},
+ {0x87C9,0x87C9,0x003F},
+ {0x87CA,0x87CA,0x003F},
+ {0x87CB,0x87CB,0x003F},
+ {0x87CC,0x87CC,0x003F},
+ {0x87CD,0x87CD,0x003F},
+ {0x87CE,0x87CE,0x003F},
+ {0x87CF,0x87CF,0x003F},
+ {0x87D0,0x87D0,0x003F}, /* 87D0 */
+ {0x87D1,0x87D1,0x003F},
+ {0x87D2,0x87D2,0x003F},
+ {0x87D3,0x87D3,0x003F},
+ {0x87D4,0x87D4,0x003F},
+ {0x87D5,0x87D5,0x003F},
+ {0x87D6,0x87D6,0x003F},
+ {0x87D7,0x87D7,0x003F},
+ {0x87D8,0x87D8,0x003F},
+ {0x87D9,0x87D9,0x003F},
+ {0x87DA,0x87DA,0x003F},
+ {0x87DB,0x87DB,0x003F},
+ {0x87DC,0x87DC,0x003F},
+ {0x87DD,0x87DD,0x003F},
+ {0x87DE,0x87DE,0x003F},
+ {0x87DF,0x87DF,0x003F},
+ {0x87E0,0x87E0,0x003F}, /* 87E0 */
+ {0x87E1,0x87E1,0x003F},
+ {0x87E2,0x87E2,0x003F},
+ {0x87E3,0x87E3,0x003F},
+ {0x87E4,0x87E4,0x003F},
+ {0x87E5,0x87E5,0x003F},
+ {0x87E6,0x87E6,0x003F},
+ {0x87E7,0x87E7,0x003F},
+ {0x87E8,0x87E8,0x003F},
+ {0x87E9,0x87E9,0x003F},
+ {0x87EA,0x87EA,0x003F},
+ {0x87EB,0x87EB,0x003F},
+ {0x87EC,0x87EC,0x003F},
+ {0x87ED,0x87ED,0x003F},
+ {0x87EE,0x87EE,0x003F},
+ {0x87EF,0x87EF,0x003F},
+ {0x87F0,0x87F0,0x003F}, /* 87F0 */
+ {0x87F1,0x87F1,0x003F},
+ {0x87F2,0x87F2,0x003F},
+ {0x87F3,0x87F3,0x003F},
+ {0x87F4,0x87F4,0x003F},
+ {0x87F5,0x87F5,0x003F},
+ {0x87F6,0x87F6,0x003F},
+ {0x87F7,0x87F7,0x003F},
+ {0x87F8,0x87F8,0x003F},
+ {0x87F9,0x87F9,0x003F},
+ {0x87FA,0x87FA,0x003F},
+ {0x87FB,0x87FB,0x003F},
+ {0x87FC,0x87FC,0x003F},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO cEE[256]=
+{
+ /* EE00-EE0F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* EE10-EE1F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* EE20-EE2F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* EE30-EE3F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0xEE40,0xEE40,0x72BE}, /* EE40 */
+ {0xEE41,0xEE41,0x7324},
+ {0xEE42,0xEE42,0xFA16},
+ {0xEE43,0xEE43,0x7377},
+ {0xEE44,0xEE44,0x73BD},
+ {0xEE45,0xEE45,0x73C9},
+ {0xEE46,0xEE46,0x73D6},
+ {0xEE47,0xEE47,0x73E3},
+ {0xEE48,0xEE48,0x73D2},
+ {0xEE49,0xEE49,0x7407},
+ {0xEE4A,0xEE4A,0x73F5},
+ {0xEE4B,0xEE4B,0x7426},
+ {0xEE4C,0xEE4C,0x742A},
+ {0xEE4D,0xEE4D,0x7429},
+ {0xEE4E,0xEE4E,0x742E},
+ {0xEE4F,0xEE4F,0x7462},
+
+ {0xEE50,0xEE50,0x7489}, /* EE50 */
+ {0xEE51,0xEE51,0x749F},
+ {0xEE52,0xEE52,0x7501},
+ {0xEE53,0xEE53,0x756F},
+ {0xEE54,0xEE54,0x7682},
+ {0xEE55,0xEE55,0x769C},
+ {0xEE56,0xEE56,0x769E},
+ {0xEE57,0xEE57,0x769B},
+ {0xEE58,0xEE58,0x76A6},
+ {0xEE59,0xEE59,0xFA17},
+ {0xEE5A,0xEE5A,0x7746},
+ {0xEE5B,0xEE5B,0x52AF},
+ {0xEE5C,0xEE5C,0x7821},
+ {0xEE5D,0xEE5D,0x784E},
+ {0xEE5E,0xEE5E,0x7864},
+ {0xEE5F,0xEE5F,0x787A},
+ {0xEE60,0xEE60,0x7930}, /* EE60 */
+ {0xEE61,0xEE61,0xFA18},
+ {0xEE62,0xEE62,0xFA19},
+ {0xEE63,0xEE63,0xFA1A},
+ {0xEE64,0xEE64,0x7994},
+ {0xEE65,0xEE65,0xFA1B},
+ {0xEE66,0xEE66,0x799B},
+ {0xEE67,0xEE67,0x7AD1},
+ {0xEE68,0xEE68,0x7AE7},
+ {0xEE69,0xEE69,0xFA1C},
+ {0xEE6A,0xEE6A,0x7AEB},
+ {0xEE6B,0xEE6B,0x7B9E},
+ {0xEE6C,0xEE6C,0xFA1D},
+ {0xEE6D,0xEE6D,0x7D48},
+ {0xEE6E,0xEE6E,0x7D5C},
+ {0xEE6F,0xEE6F,0x7DB7},
+ {0xEE70,0xEE70,0x7DA0}, /* EE70 */
+ {0xEE71,0xEE71,0x7DD6},
+ {0xEE72,0xEE72,0x7E52},
+ {0xEE73,0xEE73,0x7F47},
+ {0xEE74,0xEE74,0x7FA1},
+ {0xEE75,0xEE75,0xFA1E},
+ {0xEE76,0xEE76,0x8301},
+ {0xEE77,0xEE77,0x8362},
+ {0xEE78,0xEE78,0x837F},
+ {0xEE79,0xEE79,0x83C7},
+ {0xEE7A,0xEE7A,0x83F6},
+ {0xEE7B,0xEE7B,0x8448},
+ {0xEE7C,0xEE7C,0x84B4},
+ {0xEE7D,0xEE7D,0x8553},
+ {0xEE7E,0xEE7E,0x8559},
+ {0,0,0},
+ {0xEE80,0xEE80,0x856B}, /* EE80 */
+ {0xEE81,0xEE81,0xFA1F},
+ {0xEE82,0xEE82,0x85B0},
+ {0xEE83,0xEE83,0xFA20},
+ {0xEE84,0xEE84,0xFA21},
+ {0xEE85,0xEE85,0x8807},
+ {0xEE86,0xEE86,0x88F5},
+ {0xEE87,0xEE87,0x8A12},
+ {0xEE88,0xEE88,0x8A37},
+ {0xEE89,0xEE89,0x8A79},
+ {0xEE8A,0xEE8A,0x8AA7},
+ {0xEE8B,0xEE8B,0x8ABE},
+ {0xEE8C,0xEE8C,0x8ADF},
+ {0xEE8D,0xEE8D,0xFA22},
+ {0xEE8E,0xEE8E,0x8AF6},
+ {0xEE8F,0xEE8F,0x8B53},
+ {0xEE90,0xEE90,0x8B7F}, /* EE90 */
+ {0xEE91,0xEE91,0x8CF0},
+ {0xEE92,0xEE92,0x8CF4},
+ {0xEE93,0xEE93,0x8D12},
+ {0xEE94,0xEE94,0x8D76},
+ {0xEE95,0xEE95,0xFA23},
+ {0xEE96,0xEE96,0x8ECF},
+ {0xEE97,0xEE97,0xFA24},
+ {0xEE98,0xEE98,0xFA25},
+ {0xEE99,0xEE99,0x9067},
+ {0xEE9A,0xEE9A,0x90DE},
+ {0xEE9B,0xEE9B,0xFA26},
+ {0xEE9C,0xEE9C,0x9115},
+ {0xEE9D,0xEE9D,0x9127},
+ {0xEE9E,0xEE9E,0x91DA},
+ {0xEE9F,0xEE9F,0x91D7},
+ {0xEEA0,0xEEA0,0x91DE}, /* EEA0 */
+ {0xEEA1,0xEEA1,0x91ED},
+ {0xEEA2,0xEEA2,0x91EE},
+ {0xEEA3,0xEEA3,0x91E4},
+ {0xEEA4,0xEEA4,0x91E5},
+ {0xEEA5,0xEEA5,0x9206},
+ {0xEEA6,0xEEA6,0x9210},
+ {0xEEA7,0xEEA7,0x920A},
+ {0xEEA8,0xEEA8,0x923A},
+ {0xEEA9,0xEEA9,0x9240},
+ {0xEEAA,0xEEAA,0x923C},
+ {0xEEAB,0xEEAB,0x924E},
+ {0xEEAC,0xEEAC,0x9259},
+ {0xEEAD,0xEEAD,0x9251},
+ {0xEEAE,0xEEAE,0x9239},
+ {0xEEAF,0xEEAF,0x9267},
+ {0xEEB0,0xEEB0,0x92A7}, /* EEB0 */
+ {0xEEB1,0xEEB1,0x9277},
+ {0xEEB2,0xEEB2,0x9278},
+ {0xEEB3,0xEEB3,0x92E7},
+ {0xEEB4,0xEEB4,0x92D7},
+ {0xEEB5,0xEEB5,0x92D9},
+ {0xEEB6,0xEEB6,0x92D0},
+ {0xEEB7,0xEEB7,0xFA27},
+ {0xEEB8,0xEEB8,0x92D5},
+ {0xEEB9,0xEEB9,0x92E0},
+ {0xEEBA,0xEEBA,0x92D3},
+ {0xEEBB,0xEEBB,0x9325},
+ {0xEEBC,0xEEBC,0x9321},
+ {0xEEBD,0xEEBD,0x92FB},
+ {0xEEBE,0xEEBE,0xFA28},
+ {0xEEBF,0xEEBF,0x931E},
+ {0xEEC0,0xEEC0,0x92FF}, /* EEC0 */
+ {0xEEC1,0xEEC1,0x931D},
+ {0xEEC2,0xEEC2,0x9302},
+ {0xEEC3,0xEEC3,0x9370},
+ {0xEEC4,0xEEC4,0x9357},
+ {0xEEC5,0xEEC5,0x93A4},
+ {0xEEC6,0xEEC6,0x93C6},
+ {0xEEC7,0xEEC7,0x93DE},
+ {0xEEC8,0xEEC8,0x93F8},
+ {0xEEC9,0xEEC9,0x9431},
+ {0xEECA,0xEECA,0x9445},
+ {0xEECB,0xEECB,0x9448},
+ {0xEECC,0xEECC,0x9592},
+ {0xEECD,0xEECD,0xF9DC},
+ {0xEECE,0xEECE,0xFA29},
+ {0xEECF,0xEECF,0x969D},
+ {0xEED0,0xEED0,0x96AF}, /* EED0 */
+ {0xEED1,0xEED1,0x9733},
+ {0xEED2,0xEED2,0x973B},
+ {0xEED3,0xEED3,0x9743},
+ {0xEED4,0xEED4,0x974D},
+ {0xEED5,0xEED5,0x974F},
+ {0xEED6,0xEED6,0x9751},
+ {0xEED7,0xEED7,0x9755},
+ {0xEED8,0xEED8,0x9857},
+ {0xEED9,0xEED9,0x9865},
+ {0xEEDA,0xEEDA,0xFA2A},
+ {0xEEDB,0xEEDB,0xFA2B},
+ {0xEEDC,0xEEDC,0x9927},
+ {0xEEDD,0xEEDD,0xFA2C},
+ {0xEEDE,0xEEDE,0x999E},
+ {0xEEDF,0xEEDF,0x9A4E},
+ {0xEEE0,0xEEE0,0x9AD9}, /* EEE0 */
+ {0xEEE1,0xEEE1,0x9ADC},
+ {0xEEE2,0xEEE2,0x9B75},
+ {0xEEE3,0xEEE3,0x9B72},
+ {0xEEE4,0xEEE4,0x9B8F},
+ {0xEEE5,0xEEE5,0x9BB1},
+ {0xEEE6,0xEEE6,0x9BBB},
+ {0xEEE7,0xEEE7,0x9C00},
+ {0xEEE8,0xEEE8,0x9D70},
+ {0xEEE9,0xEEE9,0x9D6B},
+ {0xEEEA,0xEEEA,0xFA2D},
+ {0xEEEB,0xEEEB,0x9E19},
+ {0xEEEC,0xEEEC,0x9ED1},
+ {0xEEED,0xEEED,0x003F},
+ {0xEEEE,0xEEEE,0x003F},
+ {0x8754,0xEEEF,0x2170},
+ {0x8755,0xEEF0,0x2171}, /* EEF0 */
+ {0x8756,0xEEF1,0x2172},
+ {0x8757,0xEEF2,0x2173},
+ {0x8758,0xEEF3,0x2174},
+ {0x8759,0xEEF4,0x2175},
+ {0x875A,0xEEF5,0x2176},
+ {0x875B,0xEEF6,0x2177},
+ {0x875C,0xEEF7,0x2178},
+ {0x875D,0xEEF8,0x2179},
+ {0xEEF9,0xEEF9,0xFFE2},
+ {0xEEFA,0xEEFA,0xFFE4},
+ {0xEEFB,0xEEFB,0xFF07},
+ {0xEEFC,0xEEFC,0xFF02},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO cFA[256]=
+{
+ /* FA00-FA0F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* FA10-FA1F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* FA20-FA2F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* FA30-FA3F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0xFA4A,0xFA40,0x2170}, /* FA40 */
+ {0xFA4B,0xFA41,0x2171},
+ {0xFA4C,0xFA42,0x2172},
+ {0xFA4D,0xFA43,0x2173},
+ {0xFA4E,0xFA44,0x2174},
+ {0xFA4F,0xFA45,0x2175},
+ {0xFA50,0xFA46,0x2176},
+ {0xFA51,0xFA47,0x2177},
+ {0xFA52,0xFA48,0x2178},
+ {0xFA53,0xFA49,0x2179},
+ {0xFA4A,0xFA40,0x2160},
+ {0xFA4B,0xFA41,0x2161},
+ {0xFA4C,0xFA42,0x2162},
+ {0xFA4D,0xFA43,0x2163},
+ {0xFA4E,0xFA44,0x2164},
+ {0xFA4F,0xFA45,0x2165},
+ {0xFA50,0xFA46,0x2166}, /* FA50 */
+ {0xFA51,0xFA47,0x2167},
+ {0xFA52,0xFA48,0x2168},
+ {0xFA53,0xFA49,0x2169},
+ {0xFA54,0xFA54,0xFFE2},
+ {0xFA55,0xFA55,0xFFE4},
+ {0xFA56,0xFA56,0xFF07},
+ {0xFA57,0xFA57,0xFF02},
+ {0xFA58,0xFA58,0x3231},
+ {0xFA59,0xFA59,0x2116},
+ {0xFA5A,0xFA5A,0x2121},
+ {0xFA5B,0xFA5B,0x2235},
+ {0xFA5C,0xFA5C,0x7E8A},
+ {0xFA5D,0xFA5D,0x891C},
+ {0xFA5E,0xFA5E,0x9348},
+ {0xFA5F,0xFA5F,0x9288},
+ {0xFA60,0xFA60,0x84DC}, /* FA60 */
+ {0xFA61,0xFA61,0x4FC9},
+ {0xFA62,0xFA62,0x70BB},
+ {0xFA63,0xFA63,0x6631},
+ {0xFA64,0xFA64,0x68C8},
+ {0xFA65,0xFA65,0x92F9},
+ {0xFA66,0xFA66,0x66FB},
+ {0xFA67,0xFA67,0x5F45},
+ {0xFA68,0xFA68,0x4E28},
+ {0xFA69,0xFA69,0x4EE1},
+ {0xFA6A,0xFA6A,0x4EFC},
+ {0xFA6B,0xFA6B,0x4F00},
+ {0xFA6C,0xFA6C,0x4F03},
+ {0xFA6D,0xFA6D,0x4F39},
+ {0xFA6E,0xFA6E,0x4F56},
+ {0xFA6F,0xFA6F,0x4F92},
+ {0xFA70,0xFA70,0x4F8A}, /* FA70 */
+ {0xFA71,0xFA71,0x4F9A},
+ {0xFA72,0xFA72,0x4F94},
+ {0xFA73,0xFA73,0x4FCD},
+ {0xFA74,0xFA74,0x5040},
+ {0xFA75,0xFA75,0x5022},
+ {0xFA76,0xFA76,0x4FFF},
+ {0xFA77,0xFA77,0x501E},
+ {0xFA78,0xFA78,0x5046},
+ {0xFA79,0xFA79,0x5070},
+ {0xFA7A,0xFA7A,0x5042},
+ {0xFA7B,0xFA7B,0x5094},
+ {0xFA7C,0xFA7C,0x50F4},
+ {0xFA7D,0xFA7D,0x50D8},
+ {0xFA7E,0xFA7E,0x514A},
+ {0,0,0},
+ {0xFA80,0xFA80,0x5164}, /* FA80 */
+ {0xFA81,0xFA81,0x519D},
+ {0xFA82,0xFA82,0x51BE},
+ {0xFA83,0xFA83,0x51EC},
+ {0xFA84,0xFA84,0x5215},
+ {0xFA85,0xFA85,0x529C},
+ {0xFA86,0xFA86,0x52A6},
+ {0xFA87,0xFA87,0x52C0},
+ {0xFA88,0xFA88,0x52DB},
+ {0xFA89,0xFA89,0x5300},
+ {0xFA8A,0xFA8A,0x5307},
+ {0xFA8B,0xFA8B,0x5324},
+ {0xFA8C,0xFA8C,0x5372},
+ {0xFA8D,0xFA8D,0x5393},
+ {0xFA8E,0xFA8E,0x53B2},
+ {0xFA8F,0xFA8F,0x53DD},
+ {0xFA90,0xFA90,0xFA0E}, /* FA90 */
+ {0xFA91,0xFA91,0x549C},
+ {0xFA92,0xFA92,0x548A},
+ {0xFA93,0xFA93,0x54A9},
+ {0xFA94,0xFA94,0x54FF},
+ {0xFA95,0xFA95,0x5586},
+ {0xFA96,0xFA96,0x5759},
+ {0xFA97,0xFA97,0x5765},
+ {0xFA98,0xFA98,0x57AC},
+ {0xFA99,0xFA99,0x57C8},
+ {0xFA9A,0xFA9A,0x57C7},
+ {0xFA9B,0xFA9B,0xFA0F},
+ {0xFA9C,0xFA9C,0xFA10},
+ {0xFA9D,0xFA9D,0x589E},
+ {0xFA9E,0xFA9E,0x58B2},
+ {0xFA9F,0xFA9F,0x590B},
+ {0xFAA0,0xFAA0,0x5953}, /* FAA0 */
+ {0xFAA1,0xFAA1,0x595B},
+ {0xFAA2,0xFAA2,0x595D},
+ {0xFAA3,0xFAA3,0x5963},
+ {0xFAA4,0xFAA4,0x59A4},
+ {0xFAA5,0xFAA5,0x59BA},
+ {0xFAA6,0xFAA6,0x5B56},
+ {0xFAA7,0xFAA7,0x5BC0},
+ {0xFAA8,0xFAA8,0x752F},
+ {0xFAA9,0xFAA9,0x5BD8},
+ {0xFAAA,0xFAAA,0x5BEC},
+ {0xFAAB,0xFAAB,0x5C1E},
+ {0xFAAC,0xFAAC,0x5CA6},
+ {0xFAAD,0xFAAD,0x5CBA},
+ {0xFAAE,0xFAAE,0x5CF5},
+ {0xFAAF,0xFAAF,0x5D27},
+ {0xFAB0,0xFAB0,0x5D53}, /* FAB0 */
+ {0xFAB1,0xFAB1,0xFA11},
+ {0xFAB2,0xFAB2,0x5D42},
+ {0xFAB3,0xFAB3,0x5D6D},
+ {0xFAB4,0xFAB4,0x5DB8},
+ {0xFAB5,0xFAB5,0x5DB9},
+ {0xFAB6,0xFAB6,0x5DD0},
+ {0xFAB7,0xFAB7,0x5F21},
+ {0xFAB8,0xFAB8,0x5F34},
+ {0xFAB9,0xFAB9,0x5F67},
+ {0xFABA,0xFABA,0x5FB7},
+ {0xFABB,0xFABB,0x5FDE},
+ {0xFABC,0xFABC,0x605D},
+ {0xFABD,0xFABD,0x6085},
+ {0xFABE,0xFABE,0x608A},
+ {0xFABF,0xFABF,0x60DE},
+ {0xFAC0,0xFAC0,0x60D5}, /* FAC0 */
+ {0xFAC1,0xFAC1,0x6120},
+ {0xFAC2,0xFAC2,0x60F2},
+ {0xFAC3,0xFAC3,0x6111},
+ {0xFAC4,0xFAC4,0x6137},
+ {0xFAC5,0xFAC5,0x6130},
+ {0xFAC6,0xFAC6,0x6198},
+ {0xFAC7,0xFAC7,0x6213},
+ {0xFAC8,0xFAC8,0x62A6},
+ {0xFAC9,0xFAC9,0x63F5},
+ {0xFACA,0xFACA,0x6460},
+ {0xFACB,0xFACB,0x649D},
+ {0xFACC,0xFACC,0x64CE},
+ {0xFACD,0xFACD,0x654E},
+ {0xFACE,0xFACE,0x6600},
+ {0xFACF,0xFACF,0x6615},
+ {0xFAD0,0xFAD0,0x663B}, /* FAD0 */
+ {0xFAD1,0xFAD1,0x6609},
+ {0xFAD2,0xFAD2,0x662E},
+ {0xFAD3,0xFAD3,0x661E},
+ {0xFAD4,0xFAD4,0x6624},
+ {0xFAD5,0xFAD5,0x6665},
+ {0xFAD6,0xFAD6,0x6657},
+ {0xFAD7,0xFAD7,0x6659},
+ {0xFAD8,0xFAD8,0xFA12},
+ {0xFAD9,0xFAD9,0x6673},
+ {0xFADA,0xFADA,0x6699},
+ {0xFADB,0xFADB,0x66A0},
+ {0xFADC,0xFADC,0x66B2},
+ {0xFADD,0xFADD,0x66BF},
+ {0xFADE,0xFADE,0x66FA},
+ {0xFADF,0xFADF,0x670E},
+ {0xFAE0,0xFAE0,0xF929}, /* FAE0 */
+ {0xFAE1,0xFAE1,0x6766},
+ {0xFAE2,0xFAE2,0x67BB},
+ {0xFAE3,0xFAE3,0x6852},
+ {0xFAE4,0xFAE4,0x67C0},
+ {0xFAE5,0xFAE5,0x6801},
+ {0xFAE6,0xFAE6,0x6844},
+ {0xFAE7,0xFAE7,0x68CF},
+ {0xFAE8,0xFAE8,0xFA13},
+ {0xFAE9,0xFAE9,0x6968},
+ {0xFAEA,0xFAEA,0xFA14},
+ {0xFAEB,0xFAEB,0x6998},
+ {0xFAEC,0xFAEC,0x69E2},
+ {0xFAED,0xFAED,0x6A30},
+ {0xFAEE,0xFAEE,0x6A6B},
+ {0xFAEF,0xFAEF,0x6A46},
+ {0xFAF0,0xFAF0,0x6A73}, /* FAF0 */
+ {0xFAF1,0xFAF1,0x6A7E},
+ {0xFAF2,0xFAF2,0x6AE2},
+ {0xFAF3,0xFAF3,0x6AE4},
+ {0xFAF4,0xFAF4,0x6BD6},
+ {0xFAF5,0xFAF5,0x6C3F},
+ {0xFAF6,0xFAF6,0x6C5C},
+ {0xFAF7,0xFAF7,0x6C86},
+ {0xFAF8,0xFAF8,0x6C6F},
+ {0xFAF9,0xFAF9,0x6CDA},
+ {0xFAFA,0xFAFA,0x6D04},
+ {0xFAFB,0xFAFB,0x6D87},
+ {0xFAFC,0xFAFC,0x6D6F},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_cp932[256]=
+{
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, c81, c82, c83, c84, NULL, NULL, c87, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* A */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, cEE, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, cFA, NULL, NULL, NULL, NULL, NULL
+};
+
+
static int my_strnncoll_cp932_internal(CHARSET_INFO *cs,
const uchar **a_res, size_t a_length,
const uchar **b_res, size_t b_length)
@@ -5524,7 +7030,7 @@ CHARSET_INFO my_charset_cp932_japanese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_cp932, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@@ -5556,7 +7062,7 @@ CHARSET_INFO my_charset_cp932_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_cp932, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c
index fc0af7e35d5..154d49ed085 100644
--- a/strings/ctype-euc_kr.c
+++ b/strings/ctype-euc_kr.c
@@ -216,6 +216,1273 @@ static uint mbcharlen_euc_kr(CHARSET_INFO *cs __attribute__((unused)),uint c)
}
+static MY_UNICASE_INFO cA3[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA340,0xA340,0x003F}, /* A340 */
+ {0xA341,0xA341,0xC971},
+ {0xA342,0xA342,0xC972},
+ {0xA343,0xA343,0xC973},
+ {0xA344,0xA344,0xC975},
+ {0xA345,0xA345,0xC976},
+ {0xA346,0xA346,0xC977},
+ {0xA347,0xA347,0xC978},
+ {0xA348,0xA348,0xC979},
+ {0xA349,0xA349,0xC97A},
+ {0xA34A,0xA34A,0xC97B},
+ {0xA34B,0xA34B,0xC97D},
+ {0xA34C,0xA34C,0xC97E},
+ {0xA34D,0xA34D,0xC97F},
+ {0xA34E,0xA34E,0xC980},
+ {0xA34F,0xA34F,0xC981},
+ {0xA350,0xA350,0xC982}, /* A350 */
+ {0xA351,0xA351,0xC983},
+ {0xA352,0xA352,0xC984},
+ {0xA353,0xA353,0xC985},
+ {0xA354,0xA354,0xC986},
+ {0xA355,0xA355,0xC987},
+ {0xA356,0xA356,0xC98A},
+ {0xA357,0xA357,0xC98B},
+ {0xA358,0xA358,0xC98D},
+ {0xA359,0xA359,0xC98E},
+ {0xA35A,0xA35A,0xC98F},
+ {0xA35B,0xA35B,0x003F},
+ {0xA35C,0xA35C,0x003F},
+ {0xA35D,0xA35D,0x003F},
+ {0xA35E,0xA35E,0x003F},
+ {0xA35F,0xA35F,0x003F},
+ {0xA360,0xA360,0x003F}, /* A360 */
+ {0xA361,0xA361,0xC991},
+ {0xA362,0xA362,0xC992},
+ {0xA363,0xA363,0xC993},
+ {0xA364,0xA364,0xC994},
+ {0xA365,0xA365,0xC995},
+ {0xA366,0xA366,0xC996},
+ {0xA367,0xA367,0xC997},
+ {0xA368,0xA368,0xC99A},
+ {0xA369,0xA369,0xC99C},
+ {0xA36A,0xA36A,0xC99E},
+ {0xA36B,0xA36B,0xC99F},
+ {0xA36C,0xA36C,0xC9A0},
+ {0xA36D,0xA36D,0xC9A1},
+ {0xA36E,0xA36E,0xC9A2},
+ {0xA36F,0xA36F,0xC9A3},
+ {0xA370,0xA370,0xC9A4}, /* A370 */
+ {0xA371,0xA371,0xC9A5},
+ {0xA372,0xA372,0xC9A6},
+ {0xA373,0xA373,0xC9A7},
+ {0xA374,0xA374,0xC9A8},
+ {0xA375,0xA375,0xC9A9},
+ {0xA376,0xA376,0xC9AA},
+ {0xA377,0xA377,0xC9AB},
+ {0xA378,0xA378,0xC9AC},
+ {0xA379,0xA379,0xC9AD},
+ {0xA37A,0xA37A,0xC9AE},
+ {0xA37B,0xA37B,0x003F},
+ {0xA37C,0xA37C,0x003F},
+ {0xA37D,0xA37D,0x003F},
+ {0xA37E,0xA37E,0x003F},
+ {0xA37F,0xA37F,0x003F},
+ {0xA380,0xA380,0x003F}, /* A380 */
+ {0xA381,0xA381,0xC9AF},
+ {0xA382,0xA382,0xC9B0},
+ {0xA383,0xA383,0xC9B1},
+ {0xA384,0xA384,0xC9B2},
+ {0xA385,0xA385,0xC9B3},
+ {0xA386,0xA386,0xC9B4},
+ {0xA387,0xA387,0xC9B5},
+ {0xA388,0xA388,0xC9B6},
+ {0xA389,0xA389,0xC9B7},
+ {0xA38A,0xA38A,0xC9B8},
+ {0xA38B,0xA38B,0xC9B9},
+ {0xA38C,0xA38C,0xC9BA},
+ {0xA38D,0xA38D,0xC9BB},
+ {0xA38E,0xA38E,0xC9BC},
+ {0xA38F,0xA38F,0xC9BD},
+ {0xA390,0xA390,0xC9BE}, /* A390 */
+ {0xA391,0xA391,0xC9BF},
+ {0xA392,0xA392,0xC9C2},
+ {0xA393,0xA393,0xC9C3},
+ {0xA394,0xA394,0xC9C5},
+ {0xA395,0xA395,0xC9C6},
+ {0xA396,0xA396,0xC9C9},
+ {0xA397,0xA397,0xC9CB},
+ {0xA398,0xA398,0xC9CC},
+ {0xA399,0xA399,0xC9CD},
+ {0xA39A,0xA39A,0xC9CE},
+ {0xA39B,0xA39B,0xC9CF},
+ {0xA39C,0xA39C,0xC9D2},
+ {0xA39D,0xA39D,0xC9D4},
+ {0xA39E,0xA39E,0xC9D7},
+ {0xA39F,0xA39F,0xC9D8},
+ {0xA3A0,0xA3A0,0xC9DB}, /* A3A0 */
+ {0xA3A1,0xA3A1,0xFF01},
+ {0xA3A2,0xA3A2,0xFF02},
+ {0xA3A3,0xA3A3,0xFF03},
+ {0xA3A4,0xA3A4,0xFF04},
+ {0xA3A5,0xA3A5,0xFF05},
+ {0xA3A6,0xA3A6,0xFF06},
+ {0xA3A7,0xA3A7,0xFF07},
+ {0xA3A8,0xA3A8,0xFF08},
+ {0xA3A9,0xA3A9,0xFF09},
+ {0xA3AA,0xA3AA,0xFF0A},
+ {0xA3AB,0xA3AB,0xFF0B},
+ {0xA3AC,0xA3AC,0xFF0C},
+ {0xA3AD,0xA3AD,0xFF0D},
+ {0xA3AE,0xA3AE,0xFF0E},
+ {0xA3AF,0xA3AF,0xFF0F},
+ {0xA3B0,0xA3B0,0xFF10}, /* A3B0 */
+ {0xA3B1,0xA3B1,0xFF11},
+ {0xA3B2,0xA3B2,0xFF12},
+ {0xA3B3,0xA3B3,0xFF13},
+ {0xA3B4,0xA3B4,0xFF14},
+ {0xA3B5,0xA3B5,0xFF15},
+ {0xA3B6,0xA3B6,0xFF16},
+ {0xA3B7,0xA3B7,0xFF17},
+ {0xA3B8,0xA3B8,0xFF18},
+ {0xA3B9,0xA3B9,0xFF19},
+ {0xA3BA,0xA3BA,0xFF1A},
+ {0xA3BB,0xA3BB,0xFF1B},
+ {0xA3BC,0xA3BC,0xFF1C},
+ {0xA3BD,0xA3BD,0xFF1D},
+ {0xA3BE,0xA3BE,0xFF1E},
+ {0xA3BF,0xA3BF,0xFF1F},
+ {0xA3C0,0xA3C0,0xFF20}, /* A3C0 */
+ {0xA3C1,0xA3E1,0xFF21},
+ {0xA3C2,0xA3E2,0xFF22},
+ {0xA3C3,0xA3E3,0xFF23},
+ {0xA3C4,0xA3E4,0xFF24},
+ {0xA3C5,0xA3E5,0xFF25},
+ {0xA3C6,0xA3E6,0xFF26},
+ {0xA3C7,0xA3E7,0xFF27},
+ {0xA3C8,0xA3E8,0xFF28},
+ {0xA3C9,0xA3E9,0xFF29},
+ {0xA3CA,0xA3EA,0xFF2A},
+ {0xA3CB,0xA3EB,0xFF2B},
+ {0xA3CC,0xA3EC,0xFF2C},
+ {0xA3CD,0xA3ED,0xFF2D},
+ {0xA3CE,0xA3EE,0xFF2E},
+ {0xA3CF,0xA3EF,0xFF2F},
+ {0xA3D0,0xA3F0,0xFF30}, /* A3D0 */
+ {0xA3D1,0xA3F1,0xFF31},
+ {0xA3D2,0xA3F2,0xFF32},
+ {0xA3D3,0xA3F3,0xFF33},
+ {0xA3D4,0xA3F4,0xFF34},
+ {0xA3D5,0xA3F5,0xFF35},
+ {0xA3D6,0xA3F6,0xFF36},
+ {0xA3D7,0xA3F7,0xFF37},
+ {0xA3D8,0xA3F8,0xFF38},
+ {0xA3D9,0xA3F9,0xFF39},
+ {0xA3DA,0xA3FA,0xFF3A},
+ {0xA3DB,0xA3DB,0xFF3B},
+ {0xA3DC,0xA3DC,0xFFE6},
+ {0xA3DD,0xA3DD,0xFF3D},
+ {0xA3DE,0xA3DE,0xFF3E},
+ {0xA3DF,0xA3DF,0xFF3F},
+ {0xA3E0,0xA3E0,0xFF40}, /* A3E0 */
+ {0xA3C1,0xA3E1,0xFF41},
+ {0xA3C2,0xA3E2,0xFF42},
+ {0xA3C3,0xA3E3,0xFF43},
+ {0xA3C4,0xA3E4,0xFF44},
+ {0xA3C5,0xA3E5,0xFF45},
+ {0xA3C6,0xA3E6,0xFF46},
+ {0xA3C7,0xA3E7,0xFF47},
+ {0xA3C8,0xA3E8,0xFF48},
+ {0xA3C9,0xA3E9,0xFF49},
+ {0xA3CA,0xA3EA,0xFF4A},
+ {0xA3CB,0xA3EB,0xFF4B},
+ {0xA3CC,0xA3EC,0xFF4C},
+ {0xA3CD,0xA3ED,0xFF4D},
+ {0xA3CE,0xA3EE,0xFF4E},
+ {0xA3CF,0xA3EF,0xFF4F},
+ {0xA3D0,0xA3F0,0xFF50}, /* A3F0 */
+ {0xA3D1,0xA3F1,0xFF51},
+ {0xA3D2,0xA3F2,0xFF52},
+ {0xA3D3,0xA3F3,0xFF53},
+ {0xA3D4,0xA3F4,0xFF54},
+ {0xA3D5,0xA3F5,0xFF55},
+ {0xA3D6,0xA3F6,0xFF56},
+ {0xA3D7,0xA3F7,0xFF57},
+ {0xA3D8,0xA3F8,0xFF58},
+ {0xA3D9,0xA3F9,0xFF59},
+ {0xA3DA,0xA3FA,0xFF5A},
+ {0xA3FB,0xA3FB,0xFF5B},
+ {0xA3FC,0xA3FC,0xFF5C},
+ {0xA3FD,0xA3FD,0xFF5D},
+ {0xA3FE,0xA3FE,0xFFE3},
+ {0xA3FF,0xA3FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cA5[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA540,0xA540,0x003F}, /* A540 */
+ {0xA541,0xA541,0xCA47},
+ {0xA542,0xA542,0xCA48},
+ {0xA543,0xA543,0xCA49},
+ {0xA544,0xA544,0xCA4A},
+ {0xA545,0xA545,0xCA4B},
+ {0xA546,0xA546,0xCA4E},
+ {0xA547,0xA547,0xCA4F},
+ {0xA548,0xA548,0xCA51},
+ {0xA549,0xA549,0xCA52},
+ {0xA54A,0xA54A,0xCA53},
+ {0xA54B,0xA54B,0xCA55},
+ {0xA54C,0xA54C,0xCA56},
+ {0xA54D,0xA54D,0xCA57},
+ {0xA54E,0xA54E,0xCA58},
+ {0xA54F,0xA54F,0xCA59},
+ {0xA550,0xA550,0xCA5A}, /* A550 */
+ {0xA551,0xA551,0xCA5B},
+ {0xA552,0xA552,0xCA5E},
+ {0xA553,0xA553,0xCA62},
+ {0xA554,0xA554,0xCA63},
+ {0xA555,0xA555,0xCA64},
+ {0xA556,0xA556,0xCA65},
+ {0xA557,0xA557,0xCA66},
+ {0xA558,0xA558,0xCA67},
+ {0xA559,0xA559,0xCA69},
+ {0xA55A,0xA55A,0xCA6A},
+ {0xA55B,0xA55B,0x003F},
+ {0xA55C,0xA55C,0x003F},
+ {0xA55D,0xA55D,0x003F},
+ {0xA55E,0xA55E,0x003F},
+ {0xA55F,0xA55F,0x003F},
+ {0xA560,0xA560,0x003F}, /* A560 */
+ {0xA561,0xA561,0xCA6B},
+ {0xA562,0xA562,0xCA6C},
+ {0xA563,0xA563,0xCA6D},
+ {0xA564,0xA564,0xCA6E},
+ {0xA565,0xA565,0xCA6F},
+ {0xA566,0xA566,0xCA70},
+ {0xA567,0xA567,0xCA71},
+ {0xA568,0xA568,0xCA72},
+ {0xA569,0xA569,0xCA73},
+ {0xA56A,0xA56A,0xCA74},
+ {0xA56B,0xA56B,0xCA75},
+ {0xA56C,0xA56C,0xCA76},
+ {0xA56D,0xA56D,0xCA77},
+ {0xA56E,0xA56E,0xCA78},
+ {0xA56F,0xA56F,0xCA79},
+ {0xA570,0xA570,0xCA7A}, /* A570 */
+ {0xA571,0xA571,0xCA7B},
+ {0xA572,0xA572,0xCA7C},
+ {0xA573,0xA573,0xCA7E},
+ {0xA574,0xA574,0xCA7F},
+ {0xA575,0xA575,0xCA80},
+ {0xA576,0xA576,0xCA81},
+ {0xA577,0xA577,0xCA82},
+ {0xA578,0xA578,0xCA83},
+ {0xA579,0xA579,0xCA85},
+ {0xA57A,0xA57A,0xCA86},
+ {0xA57B,0xA57B,0x003F},
+ {0xA57C,0xA57C,0x003F},
+ {0xA57D,0xA57D,0x003F},
+ {0xA57E,0xA57E,0x003F},
+ {0xA57F,0xA57F,0x003F},
+ {0xA580,0xA580,0x003F}, /* A580 */
+ {0xA581,0xA581,0xCA87},
+ {0xA582,0xA582,0xCA88},
+ {0xA583,0xA583,0xCA89},
+ {0xA584,0xA584,0xCA8A},
+ {0xA585,0xA585,0xCA8B},
+ {0xA586,0xA586,0xCA8C},
+ {0xA587,0xA587,0xCA8D},
+ {0xA588,0xA588,0xCA8E},
+ {0xA589,0xA589,0xCA8F},
+ {0xA58A,0xA58A,0xCA90},
+ {0xA58B,0xA58B,0xCA91},
+ {0xA58C,0xA58C,0xCA92},
+ {0xA58D,0xA58D,0xCA93},
+ {0xA58E,0xA58E,0xCA94},
+ {0xA58F,0xA58F,0xCA95},
+ {0xA590,0xA590,0xCA96}, /* A590 */
+ {0xA591,0xA591,0xCA97},
+ {0xA592,0xA592,0xCA99},
+ {0xA593,0xA593,0xCA9A},
+ {0xA594,0xA594,0xCA9B},
+ {0xA595,0xA595,0xCA9C},
+ {0xA596,0xA596,0xCA9D},
+ {0xA597,0xA597,0xCA9E},
+ {0xA598,0xA598,0xCA9F},
+ {0xA599,0xA599,0xCAA0},
+ {0xA59A,0xA59A,0xCAA1},
+ {0xA59B,0xA59B,0xCAA2},
+ {0xA59C,0xA59C,0xCAA3},
+ {0xA59D,0xA59D,0xCAA4},
+ {0xA59E,0xA59E,0xCAA5},
+ {0xA59F,0xA59F,0xCAA6},
+ {0xA5A0,0xA5A0,0xCAA7}, /* A5A0 */
+ {0xA5B0,0xA5A1,0x2170},
+ {0xA5B1,0xA5A2,0x2171},
+ {0xA5B2,0xA5A3,0x2172},
+ {0xA5B3,0xA5A4,0x2173},
+ {0xA5B4,0xA5A5,0x2174},
+ {0xA5B5,0xA5A6,0x2175},
+ {0xA5B6,0xA5A7,0x2176},
+ {0xA5B7,0xA5A8,0x2177},
+ {0xA5B8,0xA5A9,0x2178},
+ {0xA5B9,0xA5AA,0x2179},
+ {0xA5AB,0xA5AB,0x003F},
+ {0xA5AC,0xA5AC,0x003F},
+ {0xA5AD,0xA5AD,0x003F},
+ {0xA5AE,0xA5AE,0x003F},
+ {0xA5AF,0xA5AF,0x003F},
+ {0xA5B0,0xA5A1,0x2160}, /* A5B0 */
+ {0xA5B1,0xA5A2,0x2161},
+ {0xA5B2,0xA5A3,0x2162},
+ {0xA5B3,0xA5A4,0x2163},
+ {0xA5B4,0xA5A5,0x2164},
+ {0xA5B5,0xA5A6,0x2165},
+ {0xA5B6,0xA5A7,0x2166},
+ {0xA5B7,0xA5A8,0x2167},
+ {0xA5B8,0xA5A9,0x2168},
+ {0xA5B9,0xA5AA,0x2169},
+ {0xA5BA,0xA5BA,0x003F},
+ {0xA5BB,0xA5BB,0x003F},
+ {0xA5BC,0xA5BC,0x003F},
+ {0xA5BD,0xA5BD,0x003F},
+ {0xA5BE,0xA5BE,0x003F},
+ {0xA5BF,0xA5BF,0x003F},
+ {0xA5C0,0xA5C0,0x003F}, /* A5C0 */
+ {0xA5C1,0xA5E1,0x0391},
+ {0xA5C2,0xA5E2,0x0392},
+ {0xA5C3,0xA5E3,0x0393},
+ {0xA5C4,0xA5E4,0x0394},
+ {0xA5C5,0xA5E5,0x0395},
+ {0xA5C6,0xA5E6,0x0396},
+ {0xA5C7,0xA5E7,0x0397},
+ {0xA5C8,0xA5E8,0x0398},
+ {0xA5C9,0xA5E9,0x0399},
+ {0xA5CA,0xA5EA,0x039A},
+ {0xA5CB,0xA5EB,0x039B},
+ {0xA5CC,0xA5EC,0x039C},
+ {0xA5CD,0xA5ED,0x039D},
+ {0xA5CE,0xA5EE,0x039E},
+ {0xA5CF,0xA5EF,0x039F},
+ {0xA5D0,0xA5F0,0x03A0}, /* A5D0 */
+ {0xA5D1,0xA5F1,0x03A1},
+ {0xA5D2,0xA5F2,0x03A3},
+ {0xA5D3,0xA5F3,0x03A4},
+ {0xA5D4,0xA5F4,0x03A5},
+ {0xA5D5,0xA5F5,0x03A6},
+ {0xA5D6,0xA5F6,0x03A7},
+ {0xA5D7,0xA5F7,0x03A8},
+ {0xA5D8,0xA5F8,0x03A9},
+ {0xA5D9,0xA5D9,0x003F},
+ {0xA5DA,0xA5DA,0x003F},
+ {0xA5DB,0xA5DB,0x003F},
+ {0xA5DC,0xA5DC,0x003F},
+ {0xA5DD,0xA5DD,0x003F},
+ {0xA5DE,0xA5DE,0x003F},
+ {0xA5DF,0xA5DF,0x003F},
+ {0xA5E0,0xA5E0,0x003F}, /* A5E0 */
+ {0xA5C1,0xA5E1,0x03B1},
+ {0xA5C2,0xA5E2,0x03B2},
+ {0xA5C3,0xA5E3,0x03B3},
+ {0xA5C4,0xA5E4,0x03B4},
+ {0xA5C5,0xA5E5,0x03B5},
+ {0xA5C6,0xA5E6,0x03B6},
+ {0xA5C7,0xA5E7,0x03B7},
+ {0xA5C8,0xA5E8,0x03B8},
+ {0xA5C9,0xA5E9,0x03B9},
+ {0xA5CA,0xA5EA,0x03BA},
+ {0xA5CB,0xA5EB,0x03BB},
+ {0xA5CC,0xA5EC,0x03BC},
+ {0xA5CD,0xA5ED,0x03BD},
+ {0xA5CE,0xA5EE,0x03BE},
+ {0xA5CF,0xA5EF,0x03BF},
+ {0xA5D0,0xA5F0,0x03C0}, /* A5F0 */
+ {0xA5D1,0xA5F1,0x03C1},
+ {0xA5D2,0xA5F2,0x03C3},
+ {0xA5D3,0xA5F3,0x03C4},
+ {0xA5D4,0xA5F4,0x03C5},
+ {0xA5D5,0xA5F5,0x03C6},
+ {0xA5D6,0xA5F6,0x03C7},
+ {0xA5D7,0xA5F7,0x03C8},
+ {0xA5D8,0xA5F8,0x03C9},
+ {0xA5F9,0xA5F9,0x003F},
+ {0xA5FA,0xA5FA,0x003F},
+ {0xA5FB,0xA5FB,0x003F},
+ {0xA5FC,0xA5FC,0x003F},
+ {0xA5FD,0xA5FD,0x003F},
+ {0xA5FE,0xA5FE,0x003F},
+ {0xA5FF,0xA5FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cA7[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA740,0xA740,0x003F}, /* A740 */
+ {0xA741,0xA741,0xCB0B},
+ {0xA742,0xA742,0xCB0C},
+ {0xA743,0xA743,0xCB0D},
+ {0xA744,0xA744,0xCB0E},
+ {0xA745,0xA745,0xCB0F},
+ {0xA746,0xA746,0xCB11},
+ {0xA747,0xA747,0xCB12},
+ {0xA748,0xA748,0xCB13},
+ {0xA749,0xA749,0xCB15},
+ {0xA74A,0xA74A,0xCB16},
+ {0xA74B,0xA74B,0xCB17},
+ {0xA74C,0xA74C,0xCB19},
+ {0xA74D,0xA74D,0xCB1A},
+ {0xA74E,0xA74E,0xCB1B},
+ {0xA74F,0xA74F,0xCB1C},
+ {0xA750,0xA750,0xCB1D}, /* A750 */
+ {0xA751,0xA751,0xCB1E},
+ {0xA752,0xA752,0xCB1F},
+ {0xA753,0xA753,0xCB22},
+ {0xA754,0xA754,0xCB23},
+ {0xA755,0xA755,0xCB24},
+ {0xA756,0xA756,0xCB25},
+ {0xA757,0xA757,0xCB26},
+ {0xA758,0xA758,0xCB27},
+ {0xA759,0xA759,0xCB28},
+ {0xA75A,0xA75A,0xCB29},
+ {0xA75B,0xA75B,0x003F},
+ {0xA75C,0xA75C,0x003F},
+ {0xA75D,0xA75D,0x003F},
+ {0xA75E,0xA75E,0x003F},
+ {0xA75F,0xA75F,0x003F},
+ {0xA760,0xA760,0x003F}, /* A760 */
+ {0xA761,0xA761,0xCB2A},
+ {0xA762,0xA762,0xCB2B},
+ {0xA763,0xA763,0xCB2C},
+ {0xA764,0xA764,0xCB2D},
+ {0xA765,0xA765,0xCB2E},
+ {0xA766,0xA766,0xCB2F},
+ {0xA767,0xA767,0xCB30},
+ {0xA768,0xA768,0xCB31},
+ {0xA769,0xA769,0xCB32},
+ {0xA76A,0xA76A,0xCB33},
+ {0xA76B,0xA76B,0xCB34},
+ {0xA76C,0xA76C,0xCB35},
+ {0xA76D,0xA76D,0xCB36},
+ {0xA76E,0xA76E,0xCB37},
+ {0xA76F,0xA76F,0xCB38},
+ {0xA770,0xA770,0xCB39}, /* A770 */
+ {0xA771,0xA771,0xCB3A},
+ {0xA772,0xA772,0xCB3B},
+ {0xA773,0xA773,0xCB3C},
+ {0xA774,0xA774,0xCB3D},
+ {0xA775,0xA775,0xCB3E},
+ {0xA776,0xA776,0xCB3F},
+ {0xA777,0xA777,0xCB40},
+ {0xA778,0xA778,0xCB42},
+ {0xA779,0xA779,0xCB43},
+ {0xA77A,0xA77A,0xCB44},
+ {0xA77B,0xA77B,0x003F},
+ {0xA77C,0xA77C,0x003F},
+ {0xA77D,0xA77D,0x003F},
+ {0xA77E,0xA77E,0x003F},
+ {0xA77F,0xA77F,0x003F},
+ {0xA780,0xA780,0x003F}, /* A780 */
+ {0xA781,0xA781,0xCB45},
+ {0xA782,0xA782,0xCB46},
+ {0xA783,0xA783,0xCB47},
+ {0xA784,0xA784,0xCB4A},
+ {0xA785,0xA785,0xCB4B},
+ {0xA786,0xA786,0xCB4D},
+ {0xA787,0xA787,0xCB4E},
+ {0xA788,0xA788,0xCB4F},
+ {0xA789,0xA789,0xCB51},
+ {0xA78A,0xA78A,0xCB52},
+ {0xA78B,0xA78B,0xCB53},
+ {0xA78C,0xA78C,0xCB54},
+ {0xA78D,0xA78D,0xCB55},
+ {0xA78E,0xA78E,0xCB56},
+ {0xA78F,0xA78F,0xCB57},
+ {0xA790,0xA790,0xCB5A}, /* A790 */
+ {0xA791,0xA791,0xCB5B},
+ {0xA792,0xA792,0xCB5C},
+ {0xA793,0xA793,0xCB5E},
+ {0xA794,0xA794,0xCB5F},
+ {0xA795,0xA795,0xCB60},
+ {0xA796,0xA796,0xCB61},
+ {0xA797,0xA797,0xCB62},
+ {0xA798,0xA798,0xCB63},
+ {0xA799,0xA799,0xCB65},
+ {0xA79A,0xA79A,0xCB66},
+ {0xA79B,0xA79B,0xCB67},
+ {0xA79C,0xA79C,0xCB68},
+ {0xA79D,0xA79D,0xCB69},
+ {0xA79E,0xA79E,0xCB6A},
+ {0xA79F,0xA79F,0xCB6B},
+ {0xA7A0,0xA7A0,0xCB6C}, /* A7A0 */
+ {0xA7A1,0xA7A1,0x3395},
+ {0xA7A2,0xA7A2,0x3396},
+ {0xA7A3,0xA7A3,0x3397},
+ {0xA7A4,0xA7A4,0x2113},
+ {0xA7A5,0xA7A5,0x3398},
+ {0xA7A6,0xA7A6,0x33C4},
+ {0xA7A7,0xA7A7,0x33A3},
+ {0xA7A8,0xA7A8,0x33A4},
+ {0xA7A9,0xA7A9,0x33A5},
+ {0xA7AA,0xA7AA,0x33A6},
+ {0xA7AB,0xA7AB,0x3399},
+ {0xA7AC,0xA7AC,0x339A},
+ {0xA7AD,0xA7AD,0x339B},
+ {0xA7AE,0xA7AE,0x339C},
+ {0xA7AF,0xA7AF,0x339D},
+ {0xA7B0,0xA7B0,0x339E}, /* A7B0 */
+ {0xA7B1,0xA7B1,0x339F},
+ {0xA7B2,0xA7B2,0x33A0},
+ {0xA7B3,0xA7B3,0x33A1},
+ {0xA7B4,0xA7B4,0x33A2},
+ {0xA7B5,0xA7B5,0x33CA},
+ {0xA7B6,0xA7B6,0x338D},
+ {0xA7B7,0xA7B7,0x338E},
+ {0xA7B8,0xA7B8,0x338F},
+ {0xA7B9,0xA7B9,0x33CF},
+ {0xA7BA,0xA7BA,0x3388},
+ {0xA7BB,0xA7BB,0x3389},
+ {0xA7BC,0xA7BC,0x33C8},
+ {0xA7BD,0xA7BD,0x33A7},
+ {0xA7BE,0xA7BE,0x33A8},
+ {0xA7BF,0xA7BF,0x33B0},
+ {0xA7C0,0xA7C0,0x33B1}, /* A7C0 */
+ {0xA7C1,0xA7C1,0x33B2},
+ {0xA7C2,0xA7C2,0x33B3},
+ {0xA7C3,0xA7C3,0x33B4},
+ {0xA7C4,0xA7C4,0x33B5},
+ {0xA7C5,0xA7C5,0x33B6},
+ {0xA7C6,0xA7C6,0x33B7},
+ {0xA7C7,0xA7C7,0x33B8},
+ {0xA7C8,0xA7C8,0x33B9},
+ {0xA7C9,0xA7C9,0x3380},
+ {0xA7CA,0xA7CA,0x3381},
+ {0xA7CB,0xA7CB,0x3382},
+ {0xA7CC,0xA7CC,0x3383},
+ {0xA7CD,0xA7CD,0x3384},
+ {0xA7CE,0xA7CE,0x33BA},
+ {0xA7CF,0xA7CF,0x33BB},
+ {0xA7D0,0xA7D0,0x33BC}, /* A7D0 */
+ {0xA7D1,0xA7D1,0x33BD},
+ {0xA7D2,0xA7D2,0x33BE},
+ {0xA7D3,0xA7D3,0x33BF},
+ {0xA7D4,0xA7D4,0x3390},
+ {0xA7D5,0xA7D5,0x3391},
+ {0xA7D6,0xA7D6,0x3392},
+ {0xA7D7,0xA7D7,0x3393},
+ {0xA7D8,0xA7D8,0x3394},
+ {0xA7D9,0xA5F8,0x2126},
+ {0xA7DA,0xA7DA,0x33C0},
+ {0xA7DB,0xA7DB,0x33C1},
+ {0xA7DC,0xA7DC,0x338A},
+ {0xA7DD,0xA7DD,0x338B},
+ {0xA7DE,0xA7DE,0x338C},
+ {0xA7DF,0xA7DF,0x33D6},
+ {0xA7E0,0xA7E0,0x33C5}, /* A7E0 */
+ {0xA7E1,0xA7E1,0x33AD},
+ {0xA7E2,0xA7E2,0x33AE},
+ {0xA7E3,0xA7E3,0x33AF},
+ {0xA7E4,0xA7E4,0x33DB},
+ {0xA7E5,0xA7E5,0x33A9},
+ {0xA7E6,0xA7E6,0x33AA},
+ {0xA7E7,0xA7E7,0x33AB},
+ {0xA7E8,0xA7E8,0x33AC},
+ {0xA7E9,0xA7E9,0x33DD},
+ {0xA7EA,0xA7EA,0x33D0},
+ {0xA7EB,0xA7EB,0x33D3},
+ {0xA7EC,0xA7EC,0x33C3},
+ {0xA7ED,0xA7ED,0x33C9},
+ {0xA7EE,0xA7EE,0x33DC},
+ {0xA7EF,0xA7EF,0x33C6},
+ {0xA7F0,0xA7F0,0x003F}, /* A7F0 */
+ {0xA7F1,0xA7F1,0x003F},
+ {0xA7F2,0xA7F2,0x003F},
+ {0xA7F3,0xA7F3,0x003F},
+ {0xA7F4,0xA7F4,0x003F},
+ {0xA7F5,0xA7F5,0x003F},
+ {0xA7F6,0xA7F6,0x003F},
+ {0xA7F7,0xA7F7,0x003F},
+ {0xA7F8,0xA7F8,0x003F},
+ {0xA7F9,0xA7F9,0x003F},
+ {0xA7FA,0xA7FA,0x003F},
+ {0xA7FB,0xA7FB,0x003F},
+ {0xA7FC,0xA7FC,0x003F},
+ {0xA7FD,0xA7FD,0x003F},
+ {0xA7FE,0xA7FE,0x003F},
+ {0xA7FF,0xA7FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cA8[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA840,0xA840,0x003F}, /* A840 */
+ {0xA841,0xA841,0xCB6D},
+ {0xA842,0xA842,0xCB6E},
+ {0xA843,0xA843,0xCB6F},
+ {0xA844,0xA844,0xCB70},
+ {0xA845,0xA845,0xCB71},
+ {0xA846,0xA846,0xCB72},
+ {0xA847,0xA847,0xCB73},
+ {0xA848,0xA848,0xCB74},
+ {0xA849,0xA849,0xCB75},
+ {0xA84A,0xA84A,0xCB76},
+ {0xA84B,0xA84B,0xCB77},
+ {0xA84C,0xA84C,0xCB7A},
+ {0xA84D,0xA84D,0xCB7B},
+ {0xA84E,0xA84E,0xCB7C},
+ {0xA84F,0xA84F,0xCB7D},
+ {0xA850,0xA850,0xCB7E}, /* A850 */
+ {0xA851,0xA851,0xCB7F},
+ {0xA852,0xA852,0xCB80},
+ {0xA853,0xA853,0xCB81},
+ {0xA854,0xA854,0xCB82},
+ {0xA855,0xA855,0xCB83},
+ {0xA856,0xA856,0xCB84},
+ {0xA857,0xA857,0xCB85},
+ {0xA858,0xA858,0xCB86},
+ {0xA859,0xA859,0xCB87},
+ {0xA85A,0xA85A,0xCB88},
+ {0xA85B,0xA85B,0x003F},
+ {0xA85C,0xA85C,0x003F},
+ {0xA85D,0xA85D,0x003F},
+ {0xA85E,0xA85E,0x003F},
+ {0xA85F,0xA85F,0x003F},
+ {0xA860,0xA860,0x003F}, /* A860 */
+ {0xA861,0xA861,0xCB89},
+ {0xA862,0xA862,0xCB8A},
+ {0xA863,0xA863,0xCB8B},
+ {0xA864,0xA864,0xCB8C},
+ {0xA865,0xA865,0xCB8D},
+ {0xA866,0xA866,0xCB8E},
+ {0xA867,0xA867,0xCB8F},
+ {0xA868,0xA868,0xCB90},
+ {0xA869,0xA869,0xCB91},
+ {0xA86A,0xA86A,0xCB92},
+ {0xA86B,0xA86B,0xCB93},
+ {0xA86C,0xA86C,0xCB94},
+ {0xA86D,0xA86D,0xCB95},
+ {0xA86E,0xA86E,0xCB96},
+ {0xA86F,0xA86F,0xCB97},
+ {0xA870,0xA870,0xCB98}, /* A870 */
+ {0xA871,0xA871,0xCB99},
+ {0xA872,0xA872,0xCB9A},
+ {0xA873,0xA873,0xCB9B},
+ {0xA874,0xA874,0xCB9D},
+ {0xA875,0xA875,0xCB9E},
+ {0xA876,0xA876,0xCB9F},
+ {0xA877,0xA877,0xCBA0},
+ {0xA878,0xA878,0xCBA1},
+ {0xA879,0xA879,0xCBA2},
+ {0xA87A,0xA87A,0xCBA3},
+ {0xA87B,0xA87B,0x003F},
+ {0xA87C,0xA87C,0x003F},
+ {0xA87D,0xA87D,0x003F},
+ {0xA87E,0xA87E,0x003F},
+ {0xA87F,0xA87F,0x003F},
+ {0xA880,0xA880,0x003F}, /* A880 */
+ {0xA881,0xA881,0xCBA4},
+ {0xA882,0xA882,0xCBA5},
+ {0xA883,0xA883,0xCBA6},
+ {0xA884,0xA884,0xCBA7},
+ {0xA885,0xA885,0xCBA8},
+ {0xA886,0xA886,0xCBA9},
+ {0xA887,0xA887,0xCBAA},
+ {0xA888,0xA888,0xCBAB},
+ {0xA889,0xA889,0xCBAC},
+ {0xA88A,0xA88A,0xCBAD},
+ {0xA88B,0xA88B,0xCBAE},
+ {0xA88C,0xA88C,0xCBAF},
+ {0xA88D,0xA88D,0xCBB0},
+ {0xA88E,0xA88E,0xCBB1},
+ {0xA88F,0xA88F,0xCBB2},
+ {0xA890,0xA890,0xCBB3}, /* A890 */
+ {0xA891,0xA891,0xCBB4},
+ {0xA892,0xA892,0xCBB5},
+ {0xA893,0xA893,0xCBB6},
+ {0xA894,0xA894,0xCBB7},
+ {0xA895,0xA895,0xCBB9},
+ {0xA896,0xA896,0xCBBA},
+ {0xA897,0xA897,0xCBBB},
+ {0xA898,0xA898,0xCBBC},
+ {0xA899,0xA899,0xCBBD},
+ {0xA89A,0xA89A,0xCBBE},
+ {0xA89B,0xA89B,0xCBBF},
+ {0xA89C,0xA89C,0xCBC0},
+ {0xA89D,0xA89D,0xCBC1},
+ {0xA89E,0xA89E,0xCBC2},
+ {0xA89F,0xA89F,0xCBC3},
+ {0xA8A0,0xA8A0,0xCBC4}, /* A8A0 */
+ {0xA8A1,0xA9A1,0x00C6},
+ {0xA8A2,0xA9A3,0x00D0},
+ {0xA8A3,0xA8A3,0x00AA},
+ {0xA8A4,0xA9A4,0x0126},
+ {0xA8A5,0xA8A5,0x003F},
+ {0xA8A6,0xA9A6,0x0132},
+ {0xA8A7,0xA8A7,0x003F},
+ {0xA8A8,0xA9A8,0x013F},
+ {0xA8A9,0xA9A9,0x0141},
+ {0xA8AA,0xA9AA,0x00D8},
+ {0xA8AB,0xA9AB,0x0152},
+ {0xA8AC,0xA8AC,0x00BA},
+ {0xA8AD,0xA9AD,0x00DE},
+ {0xA8AE,0xA9AE,0x0166},
+ {0xA8AF,0xA9AF,0x014A},
+ {0xA8B0,0xA8B0,0x003F}, /* A8B0 */
+ {0xA8B1,0xA8B1,0x3260},
+ {0xA8B2,0xA8B2,0x3261},
+ {0xA8B3,0xA8B3,0x3262},
+ {0xA8B4,0xA8B4,0x3263},
+ {0xA8B5,0xA8B5,0x3264},
+ {0xA8B6,0xA8B6,0x3265},
+ {0xA8B7,0xA8B7,0x3266},
+ {0xA8B8,0xA8B8,0x3267},
+ {0xA8B9,0xA8B9,0x3268},
+ {0xA8BA,0xA8BA,0x3269},
+ {0xA8BB,0xA8BB,0x326A},
+ {0xA8BC,0xA8BC,0x326B},
+ {0xA8BD,0xA8BD,0x326C},
+ {0xA8BE,0xA8BE,0x326D},
+ {0xA8BF,0xA8BF,0x326E},
+ {0xA8C0,0xA8C0,0x326F}, /* A8C0 */
+ {0xA8C1,0xA8C1,0x3270},
+ {0xA8C2,0xA8C2,0x3271},
+ {0xA8C3,0xA8C3,0x3272},
+ {0xA8C4,0xA8C4,0x3273},
+ {0xA8C5,0xA8C5,0x3274},
+ {0xA8C6,0xA8C6,0x3275},
+ {0xA8C7,0xA8C7,0x3276},
+ {0xA8C8,0xA8C8,0x3277},
+ {0xA8C9,0xA8C9,0x3278},
+ {0xA8CA,0xA8CA,0x3279},
+ {0xA8CB,0xA8CB,0x327A},
+ {0xA8CC,0xA8CC,0x327B},
+ {0xA8CD,0xA8CD,0x24D0},
+ {0xA8CE,0xA8CE,0x24D1},
+ {0xA8CF,0xA8CF,0x24D2},
+ {0xA8D0,0xA8D0,0x24D3}, /* A8D0 */
+ {0xA8D1,0xA8D1,0x24D4},
+ {0xA8D2,0xA8D2,0x24D5},
+ {0xA8D3,0xA8D3,0x24D6},
+ {0xA8D4,0xA8D4,0x24D7},
+ {0xA8D5,0xA8D5,0x24D8},
+ {0xA8D6,0xA8D6,0x24D9},
+ {0xA8D7,0xA8D7,0x24DA},
+ {0xA8D8,0xA8D8,0x24DB},
+ {0xA8D9,0xA8D9,0x24DC},
+ {0xA8DA,0xA8DA,0x24DD},
+ {0xA8DB,0xA8DB,0x24DE},
+ {0xA8DC,0xA8DC,0x24DF},
+ {0xA8DD,0xA8DD,0x24E0},
+ {0xA8DE,0xA8DE,0x24E1},
+ {0xA8DF,0xA8DF,0x24E2},
+ {0xA8E0,0xA8E0,0x24E3}, /* A8E0 */
+ {0xA8E1,0xA8E1,0x24E4},
+ {0xA8E2,0xA8E2,0x24E5},
+ {0xA8E3,0xA8E3,0x24E6},
+ {0xA8E4,0xA8E4,0x24E7},
+ {0xA8E5,0xA8E5,0x24E8},
+ {0xA8E6,0xA8E6,0x24E9},
+ {0xA8E7,0xA8E7,0x2460},
+ {0xA8E8,0xA8E8,0x2461},
+ {0xA8E9,0xA8E9,0x2462},
+ {0xA8EA,0xA8EA,0x2463},
+ {0xA8EB,0xA8EB,0x2464},
+ {0xA8EC,0xA8EC,0x2465},
+ {0xA8ED,0xA8ED,0x2466},
+ {0xA8EE,0xA8EE,0x2467},
+ {0xA8EF,0xA8EF,0x2468},
+ {0xA8F0,0xA8F0,0x2469}, /* A8F0 */
+ {0xA8F1,0xA8F1,0x246A},
+ {0xA8F2,0xA8F2,0x246B},
+ {0xA8F3,0xA8F3,0x246C},
+ {0xA8F4,0xA8F4,0x246D},
+ {0xA8F5,0xA8F5,0x246E},
+ {0xA8F6,0xA8F6,0x00BD},
+ {0xA8F7,0xA8F7,0x2153},
+ {0xA8F8,0xA8F8,0x2154},
+ {0xA8F9,0xA8F9,0x00BC},
+ {0xA8FA,0xA8FA,0x00BE},
+ {0xA8FB,0xA8FB,0x215B},
+ {0xA8FC,0xA8FC,0x215C},
+ {0xA8FD,0xA8FD,0x215D},
+ {0xA8FE,0xA8FE,0x215E},
+ {0xA8FF,0xA8FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cA9[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA940,0xA940,0x003F}, /* A940 */
+ {0xA941,0xA941,0xCBC5},
+ {0xA942,0xA942,0xCBC6},
+ {0xA943,0xA943,0xCBC7},
+ {0xA944,0xA944,0xCBC8},
+ {0xA945,0xA945,0xCBC9},
+ {0xA946,0xA946,0xCBCA},
+ {0xA947,0xA947,0xCBCB},
+ {0xA948,0xA948,0xCBCC},
+ {0xA949,0xA949,0xCBCD},
+ {0xA94A,0xA94A,0xCBCE},
+ {0xA94B,0xA94B,0xCBCF},
+ {0xA94C,0xA94C,0xCBD0},
+ {0xA94D,0xA94D,0xCBD1},
+ {0xA94E,0xA94E,0xCBD2},
+ {0xA94F,0xA94F,0xCBD3},
+ {0xA950,0xA950,0xCBD5}, /* A950 */
+ {0xA951,0xA951,0xCBD6},
+ {0xA952,0xA952,0xCBD7},
+ {0xA953,0xA953,0xCBD8},
+ {0xA954,0xA954,0xCBD9},
+ {0xA955,0xA955,0xCBDA},
+ {0xA956,0xA956,0xCBDB},
+ {0xA957,0xA957,0xCBDC},
+ {0xA958,0xA958,0xCBDD},
+ {0xA959,0xA959,0xCBDE},
+ {0xA95A,0xA95A,0xCBDF},
+ {0xA95B,0xA95B,0x003F},
+ {0xA95C,0xA95C,0x003F},
+ {0xA95D,0xA95D,0x003F},
+ {0xA95E,0xA95E,0x003F},
+ {0xA95F,0xA95F,0x003F},
+ {0xA960,0xA960,0x003F}, /* A960 */
+ {0xA961,0xA961,0xCBE0},
+ {0xA962,0xA962,0xCBE1},
+ {0xA963,0xA963,0xCBE2},
+ {0xA964,0xA964,0xCBE3},
+ {0xA965,0xA965,0xCBE5},
+ {0xA966,0xA966,0xCBE6},
+ {0xA967,0xA967,0xCBE8},
+ {0xA968,0xA968,0xCBEA},
+ {0xA969,0xA969,0xCBEB},
+ {0xA96A,0xA96A,0xCBEC},
+ {0xA96B,0xA96B,0xCBED},
+ {0xA96C,0xA96C,0xCBEE},
+ {0xA96D,0xA96D,0xCBEF},
+ {0xA96E,0xA96E,0xCBF0},
+ {0xA96F,0xA96F,0xCBF1},
+ {0xA970,0xA970,0xCBF2}, /* A970 */
+ {0xA971,0xA971,0xCBF3},
+ {0xA972,0xA972,0xCBF4},
+ {0xA973,0xA973,0xCBF5},
+ {0xA974,0xA974,0xCBF6},
+ {0xA975,0xA975,0xCBF7},
+ {0xA976,0xA976,0xCBF8},
+ {0xA977,0xA977,0xCBF9},
+ {0xA978,0xA978,0xCBFA},
+ {0xA979,0xA979,0xCBFB},
+ {0xA97A,0xA97A,0xCBFC},
+ {0xA97B,0xA97B,0x003F},
+ {0xA97C,0xA97C,0x003F},
+ {0xA97D,0xA97D,0x003F},
+ {0xA97E,0xA97E,0x003F},
+ {0xA97F,0xA97F,0x003F},
+ {0xA980,0xA980,0x003F}, /* A980 */
+ {0xA981,0xA981,0xCBFD},
+ {0xA982,0xA982,0xCBFE},
+ {0xA983,0xA983,0xCBFF},
+ {0xA984,0xA984,0xCC00},
+ {0xA985,0xA985,0xCC01},
+ {0xA986,0xA986,0xCC02},
+ {0xA987,0xA987,0xCC03},
+ {0xA988,0xA988,0xCC04},
+ {0xA989,0xA989,0xCC05},
+ {0xA98A,0xA98A,0xCC06},
+ {0xA98B,0xA98B,0xCC07},
+ {0xA98C,0xA98C,0xCC08},
+ {0xA98D,0xA98D,0xCC09},
+ {0xA98E,0xA98E,0xCC0A},
+ {0xA98F,0xA98F,0xCC0B},
+ {0xA990,0xA990,0xCC0E}, /* A990 */
+ {0xA991,0xA991,0xCC0F},
+ {0xA992,0xA992,0xCC11},
+ {0xA993,0xA993,0xCC12},
+ {0xA994,0xA994,0xCC13},
+ {0xA995,0xA995,0xCC15},
+ {0xA996,0xA996,0xCC16},
+ {0xA997,0xA997,0xCC17},
+ {0xA998,0xA998,0xCC18},
+ {0xA999,0xA999,0xCC19},
+ {0xA99A,0xA99A,0xCC1A},
+ {0xA99B,0xA99B,0xCC1B},
+ {0xA99C,0xA99C,0xCC1E},
+ {0xA99D,0xA99D,0xCC1F},
+ {0xA99E,0xA99E,0xCC20},
+ {0xA99F,0xA99F,0xCC23},
+ {0xA9A0,0xA9A0,0xCC24}, /* A9A0 */
+ {0xA8A1,0xA9A1,0x00E6},
+ {0xA9A2,0xA9A2,0x0111},
+ {0xA8A2,0xA9A3,0x00F0},
+ {0xA8A4,0xA9A4,0x0127},
+ { 0x49,0xA9A5,0x0131}, /* Turkish i */
+ {0xA8A6,0xA9A6,0x0133},
+ {0xA9A7,0xA9A7,0x0138},
+ {0xA8A8,0xA9A8,0x0140},
+ {0xA8A9,0xA9A9,0x0142},
+ {0xA8AA,0xA9AA,0x00F8},
+ {0xA8AB,0xA9AB,0x0153},
+ {0xA9AC,0xA9AC,0x00DF},
+ {0xA8AD,0xA9AD,0x00FE},
+ {0xA8AE,0xA9AE,0x0167},
+ {0xA8AF,0xA9AF,0x014B},
+ {0xA9B0,0xA9B0,0x0149}, /* A9B0 */
+ {0xA9B1,0xA9B1,0x3200},
+ {0xA9B2,0xA9B2,0x3201},
+ {0xA9B3,0xA9B3,0x3202},
+ {0xA9B4,0xA9B4,0x3203},
+ {0xA9B5,0xA9B5,0x3204},
+ {0xA9B6,0xA9B6,0x3205},
+ {0xA9B7,0xA9B7,0x3206},
+ {0xA9B8,0xA9B8,0x3207},
+ {0xA9B9,0xA9B9,0x3208},
+ {0xA9BA,0xA9BA,0x3209},
+ {0xA9BB,0xA9BB,0x320A},
+ {0xA9BC,0xA9BC,0x320B},
+ {0xA9BD,0xA9BD,0x320C},
+ {0xA9BE,0xA9BE,0x320D},
+ {0xA9BF,0xA9BF,0x320E},
+ {0xA9C0,0xA9C0,0x320F}, /* A9C0 */
+ {0xA9C1,0xA9C1,0x3210},
+ {0xA9C2,0xA9C2,0x3211},
+ {0xA9C3,0xA9C3,0x3212},
+ {0xA9C4,0xA9C4,0x3213},
+ {0xA9C5,0xA9C5,0x3214},
+ {0xA9C6,0xA9C6,0x3215},
+ {0xA9C7,0xA9C7,0x3216},
+ {0xA9C8,0xA9C8,0x3217},
+ {0xA9C9,0xA9C9,0x3218},
+ {0xA9CA,0xA9CA,0x3219},
+ {0xA9CB,0xA9CB,0x321A},
+ {0xA9CC,0xA9CC,0x321B},
+ {0xA9CD,0xA9CD,0x249C},
+ {0xA9CE,0xA9CE,0x249D},
+ {0xA9CF,0xA9CF,0x249E},
+ {0xA9D0,0xA9D0,0x249F}, /* A9D0 */
+ {0xA9D1,0xA9D1,0x24A0},
+ {0xA9D2,0xA9D2,0x24A1},
+ {0xA9D3,0xA9D3,0x24A2},
+ {0xA9D4,0xA9D4,0x24A3},
+ {0xA9D5,0xA9D5,0x24A4},
+ {0xA9D6,0xA9D6,0x24A5},
+ {0xA9D7,0xA9D7,0x24A6},
+ {0xA9D8,0xA9D8,0x24A7},
+ {0xA9D9,0xA9D9,0x24A8},
+ {0xA9DA,0xA9DA,0x24A9},
+ {0xA9DB,0xA9DB,0x24AA},
+ {0xA9DC,0xA9DC,0x24AB},
+ {0xA9DD,0xA9DD,0x24AC},
+ {0xA9DE,0xA9DE,0x24AD},
+ {0xA9DF,0xA9DF,0x24AE},
+ {0xA9E0,0xA9E0,0x24AF}, /* A9E0 */
+ {0xA9E1,0xA9E1,0x24B0},
+ {0xA9E2,0xA9E2,0x24B1},
+ {0xA9E3,0xA9E3,0x24B2},
+ {0xA9E4,0xA9E4,0x24B3},
+ {0xA9E5,0xA9E5,0x24B4},
+ {0xA9E6,0xA9E6,0x24B5},
+ {0xA9E7,0xA9E7,0x2474},
+ {0xA9E8,0xA9E8,0x2475},
+ {0xA9E9,0xA9E9,0x2476},
+ {0xA9EA,0xA9EA,0x2477},
+ {0xA9EB,0xA9EB,0x2478},
+ {0xA9EC,0xA9EC,0x2479},
+ {0xA9ED,0xA9ED,0x247A},
+ {0xA9EE,0xA9EE,0x247B},
+ {0xA9EF,0xA9EF,0x247C},
+ {0xA9F0,0xA9F0,0x247D}, /* A9F0 */
+ {0xA9F1,0xA9F1,0x247E},
+ {0xA9F2,0xA9F2,0x247F},
+ {0xA9F3,0xA9F3,0x2480},
+ {0xA9F4,0xA9F4,0x2481},
+ {0xA9F5,0xA9F5,0x2482},
+ {0xA9F6,0xA9F6,0x00B9},
+ {0xA9F7,0xA9F7,0x00B2},
+ {0xA9F8,0xA9F8,0x00B3},
+ {0xA9F9,0xA9F9,0x2074},
+ {0xA9FA,0xA9FA,0x207F},
+ {0xA9FB,0xA9FB,0x2081},
+ {0xA9FC,0xA9FC,0x2082},
+ {0xA9FD,0xA9FD,0x2083},
+ {0xA9FE,0xA9FE,0x2084},
+ {0xA9FF,0xA9FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cAC[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xAC40,0xAC40,0x003F}, /* AC40 */
+ {0xAC41,0xAC41,0xCCFE},
+ {0xAC42,0xAC42,0xCCFF},
+ {0xAC43,0xAC43,0xCD00},
+ {0xAC44,0xAC44,0xCD02},
+ {0xAC45,0xAC45,0xCD03},
+ {0xAC46,0xAC46,0xCD04},
+ {0xAC47,0xAC47,0xCD05},
+ {0xAC48,0xAC48,0xCD06},
+ {0xAC49,0xAC49,0xCD07},
+ {0xAC4A,0xAC4A,0xCD0A},
+ {0xAC4B,0xAC4B,0xCD0B},
+ {0xAC4C,0xAC4C,0xCD0D},
+ {0xAC4D,0xAC4D,0xCD0E},
+ {0xAC4E,0xAC4E,0xCD0F},
+ {0xAC4F,0xAC4F,0xCD11},
+ {0xAC50,0xAC50,0xCD12}, /* AC50 */
+ {0xAC51,0xAC51,0xCD13},
+ {0xAC52,0xAC52,0xCD14},
+ {0xAC53,0xAC53,0xCD15},
+ {0xAC54,0xAC54,0xCD16},
+ {0xAC55,0xAC55,0xCD17},
+ {0xAC56,0xAC56,0xCD1A},
+ {0xAC57,0xAC57,0xCD1C},
+ {0xAC58,0xAC58,0xCD1E},
+ {0xAC59,0xAC59,0xCD1F},
+ {0xAC5A,0xAC5A,0xCD20},
+ {0xAC5B,0xAC5B,0x003F},
+ {0xAC5C,0xAC5C,0x003F},
+ {0xAC5D,0xAC5D,0x003F},
+ {0xAC5E,0xAC5E,0x003F},
+ {0xAC5F,0xAC5F,0x003F},
+ {0xAC60,0xAC60,0x003F}, /* AC60 */
+ {0xAC61,0xAC61,0xCD21},
+ {0xAC62,0xAC62,0xCD22},
+ {0xAC63,0xAC63,0xCD23},
+ {0xAC64,0xAC64,0xCD25},
+ {0xAC65,0xAC65,0xCD26},
+ {0xAC66,0xAC66,0xCD27},
+ {0xAC67,0xAC67,0xCD29},
+ {0xAC68,0xAC68,0xCD2A},
+ {0xAC69,0xAC69,0xCD2B},
+ {0xAC6A,0xAC6A,0xCD2D},
+ {0xAC6B,0xAC6B,0xCD2E},
+ {0xAC6C,0xAC6C,0xCD2F},
+ {0xAC6D,0xAC6D,0xCD30},
+ {0xAC6E,0xAC6E,0xCD31},
+ {0xAC6F,0xAC6F,0xCD32},
+ {0xAC70,0xAC70,0xCD33}, /* AC70 */
+ {0xAC71,0xAC71,0xCD34},
+ {0xAC72,0xAC72,0xCD35},
+ {0xAC73,0xAC73,0xCD36},
+ {0xAC74,0xAC74,0xCD37},
+ {0xAC75,0xAC75,0xCD38},
+ {0xAC76,0xAC76,0xCD3A},
+ {0xAC77,0xAC77,0xCD3B},
+ {0xAC78,0xAC78,0xCD3C},
+ {0xAC79,0xAC79,0xCD3D},
+ {0xAC7A,0xAC7A,0xCD3E},
+ {0xAC7B,0xAC7B,0x003F},
+ {0xAC7C,0xAC7C,0x003F},
+ {0xAC7D,0xAC7D,0x003F},
+ {0xAC7E,0xAC7E,0x003F},
+ {0xAC7F,0xAC7F,0x003F},
+ {0xAC80,0xAC80,0x003F}, /* AC80 */
+ {0xAC81,0xAC81,0xCD3F},
+ {0xAC82,0xAC82,0xCD40},
+ {0xAC83,0xAC83,0xCD41},
+ {0xAC84,0xAC84,0xCD42},
+ {0xAC85,0xAC85,0xCD43},
+ {0xAC86,0xAC86,0xCD44},
+ {0xAC87,0xAC87,0xCD45},
+ {0xAC88,0xAC88,0xCD46},
+ {0xAC89,0xAC89,0xCD47},
+ {0xAC8A,0xAC8A,0xCD48},
+ {0xAC8B,0xAC8B,0xCD49},
+ {0xAC8C,0xAC8C,0xCD4A},
+ {0xAC8D,0xAC8D,0xCD4B},
+ {0xAC8E,0xAC8E,0xCD4C},
+ {0xAC8F,0xAC8F,0xCD4D},
+ {0xAC90,0xAC90,0xCD4E}, /* AC90 */
+ {0xAC91,0xAC91,0xCD4F},
+ {0xAC92,0xAC92,0xCD50},
+ {0xAC93,0xAC93,0xCD51},
+ {0xAC94,0xAC94,0xCD52},
+ {0xAC95,0xAC95,0xCD53},
+ {0xAC96,0xAC96,0xCD54},
+ {0xAC97,0xAC97,0xCD55},
+ {0xAC98,0xAC98,0xCD56},
+ {0xAC99,0xAC99,0xCD57},
+ {0xAC9A,0xAC9A,0xCD58},
+ {0xAC9B,0xAC9B,0xCD59},
+ {0xAC9C,0xAC9C,0xCD5A},
+ {0xAC9D,0xAC9D,0xCD5B},
+ {0xAC9E,0xAC9E,0xCD5D},
+ {0xAC9F,0xAC9F,0xCD5E},
+ {0xACA0,0xACA0,0xCD5F}, /* ACA0 */
+ {0xACA1,0xACD1,0x0410},
+ {0xACA2,0xACD2,0x0411},
+ {0xACA3,0xACD3,0x0412},
+ {0xACA4,0xACD4,0x0413},
+ {0xACA5,0xACD5,0x0414},
+ {0xACA6,0xACD6,0x0415},
+ {0xACA7,0xACD7,0x0401},
+ {0xACA8,0xACD8,0x0416},
+ {0xACA9,0xACD9,0x0417},
+ {0xACAA,0xACDA,0x0418},
+ {0xACAB,0xACDB,0x0419},
+ {0xACAC,0xACDC,0x041A},
+ {0xACAD,0xACDD,0x041B},
+ {0xACAE,0xACDE,0x041C},
+ {0xACAF,0xACDF,0x041D},
+ {0xACB0,0xACE0,0x041E}, /* ACB0 */
+ {0xACB1,0xACE1,0x041F},
+ {0xACB2,0xACE2,0x0420},
+ {0xACB3,0xACE3,0x0421},
+ {0xACB4,0xACE4,0x0422},
+ {0xACB5,0xACE5,0x0423},
+ {0xACB6,0xACE6,0x0424},
+ {0xACB7,0xACE7,0x0425},
+ {0xACB8,0xACE8,0x0426},
+ {0xACB9,0xACE9,0x0427},
+ {0xACBA,0xACEA,0x0428},
+ {0xACBB,0xACEB,0x0429},
+ {0xACBC,0xACEC,0x042A},
+ {0xACBD,0xACED,0x042B},
+ {0xACBE,0xACEE,0x042C},
+ {0xACBF,0xACEF,0x042D},
+ {0xACC0,0xACF0,0x042E}, /* ACC0 */
+ {0xACC1,0xACF1,0x042F},
+ {0xACC2,0xACC2,0x003F},
+ {0xACC3,0xACC3,0x003F},
+ {0xACC4,0xACC4,0x003F},
+ {0xACC5,0xACC5,0x003F},
+ {0xACC6,0xACC6,0x003F},
+ {0xACC7,0xACC7,0x003F},
+ {0xACC8,0xACC8,0x003F},
+ {0xACC9,0xACC9,0x003F},
+ {0xACCA,0xACCA,0x003F},
+ {0xACCB,0xACCB,0x003F},
+ {0xACCC,0xACCC,0x003F},
+ {0xACCD,0xACCD,0x003F},
+ {0xACCE,0xACCE,0x003F},
+ {0xACCF,0xACCF,0x003F},
+ {0xACD0,0xACD0,0x003F}, /* ACD0 */
+ {0xACA1,0xACD1,0x0430},
+ {0xACA2,0xACD2,0x0431},
+ {0xACA3,0xACD3,0x0432},
+ {0xACA4,0xACD4,0x0433},
+ {0xACA5,0xACD5,0x0434},
+ {0xACA6,0xACD6,0x0435},
+ {0xACA7,0xACD7,0x0451},
+ {0xACA8,0xACD8,0x0436},
+ {0xACA9,0xACD9,0x0437},
+ {0xACAA,0xACDA,0x0438},
+ {0xACAB,0xACDB,0x0439},
+ {0xACAC,0xACDC,0x043A},
+ {0xACAD,0xACDD,0x043B},
+ {0xACAE,0xACDE,0x043C},
+ {0xACAF,0xACDF,0x043D},
+ {0xACB0,0xACE0,0x043E}, /* ACE0 */
+ {0xACB1,0xACE1,0x043F},
+ {0xACB2,0xACE2,0x0440},
+ {0xACB3,0xACE3,0x0441},
+ {0xACB4,0xACE4,0x0442},
+ {0xACB5,0xACE5,0x0443},
+ {0xACB6,0xACE6,0x0444},
+ {0xACB7,0xACE7,0x0445},
+ {0xACB8,0xACE8,0x0446},
+ {0xACB9,0xACE9,0x0447},
+ {0xACBA,0xACEA,0x0448},
+ {0xACBB,0xACEB,0x0449},
+ {0xACBC,0xACEC,0x044A},
+ {0xACBD,0xACED,0x044B},
+ {0xACBE,0xACEE,0x044C},
+ {0xACBF,0xACEF,0x044D},
+ {0xACC0,0xACF0,0x044E}, /* ACF0 */
+ {0xACC1,0xACF1,0x044F},
+ {0xACF2,0xACF2,0x003F},
+ {0xACF3,0xACF3,0x003F},
+ {0xACF4,0xACF4,0x003F},
+ {0xACF5,0xACF5,0x003F},
+ {0xACF6,0xACF6,0x003F},
+ {0xACF7,0xACF7,0x003F},
+ {0xACF8,0xACF8,0x003F},
+ {0xACF9,0xACF9,0x003F},
+ {0xACFA,0xACFA,0x003F},
+ {0xACFB,0xACFB,0x003F},
+ {0xACFC,0xACFC,0x003F},
+ {0xACFD,0xACFD,0x003F},
+ {0xACFE,0xACFE,0x003F},
+ {0xACFF,0xACFF,0x003F}
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_euckr[256]=
+{
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, cA3, NULL, cA5, NULL, cA7, /* A */
+ cA8, cA9, NULL, NULL, cAC, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+};
+
+
/* page 0 0x8141-0xC8FE */
static uint16 tab_ksc5601_uni0[]={
0xAC02,0xAC03,0xAC05,0xAC06,0xAC0B,0xAC0C,0xAC0D,0xAC0E,
@@ -8720,8 +9987,8 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_mb_ctype_mb,
my_caseup_str_mb,
my_casedn_str_mb,
- my_caseup_mb,
- my_casedn_mb,
+ my_caseup_mb_varlen, /* UPPER() can reduce length: Turkish DOTLESS i -> I */
+ my_casedn_mb, /* LOWER() does not change length, use simple version*/
my_snprintf_8bit,
my_long10_to_str_8bit,
my_longlong10_to_str_8bit,
@@ -8753,7 +10020,7 @@ CHARSET_INFO my_charset_euckr_korean_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_euckr, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@@ -8786,7 +10053,7 @@ CHARSET_INFO my_charset_euckr_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_euckr, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
diff --git a/strings/ctype-eucjpms.c b/strings/ctype-eucjpms.c
index b8b04dfca6b..77e6a0f4e0f 100644
--- a/strings/ctype-eucjpms.c
+++ b/strings/ctype-eucjpms.c
@@ -201,6 +201,1535 @@ static uint mbcharlen_eucjpms(CHARSET_INFO *cs __attribute__((unused)),uint c)
}
+
+/* Case info pages for JIS-X-0208 range */
+
+static MY_UNICASE_INFO cA2[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA2A0,0xA2A0,0x003F}, /* A2A0 */
+ {0xA2A1,0xA2A1,0x25C6},
+ {0xA2A2,0xA2A2,0x25A1},
+ {0xA2A3,0xA2A3,0x25A0},
+ {0xA2A4,0xA2A4,0x25B3},
+ {0xA2A5,0xA2A5,0x25B2},
+ {0xA2A6,0xA2A6,0x25BD},
+ {0xA2A7,0xA2A7,0x25BC},
+ {0xA2A8,0xA2A8,0x203B},
+ {0xA2A9,0xA2A9,0x3012},
+ {0xA2AA,0xA2AA,0x2192},
+ {0xA2AB,0xA2AB,0x2190},
+ {0xA2AC,0xA2AC,0x2191},
+ {0xA2AD,0xA2AD,0x2193},
+ {0xA2AE,0xA2AE,0x3013},
+ {0xA2AF,0xA2AF,0x003F},
+ {0xA2B0,0xA2B0,0x003F}, /* A2B0 */
+ {0xA2B1,0xA2B1,0x003F},
+ {0xA2B2,0xA2B2,0x003F},
+ {0xA2B3,0xA2B3,0x003F},
+ {0xA2B4,0xA2B4,0x003F},
+ {0xA2B5,0xA2B5,0x003F},
+ {0xA2B6,0xA2B6,0x003F},
+ {0xA2B7,0xA2B7,0x003F},
+ {0xA2B8,0xA2B8,0x003F},
+ {0xA2B9,0xA2B9,0x003F},
+ {0xA2BA,0xA2BA,0x2208},
+ {0xA2BB,0xA2BB,0x220B},
+ {0xA2BC,0xA2BC,0x2286},
+ {0xA2BD,0xA2BD,0x2287},
+ {0xA2BE,0xA2BE,0x2282},
+ {0xA2BF,0xA2BF,0x2283},
+ {0xA2C0,0xA2C0,0x222A}, /* A2C0 */
+ {0xA2C1,0xA2C1,0x2229},
+ {0xA2C2,0xA2C2,0x003F},
+ {0xA2C3,0xA2C3,0x003F},
+ {0xA2C4,0xA2C4,0x003F},
+ {0xA2C5,0xA2C5,0x003F},
+ {0xA2C6,0xA2C6,0x003F},
+ {0xA2C7,0xA2C7,0x003F},
+ {0xA2C8,0xA2C8,0x003F},
+ {0xA2C9,0xA2C9,0x003F},
+ {0xA2CA,0xA2CA,0x2227},
+ {0xA2CB,0xA2CB,0x2228},
+ {0xA2CC,0xA2CC,0xFFE2},
+ {0xA2CD,0xA2CD,0x21D2},
+ {0xA2CE,0xA2CE,0x21D4},
+ {0xA2CF,0xA2CF,0x2200},
+ {0xA2D0,0xA2D0,0x2203}, /* A2D0 */
+ {0xA2D1,0xA2D1,0x003F},
+ {0xA2D2,0xA2D2,0x003F},
+ {0xA2D3,0xA2D3,0x003F},
+ {0xA2D4,0xA2D4,0x003F},
+ {0xA2D5,0xA2D5,0x003F},
+ {0xA2D6,0xA2D6,0x003F},
+ {0xA2D7,0xA2D7,0x003F},
+ {0xA2D8,0xA2D8,0x003F},
+ {0xA2D9,0xA2D9,0x003F},
+ {0xA2DA,0xA2DA,0x003F},
+ {0xA2DB,0xA2DB,0x003F},
+ {0xA2DC,0xA2DC,0x2220},
+ {0xA2DD,0xA2DD,0x22A5},
+ {0xA2DE,0xA2DE,0x2312},
+ {0xA2DF,0xA2DF,0x2202},
+ {0xA2E0,0xA2E0,0x2207}, /* A2E0 */
+ {0xA2E1,0xA2E1,0x2261},
+ {0xA2E2,0xA2E2,0x2252},
+ {0xA2E3,0xA2E3,0x226A},
+ {0xA2E4,0xA2E4,0x226B},
+ {0xA2E5,0xA2E5,0x221A},
+ {0xA2E6,0xA2E6,0x223D},
+ {0xA2E7,0xA2E7,0x221D},
+ {0xA2E8,0xA2E8,0x2235},
+ {0xA2E9,0xA2E9,0x222B},
+ {0xA2EA,0xA2EA,0x222C},
+ {0xA2EB,0xA2EB,0x003F},
+ {0xA2EC,0xA2EC,0x003F},
+ {0xA2ED,0xA2ED,0x003F},
+ {0xA2EE,0xA2EE,0x003F},
+ {0xA2EF,0xA2EF,0x003F},
+ {0xA2F0,0xA2F0,0x003F}, /* A2F0 */
+ {0xA2F1,0xA2F1,0x003F},
+ {0xA2F2,0x8FABA9,0x212B},
+ {0xA2F3,0xA2F3,0x2030},
+ {0xA2F4,0xA2F4,0x266F},
+ {0xA2F5,0xA2F5,0x266D},
+ {0xA2F6,0xA2F6,0x266A},
+ {0xA2F7,0xA2F7,0x2020},
+ {0xA2F8,0xA2F8,0x2021},
+ {0xA2F9,0xA2F9,0x00B6},
+ {0xA2FA,0xA2FA,0x003F},
+ {0xA2FB,0xA2FB,0x003F},
+ {0xA2FC,0xA2FC,0x003F},
+ {0xA2FD,0xA2FD,0x003F},
+ {0xA2FE,0xA2FE,0x25EF},
+ {0xA2FF,0xA2FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO cA3[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA3A0,0xA3A0,0x003F}, /* A3A0 */
+ {0xA3A1,0xA3A1,0x003F},
+ {0xA3A2,0xA3A2,0x003F},
+ {0xA3A3,0xA3A3,0x003F},
+ {0xA3A4,0xA3A4,0x003F},
+ {0xA3A5,0xA3A5,0x003F},
+ {0xA3A6,0xA3A6,0x003F},
+ {0xA3A7,0xA3A7,0x003F},
+ {0xA3A8,0xA3A8,0x003F},
+ {0xA3A9,0xA3A9,0x003F},
+ {0xA3AA,0xA3AA,0x003F},
+ {0xA3AB,0xA3AB,0x003F},
+ {0xA3AC,0xA3AC,0x003F},
+ {0xA3AD,0xA3AD,0x003F},
+ {0xA3AE,0xA3AE,0x003F},
+ {0xA3AF,0xA3AF,0x003F},
+ {0xA3B0,0xA3B0,0xFF10}, /* A3B0 */
+ {0xA3B1,0xA3B1,0xFF11},
+ {0xA3B2,0xA3B2,0xFF12},
+ {0xA3B3,0xA3B3,0xFF13},
+ {0xA3B4,0xA3B4,0xFF14},
+ {0xA3B5,0xA3B5,0xFF15},
+ {0xA3B6,0xA3B6,0xFF16},
+ {0xA3B7,0xA3B7,0xFF17},
+ {0xA3B8,0xA3B8,0xFF18},
+ {0xA3B9,0xA3B9,0xFF19},
+ {0xA3BA,0xA3BA,0x003F},
+ {0xA3BB,0xA3BB,0x003F},
+ {0xA3BC,0xA3BC,0x003F},
+ {0xA3BD,0xA3BD,0x003F},
+ {0xA3BE,0xA3BE,0x003F},
+ {0xA3BF,0xA3BF,0x003F},
+ {0xA3C0,0xA3C0,0x003F}, /* A3C0 */
+ {0xA3C1,0xA3E1,0xFF21},
+ {0xA3C2,0xA3E2,0xFF22},
+ {0xA3C3,0xA3E3,0xFF23},
+ {0xA3C4,0xA3E4,0xFF24},
+ {0xA3C5,0xA3E5,0xFF25},
+ {0xA3C6,0xA3E6,0xFF26},
+ {0xA3C7,0xA3E7,0xFF27},
+ {0xA3C8,0xA3E8,0xFF28},
+ {0xA3C9,0xA3E9,0xFF29},
+ {0xA3CA,0xA3EA,0xFF2A},
+ {0xA3CB,0xA3EB,0xFF2B},
+ {0xA3CC,0xA3EC,0xFF2C},
+ {0xA3CD,0xA3ED,0xFF2D},
+ {0xA3CE,0xA3EE,0xFF2E},
+ {0xA3CF,0xA3EF,0xFF2F},
+ {0xA3D0,0xA3F0,0xFF30}, /* A3D0 */
+ {0xA3D1,0xA3F1,0xFF31},
+ {0xA3D2,0xA3F2,0xFF32},
+ {0xA3D3,0xA3F3,0xFF33},
+ {0xA3D4,0xA3F4,0xFF34},
+ {0xA3D5,0xA3F5,0xFF35},
+ {0xA3D6,0xA3F6,0xFF36},
+ {0xA3D7,0xA3F7,0xFF37},
+ {0xA3D8,0xA3F8,0xFF38},
+ {0xA3D9,0xA3F9,0xFF39},
+ {0xA3DA,0xA3FA,0xFF3A},
+ {0xA3DB,0xA3DB,0x003F},
+ {0xA3DC,0xA3DC,0x003F},
+ {0xA3DD,0xA3DD,0x003F},
+ {0xA3DE,0xA3DE,0x003F},
+ {0xA3DF,0xA3DF,0x003F},
+ {0xA3E0,0xA3E0,0x003F}, /* A3E0 */
+ {0xA3C1,0xA3E1,0xFF41},
+ {0xA3C2,0xA3E2,0xFF42},
+ {0xA3C3,0xA3E3,0xFF43},
+ {0xA3C4,0xA3E4,0xFF44},
+ {0xA3C5,0xA3E5,0xFF45},
+ {0xA3C6,0xA3E6,0xFF46},
+ {0xA3C7,0xA3E7,0xFF47},
+ {0xA3C8,0xA3E8,0xFF48},
+ {0xA3C9,0xA3E9,0xFF49},
+ {0xA3CA,0xA3EA,0xFF4A},
+ {0xA3CB,0xA3EB,0xFF4B},
+ {0xA3CC,0xA3EC,0xFF4C},
+ {0xA3CD,0xA3ED,0xFF4D},
+ {0xA3CE,0xA3EE,0xFF4E},
+ {0xA3CF,0xA3EF,0xFF4F},
+ {0xA3D0,0xA3F0,0xFF50}, /* A3F0 */
+ {0xA3D1,0xA3F1,0xFF51},
+ {0xA3D2,0xA3F2,0xFF52},
+ {0xA3D3,0xA3F3,0xFF53},
+ {0xA3D4,0xA3F4,0xFF54},
+ {0xA3D5,0xA3F5,0xFF55},
+ {0xA3D6,0xA3F6,0xFF56},
+ {0xA3D7,0xA3F7,0xFF57},
+ {0xA3D8,0xA3F8,0xFF58},
+ {0xA3D9,0xA3F9,0xFF59},
+ {0xA3DA,0xA3FA,0xFF5A},
+ {0xA3FB,0xA3FB,0x003F},
+ {0xA3FC,0xA3FC,0x003F},
+ {0xA3FD,0xA3FD,0x003F},
+ {0xA3FE,0xA3FE,0x003F},
+ {0xA3FF,0xA3FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO cA6[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA6A0,0xA6A0,0x003F}, /* A6A0 */
+ {0xA6A1,0xA6C1,0x0391},
+ {0xA6A2,0xA6C2,0x0392},
+ {0xA6A3,0xA6C3,0x0393},
+ {0xA6A4,0xA6C4,0x0394},
+ {0xA6A5,0xA6C5,0x0395},
+ {0xA6A6,0xA6C6,0x0396},
+ {0xA6A7,0xA6C7,0x0397},
+ {0xA6A8,0xA6C8,0x0398},
+ {0xA6A9,0xA6C9,0x0399},
+ {0xA6AA,0xA6CA,0x039A},
+ {0xA6AB,0xA6CB,0x039B},
+ {0xA6AC,0xA6CC,0x039C},
+ {0xA6AD,0xA6CD,0x039D},
+ {0xA6AE,0xA6CE,0x039E},
+ {0xA6AF,0xA6CF,0x039F},
+ {0xA6B0,0xA6D0,0x03A0}, /* A6B0 */
+ {0xA6B1,0xA6D1,0x03A1},
+ {0xA6B2,0xA6D2,0x03A3},
+ {0xA6B3,0xA6D3,0x03A4},
+ {0xA6B4,0xA6D4,0x03A5},
+ {0xA6B5,0xA6D5,0x03A6},
+ {0xA6B6,0xA6D6,0x03A7},
+ {0xA6B7,0xA6D7,0x03A8},
+ {0xA6B8,0xA6D8,0x03A9},
+ {0xA6B9,0xA6B9,0x003F},
+ {0xA6BA,0xA6BA,0x003F},
+ {0xA6BB,0xA6BB,0x003F},
+ {0xA6BC,0xA6BC,0x003F},
+ {0xA6BD,0xA6BD,0x003F},
+ {0xA6BE,0xA6BE,0x003F},
+ {0xA6BF,0xA6BF,0x003F},
+ {0xA6C0,0xA6C0,0x003F}, /* A6C0 */
+ {0xA6A1,0xA6C1,0x03B1},
+ {0xA6A2,0xA6C2,0x03B2},
+ {0xA6A3,0xA6C3,0x03B3},
+ {0xA6A4,0xA6C4,0x03B4},
+ {0xA6A5,0xA6C5,0x03B5},
+ {0xA6A6,0xA6C6,0x03B6},
+ {0xA6A7,0xA6C7,0x03B7},
+ {0xA6A8,0xA6C8,0x03B8},
+ {0xA6A9,0xA6C9,0x03B9},
+ {0xA6AA,0xA6CA,0x03BA},
+ {0xA6AB,0xA6CB,0x03BB},
+ {0xA6AC,0xA6CC,0x03BC},
+ {0xA6AD,0xA6CD,0x03BD},
+ {0xA6AE,0xA6CE,0x03BE},
+ {0xA6AF,0xA6CF,0x03BF},
+ {0xA6B0,0xA6D0,0x03C0}, /* A6D0 */
+ {0xA6B1,0xA6D1,0x03C1},
+ {0xA6B2,0xA6D2,0x03C3},
+ {0xA6B3,0xA6D3,0x03C4},
+ {0xA6B4,0xA6D4,0x03C5},
+ {0xA6B5,0xA6D5,0x03C6},
+ {0xA6B6,0xA6D6,0x03C7},
+ {0xA6B7,0xA6D7,0x03C8},
+ {0xA6B8,0xA6D8,0x03C9},
+ {0xA6D9,0xA6D9,0x003F},
+ {0xA6DA,0xA6DA,0x003F},
+ {0xA6DB,0xA6DB,0x003F},
+ {0xA6DC,0xA6DC,0x003F},
+ {0xA6DD,0xA6DD,0x003F},
+ {0xA6DE,0xA6DE,0x003F},
+ {0xA6DF,0xA6DF,0x003F},
+ {0xA6E0,0xA6E0,0x003F}, /* A6E0 */
+ {0xA6E1,0xA6E1,0x003F},
+ {0xA6E2,0xA6E2,0x003F},
+ {0xA6E3,0xA6E3,0x003F},
+ {0xA6E4,0xA6E4,0x003F},
+ {0xA6E5,0xA6E5,0x003F},
+ {0xA6E6,0xA6E6,0x003F},
+ {0xA6E7,0xA6E7,0x003F},
+ {0xA6E8,0xA6E8,0x003F},
+ {0xA6E9,0xA6E9,0x003F},
+ {0xA6EA,0xA6EA,0x003F},
+ {0xA6EB,0xA6EB,0x003F},
+ {0xA6EC,0xA6EC,0x003F},
+ {0xA6ED,0xA6ED,0x003F},
+ {0xA6EE,0xA6EE,0x003F},
+ {0xA6EF,0xA6EF,0x003F},
+ {0xA6F0,0xA6F0,0x003F}, /* A6F0 */
+ {0xA6F1,0xA6F1,0x003F},
+ {0xA6F2,0xA6F2,0x003F},
+ {0xA6F3,0xA6F3,0x003F},
+ {0xA6F4,0xA6F4,0x003F},
+ {0xA6F5,0xA6F5,0x003F},
+ {0xA6F6,0xA6F6,0x003F},
+ {0xA6F7,0xA6F7,0x003F},
+ {0xA6F8,0xA6F8,0x003F},
+ {0xA6F9,0xA6F9,0x003F},
+ {0xA6FA,0xA6FA,0x003F},
+ {0xA6FB,0xA6FB,0x003F},
+ {0xA6FC,0xA6FC,0x003F},
+ {0xA6FD,0xA6FD,0x003F},
+ {0xA6FE,0xA6FE,0x003F},
+ {0xA6FF,0xA6FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO cA7[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA7A0,0xA7A0,0x003F}, /* A7A0 */
+ {0xA7A1,0xA7D1,0x0410},
+ {0xA7A2,0xA7D2,0x0411},
+ {0xA7A3,0xA7D3,0x0412},
+ {0xA7A4,0xA7D4,0x0413},
+ {0xA7A5,0xA7D5,0x0414},
+ {0xA7A6,0xA7D6,0x0415},
+ {0xA7A7,0xA7D7,0x0401},
+ {0xA7A8,0xA7D8,0x0416},
+ {0xA7A9,0xA7D9,0x0417},
+ {0xA7AA,0xA7DA,0x0418},
+ {0xA7AB,0xA7DB,0x0419},
+ {0xA7AC,0xA7DC,0x041A},
+ {0xA7AD,0xA7DD,0x041B},
+ {0xA7AE,0xA7DE,0x041C},
+ {0xA7AF,0xA7DF,0x041D},
+ {0xA7B0,0xA7E0,0x041E}, /* A7B0 */
+ {0xA7B1,0xA7E1,0x041F},
+ {0xA7B2,0xA7E2,0x0420},
+ {0xA7B3,0xA7E3,0x0421},
+ {0xA7B4,0xA7E4,0x0422},
+ {0xA7B5,0xA7E5,0x0423},
+ {0xA7B6,0xA7E6,0x0424},
+ {0xA7B7,0xA7E7,0x0425},
+ {0xA7B8,0xA7E8,0x0426},
+ {0xA7B9,0xA7E9,0x0427},
+ {0xA7BA,0xA7EA,0x0428},
+ {0xA7BB,0xA7EB,0x0429},
+ {0xA7BC,0xA7EC,0x042A},
+ {0xA7BD,0xA7ED,0x042B},
+ {0xA7BE,0xA7EE,0x042C},
+ {0xA7BF,0xA7EF,0x042D},
+ {0xA7C0,0xA7F0,0x042E}, /* A7C0 */
+ {0xA7C1,0xA7F1,0x042F},
+ {0xA7C2,0xA7C2,0x003F},
+ {0xA7C3,0xA7C3,0x003F},
+ {0xA7C4,0xA7C4,0x003F},
+ {0xA7C5,0xA7C5,0x003F},
+ {0xA7C6,0xA7C6,0x003F},
+ {0xA7C7,0xA7C7,0x003F},
+ {0xA7C8,0xA7C8,0x003F},
+ {0xA7C9,0xA7C9,0x003F},
+ {0xA7CA,0xA7CA,0x003F},
+ {0xA7CB,0xA7CB,0x003F},
+ {0xA7CC,0xA7CC,0x003F},
+ {0xA7CD,0xA7CD,0x003F},
+ {0xA7CE,0xA7CE,0x003F},
+ {0xA7CF,0xA7CF,0x003F},
+ {0xA7D0,0xA7D0,0x003F}, /* A7D0 */
+ {0xA7A1,0xA7D1,0x0430},
+ {0xA7A2,0xA7D2,0x0431},
+ {0xA7A3,0xA7D3,0x0432},
+ {0xA7A4,0xA7D4,0x0433},
+ {0xA7A5,0xA7D5,0x0434},
+ {0xA7A6,0xA7D6,0x0435},
+ {0xA7A7,0xA7D7,0x0451},
+ {0xA7A8,0xA7D8,0x0436},
+ {0xA7A9,0xA7D9,0x0437},
+ {0xA7AA,0xA7DA,0x0438},
+ {0xA7AB,0xA7DB,0x0439},
+ {0xA7AC,0xA7DC,0x043A},
+ {0xA7AD,0xA7DD,0x043B},
+ {0xA7AE,0xA7DE,0x043C},
+ {0xA7AF,0xA7DF,0x043D},
+ {0xA7B0,0xA7E0,0x043E}, /* A7E0 */
+ {0xA7B1,0xA7E1,0x043F},
+ {0xA7B2,0xA7E2,0x0440},
+ {0xA7B3,0xA7E3,0x0441},
+ {0xA7B4,0xA7E4,0x0442},
+ {0xA7B5,0xA7E5,0x0443},
+ {0xA7B6,0xA7E6,0x0444},
+ {0xA7B7,0xA7E7,0x0445},
+ {0xA7B8,0xA7E8,0x0446},
+ {0xA7B9,0xA7E9,0x0447},
+ {0xA7BA,0xA7EA,0x0448},
+ {0xA7BB,0xA7EB,0x0449},
+ {0xA7BC,0xA7EC,0x044A},
+ {0xA7BD,0xA7ED,0x044B},
+ {0xA7BE,0xA7EE,0x044C},
+ {0xA7BF,0xA7EF,0x044D},
+ {0xA7C0,0xA7F0,0x044E}, /* A7F0 */
+ {0xA7C1,0xA7F1,0x044F},
+ {0xA7F2,0xA7F2,0x003F},
+ {0xA7F3,0xA7F3,0x003F},
+ {0xA7F4,0xA7F4,0x003F},
+ {0xA7F5,0xA7F5,0x003F},
+ {0xA7F6,0xA7F6,0x003F},
+ {0xA7F7,0xA7F7,0x003F},
+ {0xA7F8,0xA7F8,0x003F},
+ {0xA7F9,0xA7F9,0x003F},
+ {0xA7FA,0xA7FA,0x003F},
+ {0xA7FB,0xA7FB,0x003F},
+ {0xA7FC,0xA7FC,0x003F},
+ {0xA7FD,0xA7FD,0x003F},
+ {0xA7FE,0xA7FE,0x003F},
+ {0xA7FF,0xA7FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO cAD[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xADA0,0xADA0,0x003F}, /* ADA0 */
+ {0xADA1,0xADA1,0x2460},
+ {0xADA2,0xADA2,0x2461},
+ {0xADA3,0xADA3,0x2462},
+ {0xADA4,0xADA4,0x2463},
+ {0xADA5,0xADA5,0x2464},
+ {0xADA6,0xADA6,0x2465},
+ {0xADA7,0xADA7,0x2466},
+ {0xADA8,0xADA8,0x2467},
+ {0xADA9,0xADA9,0x2468},
+ {0xADAA,0xADAA,0x2469},
+ {0xADAB,0xADAB,0x246A},
+ {0xADAC,0xADAC,0x246B},
+ {0xADAD,0xADAD,0x246C},
+ {0xADAE,0xADAE,0x246D},
+ {0xADAF,0xADAF,0x246E},
+ {0xADB0,0xADB0,0x246F}, /* ADB0 */
+ {0xADB1,0xADB1,0x2470},
+ {0xADB2,0xADB2,0x2471},
+ {0xADB3,0xADB3,0x2472},
+ {0xADB4,0xADB4,0x2473},
+ {0xADB5,0x8FF3F3,0x2160},
+ {0xADB6,0x8FF3F4,0x2161},
+ {0xADB7,0x8FF3F5,0x2162},
+ {0xADB8,0x8FF3F6,0x2163},
+ {0xADB9,0x8FF3F7,0x2164},
+ {0xADBA,0x8FF3F8,0x2165},
+ {0xADBB,0x8FF3F9,0x2166},
+ {0xADBC,0x8FF3FA,0x2167},
+ {0xADBD,0x8FF3FB,0x2168},
+ {0xADBE,0x8FF3FC,0x2169},
+ {0xADBF,0xADBF,0x003F},
+ {0xADC0,0xADC0,0x3349}, /* ADC0 */
+ {0xADC1,0xADC1,0x3314},
+ {0xADC2,0xADC2,0x3322},
+ {0xADC3,0xADC3,0x334D},
+ {0xADC4,0xADC4,0x3318},
+ {0xADC5,0xADC5,0x3327},
+ {0xADC6,0xADC6,0x3303},
+ {0xADC7,0xADC7,0x3336},
+ {0xADC8,0xADC8,0x3351},
+ {0xADC9,0xADC9,0x3357},
+ {0xADCA,0xADCA,0x330D},
+ {0xADCB,0xADCB,0x3326},
+ {0xADCC,0xADCC,0x3323},
+ {0xADCD,0xADCD,0x332B},
+ {0xADCE,0xADCE,0x334A},
+ {0xADCF,0xADCF,0x333B},
+ {0xADD0,0xADD0,0x339C}, /* ADD0 */
+ {0xADD1,0xADD1,0x339D},
+ {0xADD2,0xADD2,0x339E},
+ {0xADD3,0xADD3,0x338E},
+ {0xADD4,0xADD4,0x338F},
+ {0xADD5,0xADD5,0x33C4},
+ {0xADD6,0xADD6,0x33A1},
+ {0xADD7,0xADD7,0x003F},
+ {0xADD8,0xADD8,0x003F},
+ {0xADD9,0xADD9,0x003F},
+ {0xADDA,0xADDA,0x003F},
+ {0xADDB,0xADDB,0x003F},
+ {0xADDC,0xADDC,0x003F},
+ {0xADDD,0xADDD,0x003F},
+ {0xADDE,0xADDE,0x003F},
+ {0xADDF,0xADDF,0x337B},
+ {0xADE0,0xADE0,0x301D}, /* ADE0 */
+ {0xADE1,0xADE1,0x301F},
+ {0xADE2,0xADE2,0x2116},
+ {0xADE3,0xADE3,0x33CD},
+ {0xADE4,0xADE4,0x2121},
+ {0xADE5,0xADE5,0x32A4},
+ {0xADE6,0xADE6,0x32A5},
+ {0xADE7,0xADE7,0x32A6},
+ {0xADE8,0xADE8,0x32A7},
+ {0xADE9,0xADE9,0x32A8},
+ {0xADEA,0xADEA,0x3231},
+ {0xADEB,0xADEB,0x3232},
+ {0xADEC,0xADEC,0x3239},
+ {0xADED,0xADED,0x337E},
+ {0xADEE,0xADEE,0x337D},
+ {0xADEF,0xADEF,0x337C},
+ {0xADF0,0xADF0,0x2252}, /* ADF0 */
+ {0xADF1,0xADF1,0x2261},
+ {0xADF2,0xADF2,0x222B},
+ {0xADF3,0xADF3,0x222E},
+ {0xADF4,0xADF4,0x2211},
+ {0xADF5,0xADF5,0x221A},
+ {0xADF6,0xADF6,0x22A5},
+ {0xADF7,0xADF7,0x2220},
+ {0xADF8,0xADF8,0x221F},
+ {0xADF9,0xADF9,0x22BF},
+ {0xADFA,0xADFA,0x2235},
+ {0xADFB,0xADFB,0x2229},
+ {0xADFC,0xADFC,0x222A},
+ {0xADFD,0xADFD,0x003F},
+ {0xADFE,0xADFE,0x003F},
+ {0xADFF,0xADFF,0x003F},
+};
+
+
+/* Case info pages for JIS-X-0212 range */
+
+static MY_UNICASE_INFO c8FA6[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FA6A0,0x8FA6A0,0x003F}, /* 8FA6A0 */
+ {0x8FA6A1,0x8FA6A1,0x003F},
+ {0x8FA6A2,0x8FA6A2,0x003F},
+ {0x8FA6A3,0x8FA6A3,0x003F},
+ {0x8FA6A4,0x8FA6A4,0x003F},
+ {0x8FA6A5,0x8FA6A5,0x003F},
+ {0x8FA6A6,0x8FA6A6,0x003F},
+ {0x8FA6A7,0x8FA6A7,0x003F},
+ {0x8FA6A8,0x8FA6A8,0x003F},
+ {0x8FA6A9,0x8FA6A9,0x003F},
+ {0x8FA6AA,0x8FA6AA,0x003F},
+ {0x8FA6AB,0x8FA6AB,0x003F},
+ {0x8FA6AC,0x8FA6AC,0x003F},
+ {0x8FA6AD,0x8FA6AD,0x003F},
+ {0x8FA6AE,0x8FA6AE,0x003F},
+ {0x8FA6AF,0x8FA6AF,0x003F},
+ {0x8FA6B0,0x8FA6B0,0x003F}, /* 8FA6B0 */
+ {0x8FA6B1,0x8FA6B1,0x003F},
+ {0x8FA6B2,0x8FA6B2,0x003F},
+ {0x8FA6B3,0x8FA6B3,0x003F},
+ {0x8FA6B4,0x8FA6B4,0x003F},
+ {0x8FA6B5,0x8FA6B5,0x003F},
+ {0x8FA6B6,0x8FA6B6,0x003F},
+ {0x8FA6B7,0x8FA6B7,0x003F},
+ {0x8FA6B8,0x8FA6B8,0x003F},
+ {0x8FA6B9,0x8FA6B9,0x003F},
+ {0x8FA6BA,0x8FA6BA,0x003F},
+ {0x8FA6BB,0x8FA6BB,0x003F},
+ {0x8FA6BC,0x8FA6BC,0x003F},
+ {0x8FA6BD,0x8FA6BD,0x003F},
+ {0x8FA6BE,0x8FA6BE,0x003F},
+ {0x8FA6BF,0x8FA6BF,0x003F},
+ {0x8FA6C0,0x8FA6C0,0x003F}, /* 8FA6C0 */
+ {0x8FA6C1,0x8FA6C1,0x003F},
+ {0x8FA6C2,0x8FA6C2,0x003F},
+ {0x8FA6C3,0x8FA6C3,0x003F},
+ {0x8FA6C4,0x8FA6C4,0x003F},
+ {0x8FA6C5,0x8FA6C5,0x003F},
+ {0x8FA6C6,0x8FA6C6,0x003F},
+ {0x8FA6C7,0x8FA6C7,0x003F},
+ {0x8FA6C8,0x8FA6C8,0x003F},
+ {0x8FA6C9,0x8FA6C9,0x003F},
+ {0x8FA6CA,0x8FA6CA,0x003F},
+ {0x8FA6CB,0x8FA6CB,0x003F},
+ {0x8FA6CC,0x8FA6CC,0x003F},
+ {0x8FA6CD,0x8FA6CD,0x003F},
+ {0x8FA6CE,0x8FA6CE,0x003F},
+ {0x8FA6CF,0x8FA6CF,0x003F},
+ {0x8FA6D0,0x8FA6D0,0x003F}, /* 8FA6D0 */
+ {0x8FA6D1,0x8FA6D1,0x003F},
+ {0x8FA6D2,0x8FA6D2,0x003F},
+ {0x8FA6D3,0x8FA6D3,0x003F},
+ {0x8FA6D4,0x8FA6D4,0x003F},
+ {0x8FA6D5,0x8FA6D5,0x003F},
+ {0x8FA6D6,0x8FA6D6,0x003F},
+ {0x8FA6D7,0x8FA6D7,0x003F},
+ {0x8FA6D8,0x8FA6D8,0x003F},
+ {0x8FA6D9,0x8FA6D9,0x003F},
+ {0x8FA6DA,0x8FA6DA,0x003F},
+ {0x8FA6DB,0x8FA6DB,0x003F},
+ {0x8FA6DC,0x8FA6DC,0x003F},
+ {0x8FA6DD,0x8FA6DD,0x003F},
+ {0x8FA6DE,0x8FA6DE,0x003F},
+ {0x8FA6DF,0x8FA6DF,0x003F},
+ {0x8FA6E0,0x8FA6E0,0x003F}, /* 8FA6E0 */
+ {0x8FA6E1,0x8FA6F1,0x0386},
+ {0x8FA6E2,0x8FA6F2,0x0388},
+ {0x8FA6E3,0x8FA6F3,0x0389},
+ {0x8FA6E4,0x8FA6F4,0x038A},
+ {0x8FA6E5,0x8FA6F5,0x03AA},
+ {0x8FA6E6,0x8FA6E6,0x003F},
+ {0x8FA6E7,0x8FA6F7,0x038C},
+ {0x8FA6E8,0x8FA6E8,0x003F},
+ {0x8FA6E9,0x8FA6F9,0x038E},
+ {0x8FA6EA,0x8FA6FA,0x03AB},
+ {0x8FA6EB,0x8FA6EB,0x003F},
+ {0x8FA6EC,0x8FA6FC,0x038F},
+ {0x8FA6ED,0x8FA6ED,0x003F},
+ {0x8FA6EE,0x8FA6EE,0x003F},
+ {0x8FA6EF,0x8FA6EF,0x003F},
+ {0x8FA6F0,0x8FA6F0,0x003F}, /* 8FA6F0 */
+ {0x8FA6E1,0x8FA6F1,0x03AC},
+ {0x8FA6E2,0x8FA6F2,0x03AD},
+ {0x8FA6E3,0x8FA6F3,0x03AE},
+ {0x8FA6E4,0x8FA6F4,0x03AF},
+ {0x8FA6E5,0x8FA6F5,0x03CA},
+ {0x8FA6F6,0x8FA6F6,0x0390},
+ {0x8FA6E7,0x8FA6F7,0x03CC},
+ {0xA6B2,0x8FA6F8,0x03C2},
+ {0x8FA6E9,0x8FA6F9,0x03CD},
+ {0x8FA6EA,0x8FA6FA,0x03CB},
+ {0x8FA6FB,0x8FA6FB,0x03B0},
+ {0x8FA6EC,0x8FA6FC,0x03CE},
+ {0x8FA6FD,0x8FA6FD,0x003F},
+ {0x8FA6FE,0x8FA6FE,0x003F},
+ {0x8FA6FF,0x8FA6FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FA7[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FA7A0,0x8FA7A0,0x003F}, /* 8FA7A0 */
+ {0x8FA7A1,0x8FA7A1,0x003F},
+ {0x8FA7A2,0x8FA7A2,0x003F},
+ {0x8FA7A3,0x8FA7A3,0x003F},
+ {0x8FA7A4,0x8FA7A4,0x003F},
+ {0x8FA7A5,0x8FA7A5,0x003F},
+ {0x8FA7A6,0x8FA7A6,0x003F},
+ {0x8FA7A7,0x8FA7A7,0x003F},
+ {0x8FA7A8,0x8FA7A8,0x003F},
+ {0x8FA7A9,0x8FA7A9,0x003F},
+ {0x8FA7AA,0x8FA7AA,0x003F},
+ {0x8FA7AB,0x8FA7AB,0x003F},
+ {0x8FA7AC,0x8FA7AC,0x003F},
+ {0x8FA7AD,0x8FA7AD,0x003F},
+ {0x8FA7AE,0x8FA7AE,0x003F},
+ {0x8FA7AF,0x8FA7AF,0x003F},
+ {0x8FA7B0,0x8FA7B0,0x003F}, /* 8FA7B0 */
+ {0x8FA7B1,0x8FA7B1,0x003F},
+ {0x8FA7B2,0x8FA7B2,0x003F},
+ {0x8FA7B3,0x8FA7B3,0x003F},
+ {0x8FA7B4,0x8FA7B4,0x003F},
+ {0x8FA7B5,0x8FA7B5,0x003F},
+ {0x8FA7B6,0x8FA7B6,0x003F},
+ {0x8FA7B7,0x8FA7B7,0x003F},
+ {0x8FA7B8,0x8FA7B8,0x003F},
+ {0x8FA7B9,0x8FA7B9,0x003F},
+ {0x8FA7BA,0x8FA7BA,0x003F},
+ {0x8FA7BB,0x8FA7BB,0x003F},
+ {0x8FA7BC,0x8FA7BC,0x003F},
+ {0x8FA7BD,0x8FA7BD,0x003F},
+ {0x8FA7BE,0x8FA7BE,0x003F},
+ {0x8FA7BF,0x8FA7BF,0x003F},
+ {0x8FA7C0,0x8FA7C0,0x003F}, /* 8FA7C0 */
+ {0x8FA7C1,0x8FA7C1,0x003F},
+ {0x8FA7C2,0x8FA7F2,0x0402},
+ {0x8FA7C3,0x8FA7F3,0x0403},
+ {0x8FA7C4,0x8FA7F4,0x0404},
+ {0x8FA7C5,0x8FA7F5,0x0405},
+ {0x8FA7C6,0x8FA7F6,0x0406},
+ {0x8FA7C7,0x8FA7F7,0x0407},
+ {0x8FA7C8,0x8FA7F8,0x0408},
+ {0x8FA7C9,0x8FA7F9,0x0409},
+ {0x8FA7CA,0x8FA7FA,0x040A},
+ {0x8FA7CB,0x8FA7FB,0x040B},
+ {0x8FA7CC,0x8FA7FC,0x040C},
+ {0x8FA7CD,0x8FA7FD,0x040E},
+ {0x8FA7CE,0x8FA7FE,0x040F},
+ {0x8FA7CF,0x8FA7CF,0x003F},
+ {0x8FA7D0,0x8FA7D0,0x003F}, /* 8FA7D0 */
+ {0x8FA7D1,0x8FA7D1,0x003F},
+ {0x8FA7D2,0x8FA7D2,0x003F},
+ {0x8FA7D3,0x8FA7D3,0x003F},
+ {0x8FA7D4,0x8FA7D4,0x003F},
+ {0x8FA7D5,0x8FA7D5,0x003F},
+ {0x8FA7D6,0x8FA7D6,0x003F},
+ {0x8FA7D7,0x8FA7D7,0x003F},
+ {0x8FA7D8,0x8FA7D8,0x003F},
+ {0x8FA7D9,0x8FA7D9,0x003F},
+ {0x8FA7DA,0x8FA7DA,0x003F},
+ {0x8FA7DB,0x8FA7DB,0x003F},
+ {0x8FA7DC,0x8FA7DC,0x003F},
+ {0x8FA7DD,0x8FA7DD,0x003F},
+ {0x8FA7DE,0x8FA7DE,0x003F},
+ {0x8FA7DF,0x8FA7DF,0x003F},
+ {0x8FA7E0,0x8FA7E0,0x003F}, /* 8FA7E0 */
+ {0x8FA7E1,0x8FA7E1,0x003F},
+ {0x8FA7E2,0x8FA7E2,0x003F},
+ {0x8FA7E3,0x8FA7E3,0x003F},
+ {0x8FA7E4,0x8FA7E4,0x003F},
+ {0x8FA7E5,0x8FA7E5,0x003F},
+ {0x8FA7E6,0x8FA7E6,0x003F},
+ {0x8FA7E7,0x8FA7E7,0x003F},
+ {0x8FA7E8,0x8FA7E8,0x003F},
+ {0x8FA7E9,0x8FA7E9,0x003F},
+ {0x8FA7EA,0x8FA7EA,0x003F},
+ {0x8FA7EB,0x8FA7EB,0x003F},
+ {0x8FA7EC,0x8FA7EC,0x003F},
+ {0x8FA7ED,0x8FA7ED,0x003F},
+ {0x8FA7EE,0x8FA7EE,0x003F},
+ {0x8FA7EF,0x8FA7EF,0x003F},
+ {0x8FA7F0,0x8FA7F0,0x003F}, /* 8FA7F0 */
+ {0x8FA7F1,0x8FA7F1,0x003F},
+ {0x8FA7C2,0x8FA7F2,0x0452},
+ {0x8FA7C3,0x8FA7F3,0x0453},
+ {0x8FA7C4,0x8FA7F4,0x0454},
+ {0x8FA7C5,0x8FA7F5,0x0455},
+ {0x8FA7C6,0x8FA7F6,0x0456},
+ {0x8FA7C7,0x8FA7F7,0x0457},
+ {0x8FA7C8,0x8FA7F8,0x0458},
+ {0x8FA7C9,0x8FA7F9,0x0459},
+ {0x8FA7CA,0x8FA7FA,0x045A},
+ {0x8FA7CB,0x8FA7FB,0x045B},
+ {0x8FA7CC,0x8FA7FC,0x045C},
+ {0x8FA7CD,0x8FA7FD,0x045E},
+ {0x8FA7CE,0x8FA7FE,0x045F},
+ {0x8FA7FF,0x8FA7FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FA9[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FA9A0,0x8FA9A0,0x003F}, /* 8FA9A0 */
+ {0x8FA9A1,0x8FA9C1,0x00C6},
+ {0x8FA9A2,0x8FA9C2,0x0110},
+ {0x8FA9A3,0x8FA9A3,0x003F},
+ {0x8FA9A4,0x8FA9C4,0x0126},
+ {0x8FA9A5,0x8FA9A5,0x003F},
+ {0x8FA9A6,0x8FA9C6,0x0132},
+ {0x8FA9A7,0x8FA9A7,0x003F},
+ {0x8FA9A8,0x8FA9C8,0x0141},
+ {0x8FA9A9,0x8FA9C9,0x013F},
+ {0x8FA9AA,0x8FA9AA,0x003F},
+ {0x8FA9AB,0x8FA9CB,0x014A},
+ {0x8FA9AC,0x8FA9CC,0x00D8},
+ {0x8FA9AD,0x8FA9CD,0x0152},
+ {0x8FA9AE,0x8FA9AE,0x003F},
+ {0x8FA9AF,0x8FA9CF,0x0166},
+ {0x8FA9B0,0x8FA9D0,0x00DE}, /* 8FA9B0 */
+ {0x8FA9B1,0x8FA9B1,0x003F},
+ {0x8FA9B2,0x8FA9B2,0x003F},
+ {0x8FA9B3,0x8FA9B3,0x003F},
+ {0x8FA9B4,0x8FA9B4,0x003F},
+ {0x8FA9B5,0x8FA9B5,0x003F},
+ {0x8FA9B6,0x8FA9B6,0x003F},
+ {0x8FA9B7,0x8FA9B7,0x003F},
+ {0x8FA9B8,0x8FA9B8,0x003F},
+ {0x8FA9B9,0x8FA9B9,0x003F},
+ {0x8FA9BA,0x8FA9BA,0x003F},
+ {0x8FA9BB,0x8FA9BB,0x003F},
+ {0x8FA9BC,0x8FA9BC,0x003F},
+ {0x8FA9BD,0x8FA9BD,0x003F},
+ {0x8FA9BE,0x8FA9BE,0x003F},
+ {0x8FA9BF,0x8FA9BF,0x003F},
+ {0x8FA9C0,0x8FA9C0,0x003F}, /* 8FA9C0 */
+ {0x8FA9A1,0x8FA9C1,0x00E6},
+ {0x8FA9A2,0x8FA9C2,0x0111},
+ {0x8FA9C3,0x8FA9C3,0x00F0},
+ {0x8FA9A4,0x8FA9C4,0x0127},
+ {0x49,0x8FA9C5,0x0131},
+ {0x8FA9A6,0x8FA9C6,0x0133},
+ {0x8FA9C7,0x8FA9C7,0x0138},
+ {0x8FA9A8,0x8FA9C8,0x0142},
+ {0x8FA9A9,0x8FA9C9,0x0140},
+ {0x8FA9CA,0x8FA9CA,0x0149},
+ {0x8FA9AB,0x8FA9CB,0x014B},
+ {0x8FA9AC,0x8FA9CC,0x00F8},
+ {0x8FA9AD,0x8FA9CD,0x0153},
+ {0x8FA9CE,0x8FA9CE,0x00DF},
+ {0x8FA9AF,0x8FA9CF,0x0167},
+ {0x8FA9B0,0x8FA9D0,0x00FE}, /* 8FA9D0 */
+ {0x8FA9D1,0x8FA9D1,0x003F},
+ {0x8FA9D2,0x8FA9D2,0x003F},
+ {0x8FA9D3,0x8FA9D3,0x003F},
+ {0x8FA9D4,0x8FA9D4,0x003F},
+ {0x8FA9D5,0x8FA9D5,0x003F},
+ {0x8FA9D6,0x8FA9D6,0x003F},
+ {0x8FA9D7,0x8FA9D7,0x003F},
+ {0x8FA9D8,0x8FA9D8,0x003F},
+ {0x8FA9D9,0x8FA9D9,0x003F},
+ {0x8FA9DA,0x8FA9DA,0x003F},
+ {0x8FA9DB,0x8FA9DB,0x003F},
+ {0x8FA9DC,0x8FA9DC,0x003F},
+ {0x8FA9DD,0x8FA9DD,0x003F},
+ {0x8FA9DE,0x8FA9DE,0x003F},
+ {0x8FA9DF,0x8FA9DF,0x003F},
+ {0x8FA9E0,0x8FA9E0,0x003F}, /* 8FA9E0 */
+ {0x8FA9E1,0x8FA9E1,0x003F},
+ {0x8FA9E2,0x8FA9E2,0x003F},
+ {0x8FA9E3,0x8FA9E3,0x003F},
+ {0x8FA9E4,0x8FA9E4,0x003F},
+ {0x8FA9E5,0x8FA9E5,0x003F},
+ {0x8FA9E6,0x8FA9E6,0x003F},
+ {0x8FA9E7,0x8FA9E7,0x003F},
+ {0x8FA9E8,0x8FA9E8,0x003F},
+ {0x8FA9E9,0x8FA9E9,0x003F},
+ {0x8FA9EA,0x8FA9EA,0x003F},
+ {0x8FA9EB,0x8FA9EB,0x003F},
+ {0x8FA9EC,0x8FA9EC,0x003F},
+ {0x8FA9ED,0x8FA9ED,0x003F},
+ {0x8FA9EE,0x8FA9EE,0x003F},
+ {0x8FA9EF,0x8FA9EF,0x003F},
+ {0x8FA9F0,0x8FA9F0,0x003F}, /* 8FA9F0 */
+ {0x8FA9F1,0x8FA9F1,0x003F},
+ {0x8FA9F2,0x8FA9F2,0x003F},
+ {0x8FA9F3,0x8FA9F3,0x003F},
+ {0x8FA9F4,0x8FA9F4,0x003F},
+ {0x8FA9F5,0x8FA9F5,0x003F},
+ {0x8FA9F6,0x8FA9F6,0x003F},
+ {0x8FA9F7,0x8FA9F7,0x003F},
+ {0x8FA9F8,0x8FA9F8,0x003F},
+ {0x8FA9F9,0x8FA9F9,0x003F},
+ {0x8FA9FA,0x8FA9FA,0x003F},
+ {0x8FA9FB,0x8FA9FB,0x003F},
+ {0x8FA9FC,0x8FA9FC,0x003F},
+ {0x8FA9FD,0x8FA9FD,0x003F},
+ {0x8FA9FE,0x8FA9FE,0x003F},
+ {0x8FA9FF,0x8FA9FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FAA[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FAAA0,0x8FAAA0,0x003F}, /* 8FAAA0 */
+ {0x8FAAA1,0x8FABA1,0x00C1},
+ {0x8FAAA2,0x8FABA2,0x00C0},
+ {0x8FAAA3,0x8FABA3,0x00C4},
+ {0x8FAAA4,0x8FABA4,0x00C2},
+ {0x8FAAA5,0x8FABA5,0x0102},
+ {0x8FAAA6,0x8FABA6,0x01CD},
+ {0x8FAAA7,0x8FABA7,0x0100},
+ {0x8FAAA8,0x8FABA8,0x0104},
+ {0x8FAAA9,0x8FABA9,0x00C5},
+ {0x8FAAAA,0x8FABAA,0x00C3},
+ {0x8FAAAB,0x8FABAB,0x0106},
+ {0x8FAAAC,0x8FABAC,0x0108},
+ {0x8FAAAD,0x8FABAD,0x010C},
+ {0x8FAAAE,0x8FABAE,0x00C7},
+ {0x8FAAAF,0x8FABAF,0x010A},
+ {0x8FAAB0,0x8FABB0,0x010E}, /* 8FAAB0 */
+ {0x8FAAB1,0x8FABB1,0x00C9},
+ {0x8FAAB2,0x8FABB2,0x00C8},
+ {0x8FAAB3,0x8FABB3,0x00CB},
+ {0x8FAAB4,0x8FABB4,0x00CA},
+ {0x8FAAB5,0x8FABB5,0x011A},
+ {0x8FAAB6,0x8FABB6,0x0116},
+ {0x8FAAB7,0x8FABB7,0x0112},
+ {0x8FAAB8,0x8FABB8,0x0118},
+ {0x8FAAB9,0x8FAAB9,0x003F},
+ {0x8FAABA,0x8FABBA,0x011C},
+ {0x8FAABB,0x8FABBB,0x011E},
+ {0x8FAABC,0x8FAABC,0x0122},
+ {0x8FAABD,0x8FABBD,0x0120},
+ {0x8FAABE,0x8FABBE,0x0124},
+ {0x8FAABF,0x8FABBF,0x00CD},
+ {0x8FAAC0,0x8FABC0,0x00CC}, /* 8FAAC0 */
+ {0x8FAAC1,0x8FABC1,0x00CF},
+ {0x8FAAC2,0x8FABC2,0x00CE},
+ {0x8FAAC3,0x8FABC3,0x01CF},
+ {0x8FAAC4,0x69,0x0130},
+ {0x8FAAC5,0x8FABC5,0x012A},
+ {0x8FAAC6,0x8FABC6,0x012E},
+ {0x8FAAC7,0x8FABC7,0x0128},
+ {0x8FAAC8,0x8FABC8,0x0134},
+ {0x8FAAC9,0x8FABC9,0x0136},
+ {0x8FAACA,0x8FABCA,0x0139},
+ {0x8FAACB,0x8FABCB,0x013D},
+ {0x8FAACC,0x8FABCC,0x013B},
+ {0x8FAACD,0x8FABCD,0x0143},
+ {0x8FAACE,0x8FABCE,0x0147},
+ {0x8FAACF,0x8FABCF,0x0145},
+ {0x8FAAD0,0x8FABD0,0x00D1}, /* 8FAAD0 */
+ {0x8FAAD1,0x8FABD1,0x00D3},
+ {0x8FAAD2,0x8FABD2,0x00D2},
+ {0x8FAAD3,0x8FABD3,0x00D6},
+ {0x8FAAD4,0x8FABD4,0x00D4},
+ {0x8FAAD5,0x8FABD5,0x01D1},
+ {0x8FAAD6,0x8FABD6,0x0150},
+ {0x8FAAD7,0x8FABD7,0x014C},
+ {0x8FAAD8,0x8FABD8,0x00D5},
+ {0x8FAAD9,0x8FABD9,0x0154},
+ {0x8FAADA,0x8FABDA,0x0158},
+ {0x8FAADB,0x8FABDB,0x0156},
+ {0x8FAADC,0x8FABDC,0x015A},
+ {0x8FAADD,0x8FABDD,0x015C},
+ {0x8FAADE,0x8FABDE,0x0160},
+ {0x8FAADF,0x8FABDF,0x015E},
+ {0x8FAAE0,0x8FABE0,0x0164}, /* 8FAAE0 */
+ {0x8FAAE1,0x8FABE1,0x0162},
+ {0x8FAAE2,0x8FABE2,0x00DA},
+ {0x8FAAE3,0x8FABE3,0x00D9},
+ {0x8FAAE4,0x8FABE4,0x00DC},
+ {0x8FAAE5,0x8FABE5,0x00DB},
+ {0x8FAAE6,0x8FABE6,0x016C},
+ {0x8FAAE7,0x8FABE7,0x01D3},
+ {0x8FAAE8,0x8FABE8,0x0170},
+ {0x8FAAE9,0x8FABE9,0x016A},
+ {0x8FAAEA,0x8FABEA,0x0172},
+ {0x8FAAEB,0x8FABEB,0x016E},
+ {0x8FAAEC,0x8FABEC,0x0168},
+ {0x8FAAED,0x8FABED,0x01D7},
+ {0x8FAAEE,0x8FABEE,0x01DB},
+ {0x8FAAEF,0x8FABEF,0x01D9},
+ {0x8FAAF0,0x8FABF0,0x01D5}, /* 8FAAF0 */
+ {0x8FAAF1,0x8FABF1,0x0174},
+ {0x8FAAF2,0x8FABF2,0x00DD},
+ {0x8FAAF3,0x8FABF3,0x0178},
+ {0x8FAAF4,0x8FABF4,0x0176},
+ {0x8FAAF5,0x8FABF5,0x0179},
+ {0x8FAAF6,0x8FABF6,0x017D},
+ {0x8FAAF7,0x8FABF7,0x017B},
+ {0x8FAAF8,0x8FAAF8,0x003F},
+ {0x8FAAF9,0x8FAAF9,0x003F},
+ {0x8FAAFA,0x8FAAFA,0x003F},
+ {0x8FAAFB,0x8FAAFB,0x003F},
+ {0x8FAAFC,0x8FAAFC,0x003F},
+ {0x8FAAFD,0x8FAAFD,0x003F},
+ {0x8FAAFE,0x8FAAFE,0x003F},
+ {0x8FAAFF,0x8FAAFF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FAB[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FABA0,0x8FABA0,0x003F}, /* 8FABA0 */
+ {0x8FAAA1,0x8FABA1,0x00E1},
+ {0x8FAAA2,0x8FABA2,0x00E0},
+ {0x8FAAA3,0x8FABA3,0x00E4},
+ {0x8FAAA4,0x8FABA4,0x00E2},
+ {0x8FAAA5,0x8FABA5,0x0103},
+ {0x8FAAA6,0x8FABA6,0x01CE},
+ {0x8FAAA7,0x8FABA7,0x0101},
+ {0x8FAAA8,0x8FABA8,0x0105},
+ {0x8FAAA9,0x8FABA9,0x00E5},
+ {0x8FAAAA,0x8FABAA,0x00E3},
+ {0x8FAAAB,0x8FABAB,0x0107},
+ {0x8FAAAC,0x8FABAC,0x0109},
+ {0x8FAAAD,0x8FABAD,0x010D},
+ {0x8FAAAE,0x8FABAE,0x00E7},
+ {0x8FAAAF,0x8FABAF,0x010B},
+ {0x8FAAB0,0x8FABB0,0x010F}, /* 8FABB0 */
+ {0x8FAAB1,0x8FABB1,0x00E9},
+ {0x8FAAB2,0x8FABB2,0x00E8},
+ {0x8FAAB3,0x8FABB3,0x00EB},
+ {0x8FAAB4,0x8FABB4,0x00EA},
+ {0x8FAAB5,0x8FABB5,0x011B},
+ {0x8FAAB6,0x8FABB6,0x0117},
+ {0x8FAAB7,0x8FABB7,0x0113},
+ {0x8FAAB8,0x8FABB8,0x0119},
+ {0x8FABB9,0x8FABB9,0x01F5},
+ {0x8FAABA,0x8FABBA,0x011D},
+ {0x8FAABB,0x8FABBB,0x011F},
+ {0x8FABBC,0x8FABBC,0x003F},
+ {0x8FAABD,0x8FABBD,0x0121},
+ {0x8FAABE,0x8FABBE,0x0125},
+ {0x8FAABF,0x8FABBF,0x00ED},
+ {0x8FAAC0,0x8FABC0,0x00EC}, /* 8FABC0 */
+ {0x8FAAC1,0x8FABC1,0x00EF},
+ {0x8FAAC2,0x8FABC2,0x00EE},
+ {0x8FAAC3,0x8FABC3,0x01D0},
+ {0x8FABC4,0x8FABC4,0x003F},
+ {0x8FAAC5,0x8FABC5,0x012B},
+ {0x8FAAC6,0x8FABC6,0x012F},
+ {0x8FAAC7,0x8FABC7,0x0129},
+ {0x8FAAC8,0x8FABC8,0x0135},
+ {0x8FAAC9,0x8FABC9,0x0137},
+ {0x8FAACA,0x8FABCA,0x013A},
+ {0x8FAACB,0x8FABCB,0x013E},
+ {0x8FAACC,0x8FABCC,0x013C},
+ {0x8FAACD,0x8FABCD,0x0144},
+ {0x8FAACE,0x8FABCE,0x0148},
+ {0x8FAACF,0x8FABCF,0x0146},
+ {0x8FAAD0,0x8FABD0,0x00F1}, /* 8FABD0 */
+ {0x8FAAD1,0x8FABD1,0x00F3},
+ {0x8FAAD2,0x8FABD2,0x00F2},
+ {0x8FAAD3,0x8FABD3,0x00F6},
+ {0x8FAAD4,0x8FABD4,0x00F4},
+ {0x8FAAD5,0x8FABD5,0x01D2},
+ {0x8FAAD6,0x8FABD6,0x0151},
+ {0x8FAAD7,0x8FABD7,0x014D},
+ {0x8FAAD8,0x8FABD8,0x00F5},
+ {0x8FAAD9,0x8FABD9,0x0155},
+ {0x8FAADA,0x8FABDA,0x0159},
+ {0x8FAADB,0x8FABDB,0x0157},
+ {0x8FAADC,0x8FABDC,0x015B},
+ {0x8FAADD,0x8FABDD,0x015D},
+ {0x8FAADE,0x8FABDE,0x0161},
+ {0x8FAADF,0x8FABDF,0x015F},
+ {0x8FAAE0,0x8FABE0,0x0165}, /* 8FABE0 */
+ {0x8FAAE1,0x8FABE1,0x0163},
+ {0x8FAAE2,0x8FABE2,0x00FA},
+ {0x8FAAE3,0x8FABE3,0x00F9},
+ {0x8FAAE4,0x8FABE4,0x00FC},
+ {0x8FAAE5,0x8FABE5,0x00FB},
+ {0x8FAAE6,0x8FABE6,0x016D},
+ {0x8FAAE7,0x8FABE7,0x01D4},
+ {0x8FAAE8,0x8FABE8,0x0171},
+ {0x8FAAE9,0x8FABE9,0x016B},
+ {0x8FAAEA,0x8FABEA,0x0173},
+ {0x8FAAEB,0x8FABEB,0x016F},
+ {0x8FAAEC,0x8FABEC,0x0169},
+ {0x8FAAED,0x8FABED,0x01D8},
+ {0x8FAAEE,0x8FABEE,0x01DC},
+ {0x8FAAEF,0x8FABEF,0x01DA},
+ {0x8FAAF0,0x8FABF0,0x01D6}, /* 8FABF0 */
+ {0x8FAAF1,0x8FABF1,0x0175},
+ {0x8FAAF2,0x8FABF2,0x00FD},
+ {0x8FAAF3,0x8FABF3,0x00FF},
+ {0x8FAAF4,0x8FABF4,0x0177},
+ {0x8FAAF5,0x8FABF5,0x017A},
+ {0x8FAAF6,0x8FABF6,0x017E},
+ {0x8FAAF7,0x8FABF7,0x017C},
+ {0x8FABF8,0x8FABF8,0x003F},
+ {0x8FABF9,0x8FABF9,0x003F},
+ {0x8FABFA,0x8FABFA,0x003F},
+ {0x8FABFB,0x8FABFB,0x003F},
+ {0x8FABFC,0x8FABFC,0x003F},
+ {0x8FABFD,0x8FABFD,0x003F},
+ {0x8FABFE,0x8FABFE,0x003F},
+ {0x8FABFF,0x8FABFF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FF3[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FF3A0,0x8FF3A0,0x003F}, /* 8FF3F0 */
+ {0x8FF3A1,0x8FF3A1,0x003F},
+ {0x8FF3A2,0x8FF3A2,0x003F},
+ {0x8FF3A3,0x8FF3A3,0x003F},
+ {0x8FF3A4,0x8FF3A4,0x003F},
+ {0x8FF3A5,0x8FF3A5,0x003F},
+ {0x8FF3A6,0x8FF3A6,0x003F},
+ {0x8FF3A7,0x8FF3A7,0x003F},
+ {0x8FF3A8,0x8FF3A8,0x003F},
+ {0x8FF3A9,0x8FF3A9,0x003F},
+ {0x8FF3AA,0x8FF3AA,0x003F},
+ {0x8FF3AB,0x8FF3AB,0x003F},
+ {0x8FF3AC,0x8FF3AC,0x003F},
+ {0x8FF3AD,0x8FF3AD,0x003F},
+ {0x8FF3AE,0x8FF3AE,0x003F},
+ {0x8FF3AF,0x8FF3AF,0x003F},
+ {0x8FF3B0,0x8FF3B0,0x003F}, /* 8FF3B0 */
+ {0x8FF3B1,0x8FF3B1,0x003F},
+ {0x8FF3B2,0x8FF3B2,0x003F},
+ {0x8FF3B3,0x8FF3B3,0x003F},
+ {0x8FF3B4,0x8FF3B4,0x003F},
+ {0x8FF3B5,0x8FF3B5,0x003F},
+ {0x8FF3B6,0x8FF3B6,0x003F},
+ {0x8FF3B7,0x8FF3B7,0x003F},
+ {0x8FF3B8,0x8FF3B8,0x003F},
+ {0x8FF3B9,0x8FF3B9,0x003F},
+ {0x8FF3BA,0x8FF3BA,0x003F},
+ {0x8FF3BB,0x8FF3BB,0x003F},
+ {0x8FF3BC,0x8FF3BC,0x003F},
+ {0x8FF3BD,0x8FF3BD,0x003F},
+ {0x8FF3BE,0x8FF3BE,0x003F},
+ {0x8FF3BF,0x8FF3BF,0x003F},
+ {0x8FF3C0,0x8FF3C0,0x003F}, /* 8FF3C0 */
+ {0x8FF3C1,0x8FF3C1,0x003F},
+ {0x8FF3C2,0x8FF3C2,0x003F},
+ {0x8FF3C3,0x8FF3C3,0x003F},
+ {0x8FF3C4,0x8FF3C4,0x003F},
+ {0x8FF3C5,0x8FF3C5,0x003F},
+ {0x8FF3C6,0x8FF3C6,0x003F},
+ {0x8FF3C7,0x8FF3C7,0x003F},
+ {0x8FF3C8,0x8FF3C8,0x003F},
+ {0x8FF3C9,0x8FF3C9,0x003F},
+ {0x8FF3CA,0x8FF3CA,0x003F},
+ {0x8FF3CB,0x8FF3CB,0x003F},
+ {0x8FF3CC,0x8FF3CC,0x003F},
+ {0x8FF3CD,0x8FF3CD,0x003F},
+ {0x8FF3CE,0x8FF3CE,0x003F},
+ {0x8FF3CF,0x8FF3CF,0x003F},
+ {0x8FF3D0,0x8FF3D0,0x003F}, /* 8FF3D0 */
+ {0x8FF3D1,0x8FF3D1,0x003F},
+ {0x8FF3D2,0x8FF3D2,0x003F},
+ {0x8FF3D3,0x8FF3D3,0x003F},
+ {0x8FF3D4,0x8FF3D4,0x003F},
+ {0x8FF3D5,0x8FF3D5,0x003F},
+ {0x8FF3D6,0x8FF3D6,0x003F},
+ {0x8FF3D7,0x8FF3D7,0x003F},
+ {0x8FF3D8,0x8FF3D8,0x003F},
+ {0x8FF3D9,0x8FF3D9,0x003F},
+ {0x8FF3DA,0x8FF3DA,0x003F},
+ {0x8FF3DB,0x8FF3DB,0x003F},
+ {0x8FF3DC,0x8FF3DC,0x003F},
+ {0x8FF3DD,0x8FF3DD,0x003F},
+ {0x8FF3DE,0x8FF3DE,0x003F},
+ {0x8FF3DF,0x8FF3DF,0x003F},
+ {0x8FF3E0,0x8FF3E0,0x003F}, /* 8FF3E0 */
+ {0x8FF3E1,0x8FF3E1,0x003F},
+ {0x8FF3E2,0x8FF3E2,0x003F},
+ {0x8FF3E3,0x8FF3E3,0x003F},
+ {0x8FF3E4,0x8FF3E4,0x003F},
+ {0x8FF3E5,0x8FF3E5,0x003F},
+ {0x8FF3E6,0x8FF3E6,0x003F},
+ {0x8FF3E7,0x8FF3E7,0x003F},
+ {0x8FF3E8,0x8FF3E8,0x003F},
+ {0x8FF3E9,0x8FF3E9,0x003F},
+ {0x8FF3EA,0x8FF3EA,0x003F},
+ {0x8FF3EB,0x8FF3EB,0x003F},
+ {0x8FF3EC,0x8FF3EC,0x003F},
+ {0x8FF3ED,0x8FF3ED,0x003F},
+ {0x8FF3EE,0x8FF3EE,0x003F},
+ {0x8FF3EF,0x8FF3EF,0x003F},
+ {0x8FF3F0,0x8FF3F0,0x003F}, /* 8FF3F0 */
+ {0x8FF3F1,0x8FF3F1,0x003F},
+ {0x8FF3F2,0x8FF3F2,0x003F},
+ {0x8FF3FD,0x8FF3F3,0x2170},
+ {0x8FF3FE,0x8FF3F4,0x2171},
+ {0x8FF4A1,0x8FF3F5,0x2172},
+ {0x8FF4A2,0x8FF3F6,0x2173},
+ {0x8FF4A3,0x8FF3F7,0x2174},
+ {0x8FF4A4,0x8FF3F8,0x2175},
+ {0x8FF4A5,0x8FF3F9,0x2176},
+ {0x8FF4A6,0x8FF3FA,0x2177},
+ {0x8FF4A7,0x8FF3FB,0x2178},
+ {0x8FF4A8,0x8FF3FC,0x2179},
+ {0x8FF3FD,0x8FF3F3,0x2160},
+ {0x8FF3FE,0x8FF3F4,0x2161},
+ {0x8FF3FF,0x8FF3FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FF4[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FF4A0,0x8FF4A0,0x003F}, /* 8FF4A0 */
+ {0x8FF4A1,0x8FF3F5,0x2162},
+ {0x8FF4A2,0x8FF3F6,0x2163},
+ {0x8FF4A3,0x8FF3F7,0x2164},
+ {0x8FF4A4,0x8FF3F8,0x2165},
+ {0x8FF4A5,0x8FF3F9,0x2166},
+ {0x8FF4A6,0x8FF3FA,0x2167},
+ {0x8FF4A7,0x8FF3FB,0x2168},
+ {0x8FF4A8,0x8FF3FC,0x2169},
+ {0x8FF4A9,0x8FF4A9,0xFF07},
+ {0x8FF4AA,0x8FF4AA,0xFF02},
+ {0x8FF4AB,0x8FF4AB,0x3231},
+ {0x8FF4AC,0x8FF4AC,0x2116},
+ {0x8FF4AD,0x8FF4AD,0x2121},
+ {0x8FF4AE,0x8FF4AE,0x70BB},
+ {0x8FF4AF,0x8FF4AF,0x4EFC},
+ {0x8FF4B0,0x8FF4B0,0x50F4}, /* 8FF4B0 */
+ {0x8FF4B1,0x8FF4B1,0x51EC},
+ {0x8FF4B2,0x8FF4B2,0x5307},
+ {0x8FF4B3,0x8FF4B3,0x5324},
+ {0x8FF4B4,0x8FF4B4,0xFA0E},
+ {0x8FF4B5,0x8FF4B5,0x548A},
+ {0x8FF4B6,0x8FF4B6,0x5759},
+ {0x8FF4B7,0x8FF4B7,0xFA0F},
+ {0x8FF4B8,0x8FF4B8,0xFA10},
+ {0x8FF4B9,0x8FF4B9,0x589E},
+ {0x8FF4BA,0x8FF4BA,0x5BEC},
+ {0x8FF4BB,0x8FF4BB,0x5CF5},
+ {0x8FF4BC,0x8FF4BC,0x5D53},
+ {0x8FF4BD,0x8FF4BD,0xFA11},
+ {0x8FF4BE,0x8FF4BE,0x5FB7},
+ {0x8FF4BF,0x8FF4BF,0x6085},
+ {0x8FF4C0,0x8FF4C0,0x6120}, /* 8FF4C0 */
+ {0x8FF4C1,0x8FF4C1,0x654E},
+ {0x8FF4C2,0x8FF4C2,0x663B},
+ {0x8FF4C3,0x8FF4C3,0x6665},
+ {0x8FF4C4,0x8FF4C4,0xFA12},
+ {0x8FF4C5,0x8FF4C5,0xF929},
+ {0x8FF4C6,0x8FF4C6,0x6801},
+ {0x8FF4C7,0x8FF4C7,0xFA13},
+ {0x8FF4C8,0x8FF4C8,0xFA14},
+ {0x8FF4C9,0x8FF4C9,0x6A6B},
+ {0x8FF4CA,0x8FF4CA,0x6AE2},
+ {0x8FF4CB,0x8FF4CB,0x6DF8},
+ {0x8FF4CC,0x8FF4CC,0x6DF2},
+ {0x8FF4CD,0x8FF4CD,0x7028},
+ {0x8FF4CE,0x8FF4CE,0xFA15},
+ {0x8FF4CF,0x8FF4CF,0xFA16},
+ {0x8FF4D0,0x8FF4D0,0x7501}, /* 8FF4D0 */
+ {0x8FF4D1,0x8FF4D1,0x7682},
+ {0x8FF4D2,0x8FF4D2,0x769E},
+ {0x8FF4D3,0x8FF4D3,0xFA17},
+ {0x8FF4D4,0x8FF4D4,0x7930},
+ {0x8FF4D5,0x8FF4D5,0xFA18},
+ {0x8FF4D6,0x8FF4D6,0xFA19},
+ {0x8FF4D7,0x8FF4D7,0xFA1A},
+ {0x8FF4D8,0x8FF4D8,0xFA1B},
+ {0x8FF4D9,0x8FF4D9,0x7AE7},
+ {0x8FF4DA,0x8FF4DA,0xFA1C},
+ {0x8FF4DB,0x8FF4DB,0xFA1D},
+ {0x8FF4DC,0x8FF4DC,0x7DA0},
+ {0x8FF4DD,0x8FF4DD,0x7DD6},
+ {0x8FF4DE,0x8FF4DE,0xFA1E},
+ {0x8FF4DF,0x8FF4DF,0x8362},
+ {0x8FF4E0,0x8FF4E0,0xFA1F}, /* 8FF4E0 */
+ {0x8FF4E1,0x8FF4E1,0x85B0},
+ {0x8FF4E2,0x8FF4E2,0xFA20},
+ {0x8FF4E3,0x8FF4E3,0xFA21},
+ {0x8FF4E4,0x8FF4E4,0x8807},
+ {0x8FF4E5,0x8FF4E5,0xFA22},
+ {0x8FF4E6,0x8FF4E6,0x8B7F},
+ {0x8FF4E7,0x8FF4E7,0x8CF4},
+ {0x8FF4E8,0x8FF4E8,0x8D76},
+ {0x8FF4E9,0x8FF4E9,0xFA23},
+ {0x8FF4EA,0x8FF4EA,0xFA24},
+ {0x8FF4EB,0x8FF4EB,0xFA25},
+ {0x8FF4EC,0x8FF4EC,0x90DE},
+ {0x8FF4ED,0x8FF4ED,0xFA26},
+ {0x8FF4EE,0x8FF4EE,0x9115},
+ {0x8FF4EF,0x8FF4EF,0xFA27},
+ {0x8FF4F0,0x8FF4F0,0xFA28}, /* 8FF4F0 */
+ {0x8FF4F1,0x8FF4F1,0x9592},
+ {0x8FF4F2,0x8FF4F2,0xF9DC},
+ {0x8FF4F3,0x8FF4F3,0xFA29},
+ {0x8FF4F4,0x8FF4F4,0x973B},
+ {0x8FF4F5,0x8FF4F5,0x974D},
+ {0x8FF4F6,0x8FF4F6,0x9751},
+ {0x8FF4F7,0x8FF4F7,0xFA2A},
+ {0x8FF4F8,0x8FF4F8,0xFA2B},
+ {0x8FF4F9,0x8FF4F9,0xFA2C},
+ {0x8FF4FA,0x8FF4FA,0x999E},
+ {0x8FF4FB,0x8FF4FB,0x9AD9},
+ {0x8FF4FC,0x8FF4FC,0x9B72},
+ {0x8FF4FD,0x8FF4FD,0xFA2D},
+ {0x8FF4FE,0x8FF4FE,0x9ED1},
+ {0x8FF4FF,0x8FF4FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_eucjpms[512]=
+{
+ /* JIS-X-0208 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, cA2, cA3, NULL, NULL, cA6, cA7, /* A */
+ NULL, NULL, NULL, NULL, NULL, cAD, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+
+ /* JIS-X-0212 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL,c8FA6,c8FA7, /* A */
+ NULL, c8FA9,c8FAA,c8FAB,NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL,c8FF3,c8FF4, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+};
+
+
static uint16 tab_jisx0201_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
@@ -8667,8 +10196,8 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_mb_ctype_mb,
my_caseup_str_mb,
my_casedn_str_mb,
- my_caseup_mb,
- my_casedn_mb,
+ my_caseup_ujis,
+ my_casedn_ujis,
my_snprintf_8bit,
my_long10_to_str_8bit,
my_longlong10_to_str_8bit,
@@ -8701,12 +10230,12 @@ CHARSET_INFO my_charset_eucjpms_japanese_ci=
NULL, /* contractions */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_eucjpms,/* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
1, /* caseup_multiply */
- 1, /* casedn_multiply */
+ 2, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
0, /* min_sort_char */
@@ -8734,12 +10263,12 @@ CHARSET_INFO my_charset_eucjpms_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_eucjpms,/* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
1, /* caseup_multiply */
- 1, /* casedn_multiply */
+ 2, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
0, /* min_sort_char */
diff --git a/strings/ctype-gb2312.c b/strings/ctype-gb2312.c
index 0267f35ff5c..c3a52047977 100644
--- a/strings/ctype-gb2312.c
+++ b/strings/ctype-gb2312.c
@@ -177,6 +177,648 @@ static uint mbcharlen_gb2312(CHARSET_INFO *cs __attribute__((unused)),uint c)
}
+static MY_UNICASE_INFO cA2[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA2A0,0xA2A0,0xA2A0}, /* A2A0 */
+ {0xA2A1,0xA2A1,0x003F},
+ {0xA2A2,0xA2A2,0x003F},
+ {0xA2A3,0xA2A3,0x003F},
+ {0xA2A4,0xA2A4,0x003F},
+ {0xA2A5,0xA2A5,0x003F},
+ {0xA2A6,0xA2A6,0x003F},
+ {0xA2A7,0xA2A7,0x003F},
+ {0xA2A8,0xA2A8,0x003F},
+ {0xA2A9,0xA2A9,0x003F},
+ {0xA2AA,0xA2AA,0x003F},
+ {0xA2AB,0xA2AB,0x003F},
+ {0xA2AC,0xA2AC,0x003F},
+ {0xA2AD,0xA2AD,0x003F},
+ {0xA2AE,0xA2AE,0x003F},
+ {0xA2AF,0xA2AF,0x003F},
+ {0xA2B0,0xA2B0,0x003F}, /* A2B0 */
+ {0xA2B1,0xA2B1,0x2488},
+ {0xA2B2,0xA2B2,0x2489},
+ {0xA2B3,0xA2B3,0x248A},
+ {0xA2B4,0xA2B4,0x248B},
+ {0xA2B5,0xA2B5,0x248C},
+ {0xA2B6,0xA2B6,0x248D},
+ {0xA2B7,0xA2B7,0x248E},
+ {0xA2B8,0xA2B8,0x248F},
+ {0xA2B9,0xA2B9,0x2490},
+ {0xA2BA,0xA2BA,0x2491},
+ {0xA2BB,0xA2BB,0x2492},
+ {0xA2BC,0xA2BC,0x2493},
+ {0xA2BD,0xA2BD,0x2494},
+ {0xA2BE,0xA2BE,0x2495},
+ {0xA2BF,0xA2BF,0x2496},
+ {0xA2C0,0xA2C0,0x2497}, /* A2C0 */
+ {0xA2C1,0xA2C1,0x2498},
+ {0xA2C2,0xA2C2,0x2499},
+ {0xA2C3,0xA2C3,0x249A},
+ {0xA2C4,0xA2C4,0x249B},
+ {0xA2C5,0xA2C5,0x2474},
+ {0xA2C6,0xA2C6,0x2475},
+ {0xA2C7,0xA2C7,0x2476},
+ {0xA2C8,0xA2C8,0x2477},
+ {0xA2C9,0xA2C9,0x2478},
+ {0xA2CA,0xA2CA,0x2479},
+ {0xA2CB,0xA2CB,0x247A},
+ {0xA2CC,0xA2CC,0x247B},
+ {0xA2CD,0xA2CD,0x247C},
+ {0xA2CE,0xA2CE,0x247D},
+ {0xA2CF,0xA2CF,0x247E},
+ {0xA2D0,0xA2D0,0x247F}, /* A2D0 */
+ {0xA2D1,0xA2D1,0x2480},
+ {0xA2D2,0xA2D2,0x2481},
+ {0xA2D3,0xA2D3,0x2482},
+ {0xA2D4,0xA2D4,0x2483},
+ {0xA2D5,0xA2D5,0x2484},
+ {0xA2D6,0xA2D6,0x2485},
+ {0xA2D7,0xA2D7,0x2486},
+ {0xA2D8,0xA2D8,0x2487},
+ {0xA2D9,0xA2D9,0x2460},
+ {0xA2DA,0xA2DA,0x2461},
+ {0xA2DB,0xA2DB,0x2462},
+ {0xA2DC,0xA2DC,0x2463},
+ {0xA2DD,0xA2DD,0x2464},
+ {0xA2DE,0xA2DE,0x2465},
+ {0xA2DF,0xA2DF,0x2466},
+ {0xA2E0,0xA2E0,0x2467}, /* A2E0 */
+ {0xA2E1,0xA2E1,0x2468},
+ {0xA2E2,0xA2E2,0x2469},
+ {0xA2E3,0xA2E3,0x003F},
+ {0xA2E4,0xA2E4,0x003F},
+ {0xA2E5,0xA2E5,0x3220},
+ {0xA2E6,0xA2E6,0x3221},
+ {0xA2E7,0xA2E7,0x3222},
+ {0xA2E8,0xA2E8,0x3223},
+ {0xA2E9,0xA2E9,0x3224},
+ {0xA2EA,0xA2EA,0x3225},
+ {0xA2EB,0xA2EB,0x3226},
+ {0xA2EC,0xA2EC,0x3227},
+ {0xA2ED,0xA2ED,0x3228},
+ {0xA2EE,0xA2EE,0x3229},
+ {0xA2EF,0xA2EF,0x003F},
+ {0xA2F0,0xA2F0,0x003F}, /* A2F0 */
+ {0xA2F1,0xA2F1,0x2160},
+ {0xA2F2,0xA2F2,0x2161},
+ {0xA2F3,0xA2F3,0x2162},
+ {0xA2F4,0xA2F4,0x2163},
+ {0xA2F5,0xA2F5,0x2164},
+ {0xA2F6,0xA2F6,0x2165},
+ {0xA2F7,0xA2F7,0x2166},
+ {0xA2F8,0xA2F8,0x2167},
+ {0xA2F9,0xA2F9,0x2168},
+ {0xA2FA,0xA2FA,0x2169},
+ {0xA2FB,0xA2FB,0x216A},
+ {0xA2FC,0xA2FC,0x216B},
+ {0xA2FD,0xA2FD,0x003F},
+ {0xA2FE,0xA2FE,0x003F},
+ {0xA2FF,0xA2FF,0xA2FF}
+};
+
+
+static MY_UNICASE_INFO cA3[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA3A0,0xA3A0,0xA3A0}, /* A3A0 */
+ {0xA3A1,0xA3A1,0xFF01},
+ {0xA3A2,0xA3A2,0xFF02},
+ {0xA3A3,0xA3A3,0xFF03},
+ {0xA3A4,0xA3A4,0xFFE5},
+ {0xA3A5,0xA3A5,0xFF05},
+ {0xA3A6,0xA3A6,0xFF06},
+ {0xA3A7,0xA3A7,0xFF07},
+ {0xA3A8,0xA3A8,0xFF08},
+ {0xA3A9,0xA3A9,0xFF09},
+ {0xA3AA,0xA3AA,0xFF0A},
+ {0xA3AB,0xA3AB,0xFF0B},
+ {0xA3AC,0xA3AC,0xFF0C},
+ {0xA3AD,0xA3AD,0xFF0D},
+ {0xA3AE,0xA3AE,0xFF0E},
+ {0xA3AF,0xA3AF,0xFF0F},
+ {0xA3B0,0xA3B0,0xFF10}, /* A3B0 */
+ {0xA3B1,0xA3B1,0xFF11},
+ {0xA3B2,0xA3B2,0xFF12},
+ {0xA3B3,0xA3B3,0xFF13},
+ {0xA3B4,0xA3B4,0xFF14},
+ {0xA3B5,0xA3B5,0xFF15},
+ {0xA3B6,0xA3B6,0xFF16},
+ {0xA3B7,0xA3B7,0xFF17},
+ {0xA3B8,0xA3B8,0xFF18},
+ {0xA3B9,0xA3B9,0xFF19},
+ {0xA3BA,0xA3BA,0xFF1A},
+ {0xA3BB,0xA3BB,0xFF1B},
+ {0xA3BC,0xA3BC,0xFF1C},
+ {0xA3BD,0xA3BD,0xFF1D},
+ {0xA3BE,0xA3BE,0xFF1E},
+ {0xA3BF,0xA3BF,0xFF1F},
+ {0xA3C0,0xA3C0,0xFF20}, /* A3C0 */
+ {0xA3C1,0xA3E1,0xFF21},
+ {0xA3C2,0xA3E2,0xFF22},
+ {0xA3C3,0xA3E3,0xFF23},
+ {0xA3C4,0xA3E4,0xFF24},
+ {0xA3C5,0xA3E5,0xFF25},
+ {0xA3C6,0xA3E6,0xFF26},
+ {0xA3C7,0xA3E7,0xFF27},
+ {0xA3C8,0xA3E8,0xFF28},
+ {0xA3C9,0xA3E9,0xFF29},
+ {0xA3CA,0xA3EA,0xFF2A},
+ {0xA3CB,0xA3EB,0xFF2B},
+ {0xA3CC,0xA3EC,0xFF2C},
+ {0xA3CD,0xA3ED,0xFF2D},
+ {0xA3CE,0xA3EE,0xFF2E},
+ {0xA3CF,0xA3EF,0xFF2F},
+ {0xA3D0,0xA3F0,0xFF30}, /* A3D0 */
+ {0xA3D1,0xA3F1,0xFF31},
+ {0xA3D2,0xA3F2,0xFF32},
+ {0xA3D3,0xA3F3,0xFF33},
+ {0xA3D4,0xA3F4,0xFF34},
+ {0xA3D5,0xA3F5,0xFF35},
+ {0xA3D6,0xA3F6,0xFF36},
+ {0xA3D7,0xA3F7,0xFF37},
+ {0xA3D8,0xA3F8,0xFF38},
+ {0xA3D9,0xA3F9,0xFF39},
+ {0xA3DA,0xA3FA,0xFF3A},
+ {0xA3DB,0xA3DB,0xFF3B},
+ {0xA3DC,0xA3DC,0xFF3C},
+ {0xA3DD,0xA3DD,0xFF3D},
+ {0xA3DE,0xA3DE,0xFF3E},
+ {0xA3DF,0xA3DF,0xFF3F},
+ {0xA3E0,0xA3E0,0xFF40}, /* A3E0 */
+ {0xA3C1,0xA3E1,0xFF41},
+ {0xA3C2,0xA3E2,0xFF42},
+ {0xA3C3,0xA3E3,0xFF43},
+ {0xA3C4,0xA3E4,0xFF44},
+ {0xA3C5,0xA3E5,0xFF45},
+ {0xA3C6,0xA3E6,0xFF46},
+ {0xA3C7,0xA3E7,0xFF47},
+ {0xA3C8,0xA3E8,0xFF48},
+ {0xA3C9,0xA3E9,0xFF49},
+ {0xA3CA,0xA3EA,0xFF4A},
+ {0xA3CB,0xA3EB,0xFF4B},
+ {0xA3CC,0xA3EC,0xFF4C},
+ {0xA3CD,0xA3ED,0xFF4D},
+ {0xA3CE,0xA3EE,0xFF4E},
+ {0xA3CF,0xA3EF,0xFF4F},
+ {0xA3D0,0xA3F0,0xFF50}, /* A3F0 */
+ {0xA3D1,0xA3F1,0xFF51},
+ {0xA3D2,0xA3F2,0xFF52},
+ {0xA3D3,0xA3F3,0xFF53},
+ {0xA3D4,0xA3F4,0xFF54},
+ {0xA3D5,0xA3F5,0xFF55},
+ {0xA3D6,0xA3F6,0xFF56},
+ {0xA3D7,0xA3F7,0xFF57},
+ {0xA3D8,0xA3F8,0xFF58},
+ {0xA3D9,0xA3F9,0xFF59},
+ {0xA3DA,0xA3FA,0xFF5A},
+ {0xA3FB,0xA3FB,0xFF5B},
+ {0xA3FC,0xA3FC,0xFF5C},
+ {0xA3FD,0xA3FD,0xFF5D},
+ {0xA3FE,0xA3FE,0xFFE3},
+ {0xA3FF,0xA3FF,0xA3FF}
+};
+
+
+static MY_UNICASE_INFO cA6[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA6A0,0xA6A0,0xA6A0}, /* A6A0 */
+ {0xA6A1,0xA6C1,0x0391},
+ {0xA6A2,0xA6C2,0x0392},
+ {0xA6A3,0xA6C3,0x0393},
+ {0xA6A4,0xA6C4,0x0394},
+ {0xA6A5,0xA6C5,0x0395},
+ {0xA6A6,0xA6C6,0x0396},
+ {0xA6A7,0xA6C7,0x0397},
+ {0xA6A8,0xA6C8,0x0398},
+ {0xA6A9,0xA6C9,0x0399},
+ {0xA6AA,0xA6CA,0x039A},
+ {0xA6AB,0xA6CB,0x039B},
+ {0xA6AC,0xA6CC,0x039C},
+ {0xA6AD,0xA6CD,0x039D},
+ {0xA6AE,0xA6CE,0x039E},
+ {0xA6AF,0xA6CF,0x039F},
+ {0xA6B0,0xA6D0,0x03A0}, /* A6B0 */
+ {0xA6B1,0xA6D1,0x03A1},
+ {0xA6B2,0xA6D2,0x03A3},
+ {0xA6B3,0xA6D3,0x03A4},
+ {0xA6B4,0xA6D4,0x03A5},
+ {0xA6B5,0xA6D5,0x03A6},
+ {0xA6B6,0xA6D6,0x03A7},
+ {0xA6B7,0xA6D7,0x03A8},
+ {0xA6B8,0xA6D8,0x03A9},
+ {0xA6B9,0xA6B9,0x003F},
+ {0xA6BA,0xA6BA,0x003F},
+ {0xA6BB,0xA6BB,0x003F},
+ {0xA6BC,0xA6BC,0x003F},
+ {0xA6BD,0xA6BD,0x003F},
+ {0xA6BE,0xA6BE,0x003F},
+ {0xA6BF,0xA6BF,0x003F},
+ {0xA6C0,0xA6C0,0x003F}, /* A6C0 */
+ {0xA6A1,0xA6C1,0x03B1},
+ {0xA6A2,0xA6C2,0x03B2},
+ {0xA6A3,0xA6C3,0x03B3},
+ {0xA6A4,0xA6C4,0x03B4},
+ {0xA6A5,0xA6C5,0x03B5},
+ {0xA6A6,0xA6C6,0x03B6},
+ {0xA6A7,0xA6C7,0x03B7},
+ {0xA6A8,0xA6C8,0x03B8},
+ {0xA6A9,0xA6C9,0x03B9},
+ {0xA6AA,0xA6CA,0x03BA},
+ {0xA6AB,0xA6CB,0x03BB},
+ {0xA6AC,0xA6CC,0x03BC},
+ {0xA6AD,0xA6CD,0x03BD},
+ {0xA6AE,0xA6CE,0x03BE},
+ {0xA6AF,0xA6CF,0x03BF},
+ {0xA6B0,0xA6D0,0x03C0}, /* A6D0 */
+ {0xA6B1,0xA6D1,0x03C1},
+ {0xA6B2,0xA6D2,0x03C3},
+ {0xA6B3,0xA6D3,0x03C4},
+ {0xA6B4,0xA6D4,0x03C5},
+ {0xA6B5,0xA6D5,0x03C6},
+ {0xA6B6,0xA6D6,0x03C7},
+ {0xA6B7,0xA6D7,0x03C8},
+ {0xA6B8,0xA6D8,0x03C9},
+ {0xA6D9,0xA6D9,0x003F},
+ {0xA6DA,0xA6DA,0x003F},
+ {0xA6DB,0xA6DB,0x003F},
+ {0xA6DC,0xA6DC,0x003F},
+ {0xA6DD,0xA6DD,0x003F},
+ {0xA6DE,0xA6DE,0x003F},
+ {0xA6DF,0xA6DF,0x003F},
+ {0xA6E0,0xA6E0,0x003F}, /* A6E0 */
+ {0xA6E1,0xA6E1,0x003F},
+ {0xA6E2,0xA6E2,0x003F},
+ {0xA6E3,0xA6E3,0x003F},
+ {0xA6E4,0xA6E4,0x003F},
+ {0xA6E5,0xA6E5,0x003F},
+ {0xA6E6,0xA6E6,0x003F},
+ {0xA6E7,0xA6E7,0x003F},
+ {0xA6E8,0xA6E8,0x003F},
+ {0xA6E9,0xA6E9,0x003F},
+ {0xA6EA,0xA6EA,0x003F},
+ {0xA6EB,0xA6EB,0x003F},
+ {0xA6EC,0xA6EC,0x003F},
+ {0xA6ED,0xA6ED,0x003F},
+ {0xA6EE,0xA6EE,0x003F},
+ {0xA6EF,0xA6EF,0x003F},
+ {0xA6F0,0xA6F0,0x003F}, /* A6F0 */
+ {0xA6F1,0xA6F1,0x003F},
+ {0xA6F2,0xA6F2,0x003F},
+ {0xA6F3,0xA6F3,0x003F},
+ {0xA6F4,0xA6F4,0x003F},
+ {0xA6F5,0xA6F5,0x003F},
+ {0xA6F6,0xA6F6,0x003F},
+ {0xA6F7,0xA6F7,0x003F},
+ {0xA6F8,0xA6F8,0x003F},
+ {0xA6F9,0xA6F9,0x003F},
+ {0xA6FA,0xA6FA,0x003F},
+ {0xA6FB,0xA6FB,0x003F},
+ {0xA6FC,0xA6FC,0x003F},
+ {0xA6FD,0xA6FD,0x003F},
+ {0xA6FE,0xA6FE,0x003F},
+ {0xA6FF,0xA6FF,0xA6FF}
+};
+
+
+static MY_UNICASE_INFO cA7[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA7A0,0xA7A0,0xA7A0}, /* A7A0 */
+ {0xA7A1,0xA7D1,0x0410},
+ {0xA7A2,0xA7D2,0x0411},
+ {0xA7A3,0xA7D3,0x0412},
+ {0xA7A4,0xA7D4,0x0413},
+ {0xA7A5,0xA7D5,0x0414},
+ {0xA7A6,0xA7D6,0x0415},
+ {0xA7A7,0xA7D7,0x0401},
+ {0xA7A8,0xA7D8,0x0416},
+ {0xA7A9,0xA7D9,0x0417},
+ {0xA7AA,0xA7DA,0x0418},
+ {0xA7AB,0xA7DB,0x0419},
+ {0xA7AC,0xA7DC,0x041A},
+ {0xA7AD,0xA7DD,0x041B},
+ {0xA7AE,0xA7DE,0x041C},
+ {0xA7AF,0xA7DF,0x041D},
+ {0xA7B0,0xA7E0,0x041E}, /* A7B0 */
+ {0xA7B1,0xA7E1,0x041F},
+ {0xA7B2,0xA7E2,0x0420},
+ {0xA7B3,0xA7E3,0x0421},
+ {0xA7B4,0xA7E4,0x0422},
+ {0xA7B5,0xA7E5,0x0423},
+ {0xA7B6,0xA7E6,0x0424},
+ {0xA7B7,0xA7E7,0x0425},
+ {0xA7B8,0xA7E8,0x0426},
+ {0xA7B9,0xA7E9,0x0427},
+ {0xA7BA,0xA7EA,0x0428},
+ {0xA7BB,0xA7EB,0x0429},
+ {0xA7BC,0xA7EC,0x042A},
+ {0xA7BD,0xA7ED,0x042B},
+ {0xA7BE,0xA7EE,0x042C},
+ {0xA7BF,0xA7EF,0x042D},
+ {0xA7C0,0xA7F0,0x042E}, /* A7C0 */
+ {0xA7C1,0xA7F1,0x042F},
+ {0xA7C2,0xA7C2,0x003F},
+ {0xA7C3,0xA7C3,0x003F},
+ {0xA7C4,0xA7C4,0x003F},
+ {0xA7C5,0xA7C5,0x003F},
+ {0xA7C6,0xA7C6,0x003F},
+ {0xA7C7,0xA7C7,0x003F},
+ {0xA7C8,0xA7C8,0x003F},
+ {0xA7C9,0xA7C9,0x003F},
+ {0xA7CA,0xA7CA,0x003F},
+ {0xA7CB,0xA7CB,0x003F},
+ {0xA7CC,0xA7CC,0x003F},
+ {0xA7CD,0xA7CD,0x003F},
+ {0xA7CE,0xA7CE,0x003F},
+ {0xA7CF,0xA7CF,0x003F},
+ {0xA7D0,0xA7D0,0x003F}, /* A7D0 */
+ {0xA7A1,0xA7D1,0x0430},
+ {0xA7A2,0xA7D2,0x0431},
+ {0xA7A3,0xA7D3,0x0432},
+ {0xA7A4,0xA7D4,0x0433},
+ {0xA7A5,0xA7D5,0x0434},
+ {0xA7A6,0xA7D6,0x0435},
+ {0xA7A7,0xA7D7,0x0451},
+ {0xA7A8,0xA7D8,0x0436},
+ {0xA7A9,0xA7D9,0x0437},
+ {0xA7AA,0xA7DA,0x0438},
+ {0xA7AB,0xA7DB,0x0439},
+ {0xA7AC,0xA7DC,0x043A},
+ {0xA7AD,0xA7DD,0x043B},
+ {0xA7AE,0xA7DE,0x043C},
+ {0xA7AF,0xA7DF,0x043D},
+ {0xA7B0,0xA7E0,0x043E}, /* A7E0 */
+ {0xA7B1,0xA7E1,0x043F},
+ {0xA7B2,0xA7E2,0x0440},
+ {0xA7B3,0xA7E3,0x0441},
+ {0xA7B4,0xA7E4,0x0442},
+ {0xA7B5,0xA7E5,0x0443},
+ {0xA7B6,0xA7E6,0x0444},
+ {0xA7B7,0xA7E7,0x0445},
+ {0xA7B8,0xA7E8,0x0446},
+ {0xA7B9,0xA7E9,0x0447},
+ {0xA7BA,0xA7EA,0x0448},
+ {0xA7BB,0xA7EB,0x0449},
+ {0xA7BC,0xA7EC,0x044A},
+ {0xA7BD,0xA7ED,0x044B},
+ {0xA7BE,0xA7EE,0x044C},
+ {0xA7BF,0xA7EF,0x044D},
+ {0xA7C0,0xA7F0,0x044E}, /* A7F0 */
+ {0xA7C1,0xA7F1,0x044F},
+ {0xA7F2,0xA7F2,0x003F},
+ {0xA7F3,0xA7F3,0x003F},
+ {0xA7F4,0xA7F4,0x003F},
+ {0xA7F5,0xA7F5,0x003F},
+ {0xA7F6,0xA7F6,0x003F},
+ {0xA7F7,0xA7F7,0x003F},
+ {0xA7F8,0xA7F8,0x003F},
+ {0xA7F9,0xA7F9,0x003F},
+ {0xA7FA,0xA7FA,0x003F},
+ {0xA7FB,0xA7FB,0x003F},
+ {0xA7FC,0xA7FC,0x003F},
+ {0xA7FD,0xA7FD,0x003F},
+ {0xA7FE,0xA7FE,0x003F},
+ {0xA7FF,0xA7FF,0xA7FF}
+};
+
+
+static MY_UNICASE_INFO cA8[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA8A0,0xA8A0,0xA8A0}, /* A8A0 */
+ {0xA8A1,0xA8A1,0x0101},
+ {0xA8A2,0xA8A2,0x00E1},
+ {0xA8A3,0xA8A3,0x01CE},
+ {0xA8A4,0xA8A4,0x00E0},
+ {0xA8A5,0xA8A5,0x0113},
+ {0xA8A6,0xA8A6,0x00E9},
+ {0xA8A7,0xA8A7,0x011B},
+ {0xA8A8,0xA8A8,0x00E8},
+ {0xA8A9,0xA8A9,0x012B},
+ {0xA8AA,0xA8AA,0x00ED},
+ {0xA8AB,0xA8AB,0x01D0},
+ {0xA8AC,0xA8AC,0x00EC},
+ {0xA8AD,0xA8AD,0x014D},
+ {0xA8AE,0xA8AE,0x00F3},
+ {0xA8AF,0xA8AF,0x01D2},
+ {0xA8B0,0xA8B0,0x00F2}, /* A8B0 */
+ {0xA8B1,0xA8B1,0x016B},
+ {0xA8B2,0xA8B2,0x00FA},
+ {0xA8B3,0xA8B3,0x01D4},
+ {0xA8B4,0xA8B4,0x00F9},
+ {0xA8B5,0xA8B5,0x01D6},
+ {0xA8B6,0xA8B6,0x01D8},
+ {0xA8B7,0xA8B7,0x01DA},
+ {0xA8B8,0xA8B8,0x01DC},
+ {0xA8B9,0xA8B9,0x00FC},
+ {0xA8BA,0xA8BA,0x00EA},
+ {0xA8BB,0xA8BB,0x003F},
+ {0xA8BC,0xA8BC,0x003F},
+ {0xA8BD,0xA8BD,0x003F},
+ {0xA8BE,0xA8BE,0x003F},
+ {0xA8BF,0xA8BF,0x003F},
+ {0xA8C0,0xA8C0,0x003F}, /* A8C0 */
+ {0xA8C1,0xA8C1,0x003F},
+ {0xA8C2,0xA8C2,0x003F},
+ {0xA8C3,0xA8C3,0x003F},
+ {0xA8C4,0xA8C4,0x003F},
+ {0xA8C5,0xA8C5,0x3105},
+ {0xA8C6,0xA8C6,0x3106},
+ {0xA8C7,0xA8C7,0x3107},
+ {0xA8C8,0xA8C8,0x3108},
+ {0xA8C9,0xA8C9,0x3109},
+ {0xA8CA,0xA8CA,0x310A},
+ {0xA8CB,0xA8CB,0x310B},
+ {0xA8CC,0xA8CC,0x310C},
+ {0xA8CD,0xA8CD,0x310D},
+ {0xA8CE,0xA8CE,0x310E},
+ {0xA8CF,0xA8CF,0x310F},
+ {0xA8D0,0xA8D0,0x3110}, /* A8D0 */
+ {0xA8D1,0xA8D1,0x3111},
+ {0xA8D2,0xA8D2,0x3112},
+ {0xA8D3,0xA8D3,0x3113},
+ {0xA8D4,0xA8D4,0x3114},
+ {0xA8D5,0xA8D5,0x3115},
+ {0xA8D6,0xA8D6,0x3116},
+ {0xA8D7,0xA8D7,0x3117},
+ {0xA8D8,0xA8D8,0x3118},
+ {0xA8D9,0xA8D9,0x3119},
+ {0xA8DA,0xA8DA,0x311A},
+ {0xA8DB,0xA8DB,0x311B},
+ {0xA8DC,0xA8DC,0x311C},
+ {0xA8DD,0xA8DD,0x311D},
+ {0xA8DE,0xA8DE,0x311E},
+ {0xA8DF,0xA8DF,0x311F},
+ {0xA8E0,0xA8E0,0x3120}, /* A8E0 */
+ {0xA8E1,0xA8E1,0x3121},
+ {0xA8E2,0xA8E2,0x3122},
+ {0xA8E3,0xA8E3,0x3123},
+ {0xA8E4,0xA8E4,0x3124},
+ {0xA8E5,0xA8E5,0x3125},
+ {0xA8E6,0xA8E6,0x3126},
+ {0xA8E7,0xA8E7,0x3127},
+ {0xA8E8,0xA8E8,0x3128},
+ {0xA8E9,0xA8E9,0x3129},
+ {0xA8EA,0xA8EA,0x003F},
+ {0xA8EB,0xA8EB,0x003F},
+ {0xA8EC,0xA8EC,0x003F},
+ {0xA8ED,0xA8ED,0x003F},
+ {0xA8EE,0xA8EE,0x003F},
+ {0xA8EF,0xA8EF,0x003F},
+ {0xA8F0,0xA8F0,0x003F}, /* A8F0 */
+ {0xA8F1,0xA8F1,0x003F},
+ {0xA8F2,0xA8F2,0x003F},
+ {0xA8F3,0xA8F3,0x003F},
+ {0xA8F4,0xA8F4,0x003F},
+ {0xA8F5,0xA8F5,0x003F},
+ {0xA8F6,0xA8F6,0x003F},
+ {0xA8F7,0xA8F7,0x003F},
+ {0xA8F8,0xA8F8,0x003F},
+ {0xA8F9,0xA8F9,0x003F},
+ {0xA8FA,0xA8FA,0x003F},
+ {0xA8FB,0xA8FB,0x003F},
+ {0xA8FC,0xA8FC,0x003F},
+ {0xA8FD,0xA8FD,0x003F},
+ {0xA8FE,0xA8FE,0x003F},
+ {0xA8FF,0xA8FF,0xA8FF}
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_gb2312[256]=
+{
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, cA2, cA3, NULL, NULL, cA6, cA7, /* A */
+ cA8, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+};
+
+
/* page 0 0x2121-0x2658 */
static uint16 tab_gb2312_uni0[]={
0x3000,0x3001,0x3002,0x30FB,0x02C9,0x02C7,0x00A8,0x3003,
@@ -5781,7 +6423,7 @@ CHARSET_INFO my_charset_gb2312_chinese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_gb2312, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@@ -5813,7 +6455,7 @@ CHARSET_INFO my_charset_gb2312_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_gb2312, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c
index 7b8bb85652b..52a8d994fa4 100644
--- a/strings/ctype-gbk.c
+++ b/strings/ctype-gbk.c
@@ -137,6 +137,864 @@ static uchar NEAR to_upper_gbk[]=
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377',
};
+
+static MY_UNICASE_INFO cA2[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA240,0xA240,0x003F}, /* A240 */
+ {0xA241,0xA241,0x003F},
+ {0xA242,0xA242,0x003F},
+ {0xA243,0xA243,0x003F},
+ {0xA244,0xA244,0x003F},
+ {0xA245,0xA245,0x003F},
+ {0xA246,0xA246,0x003F},
+ {0xA247,0xA247,0x003F},
+ {0xA248,0xA248,0x003F},
+ {0xA249,0xA249,0x003F},
+ {0xA24A,0xA24A,0x003F},
+ {0xA24B,0xA24B,0x003F},
+ {0xA24C,0xA24C,0x003F},
+ {0xA24D,0xA24D,0x003F},
+ {0xA24E,0xA24E,0x003F},
+ {0xA24F,0xA24F,0x003F},
+ {0xA250,0xA250,0x003F}, /* A250 */
+ {0xA251,0xA251,0x003F},
+ {0xA252,0xA252,0x003F},
+ {0xA253,0xA253,0x003F},
+ {0xA254,0xA254,0x003F},
+ {0xA255,0xA255,0x003F},
+ {0xA256,0xA256,0x003F},
+ {0xA257,0xA257,0x003F},
+ {0xA258,0xA258,0x003F},
+ {0xA259,0xA259,0x003F},
+ {0xA25A,0xA25A,0x003F},
+ {0xA25B,0xA25B,0x003F},
+ {0xA25C,0xA25C,0x003F},
+ {0xA25D,0xA25D,0x003F},
+ {0xA25E,0xA25E,0x003F},
+ {0xA25F,0xA25F,0x003F},
+ {0xA260,0xA260,0x003F}, /* A260 */
+ {0xA261,0xA261,0x003F},
+ {0xA262,0xA262,0x003F},
+ {0xA263,0xA263,0x003F},
+ {0xA264,0xA264,0x003F},
+ {0xA265,0xA265,0x003F},
+ {0xA266,0xA266,0x003F},
+ {0xA267,0xA267,0x003F},
+ {0xA268,0xA268,0x003F},
+ {0xA269,0xA269,0x003F},
+ {0xA26A,0xA26A,0x003F},
+ {0xA26B,0xA26B,0x003F},
+ {0xA26C,0xA26C,0x003F},
+ {0xA26D,0xA26D,0x003F},
+ {0xA26E,0xA26E,0x003F},
+ {0xA26F,0xA26F,0x003F},
+ {0xA270,0xA270,0x003F}, /* A270 */
+ {0xA271,0xA271,0x003F},
+ {0xA272,0xA272,0x003F},
+ {0xA273,0xA273,0x003F},
+ {0xA274,0xA274,0x003F},
+ {0xA275,0xA275,0x003F},
+ {0xA276,0xA276,0x003F},
+ {0xA277,0xA277,0x003F},
+ {0xA278,0xA278,0x003F},
+ {0xA279,0xA279,0x003F},
+ {0xA27A,0xA27A,0x003F},
+ {0xA27B,0xA27B,0x003F},
+ {0xA27C,0xA27C,0x003F},
+ {0xA27D,0xA27D,0x003F},
+ {0xA27E,0xA27E,0x003F},
+ {0xA27F,0xA27F,0xA27F},
+ {0xA280,0xA280,0x003F}, /* A280 */
+ {0xA281,0xA281,0x003F},
+ {0xA282,0xA282,0x003F},
+ {0xA283,0xA283,0x003F},
+ {0xA284,0xA284,0x003F},
+ {0xA285,0xA285,0x003F},
+ {0xA286,0xA286,0x003F},
+ {0xA287,0xA287,0x003F},
+ {0xA288,0xA288,0x003F},
+ {0xA289,0xA289,0x003F},
+ {0xA28A,0xA28A,0x003F},
+ {0xA28B,0xA28B,0x003F},
+ {0xA28C,0xA28C,0x003F},
+ {0xA28D,0xA28D,0x003F},
+ {0xA28E,0xA28E,0x003F},
+ {0xA28F,0xA28F,0x003F},
+ {0xA290,0xA290,0x003F}, /* A290 */
+ {0xA291,0xA291,0x003F},
+ {0xA292,0xA292,0x003F},
+ {0xA293,0xA293,0x003F},
+ {0xA294,0xA294,0x003F},
+ {0xA295,0xA295,0x003F},
+ {0xA296,0xA296,0x003F},
+ {0xA297,0xA297,0x003F},
+ {0xA298,0xA298,0x003F},
+ {0xA299,0xA299,0x003F},
+ {0xA29A,0xA29A,0x003F},
+ {0xA29B,0xA29B,0x003F},
+ {0xA29C,0xA29C,0x003F},
+ {0xA29D,0xA29D,0x003F},
+ {0xA29E,0xA29E,0x003F},
+ {0xA29F,0xA29F,0x003F},
+ {0xA2A0,0xA2A0,0x003F}, /* A2A0 */
+ {0xA2F1,0xA2A1,0x2170},
+ {0xA2F2,0xA2A2,0x2171},
+ {0xA2F3,0xA2A3,0x2172},
+ {0xA2F4,0xA2A4,0x2173},
+ {0xA2F5,0xA2A5,0x2174},
+ {0xA2F6,0xA2A6,0x2175},
+ {0xA2F7,0xA2A7,0x2176},
+ {0xA2F8,0xA2A8,0x2177},
+ {0xA2F9,0xA2A9,0x2178},
+ {0xA2FA,0xA2AA,0x2179},
+ {0xA2AB,0xA2AB,0x003F},
+ {0xA2AC,0xA2AC,0x003F},
+ {0xA2AD,0xA2AD,0x003F},
+ {0xA2AE,0xA2AE,0x003F},
+ {0xA2AF,0xA2AF,0x003F},
+ {0xA2B0,0xA2B0,0x003F}, /* A2B0 */
+ {0xA2B1,0xA2B1,0x2488},
+ {0xA2B2,0xA2B2,0x2489},
+ {0xA2B3,0xA2B3,0x248A},
+ {0xA2B4,0xA2B4,0x248B},
+ {0xA2B5,0xA2B5,0x248C},
+ {0xA2B6,0xA2B6,0x248D},
+ {0xA2B7,0xA2B7,0x248E},
+ {0xA2B8,0xA2B8,0x248F},
+ {0xA2B9,0xA2B9,0x2490},
+ {0xA2BA,0xA2BA,0x2491},
+ {0xA2BB,0xA2BB,0x2492},
+ {0xA2BC,0xA2BC,0x2493},
+ {0xA2BD,0xA2BD,0x2494},
+ {0xA2BE,0xA2BE,0x2495},
+ {0xA2BF,0xA2BF,0x2496},
+ {0xA2C0,0xA2C0,0x2497}, /* A2C0 */
+ {0xA2C1,0xA2C1,0x2498},
+ {0xA2C2,0xA2C2,0x2499},
+ {0xA2C3,0xA2C3,0x249A},
+ {0xA2C4,0xA2C4,0x249B},
+ {0xA2C5,0xA2C5,0x2474},
+ {0xA2C6,0xA2C6,0x2475},
+ {0xA2C7,0xA2C7,0x2476},
+ {0xA2C8,0xA2C8,0x2477},
+ {0xA2C9,0xA2C9,0x2478},
+ {0xA2CA,0xA2CA,0x2479},
+ {0xA2CB,0xA2CB,0x247A},
+ {0xA2CC,0xA2CC,0x247B},
+ {0xA2CD,0xA2CD,0x247C},
+ {0xA2CE,0xA2CE,0x247D},
+ {0xA2CF,0xA2CF,0x247E},
+ {0xA2D0,0xA2D0,0x247F}, /* A2D0 */
+ {0xA2D1,0xA2D1,0x2480},
+ {0xA2D2,0xA2D2,0x2481},
+ {0xA2D3,0xA2D3,0x2482},
+ {0xA2D4,0xA2D4,0x2483},
+ {0xA2D5,0xA2D5,0x2484},
+ {0xA2D6,0xA2D6,0x2485},
+ {0xA2D7,0xA2D7,0x2486},
+ {0xA2D8,0xA2D8,0x2487},
+ {0xA2D9,0xA2D9,0x2460},
+ {0xA2DA,0xA2DA,0x2461},
+ {0xA2DB,0xA2DB,0x2462},
+ {0xA2DC,0xA2DC,0x2463},
+ {0xA2DD,0xA2DD,0x2464},
+ {0xA2DE,0xA2DE,0x2465},
+ {0xA2DF,0xA2DF,0x2466},
+ {0xA2E0,0xA2E0,0x2467}, /* A2E0 */
+ {0xA2E1,0xA2E1,0x2468},
+ {0xA2E2,0xA2E2,0x2469},
+ {0xA2E3,0xA2E3,0x003F},
+ {0xA2E4,0xA2E4,0x003F},
+ {0xA2E5,0xA2E5,0x3220},
+ {0xA2E6,0xA2E6,0x3221},
+ {0xA2E7,0xA2E7,0x3222},
+ {0xA2E8,0xA2E8,0x3223},
+ {0xA2E9,0xA2E9,0x3224},
+ {0xA2EA,0xA2EA,0x3225},
+ {0xA2EB,0xA2EB,0x3226},
+ {0xA2EC,0xA2EC,0x3227},
+ {0xA2ED,0xA2ED,0x3228},
+ {0xA2EE,0xA2EE,0x3229},
+ {0xA2EF,0xA2EF,0x003F},
+ {0xA2F0,0xA2F0,0x003F}, /* A2F0 */
+ {0xA2F1,0xA2A1,0x2160},
+ {0xA2F2,0xA2A2,0x2161},
+ {0xA2F3,0xA2A3,0x2162},
+ {0xA2F4,0xA2A4,0x2163},
+ {0xA2F5,0xA2A5,0x2164},
+ {0xA2F6,0xA2A6,0x2165},
+ {0xA2F7,0xA2A7,0x2166},
+ {0xA2F8,0xA2A8,0x2167},
+ {0xA2F9,0xA2A9,0x2168},
+ {0xA2FA,0xA2AA,0x2169},
+ {0xA2FB,0xA2FB,0x216A},
+ {0xA2FC,0xA2FC,0x216B},
+ {0xA2FD,0xA2FD,0x003F},
+ {0xA2FE,0xA2FE,0x003F},
+ {0xA2FF,0xA2FF,0xA2FF}
+};
+
+static MY_UNICASE_INFO cA3[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA340,0xA340,0x003F}, /* A340 */
+ {0xA341,0xA341,0x003F},
+ {0xA342,0xA342,0x003F},
+ {0xA343,0xA343,0x003F},
+ {0xA344,0xA344,0x003F},
+ {0xA345,0xA345,0x003F},
+ {0xA346,0xA346,0x003F},
+ {0xA347,0xA347,0x003F},
+ {0xA348,0xA348,0x003F},
+ {0xA349,0xA349,0x003F},
+ {0xA34A,0xA34A,0x003F},
+ {0xA34B,0xA34B,0x003F},
+ {0xA34C,0xA34C,0x003F},
+ {0xA34D,0xA34D,0x003F},
+ {0xA34E,0xA34E,0x003F},
+ {0xA34F,0xA34F,0x003F},
+ {0xA350,0xA350,0x003F}, /* A350 */
+ {0xA351,0xA351,0x003F},
+ {0xA352,0xA352,0x003F},
+ {0xA353,0xA353,0x003F},
+ {0xA354,0xA354,0x003F},
+ {0xA355,0xA355,0x003F},
+ {0xA356,0xA356,0x003F},
+ {0xA357,0xA357,0x003F},
+ {0xA358,0xA358,0x003F},
+ {0xA359,0xA359,0x003F},
+ {0xA35A,0xA35A,0x003F},
+ {0xA35B,0xA35B,0x003F},
+ {0xA35C,0xA35C,0x003F},
+ {0xA35D,0xA35D,0x003F},
+ {0xA35E,0xA35E,0x003F},
+ {0xA35F,0xA35F,0x003F},
+ {0xA360,0xA360,0x003F}, /* A360 */
+ {0xA361,0xA361,0x003F},
+ {0xA362,0xA362,0x003F},
+ {0xA363,0xA363,0x003F},
+ {0xA364,0xA364,0x003F},
+ {0xA365,0xA365,0x003F},
+ {0xA366,0xA366,0x003F},
+ {0xA367,0xA367,0x003F},
+ {0xA368,0xA368,0x003F},
+ {0xA369,0xA369,0x003F},
+ {0xA36A,0xA36A,0x003F},
+ {0xA36B,0xA36B,0x003F},
+ {0xA36C,0xA36C,0x003F},
+ {0xA36D,0xA36D,0x003F},
+ {0xA36E,0xA36E,0x003F},
+ {0xA36F,0xA36F,0x003F},
+ {0xA370,0xA370,0x003F}, /* A370 */
+ {0xA371,0xA371,0x003F},
+ {0xA372,0xA372,0x003F},
+ {0xA373,0xA373,0x003F},
+ {0xA374,0xA374,0x003F},
+ {0xA375,0xA375,0x003F},
+ {0xA376,0xA376,0x003F},
+ {0xA377,0xA377,0x003F},
+ {0xA378,0xA378,0x003F},
+ {0xA379,0xA379,0x003F},
+ {0xA37A,0xA37A,0x003F},
+ {0xA37B,0xA37B,0x003F},
+ {0xA37C,0xA37C,0x003F},
+ {0xA37D,0xA37D,0x003F},
+ {0xA37E,0xA37E,0x003F},
+ {0xA37F,0xA37F,0xA37F},
+ {0xA380,0xA380,0x003F}, /* A380 */
+ {0xA381,0xA381,0x003F},
+ {0xA382,0xA382,0x003F},
+ {0xA383,0xA383,0x003F},
+ {0xA384,0xA384,0x003F},
+ {0xA385,0xA385,0x003F},
+ {0xA386,0xA386,0x003F},
+ {0xA387,0xA387,0x003F},
+ {0xA388,0xA388,0x003F},
+ {0xA389,0xA389,0x003F},
+ {0xA38A,0xA38A,0x003F},
+ {0xA38B,0xA38B,0x003F},
+ {0xA38C,0xA38C,0x003F},
+ {0xA38D,0xA38D,0x003F},
+ {0xA38E,0xA38E,0x003F},
+ {0xA38F,0xA38F,0x003F},
+ {0xA390,0xA390,0x003F}, /* A390 */
+ {0xA391,0xA391,0x003F},
+ {0xA392,0xA392,0x003F},
+ {0xA393,0xA393,0x003F},
+ {0xA394,0xA394,0x003F},
+ {0xA395,0xA395,0x003F},
+ {0xA396,0xA396,0x003F},
+ {0xA397,0xA397,0x003F},
+ {0xA398,0xA398,0x003F},
+ {0xA399,0xA399,0x003F},
+ {0xA39A,0xA39A,0x003F},
+ {0xA39B,0xA39B,0x003F},
+ {0xA39C,0xA39C,0x003F},
+ {0xA39D,0xA39D,0x003F},
+ {0xA39E,0xA39E,0x003F},
+ {0xA39F,0xA39F,0x003F},
+ {0xA3A0,0xA3A0,0x003F}, /* A3A0 */
+ {0xA3A1,0xA3A1,0xFF01},
+ {0xA3A2,0xA3A2,0xFF02},
+ {0xA3A3,0xA3A3,0xFF03},
+ {0xA3A4,0xA3A4,0xFFE5},
+ {0xA3A5,0xA3A5,0xFF05},
+ {0xA3A6,0xA3A6,0xFF06},
+ {0xA3A7,0xA3A7,0xFF07},
+ {0xA3A8,0xA3A8,0xFF08},
+ {0xA3A9,0xA3A9,0xFF09},
+ {0xA3AA,0xA3AA,0xFF0A},
+ {0xA3AB,0xA3AB,0xFF0B},
+ {0xA3AC,0xA3AC,0xFF0C},
+ {0xA3AD,0xA3AD,0xFF0D},
+ {0xA3AE,0xA3AE,0xFF0E},
+ {0xA3AF,0xA3AF,0xFF0F},
+ {0xA3B0,0xA3B0,0xFF10}, /* A3B0 */
+ {0xA3B1,0xA3B1,0xFF11},
+ {0xA3B2,0xA3B2,0xFF12},
+ {0xA3B3,0xA3B3,0xFF13},
+ {0xA3B4,0xA3B4,0xFF14},
+ {0xA3B5,0xA3B5,0xFF15},
+ {0xA3B6,0xA3B6,0xFF16},
+ {0xA3B7,0xA3B7,0xFF17},
+ {0xA3B8,0xA3B8,0xFF18},
+ {0xA3B9,0xA3B9,0xFF19},
+ {0xA3BA,0xA3BA,0xFF1A},
+ {0xA3BB,0xA3BB,0xFF1B},
+ {0xA3BC,0xA3BC,0xFF1C},
+ {0xA3BD,0xA3BD,0xFF1D},
+ {0xA3BE,0xA3BE,0xFF1E},
+ {0xA3BF,0xA3BF,0xFF1F},
+ {0xA3C0,0xA3C0,0xFF20}, /* A3C0 */
+ {0xA3C1,0xA3E1,0xFF21},
+ {0xA3C2,0xA3E2,0xFF22},
+ {0xA3C3,0xA3E3,0xFF23},
+ {0xA3C4,0xA3E4,0xFF24},
+ {0xA3C5,0xA3E5,0xFF25},
+ {0xA3C6,0xA3E6,0xFF26},
+ {0xA3C7,0xA3E7,0xFF27},
+ {0xA3C8,0xA3E8,0xFF28},
+ {0xA3C9,0xA3E9,0xFF29},
+ {0xA3CA,0xA3EA,0xFF2A},
+ {0xA3CB,0xA3EB,0xFF2B},
+ {0xA3CC,0xA3EC,0xFF2C},
+ {0xA3CD,0xA3ED,0xFF2D},
+ {0xA3CE,0xA3EE,0xFF2E},
+ {0xA3CF,0xA3EF,0xFF2F},
+ {0xA3D0,0xA3F0,0xFF30}, /* A3D0 */
+ {0xA3D1,0xA3F1,0xFF31},
+ {0xA3D2,0xA3F2,0xFF32},
+ {0xA3D3,0xA3F3,0xFF33},
+ {0xA3D4,0xA3F4,0xFF34},
+ {0xA3D5,0xA3F5,0xFF35},
+ {0xA3D6,0xA3F6,0xFF36},
+ {0xA3D7,0xA3F7,0xFF37},
+ {0xA3D8,0xA3F8,0xFF38},
+ {0xA3D9,0xA3F9,0xFF39},
+ {0xA3DA,0xA3FA,0xFF3A},
+ {0xA3DB,0xA3DB,0xFF3B},
+ {0xA3DC,0xA3DC,0xFF3C},
+ {0xA3DD,0xA3DD,0xFF3D},
+ {0xA3DE,0xA3DE,0xFF3E},
+ {0xA3DF,0xA3DF,0xFF3F},
+ {0xA3E0,0xA3E0,0xFF40}, /* A3E0 */
+ {0xA3C1,0xA3E1,0xFF41},
+ {0xA3C2,0xA3E2,0xFF42},
+ {0xA3C3,0xA3E3,0xFF43},
+ {0xA3C4,0xA3E4,0xFF44},
+ {0xA3C5,0xA3E5,0xFF45},
+ {0xA3C6,0xA3E6,0xFF46},
+ {0xA3C7,0xA3E7,0xFF47},
+ {0xA3C8,0xA3E8,0xFF48},
+ {0xA3C9,0xA3E9,0xFF49},
+ {0xA3CA,0xA3EA,0xFF4A},
+ {0xA3CB,0xA3EB,0xFF4B},
+ {0xA3CC,0xA3EC,0xFF4C},
+ {0xA3CD,0xA3ED,0xFF4D},
+ {0xA3CE,0xA3EE,0xFF4E},
+ {0xA3CF,0xA3EF,0xFF4F},
+ {0xA3D0,0xA3F0,0xFF50}, /* A3F0 */
+ {0xA3D1,0xA3F1,0xFF51},
+ {0xA3D2,0xA3F2,0xFF52},
+ {0xA3D3,0xA3F3,0xFF53},
+ {0xA3D4,0xA3F4,0xFF54},
+ {0xA3D5,0xA3F5,0xFF55},
+ {0xA3D6,0xA3F6,0xFF56},
+ {0xA3D7,0xA3F7,0xFF57},
+ {0xA3D8,0xA3F8,0xFF58},
+ {0xA3D9,0xA3F9,0xFF59},
+ {0xA3DA,0xA3FA,0xFF5A},
+ {0xA3FB,0xA3FB,0xFF5B},
+ {0xA3FC,0xA3FC,0xFF5C},
+ {0xA3FD,0xA3FD,0xFF5D},
+ {0xA3FE,0xA3FE,0xFFE3},
+ {0xA3FF,0xA3FF,0xA3FF}
+};
+
+
+static MY_UNICASE_INFO cA6[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA640,0xA640,0x003F}, /* A640 */
+ {0xA641,0xA641,0x003F},
+ {0xA642,0xA642,0x003F},
+ {0xA643,0xA643,0x003F},
+ {0xA644,0xA644,0x003F},
+ {0xA645,0xA645,0x003F},
+ {0xA646,0xA646,0x003F},
+ {0xA647,0xA647,0x003F},
+ {0xA648,0xA648,0x003F},
+ {0xA649,0xA649,0x003F},
+ {0xA64A,0xA64A,0x003F},
+ {0xA64B,0xA64B,0x003F},
+ {0xA64C,0xA64C,0x003F},
+ {0xA64D,0xA64D,0x003F},
+ {0xA64E,0xA64E,0x003F},
+ {0xA64F,0xA64F,0x003F},
+ {0xA650,0xA650,0x003F}, /* A650 */
+ {0xA651,0xA651,0x003F},
+ {0xA652,0xA652,0x003F},
+ {0xA653,0xA653,0x003F},
+ {0xA654,0xA654,0x003F},
+ {0xA655,0xA655,0x003F},
+ {0xA656,0xA656,0x003F},
+ {0xA657,0xA657,0x003F},
+ {0xA658,0xA658,0x003F},
+ {0xA659,0xA659,0x003F},
+ {0xA65A,0xA65A,0x003F},
+ {0xA65B,0xA65B,0x003F},
+ {0xA65C,0xA65C,0x003F},
+ {0xA65D,0xA65D,0x003F},
+ {0xA65E,0xA65E,0x003F},
+ {0xA65F,0xA65F,0x003F},
+ {0xA660,0xA660,0x003F}, /* A660 */
+ {0xA661,0xA661,0x003F},
+ {0xA662,0xA662,0x003F},
+ {0xA663,0xA663,0x003F},
+ {0xA664,0xA664,0x003F},
+ {0xA665,0xA665,0x003F},
+ {0xA666,0xA666,0x003F},
+ {0xA667,0xA667,0x003F},
+ {0xA668,0xA668,0x003F},
+ {0xA669,0xA669,0x003F},
+ {0xA66A,0xA66A,0x003F},
+ {0xA66B,0xA66B,0x003F},
+ {0xA66C,0xA66C,0x003F},
+ {0xA66D,0xA66D,0x003F},
+ {0xA66E,0xA66E,0x003F},
+ {0xA66F,0xA66F,0x003F},
+ {0xA670,0xA670,0x003F}, /* A670 */
+ {0xA671,0xA671,0x003F},
+ {0xA672,0xA672,0x003F},
+ {0xA673,0xA673,0x003F},
+ {0xA674,0xA674,0x003F},
+ {0xA675,0xA675,0x003F},
+ {0xA676,0xA676,0x003F},
+ {0xA677,0xA677,0x003F},
+ {0xA678,0xA678,0x003F},
+ {0xA679,0xA679,0x003F},
+ {0xA67A,0xA67A,0x003F},
+ {0xA67B,0xA67B,0x003F},
+ {0xA67C,0xA67C,0x003F},
+ {0xA67D,0xA67D,0x003F},
+ {0xA67E,0xA67E,0x003F},
+ {0xA67F,0xA67F,0xA67F},
+ {0xA680,0xA680,0x003F}, /* A680 */
+ {0xA681,0xA681,0x003F},
+ {0xA682,0xA682,0x003F},
+ {0xA683,0xA683,0x003F},
+ {0xA684,0xA684,0x003F},
+ {0xA685,0xA685,0x003F},
+ {0xA686,0xA686,0x003F},
+ {0xA687,0xA687,0x003F},
+ {0xA688,0xA688,0x003F},
+ {0xA689,0xA689,0x003F},
+ {0xA68A,0xA68A,0x003F},
+ {0xA68B,0xA68B,0x003F},
+ {0xA68C,0xA68C,0x003F},
+ {0xA68D,0xA68D,0x003F},
+ {0xA68E,0xA68E,0x003F},
+ {0xA68F,0xA68F,0x003F},
+ {0xA690,0xA690,0x003F}, /* A690 */
+ {0xA691,0xA691,0x003F},
+ {0xA692,0xA692,0x003F},
+ {0xA693,0xA693,0x003F},
+ {0xA694,0xA694,0x003F},
+ {0xA695,0xA695,0x003F},
+ {0xA696,0xA696,0x003F},
+ {0xA697,0xA697,0x003F},
+ {0xA698,0xA698,0x003F},
+ {0xA699,0xA699,0x003F},
+ {0xA69A,0xA69A,0x003F},
+ {0xA69B,0xA69B,0x003F},
+ {0xA69C,0xA69C,0x003F},
+ {0xA69D,0xA69D,0x003F},
+ {0xA69E,0xA69E,0x003F},
+ {0xA69F,0xA69F,0x003F},
+ {0xA6A0,0xA6A0,0x003F}, /* A6A0 */
+ {0xA6A1,0xA6C1,0x0391},
+ {0xA6A2,0xA6C2,0x0392},
+ {0xA6A3,0xA6C3,0x0393},
+ {0xA6A4,0xA6C4,0x0394},
+ {0xA6A5,0xA6C5,0x0395},
+ {0xA6A6,0xA6C6,0x0396},
+ {0xA6A7,0xA6C7,0x0397},
+ {0xA6A8,0xA6C8,0x0398},
+ {0xA6A9,0xA6C9,0x0399},
+ {0xA6AA,0xA6CA,0x039A},
+ {0xA6AB,0xA6CB,0x039B},
+ {0xA6AC,0xA6CC,0x039C},
+ {0xA6AD,0xA6CD,0x039D},
+ {0xA6AE,0xA6CE,0x039E},
+ {0xA6AF,0xA6CF,0x039F},
+ {0xA6B0,0xA6D0,0x03A0}, /* A6B0 */
+ {0xA6B1,0xA6D1,0x03A1},
+ {0xA6B2,0xA6D2,0x03A3},
+ {0xA6B3,0xA6D3,0x03A4},
+ {0xA6B4,0xA6D4,0x03A5},
+ {0xA6B5,0xA6D5,0x03A6},
+ {0xA6B6,0xA6D6,0x03A7},
+ {0xA6B7,0xA6D7,0x03A8},
+ {0xA6B8,0xA6D8,0x03A9},
+ {0xA6B9,0xA6B9,0x003F},
+ {0xA6BA,0xA6BA,0x003F},
+ {0xA6BB,0xA6BB,0x003F},
+ {0xA6BC,0xA6BC,0x003F},
+ {0xA6BD,0xA6BD,0x003F},
+ {0xA6BE,0xA6BE,0x003F},
+ {0xA6BF,0xA6BF,0x003F},
+ {0xA6C0,0xA6C0,0x003F}, /* A6C0 */
+ {0xA6A1,0xA6C1,0x03B1},
+ {0xA6A2,0xA6C2,0x03B2},
+ {0xA6A3,0xA6C3,0x03B3},
+ {0xA6A4,0xA6C4,0x03B4},
+ {0xA6A5,0xA6C5,0x03B5},
+ {0xA6A6,0xA6C6,0x03B6},
+ {0xA6A7,0xA6C7,0x03B7},
+ {0xA6A8,0xA6C8,0x03B8},
+ {0xA6A9,0xA6C9,0x03B9},
+ {0xA6AA,0xA6CA,0x03BA},
+ {0xA6AB,0xA6CB,0x03BB},
+ {0xA6AC,0xA6CC,0x03BC},
+ {0xA6AD,0xA6CD,0x03BD},
+ {0xA6AE,0xA6CE,0x03BE},
+ {0xA6AF,0xA6CF,0x03BF},
+ {0xA6B0,0xA6D0,0x03C0}, /* A6D0 */
+ {0xA6B1,0xA6D1,0x03C1},
+ {0xA6B2,0xA6D2,0x03C3},
+ {0xA6B3,0xA6D3,0x03C4},
+ {0xA6B4,0xA6D4,0x03C5},
+ {0xA6B5,0xA6D5,0x03C6},
+ {0xA6B6,0xA6D6,0x03C7},
+ {0xA6B7,0xA6D7,0x03C8},
+ {0xA6B8,0xA6D8,0x03C9},
+ {0xA6D9,0xA6D9,0x003F},
+ {0xA6DA,0xA6DA,0x003F},
+ {0xA6DB,0xA6DB,0x003F},
+ {0xA6DC,0xA6DC,0x003F},
+ {0xA6DD,0xA6DD,0x003F},
+ {0xA6DE,0xA6DE,0x003F},
+ {0xA6DF,0xA6DF,0x003F},
+ {0xA6E0,0xA6E0,0xFE35}, /* A6E0 */
+ {0xA6E1,0xA6E1,0xFE36},
+ {0xA6E2,0xA6E2,0xFE39},
+ {0xA6E3,0xA6E3,0xFE3A},
+ {0xA6E4,0xA6E4,0xFE3F},
+ {0xA6E5,0xA6E5,0xFE40},
+ {0xA6E6,0xA6E6,0xFE3D},
+ {0xA6E7,0xA6E7,0xFE3E},
+ {0xA6E8,0xA6E8,0xFE41},
+ {0xA6E9,0xA6E9,0xFE42},
+ {0xA6EA,0xA6EA,0xFE43},
+ {0xA6EB,0xA6EB,0xFE44},
+ {0xA6EC,0xA6EC,0x003F},
+ {0xA6ED,0xA6ED,0x003F},
+ {0xA6EE,0xA6EE,0xFE3B},
+ {0xA6EF,0xA6EF,0xFE3C},
+ {0xA6F0,0xA6F0,0xFE37}, /* A6F0 */
+ {0xA6F1,0xA6F1,0xFE38},
+ {0xA6F2,0xA6F2,0xFE31},
+ {0xA6F3,0xA6F3,0x003F},
+ {0xA6F4,0xA6F4,0xFE33},
+ {0xA6F5,0xA6F5,0xFE34},
+ {0xA6F6,0xA6F6,0x003F},
+ {0xA6F7,0xA6F7,0x003F},
+ {0xA6F8,0xA6F8,0x003F},
+ {0xA6F9,0xA6F9,0x003F},
+ {0xA6FA,0xA6FA,0x003F},
+ {0xA6FB,0xA6FB,0x003F},
+ {0xA6FC,0xA6FC,0x003F},
+ {0xA6FD,0xA6FD,0x003F},
+ {0xA6FE,0xA6FE,0x003F},
+ {0xA6FF,0xA6FF,0xA6FF}
+};
+
+
+static MY_UNICASE_INFO cA7[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA740,0xA740,0x003F}, /* A740 */
+ {0xA741,0xA741,0x003F},
+ {0xA742,0xA742,0x003F},
+ {0xA743,0xA743,0x003F},
+ {0xA744,0xA744,0x003F},
+ {0xA745,0xA745,0x003F},
+ {0xA746,0xA746,0x003F},
+ {0xA747,0xA747,0x003F},
+ {0xA748,0xA748,0x003F},
+ {0xA749,0xA749,0x003F},
+ {0xA74A,0xA74A,0x003F},
+ {0xA74B,0xA74B,0x003F},
+ {0xA74C,0xA74C,0x003F},
+ {0xA74D,0xA74D,0x003F},
+ {0xA74E,0xA74E,0x003F},
+ {0xA74F,0xA74F,0x003F},
+ {0xA750,0xA750,0x003F}, /* A750 */
+ {0xA751,0xA751,0x003F},
+ {0xA752,0xA752,0x003F},
+ {0xA753,0xA753,0x003F},
+ {0xA754,0xA754,0x003F},
+ {0xA755,0xA755,0x003F},
+ {0xA756,0xA756,0x003F},
+ {0xA757,0xA757,0x003F},
+ {0xA758,0xA758,0x003F},
+ {0xA759,0xA759,0x003F},
+ {0xA75A,0xA75A,0x003F},
+ {0xA75B,0xA75B,0x003F},
+ {0xA75C,0xA75C,0x003F},
+ {0xA75D,0xA75D,0x003F},
+ {0xA75E,0xA75E,0x003F},
+ {0xA75F,0xA75F,0x003F},
+ {0xA760,0xA760,0x003F}, /* A760 */
+ {0xA761,0xA761,0x003F},
+ {0xA762,0xA762,0x003F},
+ {0xA763,0xA763,0x003F},
+ {0xA764,0xA764,0x003F},
+ {0xA765,0xA765,0x003F},
+ {0xA766,0xA766,0x003F},
+ {0xA767,0xA767,0x003F},
+ {0xA768,0xA768,0x003F},
+ {0xA769,0xA769,0x003F},
+ {0xA76A,0xA76A,0x003F},
+ {0xA76B,0xA76B,0x003F},
+ {0xA76C,0xA76C,0x003F},
+ {0xA76D,0xA76D,0x003F},
+ {0xA76E,0xA76E,0x003F},
+ {0xA76F,0xA76F,0x003F},
+ {0xA770,0xA770,0x003F}, /* A770 */
+ {0xA771,0xA771,0x003F},
+ {0xA772,0xA772,0x003F},
+ {0xA773,0xA773,0x003F},
+ {0xA774,0xA774,0x003F},
+ {0xA775,0xA775,0x003F},
+ {0xA776,0xA776,0x003F},
+ {0xA777,0xA777,0x003F},
+ {0xA778,0xA778,0x003F},
+ {0xA779,0xA779,0x003F},
+ {0xA77A,0xA77A,0x003F},
+ {0xA77B,0xA77B,0x003F},
+ {0xA77C,0xA77C,0x003F},
+ {0xA77D,0xA77D,0x003F},
+ {0xA77E,0xA77E,0x003F},
+ {0xA77F,0xA77F,0xA77F},
+ {0xA780,0xA780,0x003F}, /* A780 */
+ {0xA781,0xA781,0x003F},
+ {0xA782,0xA782,0x003F},
+ {0xA783,0xA783,0x003F},
+ {0xA784,0xA784,0x003F},
+ {0xA785,0xA785,0x003F},
+ {0xA786,0xA786,0x003F},
+ {0xA787,0xA787,0x003F},
+ {0xA788,0xA788,0x003F},
+ {0xA789,0xA789,0x003F},
+ {0xA78A,0xA78A,0x003F},
+ {0xA78B,0xA78B,0x003F},
+ {0xA78C,0xA78C,0x003F},
+ {0xA78D,0xA78D,0x003F},
+ {0xA78E,0xA78E,0x003F},
+ {0xA78F,0xA78F,0x003F},
+ {0xA790,0xA790,0x003F}, /* A790 */
+ {0xA791,0xA791,0x003F},
+ {0xA792,0xA792,0x003F},
+ {0xA793,0xA793,0x003F},
+ {0xA794,0xA794,0x003F},
+ {0xA795,0xA795,0x003F},
+ {0xA796,0xA796,0x003F},
+ {0xA797,0xA797,0x003F},
+ {0xA798,0xA798,0x003F},
+ {0xA799,0xA799,0x003F},
+ {0xA79A,0xA79A,0x003F},
+ {0xA79B,0xA79B,0x003F},
+ {0xA79C,0xA79C,0x003F},
+ {0xA79D,0xA79D,0x003F},
+ {0xA79E,0xA79E,0x003F},
+ {0xA79F,0xA79F,0x003F},
+ {0xA7A0,0xA7A0,0x003F}, /* A7A0 */
+ {0xA7A1,0xA7D1,0x0410},
+ {0xA7A2,0xA7D2,0x0411},
+ {0xA7A3,0xA7D3,0x0412},
+ {0xA7A4,0xA7D4,0x0413},
+ {0xA7A5,0xA7D5,0x0414},
+ {0xA7A6,0xA7D6,0x0415},
+ {0xA7A7,0xA7D7,0x0401},
+ {0xA7A8,0xA7D8,0x0416},
+ {0xA7A9,0xA7D9,0x0417},
+ {0xA7AA,0xA7DA,0x0418},
+ {0xA7AB,0xA7DB,0x0419},
+ {0xA7AC,0xA7DC,0x041A},
+ {0xA7AD,0xA7DD,0x041B},
+ {0xA7AE,0xA7DE,0x041C},
+ {0xA7AF,0xA7DF,0x041D},
+ {0xA7B0,0xA7E0,0x041E}, /* A7B0 */
+ {0xA7B1,0xA7E1,0x041F},
+ {0xA7B2,0xA7E2,0x0420},
+ {0xA7B3,0xA7E3,0x0421},
+ {0xA7B4,0xA7E4,0x0422},
+ {0xA7B5,0xA7E5,0x0423},
+ {0xA7B6,0xA7E6,0x0424},
+ {0xA7B7,0xA7E7,0x0425},
+ {0xA7B8,0xA7E8,0x0426},
+ {0xA7B9,0xA7E9,0x0427},
+ {0xA7BA,0xA7EA,0x0428},
+ {0xA7BB,0xA7EB,0x0429},
+ {0xA7BC,0xA7EC,0x042A},
+ {0xA7BD,0xA7ED,0x042B},
+ {0xA7BE,0xA7EE,0x042C},
+ {0xA7BF,0xA7EF,0x042D},
+ {0xA7C0,0xA7F0,0x042E}, /* A7C0 */
+ {0xA7C1,0xA7F1,0x042F},
+ {0xA7C2,0xA7C2,0x003F},
+ {0xA7C3,0xA7C3,0x003F},
+ {0xA7C4,0xA7C4,0x003F},
+ {0xA7C5,0xA7C5,0x003F},
+ {0xA7C6,0xA7C6,0x003F},
+ {0xA7C7,0xA7C7,0x003F},
+ {0xA7C8,0xA7C8,0x003F},
+ {0xA7C9,0xA7C9,0x003F},
+ {0xA7CA,0xA7CA,0x003F},
+ {0xA7CB,0xA7CB,0x003F},
+ {0xA7CC,0xA7CC,0x003F},
+ {0xA7CD,0xA7CD,0x003F},
+ {0xA7CE,0xA7CE,0x003F},
+ {0xA7CF,0xA7CF,0x003F},
+ {0xA7D0,0xA7D0,0x003F}, /* A7D0 */
+ {0xA7A1,0xA7D1,0x0430},
+ {0xA7A2,0xA7D2,0x0431},
+ {0xA7A3,0xA7D3,0x0432},
+ {0xA7A4,0xA7D4,0x0433},
+ {0xA7A5,0xA7D5,0x0434},
+ {0xA7A6,0xA7D6,0x0435},
+ {0xA7A7,0xA7D7,0x0451},
+ {0xA7A8,0xA7D8,0x0436},
+ {0xA7A9,0xA7D9,0x0437},
+ {0xA7AA,0xA7DA,0x0438},
+ {0xA7AB,0xA7DB,0x0439},
+ {0xA7AC,0xA7DC,0x043A},
+ {0xA7AD,0xA7DD,0x043B},
+ {0xA7AE,0xA7DE,0x043C},
+ {0xA7AF,0xA7DF,0x043D},
+ {0xA7B0,0xA7E0,0x043E}, /* A7E0 */
+ {0xA7B1,0xA7E1,0x043F},
+ {0xA7B2,0xA7E2,0x0440},
+ {0xA7B3,0xA7E3,0x0441},
+ {0xA7B4,0xA7E4,0x0442},
+ {0xA7B5,0xA7E5,0x0443},
+ {0xA7B6,0xA7E6,0x0444},
+ {0xA7B7,0xA7E7,0x0445},
+ {0xA7B8,0xA7E8,0x0446},
+ {0xA7B9,0xA7E9,0x0447},
+ {0xA7BA,0xA7EA,0x0448},
+ {0xA7BB,0xA7EB,0x0449},
+ {0xA7BC,0xA7EC,0x044A},
+ {0xA7BD,0xA7ED,0x044B},
+ {0xA7BE,0xA7EE,0x044C},
+ {0xA7BF,0xA7EF,0x044D},
+ {0xA7C0,0xA7F0,0x044E}, /* A7F0 */
+ {0xA7C1,0xA7F1,0x044F},
+ {0xA7F2,0xA7F2,0x003F},
+ {0xA7F3,0xA7F3,0x003F},
+ {0xA7F4,0xA7F4,0x003F},
+ {0xA7F5,0xA7F5,0x003F},
+ {0xA7F6,0xA7F6,0x003F},
+ {0xA7F7,0xA7F7,0x003F},
+ {0xA7F8,0xA7F8,0x003F},
+ {0xA7F9,0xA7F9,0x003F},
+ {0xA7FA,0xA7FA,0x003F},
+ {0xA7FB,0xA7FB,0x003F},
+ {0xA7FC,0xA7FC,0x003F},
+ {0xA7FD,0xA7FD,0x003F},
+ {0xA7FE,0xA7FE,0x003F},
+ {0xA7FF,0xA7FF,0xA7FF}
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_gbk[256]=
+{
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, cA2, cA3, NULL, NULL, cA6, cA7, /* A */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+};
+
+
+
static uchar NEAR sort_order_gbk[]=
{
'\000','\001','\002','\003','\004','\005','\006','\007',
@@ -10039,7 +10897,7 @@ CHARSET_INFO my_charset_gbk_chinese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_gbk, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@@ -10071,7 +10929,7 @@ CHARSET_INFO my_charset_gbk_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_gbk, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
diff --git a/strings/ctype-mb.c b/strings/ctype-mb.c
index b0f7c297260..252c5a08b8c 100644
--- a/strings/ctype-mb.c
+++ b/strings/ctype-mb.c
@@ -62,6 +62,17 @@ size_t my_casedn_str_mb(CHARSET_INFO * cs, char *str)
}
+static inline MY_UNICASE_INFO*
+get_case_info_for_ch(CHARSET_INFO *cs, uint page, uint offs)
+{
+ MY_UNICASE_INFO *p;
+ return cs->caseinfo ? ((p= cs->caseinfo[page]) ? &p[offs] : NULL) : NULL;
+}
+
+
+/*
+ For character sets which don't change octet length in case conversion.
+*/
size_t my_caseup_mb(CHARSET_INFO * cs, char *src, size_t srclen,
char *dst __attribute__((unused)),
size_t dstlen __attribute__((unused)))
@@ -70,11 +81,23 @@ size_t my_caseup_mb(CHARSET_INFO * cs, char *src, size_t srclen,
register char *srcend= src + srclen;
register uchar *map= cs->to_upper;
+ DBUG_ASSERT(cs->caseup_multiply == 1);
DBUG_ASSERT(src == dst && srclen == dstlen);
+ DBUG_ASSERT(cs->mbmaxlen == 2);
+
while (src < srcend)
{
if ((l=my_ismbchar(cs, src, srcend)))
- src+= l;
+ {
+ MY_UNICASE_INFO *ch;
+ if ((ch= get_case_info_for_ch(cs, (uchar) src[0], (uchar) src[1])))
+ {
+ *src++= ch->toupper >> 8;
+ *src++= ch->toupper & 0xFF;
+ }
+ else
+ src+= l;
+ }
else
{
*src=(char) map[(uchar) *src];
@@ -93,11 +116,23 @@ size_t my_casedn_mb(CHARSET_INFO * cs, char *src, size_t srclen,
register char *srcend= src + srclen;
register uchar *map=cs->to_lower;
+ DBUG_ASSERT(cs->casedn_multiply == 1);
DBUG_ASSERT(src == dst && srclen == dstlen);
+ DBUG_ASSERT(cs->mbmaxlen == 2);
+
while (src < srcend)
{
if ((l= my_ismbchar(cs, src, srcend)))
- src+= l;
+ {
+ MY_UNICASE_INFO *ch;
+ if ((ch= get_case_info_for_ch(cs, (uchar) src[0], (uchar) src[1])))
+ {
+ *src++= ch->tolower >> 8;
+ *src++= ch->tolower & 0xFF;
+ }
+ else
+ src+= l;
+ }
else
{
*src= (char) map[(uchar)*src];
@@ -109,6 +144,75 @@ size_t my_casedn_mb(CHARSET_INFO * cs, char *src, size_t srclen,
/*
+ Case folding functions for character set
+ where case conversion can change string octet length.
+ For example, in EUCKR,
+ _euckr 0xA9A5 == "LATIN LETTER DOTLESS I" (Turkish letter)
+ is upper-cased to to
+ _euckr 0x49 "LATIN CAPITAL LETTER I" ('usual' letter I)
+ Length is reduced in this example from two bytes to one byte.
+*/
+static size_t
+my_casefold_mb_varlen(CHARSET_INFO *cs,
+ char *src, size_t srclen,
+ char *dst, size_t dstlen __attribute__((unused)),
+ uchar *map,
+ size_t is_upper)
+{
+ char *srcend= src + srclen, *dst0= dst;
+
+ DBUG_ASSERT(cs->mbmaxlen == 2);
+
+ while (src < srcend)
+ {
+ size_t mblen= my_ismbchar(cs, src, srcend);
+ if (mblen)
+ {
+ MY_UNICASE_INFO *ch;
+ if ((ch= get_case_info_for_ch(cs, (uchar) src[0], (uchar) src[1])))
+ {
+ int code= is_upper ? ch->toupper : ch->tolower;
+ src+= 2;
+ if (code > 0xFF)
+ *dst++= code >> 8;
+ *dst++= code & 0xFF;
+ }
+ else
+ {
+ *dst++= *src++;
+ *dst++= *src++;
+ }
+ }
+ else
+ {
+ *dst++= (char) map[(uchar) *src++];
+ }
+ }
+ return (size_t) (dst - dst0);
+}
+
+
+size_t
+my_casedn_mb_varlen(CHARSET_INFO * cs, char *src, size_t srclen,
+ char *dst, size_t dstlen)
+{
+ DBUG_ASSERT(dstlen >= srclen * cs->casedn_multiply);
+ DBUG_ASSERT(src != dst || cs->casedn_multiply == 1);
+ return my_casefold_mb_varlen(cs, src, srclen, dst, dstlen, cs->to_lower, 0);
+}
+
+
+size_t
+my_caseup_mb_varlen(CHARSET_INFO * cs, char *src, size_t srclen,
+ char *dst, size_t dstlen)
+{
+ DBUG_ASSERT(dstlen >= srclen * cs->caseup_multiply);
+ DBUG_ASSERT(src != dst || cs->caseup_multiply == 1);
+ return my_casefold_mb_varlen(cs, src, srclen, dst, dstlen, cs->to_upper, 1);
+}
+
+
+/*
my_strcasecmp_mb() returns 0 if strings are equal, non-zero otherwise.
*/
diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c
index 60280efe087..cdf5e75f16f 100644
--- a/strings/ctype-sjis.c
+++ b/strings/ctype-sjis.c
@@ -197,6 +197,881 @@ static uint mbcharlen_sjis(CHARSET_INFO *cs __attribute__((unused)),uint c)
#define sjiscode(c,d) ((((uint) (uchar)(c)) << 8) | (uint) (uchar) (d))
+static MY_UNICASE_INFO c81[256]=
+{
+ /* 8100-810F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8110-811F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8120-812F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8130-813F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8140,0x8140,0x3000}, /* 8140-814F */
+ {0x8141,0x8141,0x3001},
+ {0x8142,0x8142,0x3002},
+ {0x8143,0x8143,0xFF0C},
+ {0x8144,0x8144,0xFF0E},
+ {0x8145,0x8145,0x30FB},
+ {0x8146,0x8146,0xFF1A},
+ {0x8147,0x8147,0xFF1B},
+ {0x8148,0x8148,0xFF1F},
+ {0x8149,0x8149,0xFF01},
+ {0x814A,0x814A,0x309B},
+ {0x814B,0x814B,0x309C},
+ {0x814C,0x814C,0x00B4},
+ {0x814D,0x814D,0xFF40},
+ {0x814E,0x814E,0x00A8},
+ {0x814F,0x814F,0xFF3E},
+ {0x8150,0x8150,0xFFE3}, /* 8150-815F */
+ {0x8151,0x8151,0xFF3F},
+ {0x8152,0x8152,0x30FD},
+ {0x8153,0x8153,0x30FE},
+ {0x8154,0x8154,0x309D},
+ {0x8155,0x8155,0x309E},
+ {0x8156,0x8156,0x3003},
+ {0x8157,0x8157,0x4EDD},
+ {0x8158,0x8158,0x3005},
+ {0x8159,0x8159,0x3006},
+ {0x815A,0x815A,0x3007},
+ {0x815B,0x815B,0x30FC},
+ {0x815C,0x815C,0x2015},
+ {0x815D,0x815D,0x2010},
+ {0x815E,0x815E,0xFF0F},
+ {0x815F,0x815F,0xFF3C},
+ {0x8160,0x8160,0xFF5E}, /* 8160-816F */
+ {0x8161,0x8161,0x2225},
+ {0x8162,0x8162,0xFF5C},
+ {0x8163,0x8163,0x2026},
+ {0x8164,0x8164,0x2025},
+ {0x8165,0x8165,0x2018},
+ {0x8166,0x8166,0x2019},
+ {0x8167,0x8167,0x201C},
+ {0x8168,0x8168,0x201D},
+ {0x8169,0x8169,0xFF08},
+ {0x816A,0x816A,0xFF09},
+ {0x816B,0x816B,0x3014},
+ {0x816C,0x816C,0x3015},
+ {0x816D,0x816D,0xFF3B},
+ {0x816E,0x816E,0xFF3D},
+ {0x816F,0x816F,0xFF5B},
+ {0x8170,0x8170,0xFF5D}, /* 8170-817F */
+ {0x8171,0x8171,0x3008},
+ {0x8172,0x8172,0x3009},
+ {0x8173,0x8173,0x300A},
+ {0x8174,0x8174,0x300B},
+ {0x8175,0x8175,0x300C},
+ {0x8176,0x8176,0x300D},
+ {0x8177,0x8177,0x300E},
+ {0x8178,0x8178,0x300F},
+ {0x8179,0x8179,0x3010},
+ {0x817A,0x817A,0x3011},
+ {0x817B,0x817B,0xFF0B},
+ {0x817C,0x817C,0xFF0D},
+ {0x817D,0x817D,0x00B1},
+ {0x817E,0x817E,0x00D7},
+ {0,0,0},
+ {0x8180,0x8180,0x00F7}, /* 8180-818F */
+ {0x8181,0x8181,0xFF1D},
+ {0x8182,0x8182,0x2260},
+ {0x8183,0x8183,0xFF1C},
+ {0x8184,0x8184,0xFF1E},
+ {0x8185,0x8185,0x2266},
+ {0x8186,0x8186,0x2267},
+ {0x8187,0x8187,0x221E},
+ {0x8188,0x8188,0x2234},
+ {0x8189,0x8189,0x2642},
+ {0x818A,0x818A,0x2640},
+ {0x818B,0x818B,0x00B0},
+ {0x818C,0x818C,0x2032},
+ {0x818D,0x818D,0x2033},
+ {0x818E,0x818E,0x2103},
+ {0x818F,0x818F,0xFFE5},
+ {0x8190,0x8190,0xFF04}, /* 8190-819F*/
+ {0x8191,0x8191,0xFFE0},
+ {0x8192,0x8192,0xFFE1},
+ {0x8193,0x8193,0xFF05},
+ {0x8194,0x8194,0xFF03},
+ {0x8195,0x8195,0xFF06},
+ {0x8196,0x8196,0xFF0A},
+ {0x8197,0x8197,0xFF20},
+ {0x8198,0x8198,0x00A7},
+ {0x8199,0x8199,0x2606},
+ {0x819A,0x819A,0x2605},
+ {0x819B,0x819B,0x25CB},
+ {0x819C,0x819C,0x25CF},
+ {0x819D,0x819D,0x25CE},
+ {0x819E,0x819E,0x25C7},
+ {0x819F,0x819F,0x25C6},
+ {0x81A0,0x81A0,0x25A1}, /* 81A0-81AF */
+ {0x81A1,0x81A1,0x25A0},
+ {0x81A2,0x81A2,0x25B3},
+ {0x81A3,0x81A3,0x25B2},
+ {0x81A4,0x81A4,0x25BD},
+ {0x81A5,0x81A5,0x25BC},
+ {0x81A6,0x81A6,0x203B},
+ {0x81A7,0x81A7,0x3012},
+ {0x81A8,0x81A8,0x2192},
+ {0x81A9,0x81A9,0x2190},
+ {0x81AA,0x81AA,0x2191},
+ {0x81AB,0x81AB,0x2193},
+ {0x81AC,0x81AC,0x3013},
+ {0x81AD,0x81AD,0x003F},
+ {0x81AE,0x81AE,0x003F},
+ {0x81AF,0x81AF,0x003F},
+ {0x81B0,0x81B0,0x003F}, /* 81B0-81BF */
+ {0x81B1,0x81B1,0x003F},
+ {0x81B2,0x81B2,0x003F},
+ {0x81B3,0x81B3,0x003F},
+ {0x81B4,0x81B4,0x003F},
+ {0x81B5,0x81B5,0x003F},
+ {0x81B6,0x81B6,0x003F},
+ {0x81B7,0x81B7,0x003F},
+ {0x81B8,0x81B8,0x2208},
+ {0x81B9,0x81B9,0x220B},
+ {0x81BA,0x81BA,0x2286},
+ {0x81BB,0x81BB,0x2287},
+ {0x81BC,0x81BC,0x2282},
+ {0x81BD,0x81BD,0x2283},
+ {0x81BE,0x81BE,0x222A},
+ {0x81BF,0x81BF,0x2229},
+ {0x81C0,0x81C0,0x003F}, /* 81C0-81CF */
+ {0x81C1,0x81C1,0x003F},
+ {0x81C2,0x81C2,0x003F},
+ {0x81C3,0x81C3,0x003F},
+ {0x81C4,0x81C4,0x003F},
+ {0x81C5,0x81C5,0x003F},
+ {0x81C6,0x81C6,0x003F},
+ {0x81C7,0x81C7,0x003F},
+ {0x81C8,0x81C8,0x2227},
+ {0x81C9,0x81C9,0x2228},
+ {0x81CA,0x81CA,0xFFE2},
+ {0x81CB,0x81CB,0x21D2},
+ {0x81CC,0x81CC,0x21D4},
+ {0x81CD,0x81CD,0x2200},
+ {0x81CE,0x81CE,0x2203},
+ {0x81CF,0x81CF,0x003F},
+ {0x81D0,0x81D0,0x003F}, /* 81D0-81DF */
+ {0x81D1,0x81D1,0x003F},
+ {0x81D2,0x81D2,0x003F},
+ {0x81D3,0x81D3,0x003F},
+ {0x81D4,0x81D4,0x003F},
+ {0x81D5,0x81D5,0x003F},
+ {0x81D6,0x81D6,0x003F},
+ {0x81D7,0x81D7,0x003F},
+ {0x81D8,0x81D8,0x003F},
+ {0x81D9,0x81D9,0x003F},
+ {0x81DA,0x81DA,0x2220},
+ {0x81DB,0x81DB,0x22A5},
+ {0x81DC,0x81DC,0x2312},
+ {0x81DD,0x81DD,0x2202},
+ {0x81DE,0x81DE,0x2207},
+ {0x81DF,0x81DF,0x2261},
+ {0x81E0,0x81E0,0x2252}, /* 81E0-81EF */
+ {0x81E1,0x81E1,0x226A},
+ {0x81E2,0x81E2,0x226B},
+ {0x81E3,0x81E3,0x221A},
+ {0x81E4,0x81E4,0x223D},
+ {0x81E5,0x81E5,0x221D},
+ {0x81E6,0x81E6,0x2235},
+ {0x81E7,0x81E7,0x222B},
+ {0x81E8,0x81E8,0x222C},
+ {0x81E9,0x81E9,0x003F},
+ {0x81EA,0x81EA,0x003F},
+ {0x81EB,0x81EB,0x003F},
+ {0x81EC,0x81EC,0x003F},
+ {0x81ED,0x81ED,0x003F},
+ {0x81EE,0x81EE,0x003F},
+ {0x81EF,0x81EF,0x003F},
+ {0x81F0,0x81F0,0x212B}, /* 81F0-81FF */
+ {0x81F1,0x81F1,0x2030},
+ {0x81F2,0x81F2,0x266F},
+ {0x81F3,0x81F3,0x266D},
+ {0x81F4,0x81F4,0x266A},
+ {0x81F5,0x81F5,0x2020},
+ {0x81F6,0x81F6,0x2021},
+ {0x81F7,0x81F7,0x00B6},
+ {0x81F8,0x81F8,0x003F},
+ {0x81F9,0x81F9,0x003F},
+ {0x81FA,0x81FA,0x003F},
+ {0x81FB,0x81FB,0x003F},
+ {0x81FC,0x81FC,0x25EF},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0},
+};
+
+
+static MY_UNICASE_INFO c82[256]=
+{
+ /* 8200-820F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8210-821F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8220-822F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8230-823F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8240,0x8240,0x003F}, /* 8240-824F */
+ {0x8241,0x8241,0x003F},
+ {0x8242,0x8242,0x003F},
+ {0x8243,0x8243,0x003F},
+ {0x8244,0x8244,0x003F},
+ {0x8245,0x8245,0x003F},
+ {0x8246,0x8246,0x003F},
+ {0x8247,0x8247,0x003F},
+ {0x8248,0x8248,0x003F},
+ {0x8249,0x8249,0x003F},
+ {0x824A,0x824A,0x003F},
+ {0x824B,0x824B,0x003F},
+ {0x824C,0x824C,0x003F},
+ {0x824D,0x824D,0x003F},
+ {0x824E,0x824E,0x003F},
+ {0x824F,0x824F,0xFF10},
+ {0x8250,0x8250,0xFF11}, /* 8250-825F */
+ {0x8251,0x8251,0xFF12},
+ {0x8252,0x8252,0xFF13},
+ {0x8253,0x8253,0xFF14},
+ {0x8254,0x8254,0xFF15},
+ {0x8255,0x8255,0xFF16},
+ {0x8256,0x8256,0xFF17},
+ {0x8257,0x8257,0xFF18},
+ {0x8258,0x8258,0xFF19},
+ {0x8259,0x8259,0x003F},
+ {0x825A,0x825A,0x003F},
+ {0x825B,0x825B,0x003F},
+ {0x825C,0x825C,0x003F},
+ {0x825D,0x825D,0x003F},
+ {0x825E,0x825E,0x003F},
+ {0x825F,0x825F,0x003F},
+ {0x8260,0x8281,0xFF21}, /* 8260-826F */
+ {0x8261,0x8282,0xFF22},
+ {0x8262,0x8283,0xFF23},
+ {0x8263,0x8284,0xFF24},
+ {0x8264,0x8285,0xFF25},
+ {0x8265,0x8286,0xFF26},
+ {0x8266,0x8287,0xFF27},
+ {0x8267,0x8288,0xFF28},
+ {0x8268,0x8289,0xFF29},
+ {0x8269,0x828A,0xFF2A},
+ {0x826A,0x828B,0xFF2B},
+ {0x826B,0x828C,0xFF2C},
+ {0x826C,0x828D,0xFF2D},
+ {0x826D,0x828E,0xFF2E},
+ {0x826E,0x828F,0xFF2F},
+ {0x826F,0x8290,0xFF30},
+ {0x8270,0x8291,0xFF31}, /* 8270-827F */
+ {0x8271,0x8292,0xFF32},
+ {0x8272,0x8293,0xFF33},
+ {0x8273,0x8294,0xFF34},
+ {0x8274,0x8295,0xFF35},
+ {0x8275,0x8296,0xFF36},
+ {0x8276,0x8297,0xFF37},
+ {0x8277,0x8298,0xFF38},
+ {0x8278,0x8299,0xFF39},
+ {0x8279,0x829A,0xFF3A},
+ {0x827A,0x827A,0x003F},
+ {0x827B,0x827B,0x003F},
+ {0x827C,0x827C,0x003F},
+ {0x827D,0x827D,0x003F},
+ {0x827E,0x827E,0x003F},
+ {0,0,0},
+ {0x8280,0x8280,0x003F}, /* 8280-828F */
+ {0x8260,0x8281,0xFF41},
+ {0x8261,0x8282,0xFF42},
+ {0x8262,0x8283,0xFF43},
+ {0x8263,0x8284,0xFF44},
+ {0x8264,0x8285,0xFF45},
+ {0x8265,0x8286,0xFF46},
+ {0x8266,0x8287,0xFF47},
+ {0x8267,0x8288,0xFF48},
+ {0x8268,0x8289,0xFF49},
+ {0x8269,0x828A,0xFF4A},
+ {0x826A,0x828B,0xFF4B},
+ {0x826B,0x828C,0xFF4C},
+ {0x826C,0x828D,0xFF4D},
+ {0x826D,0x828E,0xFF4E},
+ {0x826E,0x828F,0xFF4F},
+ {0x826F,0x8290,0xFF50}, /* 8290-829F */
+ {0x8270,0x8291,0xFF51},
+ {0x8271,0x8292,0xFF52},
+ {0x8272,0x8293,0xFF53},
+ {0x8273,0x8294,0xFF54},
+ {0x8274,0x8295,0xFF55},
+ {0x8275,0x8296,0xFF56},
+ {0x8276,0x8297,0xFF57},
+ {0x8277,0x8298,0xFF58},
+ {0x8278,0x8299,0xFF59},
+ {0x8279,0x829A,0xFF5A},
+ {0x829B,0x829B,0x003F},
+ {0x829C,0x829C,0x003F},
+ {0x829D,0x829D,0x003F},
+ {0x829E,0x829E,0x003F},
+ {0x829F,0x829F,0x3041},
+ {0x82A0,0x82A0,0x3042}, /* 82A0-82AF */
+ {0x82A1,0x82A1,0x3043},
+ {0x82A2,0x82A2,0x3044},
+ {0x82A3,0x82A3,0x3045},
+ {0x82A4,0x82A4,0x3046},
+ {0x82A5,0x82A5,0x3047},
+ {0x82A6,0x82A6,0x3048},
+ {0x82A7,0x82A7,0x3049},
+ {0x82A8,0x82A8,0x304A},
+ {0x82A9,0x82A9,0x304B},
+ {0x82AA,0x82AA,0x304C},
+ {0x82AB,0x82AB,0x304D},
+ {0x82AC,0x82AC,0x304E},
+ {0x82AD,0x82AD,0x304F},
+ {0x82AE,0x82AE,0x3050},
+ {0x82AF,0x82AF,0x3051},
+ {0x82B0,0x82B0,0x3052}, /* 82B0-82BF */
+ {0x82B1,0x82B1,0x3053},
+ {0x82B2,0x82B2,0x3054},
+ {0x82B3,0x82B3,0x3055},
+ {0x82B4,0x82B4,0x3056},
+ {0x82B5,0x82B5,0x3057},
+ {0x82B6,0x82B6,0x3058},
+ {0x82B7,0x82B7,0x3059},
+ {0x82B8,0x82B8,0x305A},
+ {0x82B9,0x82B9,0x305B},
+ {0x82BA,0x82BA,0x305C},
+ {0x82BB,0x82BB,0x305D},
+ {0x82BC,0x82BC,0x305E},
+ {0x82BD,0x82BD,0x305F},
+ {0x82BE,0x82BE,0x3060},
+ {0x82BF,0x82BF,0x3061},
+ {0x82C0,0x82C0,0x3062}, /* 82C0-82CF */
+ {0x82C1,0x82C1,0x3063},
+ {0x82C2,0x82C2,0x3064},
+ {0x82C3,0x82C3,0x3065},
+ {0x82C4,0x82C4,0x3066},
+ {0x82C5,0x82C5,0x3067},
+ {0x82C6,0x82C6,0x3068},
+ {0x82C7,0x82C7,0x3069},
+ {0x82C8,0x82C8,0x306A},
+ {0x82C9,0x82C9,0x306B},
+ {0x82CA,0x82CA,0x306C},
+ {0x82CB,0x82CB,0x306D},
+ {0x82CC,0x82CC,0x306E},
+ {0x82CD,0x82CD,0x306F},
+ {0x82CE,0x82CE,0x3070},
+ {0x82CF,0x82CF,0x3071},
+ {0x82D0,0x82D0,0x3072}, /* 82D0-82DF */
+ {0x82D1,0x82D1,0x3073},
+ {0x82D2,0x82D2,0x3074},
+ {0x82D3,0x82D3,0x3075},
+ {0x82D4,0x82D4,0x3076},
+ {0x82D5,0x82D5,0x3077},
+ {0x82D6,0x82D6,0x3078},
+ {0x82D7,0x82D7,0x3079},
+ {0x82D8,0x82D8,0x307A},
+ {0x82D9,0x82D9,0x307B},
+ {0x82DA,0x82DA,0x307C},
+ {0x82DB,0x82DB,0x307D},
+ {0x82DC,0x82DC,0x307E},
+ {0x82DD,0x82DD,0x307F},
+ {0x82DE,0x82DE,0x3080},
+ {0x82DF,0x82DF,0x3081},
+ {0x82E0,0x82E0,0x3082}, /* 82E0-82EF */
+ {0x82E1,0x82E1,0x3083},
+ {0x82E2,0x82E2,0x3084},
+ {0x82E3,0x82E3,0x3085},
+ {0x82E4,0x82E4,0x3086},
+ {0x82E5,0x82E5,0x3087},
+ {0x82E6,0x82E6,0x3088},
+ {0x82E7,0x82E7,0x3089},
+ {0x82E8,0x82E8,0x308A},
+ {0x82E9,0x82E9,0x308B},
+ {0x82EA,0x82EA,0x308C},
+ {0x82EB,0x82EB,0x308D},
+ {0x82EC,0x82EC,0x308E},
+ {0x82ED,0x82ED,0x308F},
+ {0x82EE,0x82EE,0x3090},
+ {0x82EF,0x82EF,0x3091},
+ {0x82F0,0x82F0,0x3092}, /* 82F0-82FF */
+ {0x82F1,0x82F1,0x3093},
+ {0x82F2,0x82F2,0x003F},
+ {0x82F3,0x82F3,0x003F},
+ {0x82F4,0x82F4,0x003F},
+ {0x82F5,0x82F5,0x003F},
+ {0x82F6,0x82F6,0x003F},
+ {0x82F7,0x82F7,0x003F},
+ {0x82F8,0x82F8,0x003F},
+ {0x82F9,0x82F9,0x003F},
+ {0x82FA,0x82FA,0x003F},
+ {0x82FB,0x82FB,0x003F},
+ {0x82FC,0x82FC,0x003F},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO c83[256]=
+{
+ /* 8300-830F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8310-831F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8320-832F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8330-833F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8340,0x8340,0x30A1}, /* 8340 */
+ {0x8341,0x8341,0x30A2},
+ {0x8342,0x8342,0x30A3},
+ {0x8343,0x8343,0x30A4},
+ {0x8344,0x8344,0x30A5},
+ {0x8345,0x8345,0x30A6},
+ {0x8346,0x8346,0x30A7},
+ {0x8347,0x8347,0x30A8},
+ {0x8348,0x8348,0x30A9},
+ {0x8349,0x8349,0x30AA},
+ {0x834A,0x834A,0x30AB},
+ {0x834B,0x834B,0x30AC},
+ {0x834C,0x834C,0x30AD},
+ {0x834D,0x834D,0x30AE},
+ {0x834E,0x834E,0x30AF},
+ {0x834F,0x834F,0x30B0},
+ {0x8350,0x8350,0x30B1}, /* 8350 */
+ {0x8351,0x8351,0x30B2},
+ {0x8352,0x8352,0x30B3},
+ {0x8353,0x8353,0x30B4},
+ {0x8354,0x8354,0x30B5},
+ {0x8355,0x8355,0x30B6},
+ {0x8356,0x8356,0x30B7},
+ {0x8357,0x8357,0x30B8},
+ {0x8358,0x8358,0x30B9},
+ {0x8359,0x8359,0x30BA},
+ {0x835A,0x835A,0x30BB},
+ {0x835B,0x835B,0x30BC},
+ {0x835C,0x835C,0x30BD},
+ {0x835D,0x835D,0x30BE},
+ {0x835E,0x835E,0x30BF},
+ {0x835F,0x835F,0x30C0},
+ {0x8360,0x8360,0x30C1}, /* 8360 */
+ {0x8361,0x8361,0x30C2},
+ {0x8362,0x8362,0x30C3},
+ {0x8363,0x8363,0x30C4},
+ {0x8364,0x8364,0x30C5},
+ {0x8365,0x8365,0x30C6},
+ {0x8366,0x8366,0x30C7},
+ {0x8367,0x8367,0x30C8},
+ {0x8368,0x8368,0x30C9},
+ {0x8369,0x8369,0x30CA},
+ {0x836A,0x836A,0x30CB},
+ {0x836B,0x836B,0x30CC},
+ {0x836C,0x836C,0x30CD},
+ {0x836D,0x836D,0x30CE},
+ {0x836E,0x836E,0x30CF},
+ {0x836F,0x836F,0x30D0},
+ {0x8370,0x8370,0x30D1}, /* 8370 */
+ {0x8371,0x8371,0x30D2},
+ {0x8372,0x8372,0x30D3},
+ {0x8373,0x8373,0x30D4},
+ {0x8374,0x8374,0x30D5},
+ {0x8375,0x8375,0x30D6},
+ {0x8376,0x8376,0x30D7},
+ {0x8377,0x8377,0x30D8},
+ {0x8378,0x8378,0x30D9},
+ {0x8379,0x8379,0x30DA},
+ {0x837A,0x837A,0x30DB},
+ {0x837B,0x837B,0x30DC},
+ {0x837C,0x837C,0x30DD},
+ {0x837D,0x837D,0x30DE},
+ {0x837E,0x837E,0x30DF},
+ {0,0,0},
+ {0x8380,0x8380,0x30E0}, /* 8380 */
+ {0x8381,0x8381,0x30E1},
+ {0x8382,0x8382,0x30E2},
+ {0x8383,0x8383,0x30E3},
+ {0x8384,0x8384,0x30E4},
+ {0x8385,0x8385,0x30E5},
+ {0x8386,0x8386,0x30E6},
+ {0x8387,0x8387,0x30E7},
+ {0x8388,0x8388,0x30E8},
+ {0x8389,0x8389,0x30E9},
+ {0x838A,0x838A,0x30EA},
+ {0x838B,0x838B,0x30EB},
+ {0x838C,0x838C,0x30EC},
+ {0x838D,0x838D,0x30ED},
+ {0x838E,0x838E,0x30EE},
+ {0x838F,0x838F,0x30EF},
+ {0x8390,0x8390,0x30F0}, /* 8390 */
+ {0x8391,0x8391,0x30F1},
+ {0x8392,0x8392,0x30F2},
+ {0x8393,0x8393,0x30F3},
+ {0x8394,0x8394,0x30F4},
+ {0x8395,0x8395,0x30F5},
+ {0x8396,0x8396,0x30F6},
+ {0x8397,0x8397,0x003F},
+ {0x8398,0x8398,0x003F},
+ {0x8399,0x8399,0x003F},
+ {0x839A,0x839A,0x003F},
+ {0x839B,0x839B,0x003F},
+ {0x839C,0x839C,0x003F},
+ {0x839D,0x839D,0x003F},
+ {0x839E,0x839E,0x003F},
+ {0x839F,0x83BF,0x0391},
+ {0x83A0,0x83C0,0x0392}, /* 83A0 */
+ {0x83A1,0x83C1,0x0393},
+ {0x83A2,0x83C2,0x0394},
+ {0x83A3,0x83C3,0x0395},
+ {0x83A4,0x83C4,0x0396},
+ {0x83A5,0x83C5,0x0397},
+ {0x83A6,0x83C6,0x0398},
+ {0x83A7,0x83C7,0x0399},
+ {0x83A8,0x83C8,0x039A},
+ {0x83A9,0x83C9,0x039B},
+ {0x83AA,0x83CA,0x039C},
+ {0x83AB,0x83CB,0x039D},
+ {0x83AC,0x83CC,0x039E},
+ {0x83AD,0x83CD,0x039F},
+ {0x83AE,0x83CE,0x03A0},
+ {0x83AF,0x83CF,0x03A1},
+ {0x83B0,0x83D0,0x03A3}, /* 83B0 */
+ {0x83B1,0x83D1,0x03A4},
+ {0x83B2,0x83D2,0x03A5},
+ {0x83B3,0x83D3,0x03A6},
+ {0x83B4,0x83D4,0x03A7},
+ {0x83B5,0x83D5,0x03A8},
+ {0x83B6,0x83D6,0x03A9},
+ {0x83B7,0x83B7,0x003F},
+ {0x83B8,0x83B8,0x003F},
+ {0x83B9,0x83B9,0x003F},
+ {0x83BA,0x83BA,0x003F},
+ {0x83BB,0x83BB,0x003F},
+ {0x83BC,0x83BC,0x003F},
+ {0x83BD,0x83BD,0x003F},
+ {0x83BE,0x83BE,0x003F},
+ {0x839F,0x83BF,0x03B1},
+ {0x83A0,0x83C0,0x03B2}, /* 83C0 */
+ {0x83A1,0x83C1,0x03B3},
+ {0x83A2,0x83C2,0x03B4},
+ {0x83A3,0x83C3,0x03B5},
+ {0x83A4,0x83C4,0x03B6},
+ {0x83A5,0x83C5,0x03B7},
+ {0x83A6,0x83C6,0x03B8},
+ {0x83A7,0x83C7,0x03B9},
+ {0x83A8,0x83C8,0x03BA},
+ {0x83A9,0x83C9,0x03BB},
+ {0x83AA,0x83CA,0x03BC},
+ {0x83AB,0x83CB,0x03BD},
+ {0x83AC,0x83CC,0x03BE},
+ {0x83AD,0x83CD,0x03BF},
+ {0x83AE,0x83CE,0x03C0},
+ {0x83AF,0x83CF,0x03C1},
+ {0x83B0,0x83D0,0x03C3}, /* 83D0 */
+ {0x83B1,0x83D1,0x03C4},
+ {0x83B2,0x83D2,0x03C5},
+ {0x83B3,0x83D3,0x03C6},
+ {0x83B4,0x83D4,0x03C7},
+ {0x83B5,0x83D5,0x03C8},
+ {0x83B6,0x83D6,0x03C9},
+ {0x83D7,0x83D7,0x003F},
+ {0x83D8,0x83D8,0x003F},
+ {0x83D9,0x83D9,0x003F},
+ {0x83DA,0x83DA,0x003F},
+ {0x83DB,0x83DB,0x003F},
+ {0x83DC,0x83DC,0x003F},
+ {0x83DD,0x83DD,0x003F},
+ {0x83DE,0x83DE,0x003F},
+ {0x83DF,0x83DF,0x003F},
+ {0x83E0,0x83E0,0x003F}, /* 83E0 */
+ {0x83E1,0x83E1,0x003F},
+ {0x83E2,0x83E2,0x003F},
+ {0x83E3,0x83E3,0x003F},
+ {0x83E4,0x83E4,0x003F},
+ {0x83E5,0x83E5,0x003F},
+ {0x83E6,0x83E6,0x003F},
+ {0x83E7,0x83E7,0x003F},
+ {0x83E8,0x83E8,0x003F},
+ {0x83E9,0x83E9,0x003F},
+ {0x83EA,0x83EA,0x003F},
+ {0x83EB,0x83EB,0x003F},
+ {0x83EC,0x83EC,0x003F},
+ {0x83ED,0x83ED,0x003F},
+ {0x83EE,0x83EE,0x003F},
+ {0x83EF,0x83EF,0x003F},
+ {0x83F0,0x83F0,0x003F}, /* 83F0 */
+ {0x83F1,0x83F1,0x003F},
+ {0x83F2,0x83F2,0x003F},
+ {0x83F3,0x83F3,0x003F},
+ {0x83F4,0x83F4,0x003F},
+ {0x83F5,0x83F5,0x003F},
+ {0x83F6,0x83F6,0x003F},
+ {0x83F7,0x83F7,0x003F},
+ {0x83F8,0x83F8,0x003F},
+ {0x83F9,0x83F9,0x003F},
+ {0x83FA,0x83FA,0x003F},
+ {0x83FB,0x83FB,0x003F},
+ {0x83FC,0x83FC,0x003F},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO c84[256]=
+{
+ /* 8400-840F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8410-841F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8420-842F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ /* 8430-843F */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+
+ {0x8440,0x8470,0x0410}, /* 8440 */
+ {0x8441,0x8471,0x0411},
+ {0x8442,0x8472,0x0412},
+ {0x8443,0x8473,0x0413},
+ {0x8444,0x8474,0x0414},
+ {0x8445,0x8475,0x0415},
+ {0x8446,0x8476,0x0401},
+ {0x8447,0x8477,0x0416},
+ {0x8448,0x8478,0x0417},
+ {0x8449,0x8479,0x0418},
+ {0x844A,0x847A,0x0419},
+ {0x844B,0x847B,0x041A},
+ {0x844C,0x847C,0x041B},
+ {0x844D,0x847D,0x041C},
+ {0x844E,0x847E,0x041D},
+ {0x844F,0x8480,0x041E},
+ {0x8450,0x8481,0x041F}, /* 8450 */
+ {0x8451,0x8482,0x0420},
+ {0x8452,0x8483,0x0421},
+ {0x8453,0x8484,0x0422},
+ {0x8454,0x8485,0x0423},
+ {0x8455,0x8486,0x0424},
+ {0x8456,0x8487,0x0425},
+ {0x8457,0x8488,0x0426},
+ {0x8458,0x8489,0x0427},
+ {0x8459,0x848A,0x0428},
+ {0x845A,0x848B,0x0429},
+ {0x845B,0x848C,0x042A},
+ {0x845C,0x848D,0x042B},
+ {0x845D,0x848E,0x042C},
+ {0x845E,0x848F,0x042D},
+ {0x845F,0x8490,0x042E},
+ {0x8460,0x8491,0x042F}, /* 8460 */
+ {0x8461,0x8461,0x003F},
+ {0x8462,0x8462,0x003F},
+ {0x8463,0x8463,0x003F},
+ {0x8464,0x8464,0x003F},
+ {0x8465,0x8465,0x003F},
+ {0x8466,0x8466,0x003F},
+ {0x8467,0x8467,0x003F},
+ {0x8468,0x8468,0x003F},
+ {0x8469,0x8469,0x003F},
+ {0x846A,0x846A,0x003F},
+ {0x846B,0x846B,0x003F},
+ {0x846C,0x846C,0x003F},
+ {0x846D,0x846D,0x003F},
+ {0x846E,0x846E,0x003F},
+ {0x846F,0x846F,0x003F},
+ {0x8440,0x8470,0x0430}, /* 8470 */
+ {0x8441,0x8471,0x0431},
+ {0x8442,0x8472,0x0432},
+ {0x8443,0x8473,0x0433},
+ {0x8444,0x8474,0x0434},
+ {0x8445,0x8475,0x0435},
+ {0x8446,0x8476,0x0451},
+ {0x8447,0x8477,0x0436},
+ {0x8448,0x8478,0x0437},
+ {0x8449,0x8479,0x0438},
+ {0x844A,0x847A,0x0439},
+ {0x844B,0x847B,0x043A},
+ {0x844C,0x847C,0x043B},
+ {0x844D,0x847D,0x043C},
+ {0x844E,0x847E,0x043D},
+ {0,0,0},
+ {0x844F,0x8480,0x043E}, /* 8480 */
+ {0x8450,0x8481,0x043F},
+ {0x8451,0x8482,0x0440},
+ {0x8452,0x8483,0x0441},
+ {0x8453,0x8484,0x0442},
+ {0x8454,0x8485,0x0443},
+ {0x8455,0x8486,0x0444},
+ {0x8456,0x8487,0x0445},
+ {0x8457,0x8488,0x0446},
+ {0x8458,0x8489,0x0447},
+ {0x8459,0x848A,0x0448},
+ {0x845A,0x848B,0x0449},
+ {0x845B,0x848C,0x044A},
+ {0x845C,0x848D,0x044B},
+ {0x845D,0x848E,0x044C},
+ {0x845E,0x848F,0x044D},
+ {0x845F,0x8490,0x044E}, /* 8490 */
+ {0x8460,0x8491,0x044F},
+ {0x8492,0x8492,0x003F},
+ {0x8493,0x8493,0x003F},
+ {0x8494,0x8494,0x003F},
+ {0x8495,0x8495,0x003F},
+ {0x8496,0x8496,0x003F},
+ {0x8497,0x8497,0x003F},
+ {0x8498,0x8498,0x003F},
+ {0x8499,0x8499,0x003F},
+ {0x849A,0x849A,0x003F},
+ {0x849B,0x849B,0x003F},
+ {0x849C,0x849C,0x003F},
+ {0x849D,0x849D,0x003F},
+ {0x849E,0x849E,0x003F},
+ {0x849F,0x849F,0x2500},
+ {0x84A0,0x84A0,0x2502}, /* 84A0 */
+ {0x84A1,0x84A1,0x250C},
+ {0x84A2,0x84A2,0x2510},
+ {0x84A3,0x84A3,0x2518},
+ {0x84A4,0x84A4,0x2514},
+ {0x84A5,0x84A5,0x251C},
+ {0x84A6,0x84A6,0x252C},
+ {0x84A7,0x84A7,0x2524},
+ {0x84A8,0x84A8,0x2534},
+ {0x84A9,0x84A9,0x253C},
+ {0x84AA,0x84AA,0x2501},
+ {0x84AB,0x84AB,0x2503},
+ {0x84AC,0x84AC,0x250F},
+ {0x84AD,0x84AD,0x2513},
+ {0x84AE,0x84AE,0x251B},
+ {0x84AF,0x84AF,0x2517},
+ {0x84B0,0x84B0,0x2523}, /* 84B0 */
+ {0x84B1,0x84B1,0x2533},
+ {0x84B2,0x84B2,0x252B},
+ {0x84B3,0x84B3,0x253B},
+ {0x84B4,0x84B4,0x254B},
+ {0x84B5,0x84B5,0x2520},
+ {0x84B6,0x84B6,0x252F},
+ {0x84B7,0x84B7,0x2528},
+ {0x84B8,0x84B8,0x2537},
+ {0x84B9,0x84B9,0x253F},
+ {0x84BA,0x84BA,0x251D},
+ {0x84BB,0x84BB,0x2530},
+ {0x84BC,0x84BC,0x2525},
+ {0x84BD,0x84BD,0x2538},
+ {0x84BE,0x84BE,0x2542},
+ {0x84BF,0x84BF,0x003F},
+ {0x84C0,0x84C0,0x003F}, /* 84C0 */
+ {0x84C1,0x84C1,0x003F},
+ {0x84C2,0x84C2,0x003F},
+ {0x84C3,0x84C3,0x003F},
+ {0x84C4,0x84C4,0x003F},
+ {0x84C5,0x84C5,0x003F},
+ {0x84C6,0x84C6,0x003F},
+ {0x84C7,0x84C7,0x003F},
+ {0x84C8,0x84C8,0x003F},
+ {0x84C9,0x84C9,0x003F},
+ {0x84CA,0x84CA,0x003F},
+ {0x84CB,0x84CB,0x003F},
+ {0x84CC,0x84CC,0x003F},
+ {0x84CD,0x84CD,0x003F},
+ {0x84CE,0x84CE,0x003F},
+ {0x84CF,0x84CF,0x003F},
+ {0x84D0,0x84D0,0x003F}, /* 84D0 */
+ {0x84D1,0x84D1,0x003F},
+ {0x84D2,0x84D2,0x003F},
+ {0x84D3,0x84D3,0x003F},
+ {0x84D4,0x84D4,0x003F},
+ {0x84D5,0x84D5,0x003F},
+ {0x84D6,0x84D6,0x003F},
+ {0x84D7,0x84D7,0x003F},
+ {0x84D8,0x84D8,0x003F},
+ {0x84D9,0x84D9,0x003F},
+ {0x84DA,0x84DA,0x003F},
+ {0x84DB,0x84DB,0x003F},
+ {0x84DC,0x84DC,0x003F},
+ {0x84DD,0x84DD,0x003F},
+ {0x84DE,0x84DE,0x003F},
+ {0x84DF,0x84DF,0x003F},
+ {0x84E0,0x84E0,0x003F}, /* 84E0 */
+ {0x84E1,0x84E1,0x003F},
+ {0x84E2,0x84E2,0x003F},
+ {0x84E3,0x84E3,0x003F},
+ {0x84E4,0x84E4,0x003F},
+ {0x84E5,0x84E5,0x003F},
+ {0x84E6,0x84E6,0x003F},
+ {0x84E7,0x84E7,0x003F},
+ {0x84E8,0x84E8,0x003F},
+ {0x84E9,0x84E9,0x003F},
+ {0x84EA,0x84EA,0x003F},
+ {0x84EB,0x84EB,0x003F},
+ {0x84EC,0x84EC,0x003F},
+ {0x84ED,0x84ED,0x003F},
+ {0x84EE,0x84EE,0x003F},
+ {0x84EF,0x84EF,0x003F},
+ {0x84F0,0x84F0,0x003F}, /* 84F0 */
+ {0x84F1,0x84F1,0x003F},
+ {0x84F2,0x84F2,0x003F},
+ {0x84F3,0x84F3,0x003F},
+ {0x84F4,0x84F4,0x003F},
+ {0x84F5,0x84F5,0x003F},
+ {0x84F6,0x84F6,0x003F},
+ {0x84F7,0x84F7,0x003F},
+ {0x84F8,0x84F8,0x003F},
+ {0x84F9,0x84F9,0x003F},
+ {0x84FA,0x84FA,0x003F},
+ {0x84FB,0x84FB,0x003F},
+ {0x84FC,0x84FC,0x003F},
+ {0,0,0},
+ {0,0,0},
+ {0,0,0}
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_sjis[256]=
+{
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, c81, c82, c83, c84, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* A */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+};
+
+
static int my_strnncoll_sjis_internal(CHARSET_INFO *cs,
const uchar **a_res, size_t a_length,
const uchar **b_res, size_t b_length)
@@ -4685,7 +5560,7 @@ CHARSET_INFO my_charset_sjis_japanese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_sjis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@@ -4717,7 +5592,7 @@ CHARSET_INFO my_charset_sjis_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_sjis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
diff --git a/strings/ctype-ujis.c b/strings/ctype-ujis.c
index 1a872a92595..bec566c7782 100644
--- a/strings/ctype-ujis.c
+++ b/strings/ctype-ujis.c
@@ -8494,6 +8494,1263 @@ my_wc_mb_euc_jp(CHARSET_INFO *c,my_wc_t wc, uchar *s, uchar *e)
}
+/* Case info pages for JIS-X-0208 range */
+static MY_UNICASE_INFO cA2[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA2A0,0xA2A0,0x003F}, /* A2A0 */
+ {0xA2A1,0xA2A1,0x25C6},
+ {0xA2A2,0xA2A2,0x25A1},
+ {0xA2A3,0xA2A3,0x25A0},
+ {0xA2A4,0xA2A4,0x25B3},
+ {0xA2A5,0xA2A5,0x25B2},
+ {0xA2A6,0xA2A6,0x25BD},
+ {0xA2A7,0xA2A7,0x25BC},
+ {0xA2A8,0xA2A8,0x203B},
+ {0xA2A9,0xA2A9,0x3012},
+ {0xA2AA,0xA2AA,0x2192},
+ {0xA2AB,0xA2AB,0x2190},
+ {0xA2AC,0xA2AC,0x2191},
+ {0xA2AD,0xA2AD,0x2193},
+ {0xA2AE,0xA2AE,0x3013},
+ {0xA2AF,0xA2AF,0x003F},
+ {0xA2B0,0xA2B0,0x003F}, /* A2B0 */
+ {0xA2B1,0xA2B1,0x003F},
+ {0xA2B2,0xA2B2,0x003F},
+ {0xA2B3,0xA2B3,0x003F},
+ {0xA2B4,0xA2B4,0x003F},
+ {0xA2B5,0xA2B5,0x003F},
+ {0xA2B6,0xA2B6,0x003F},
+ {0xA2B7,0xA2B7,0x003F},
+ {0xA2B8,0xA2B8,0x003F},
+ {0xA2B9,0xA2B9,0x003F},
+ {0xA2BA,0xA2BA,0x2208},
+ {0xA2BB,0xA2BB,0x220B},
+ {0xA2BC,0xA2BC,0x2286},
+ {0xA2BD,0xA2BD,0x2287},
+ {0xA2BE,0xA2BE,0x2282},
+ {0xA2BF,0xA2BF,0x2283},
+ {0xA2C0,0xA2C0,0x222A}, /* A2C0 */
+ {0xA2C1,0xA2C1,0x2229},
+ {0xA2C2,0xA2C2,0x003F},
+ {0xA2C3,0xA2C3,0x003F},
+ {0xA2C4,0xA2C4,0x003F},
+ {0xA2C5,0xA2C5,0x003F},
+ {0xA2C6,0xA2C6,0x003F},
+ {0xA2C7,0xA2C7,0x003F},
+ {0xA2C8,0xA2C8,0x003F},
+ {0xA2C9,0xA2C9,0x003F},
+ {0xA2CA,0xA2CA,0x2227},
+ {0xA2CB,0xA2CB,0x2228},
+ {0xA2CC,0xA2CC,0x00AC},
+ {0xA2CD,0xA2CD,0x21D2},
+ {0xA2CE,0xA2CE,0x21D4},
+ {0xA2CF,0xA2CF,0x2200},
+ {0xA2D0,0xA2D0,0x2203}, /* A2D0 */
+ {0xA2D1,0xA2D1,0x003F},
+ {0xA2D2,0xA2D2,0x003F},
+ {0xA2D3,0xA2D3,0x003F},
+ {0xA2D4,0xA2D4,0x003F},
+ {0xA2D5,0xA2D5,0x003F},
+ {0xA2D6,0xA2D6,0x003F},
+ {0xA2D7,0xA2D7,0x003F},
+ {0xA2D8,0xA2D8,0x003F},
+ {0xA2D9,0xA2D9,0x003F},
+ {0xA2DA,0xA2DA,0x003F},
+ {0xA2DB,0xA2DB,0x003F},
+ {0xA2DC,0xA2DC,0x2220},
+ {0xA2DD,0xA2DD,0x22A5},
+ {0xA2DE,0xA2DE,0x2312},
+ {0xA2DF,0xA2DF,0x2202},
+ {0xA2E0,0xA2E0,0x2207}, /* A2E0 */
+ {0xA2E1,0xA2E1,0x2261},
+ {0xA2E2,0xA2E2,0x2252},
+ {0xA2E3,0xA2E3,0x226A},
+ {0xA2E4,0xA2E4,0x226B},
+ {0xA2E5,0xA2E5,0x221A},
+ {0xA2E6,0xA2E6,0x223D},
+ {0xA2E7,0xA2E7,0x221D},
+ {0xA2E8,0xA2E8,0x2235},
+ {0xA2E9,0xA2E9,0x222B},
+ {0xA2EA,0xA2EA,0x222C},
+ {0xA2EB,0xA2EB,0x003F},
+ {0xA2EC,0xA2EC,0x003F},
+ {0xA2ED,0xA2ED,0x003F},
+ {0xA2EE,0xA2EE,0x003F},
+ {0xA2EF,0xA2EF,0x003F},
+ {0xA2F0,0xA2F0,0x003F}, /* A2F0 */
+ {0xA2F1,0xA2F1,0x003F},
+ {0xA2F2,0x8FABA9,0x212B},
+ {0xA2F3,0xA2F3,0x2030},
+ {0xA2F4,0xA2F4,0x266F},
+ {0xA2F5,0xA2F5,0x266D},
+ {0xA2F6,0xA2F6,0x266A},
+ {0xA2F7,0xA2F7,0x2020},
+ {0xA2F8,0xA2F8,0x2021},
+ {0xA2F9,0xA2F9,0x00B6},
+ {0xA2FA,0xA2FA,0x003F},
+ {0xA2FB,0xA2FB,0x003F},
+ {0xA2FC,0xA2FC,0x003F},
+ {0xA2FD,0xA2FD,0x003F},
+ {0xA2FE,0xA2FE,0x25EF},
+ {0xA2FF,0xA2FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cA3[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA3A0,0xA3A0,0x003F}, /* A3A0 */
+ {0xA3A1,0xA3A1,0x003F},
+ {0xA3A2,0xA3A2,0x003F},
+ {0xA3A3,0xA3A3,0x003F},
+ {0xA3A4,0xA3A4,0x003F},
+ {0xA3A5,0xA3A5,0x003F},
+ {0xA3A6,0xA3A6,0x003F},
+ {0xA3A7,0xA3A7,0x003F},
+ {0xA3A8,0xA3A8,0x003F},
+ {0xA3A9,0xA3A9,0x003F},
+ {0xA3AA,0xA3AA,0x003F},
+ {0xA3AB,0xA3AB,0x003F},
+ {0xA3AC,0xA3AC,0x003F},
+ {0xA3AD,0xA3AD,0x003F},
+ {0xA3AE,0xA3AE,0x003F},
+ {0xA3AF,0xA3AF,0x003F},
+ {0xA3B0,0xA3B0,0xFF10}, /* A3B0 */
+ {0xA3B1,0xA3B1,0xFF11},
+ {0xA3B2,0xA3B2,0xFF12},
+ {0xA3B3,0xA3B3,0xFF13},
+ {0xA3B4,0xA3B4,0xFF14},
+ {0xA3B5,0xA3B5,0xFF15},
+ {0xA3B6,0xA3B6,0xFF16},
+ {0xA3B7,0xA3B7,0xFF17},
+ {0xA3B8,0xA3B8,0xFF18},
+ {0xA3B9,0xA3B9,0xFF19},
+ {0xA3BA,0xA3BA,0x003F},
+ {0xA3BB,0xA3BB,0x003F},
+ {0xA3BC,0xA3BC,0x003F},
+ {0xA3BD,0xA3BD,0x003F},
+ {0xA3BE,0xA3BE,0x003F},
+ {0xA3BF,0xA3BF,0x003F},
+ {0xA3C0,0xA3C0,0x003F}, /* A3C0 */
+ {0xA3C1,0xA3E1,0xFF21},
+ {0xA3C2,0xA3E2,0xFF22},
+ {0xA3C3,0xA3E3,0xFF23},
+ {0xA3C4,0xA3E4,0xFF24},
+ {0xA3C5,0xA3E5,0xFF25},
+ {0xA3C6,0xA3E6,0xFF26},
+ {0xA3C7,0xA3E7,0xFF27},
+ {0xA3C8,0xA3E8,0xFF28},
+ {0xA3C9,0xA3E9,0xFF29},
+ {0xA3CA,0xA3EA,0xFF2A},
+ {0xA3CB,0xA3EB,0xFF2B},
+ {0xA3CC,0xA3EC,0xFF2C},
+ {0xA3CD,0xA3ED,0xFF2D},
+ {0xA3CE,0xA3EE,0xFF2E},
+ {0xA3CF,0xA3EF,0xFF2F},
+ {0xA3D0,0xA3F0,0xFF30}, /* A3D0 */
+ {0xA3D1,0xA3F1,0xFF31},
+ {0xA3D2,0xA3F2,0xFF32},
+ {0xA3D3,0xA3F3,0xFF33},
+ {0xA3D4,0xA3F4,0xFF34},
+ {0xA3D5,0xA3F5,0xFF35},
+ {0xA3D6,0xA3F6,0xFF36},
+ {0xA3D7,0xA3F7,0xFF37},
+ {0xA3D8,0xA3F8,0xFF38},
+ {0xA3D9,0xA3F9,0xFF39},
+ {0xA3DA,0xA3FA,0xFF3A},
+ {0xA3DB,0xA3DB,0x003F},
+ {0xA3DC,0xA3DC,0x003F},
+ {0xA3DD,0xA3DD,0x003F},
+ {0xA3DE,0xA3DE,0x003F},
+ {0xA3DF,0xA3DF,0x003F},
+ {0xA3E0,0xA3E0,0x003F}, /* A3E0 */
+ {0xA3C1,0xA3E1,0xFF41},
+ {0xA3C2,0xA3E2,0xFF42},
+ {0xA3C3,0xA3E3,0xFF43},
+ {0xA3C4,0xA3E4,0xFF44},
+ {0xA3C5,0xA3E5,0xFF45},
+ {0xA3C6,0xA3E6,0xFF46},
+ {0xA3C7,0xA3E7,0xFF47},
+ {0xA3C8,0xA3E8,0xFF48},
+ {0xA3C9,0xA3E9,0xFF49},
+ {0xA3CA,0xA3EA,0xFF4A},
+ {0xA3CB,0xA3EB,0xFF4B},
+ {0xA3CC,0xA3EC,0xFF4C},
+ {0xA3CD,0xA3ED,0xFF4D},
+ {0xA3CE,0xA3EE,0xFF4E},
+ {0xA3CF,0xA3EF,0xFF4F},
+ {0xA3D0,0xA3F0,0xFF50}, /* A3F0 */
+ {0xA3D1,0xA3F1,0xFF51},
+ {0xA3D2,0xA3F2,0xFF52},
+ {0xA3D3,0xA3F3,0xFF53},
+ {0xA3D4,0xA3F4,0xFF54},
+ {0xA3D5,0xA3F5,0xFF55},
+ {0xA3D6,0xA3F6,0xFF56},
+ {0xA3D7,0xA3F7,0xFF57},
+ {0xA3D8,0xA3F8,0xFF58},
+ {0xA3D9,0xA3F9,0xFF59},
+ {0xA3DA,0xA3FA,0xFF5A},
+ {0xA3FB,0xA3FB,0x003F},
+ {0xA3FC,0xA3FC,0x003F},
+ {0xA3FD,0xA3FD,0x003F},
+ {0xA3FE,0xA3FE,0x003F},
+ {0xA3FF,0xA3FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cA6[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA6A0,0xA6A0,0x003F}, /* A6A0 */
+ {0xA6A1,0xA6C1,0x0391},
+ {0xA6A2,0xA6C2,0x0392},
+ {0xA6A3,0xA6C3,0x0393},
+ {0xA6A4,0xA6C4,0x0394},
+ {0xA6A5,0xA6C5,0x0395},
+ {0xA6A6,0xA6C6,0x0396},
+ {0xA6A7,0xA6C7,0x0397},
+ {0xA6A8,0xA6C8,0x0398},
+ {0xA6A9,0xA6C9,0x0399},
+ {0xA6AA,0xA6CA,0x039A},
+ {0xA6AB,0xA6CB,0x039B},
+ {0xA6AC,0xA6CC,0x039C},
+ {0xA6AD,0xA6CD,0x039D},
+ {0xA6AE,0xA6CE,0x039E},
+ {0xA6AF,0xA6CF,0x039F},
+ {0xA6B0,0xA6D0,0x03A0}, /* A6B0 */
+ {0xA6B1,0xA6D1,0x03A1},
+ {0xA6B2,0xA6D2,0x03A3},
+ {0xA6B3,0xA6D3,0x03A4},
+ {0xA6B4,0xA6D4,0x03A5},
+ {0xA6B5,0xA6D5,0x03A6},
+ {0xA6B6,0xA6D6,0x03A7},
+ {0xA6B7,0xA6D7,0x03A8},
+ {0xA6B8,0xA6D8,0x03A9},
+ {0xA6B9,0xA6B9,0x003F},
+ {0xA6BA,0xA6BA,0x003F},
+ {0xA6BB,0xA6BB,0x003F},
+ {0xA6BC,0xA6BC,0x003F},
+ {0xA6BD,0xA6BD,0x003F},
+ {0xA6BE,0xA6BE,0x003F},
+ {0xA6BF,0xA6BF,0x003F},
+ {0xA6C0,0xA6C0,0x003F}, /* A6C0 */
+ {0xA6A1,0xA6C1,0x03B1},
+ {0xA6A2,0xA6C2,0x03B2},
+ {0xA6A3,0xA6C3,0x03B3},
+ {0xA6A4,0xA6C4,0x03B4},
+ {0xA6A5,0xA6C5,0x03B5},
+ {0xA6A6,0xA6C6,0x03B6},
+ {0xA6A7,0xA6C7,0x03B7},
+ {0xA6A8,0xA6C8,0x03B8},
+ {0xA6A9,0xA6C9,0x03B9},
+ {0xA6AA,0xA6CA,0x03BA},
+ {0xA6AB,0xA6CB,0x03BB},
+ {0xA6AC,0xA6CC,0x03BC},
+ {0xA6AD,0xA6CD,0x03BD},
+ {0xA6AE,0xA6CE,0x03BE},
+ {0xA6AF,0xA6CF,0x03BF},
+ {0xA6B0,0xA6D0,0x03C0}, /* A6D0 */
+ {0xA6B1,0xA6D1,0x03C1},
+ {0xA6B2,0xA6D2,0x03C3},
+ {0xA6B3,0xA6D3,0x03C4},
+ {0xA6B4,0xA6D4,0x03C5},
+ {0xA6B5,0xA6D5,0x03C6},
+ {0xA6B6,0xA6D6,0x03C7},
+ {0xA6B7,0xA6D7,0x03C8},
+ {0xA6B8,0xA6D8,0x03C9},
+ {0xA6D9,0xA6D9,0x003F},
+ {0xA6DA,0xA6DA,0x003F},
+ {0xA6DB,0xA6DB,0x003F},
+ {0xA6DC,0xA6DC,0x003F},
+ {0xA6DD,0xA6DD,0x003F},
+ {0xA6DE,0xA6DE,0x003F},
+ {0xA6DF,0xA6DF,0x003F},
+ {0xA6E0,0xA6E0,0x003F}, /* A6E0 */
+ {0xA6E1,0xA6E1,0x003F},
+ {0xA6E2,0xA6E2,0x003F},
+ {0xA6E3,0xA6E3,0x003F},
+ {0xA6E4,0xA6E4,0x003F},
+ {0xA6E5,0xA6E5,0x003F},
+ {0xA6E6,0xA6E6,0x003F},
+ {0xA6E7,0xA6E7,0x003F},
+ {0xA6E8,0xA6E8,0x003F},
+ {0xA6E9,0xA6E9,0x003F},
+ {0xA6EA,0xA6EA,0x003F},
+ {0xA6EB,0xA6EB,0x003F},
+ {0xA6EC,0xA6EC,0x003F},
+ {0xA6ED,0xA6ED,0x003F},
+ {0xA6EE,0xA6EE,0x003F},
+ {0xA6EF,0xA6EF,0x003F},
+ {0xA6F0,0xA6F0,0x003F}, /* A6F0 */
+ {0xA6F1,0xA6F1,0x003F},
+ {0xA6F2,0xA6F2,0x003F},
+ {0xA6F3,0xA6F3,0x003F},
+ {0xA6F4,0xA6F4,0x003F},
+ {0xA6F5,0xA6F5,0x003F},
+ {0xA6F6,0xA6F6,0x003F},
+ {0xA6F7,0xA6F7,0x003F},
+ {0xA6F8,0xA6F8,0x003F},
+ {0xA6F9,0xA6F9,0x003F},
+ {0xA6FA,0xA6FA,0x003F},
+ {0xA6FB,0xA6FB,0x003F},
+ {0xA6FC,0xA6FC,0x003F},
+ {0xA6FD,0xA6FD,0x003F},
+ {0xA6FE,0xA6FE,0x003F},
+ {0xA6FF,0xA6FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO cA7[256]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0xA7A0,0xA7A0,0x003F},
+ {0xA7A1,0xA7D1,0x0410},
+ {0xA7A2,0xA7D2,0x0411},
+ {0xA7A3,0xA7D3,0x0412},
+ {0xA7A4,0xA7D4,0x0413},
+ {0xA7A5,0xA7D5,0x0414},
+ {0xA7A6,0xA7D6,0x0415},
+ {0xA7A7,0xA7D7,0x0401},
+ {0xA7A8,0xA7D8,0x0416},
+ {0xA7A9,0xA7D9,0x0417},
+ {0xA7AA,0xA7DA,0x0418},
+ {0xA7AB,0xA7DB,0x0419},
+ {0xA7AC,0xA7DC,0x041A},
+ {0xA7AD,0xA7DD,0x041B},
+ {0xA7AE,0xA7DE,0x041C},
+ {0xA7AF,0xA7DF,0x041D},
+ {0xA7B0,0xA7E0,0x041E}, /* A7B0 */
+ {0xA7B1,0xA7E1,0x041F},
+ {0xA7B2,0xA7E2,0x0420},
+ {0xA7B3,0xA7E3,0x0421},
+ {0xA7B4,0xA7E4,0x0422},
+ {0xA7B5,0xA7E5,0x0423},
+ {0xA7B6,0xA7E6,0x0424},
+ {0xA7B7,0xA7E7,0x0425},
+ {0xA7B8,0xA7E8,0x0426},
+ {0xA7B9,0xA7E9,0x0427},
+ {0xA7BA,0xA7EA,0x0428},
+ {0xA7BB,0xA7EB,0x0429},
+ {0xA7BC,0xA7EC,0x042A},
+ {0xA7BD,0xA7ED,0x042B},
+ {0xA7BE,0xA7EE,0x042C},
+ {0xA7BF,0xA7EF,0x042D},
+ {0xA7C0,0xA7F0,0x042E}, /* A7C0 */
+ {0xA7C1,0xA7F1,0x042F},
+ {0xA7C2,0xA7C2,0x003F},
+ {0xA7C3,0xA7C3,0x003F},
+ {0xA7C4,0xA7C4,0x003F},
+ {0xA7C5,0xA7C5,0x003F},
+ {0xA7C6,0xA7C6,0x003F},
+ {0xA7C7,0xA7C7,0x003F},
+ {0xA7C8,0xA7C8,0x003F},
+ {0xA7C9,0xA7C9,0x003F},
+ {0xA7CA,0xA7CA,0x003F},
+ {0xA7CB,0xA7CB,0x003F},
+ {0xA7CC,0xA7CC,0x003F},
+ {0xA7CD,0xA7CD,0x003F},
+ {0xA7CE,0xA7CE,0x003F},
+ {0xA7CF,0xA7CF,0x003F},
+ {0xA7D0,0xA7D0,0x003F}, /* A7D0 */
+ {0xA7A1,0xA7D1,0x0430},
+ {0xA7A2,0xA7D2,0x0431},
+ {0xA7A3,0xA7D3,0x0432},
+ {0xA7A4,0xA7D4,0x0433},
+ {0xA7A5,0xA7D5,0x0434},
+ {0xA7A6,0xA7D6,0x0435},
+ {0xA7A7,0xA7D7,0x0451},
+ {0xA7A8,0xA7D8,0x0436},
+ {0xA7A9,0xA7D9,0x0437},
+ {0xA7AA,0xA7DA,0x0438},
+ {0xA7AB,0xA7DB,0x0439},
+ {0xA7AC,0xA7DC,0x043A},
+ {0xA7AD,0xA7DD,0x043B},
+ {0xA7AE,0xA7DE,0x043C},
+ {0xA7AF,0xA7DF,0x043D},
+ {0xA7B0,0xA7E0,0x043E}, /* A7E0 */
+ {0xA7B1,0xA7E1,0x043F},
+ {0xA7B2,0xA7E2,0x0440},
+ {0xA7B3,0xA7E3,0x0441},
+ {0xA7B4,0xA7E4,0x0442},
+ {0xA7B5,0xA7E5,0x0443},
+ {0xA7B6,0xA7E6,0x0444},
+ {0xA7B7,0xA7E7,0x0445},
+ {0xA7B8,0xA7E8,0x0446},
+ {0xA7B9,0xA7E9,0x0447},
+ {0xA7BA,0xA7EA,0x0448},
+ {0xA7BB,0xA7EB,0x0449},
+ {0xA7BC,0xA7EC,0x044A},
+ {0xA7BD,0xA7ED,0x044B},
+ {0xA7BE,0xA7EE,0x044C},
+ {0xA7BF,0xA7EF,0x044D},
+ {0xA7C0,0xA7F0,0x044E}, /* A7F0 */
+ {0xA7C1,0xA7F1,0x044F},
+ {0xA7F2,0xA7F2,0x003F},
+ {0xA7F3,0xA7F3,0x003F},
+ {0xA7F4,0xA7F4,0x003F},
+ {0xA7F5,0xA7F5,0x003F},
+ {0xA7F6,0xA7F6,0x003F},
+ {0xA7F7,0xA7F7,0x003F},
+ {0xA7F8,0xA7F8,0x003F},
+ {0xA7F9,0xA7F9,0x003F},
+ {0xA7FA,0xA7FA,0x003F},
+ {0xA7FB,0xA7FB,0x003F},
+ {0xA7FC,0xA7FC,0x003F},
+ {0xA7FD,0xA7FD,0x003F},
+ {0xA7FE,0xA7FE,0x003F},
+ {0xA7FF,0xA7FF,0x003F},
+};
+
+
+/* Case info pages for JIS-X-0212 range */
+static MY_UNICASE_INFO c8FA6[]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FA6A0,0x8FA6A0,0x003F}, /* 8FA6A0 */
+ {0x8FA6A1,0x8FA6A1,0x003F},
+ {0x8FA6A2,0x8FA6A2,0x003F},
+ {0x8FA6A3,0x8FA6A3,0x003F},
+ {0x8FA6A4,0x8FA6A4,0x003F},
+ {0x8FA6A5,0x8FA6A5,0x003F},
+ {0x8FA6A6,0x8FA6A6,0x003F},
+ {0x8FA6A7,0x8FA6A7,0x003F},
+ {0x8FA6A8,0x8FA6A8,0x003F},
+ {0x8FA6A9,0x8FA6A9,0x003F},
+ {0x8FA6AA,0x8FA6AA,0x003F},
+ {0x8FA6AB,0x8FA6AB,0x003F},
+ {0x8FA6AC,0x8FA6AC,0x003F},
+ {0x8FA6AD,0x8FA6AD,0x003F},
+ {0x8FA6AE,0x8FA6AE,0x003F},
+ {0x8FA6AF,0x8FA6AF,0x003F},
+ {0x8FA6B0,0x8FA6B0,0x003F}, /* 8FA6B0 */
+ {0x8FA6B1,0x8FA6B1,0x003F},
+ {0x8FA6B2,0x8FA6B2,0x003F},
+ {0x8FA6B3,0x8FA6B3,0x003F},
+ {0x8FA6B4,0x8FA6B4,0x003F},
+ {0x8FA6B5,0x8FA6B5,0x003F},
+ {0x8FA6B6,0x8FA6B6,0x003F},
+ {0x8FA6B7,0x8FA6B7,0x003F},
+ {0x8FA6B8,0x8FA6B8,0x003F},
+ {0x8FA6B9,0x8FA6B9,0x003F},
+ {0x8FA6BA,0x8FA6BA,0x003F},
+ {0x8FA6BB,0x8FA6BB,0x003F},
+ {0x8FA6BC,0x8FA6BC,0x003F},
+ {0x8FA6BD,0x8FA6BD,0x003F},
+ {0x8FA6BE,0x8FA6BE,0x003F},
+ {0x8FA6BF,0x8FA6BF,0x003F},
+ {0x8FA6C0,0x8FA6C0,0x003F}, /* 8FA6C0 */
+ {0x8FA6C1,0x8FA6C1,0x003F},
+ {0x8FA6C2,0x8FA6C2,0x003F},
+ {0x8FA6C3,0x8FA6C3,0x003F},
+ {0x8FA6C4,0x8FA6C4,0x003F},
+ {0x8FA6C5,0x8FA6C5,0x003F},
+ {0x8FA6C6,0x8FA6C6,0x003F},
+ {0x8FA6C7,0x8FA6C7,0x003F},
+ {0x8FA6C8,0x8FA6C8,0x003F},
+ {0x8FA6C9,0x8FA6C9,0x003F},
+ {0x8FA6CA,0x8FA6CA,0x003F},
+ {0x8FA6CB,0x8FA6CB,0x003F},
+ {0x8FA6CC,0x8FA6CC,0x003F},
+ {0x8FA6CD,0x8FA6CD,0x003F},
+ {0x8FA6CE,0x8FA6CE,0x003F},
+ {0x8FA6CF,0x8FA6CF,0x003F},
+ {0x8FA6D0,0x8FA6D0,0x003F}, /* 8FA6D0 */
+ {0x8FA6D1,0x8FA6D1,0x003F},
+ {0x8FA6D2,0x8FA6D2,0x003F},
+ {0x8FA6D3,0x8FA6D3,0x003F},
+ {0x8FA6D4,0x8FA6D4,0x003F},
+ {0x8FA6D5,0x8FA6D5,0x003F},
+ {0x8FA6D6,0x8FA6D6,0x003F},
+ {0x8FA6D7,0x8FA6D7,0x003F},
+ {0x8FA6D8,0x8FA6D8,0x003F},
+ {0x8FA6D9,0x8FA6D9,0x003F},
+ {0x8FA6DA,0x8FA6DA,0x003F},
+ {0x8FA6DB,0x8FA6DB,0x003F},
+ {0x8FA6DC,0x8FA6DC,0x003F},
+ {0x8FA6DD,0x8FA6DD,0x003F},
+ {0x8FA6DE,0x8FA6DE,0x003F},
+ {0x8FA6DF,0x8FA6DF,0x003F},
+ {0x8FA6E0,0x8FA6E0,0x003F}, /* 8FA6E0 */
+ {0x8FA6E1,0x8FA6F1,0x0386},
+ {0x8FA6E2,0x8FA6F2,0x0388},
+ {0x8FA6E3,0x8FA6F3,0x0389},
+ {0x8FA6E4,0x8FA6F4,0x038A},
+ {0x8FA6E5,0x8FA6F5,0x03AA},
+ {0x8FA6E6,0x8FA6E6,0x003F},
+ {0x8FA6E7,0x8FA6F7,0x038C},
+ {0x8FA6E8,0x8FA6E8,0x003F},
+ {0x8FA6E9,0x8FA6F9,0x038E},
+ {0x8FA6EA,0x8FA6FA,0x03AB},
+ {0x8FA6EB,0x8FA6EB,0x003F},
+ {0x8FA6EC,0x8FA6FC,0x038F},
+ {0x8FA6ED,0x8FA6ED,0x003F},
+ {0x8FA6EE,0x8FA6EE,0x003F},
+ {0x8FA6EF,0x8FA6EF,0x003F},
+ {0x8FA6F0,0x8FA6F0,0x003F}, /* 8FA6F0 */
+ {0x8FA6E1,0x8FA6F1,0x03AC},
+ {0x8FA6E2,0x8FA6F2,0x03AD},
+ {0x8FA6E3,0x8FA6F3,0x03AE},
+ {0x8FA6E4,0x8FA6F4,0x03AF},
+ {0x8FA6E5,0x8FA6F5,0x03CA},
+ {0x8FA6F6,0x8FA6F6,0x0390},
+ {0x8FA6E7,0x8FA6F7,0x03CC},
+ { 0xA6B2,0x8FA6F8,0x03C2},
+ {0x8FA6E9,0x8FA6F9,0x03CD},
+ {0x8FA6EA,0x8FA6FA,0x03CB},
+ {0x8FA6FB,0x8FA6FB,0x03B0},
+ {0x8FA6EC,0x8FA6FC,0x03CE},
+ {0x8FA6FD,0x8FA6FD,0x003F},
+ {0x8FA6FE,0x8FA6FE,0x003F},
+ {0x8FA6FF,0x8FA6FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FA7[]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FA7A0,0x8FA7A0,0x003F}, /* 8FA7A0 */
+ {0x8FA7A1,0x8FA7A1,0x003F},
+ {0x8FA7A2,0x8FA7A2,0x003F},
+ {0x8FA7A3,0x8FA7A3,0x003F},
+ {0x8FA7A4,0x8FA7A4,0x003F},
+ {0x8FA7A5,0x8FA7A5,0x003F},
+ {0x8FA7A6,0x8FA7A6,0x003F},
+ {0x8FA7A7,0x8FA7A7,0x003F},
+ {0x8FA7A8,0x8FA7A8,0x003F},
+ {0x8FA7A9,0x8FA7A9,0x003F},
+ {0x8FA7AA,0x8FA7AA,0x003F},
+ {0x8FA7AB,0x8FA7AB,0x003F},
+ {0x8FA7AC,0x8FA7AC,0x003F},
+ {0x8FA7AD,0x8FA7AD,0x003F},
+ {0x8FA7AE,0x8FA7AE,0x003F},
+ {0x8FA7AF,0x8FA7AF,0x003F},
+ {0x8FA7B0,0x8FA7B0,0x003F}, /* 8FA7B0 */
+ {0x8FA7B1,0x8FA7B1,0x003F},
+ {0x8FA7B2,0x8FA7B2,0x003F},
+ {0x8FA7B3,0x8FA7B3,0x003F},
+ {0x8FA7B4,0x8FA7B4,0x003F},
+ {0x8FA7B5,0x8FA7B5,0x003F},
+ {0x8FA7B6,0x8FA7B6,0x003F},
+ {0x8FA7B7,0x8FA7B7,0x003F},
+ {0x8FA7B8,0x8FA7B8,0x003F},
+ {0x8FA7B9,0x8FA7B9,0x003F},
+ {0x8FA7BA,0x8FA7BA,0x003F},
+ {0x8FA7BB,0x8FA7BB,0x003F},
+ {0x8FA7BC,0x8FA7BC,0x003F},
+ {0x8FA7BD,0x8FA7BD,0x003F},
+ {0x8FA7BE,0x8FA7BE,0x003F},
+ {0x8FA7BF,0x8FA7BF,0x003F},
+ {0x8FA7C0,0x8FA7C0,0x003F}, /* 8FA7C0 */
+ {0x8FA7C1,0x8FA7C1,0x003F},
+ {0x8FA7C2,0x8FA7F2,0x0402},
+ {0x8FA7C3,0x8FA7F3,0x0403},
+ {0x8FA7C4,0x8FA7F4,0x0404},
+ {0x8FA7C5,0x8FA7F5,0x0405},
+ {0x8FA7C6,0x8FA7F6,0x0406},
+ {0x8FA7C7,0x8FA7F7,0x0407},
+ {0x8FA7C8,0x8FA7F8,0x0408},
+ {0x8FA7C9,0x8FA7F9,0x0409},
+ {0x8FA7CA,0x8FA7FA,0x040A},
+ {0x8FA7CB,0x8FA7FB,0x040B},
+ {0x8FA7CC,0x8FA7FC,0x040C},
+ {0x8FA7CD,0x8FA7FD,0x040E},
+ {0x8FA7CE,0x8FA7FE,0x040F},
+ {0x8FA7CF,0x8FA7CF,0x003F},
+ {0x8FA7D0,0x8FA7D0,0x003F}, /* 8FA7D0 */
+ {0x8FA7D1,0x8FA7D1,0x003F},
+ {0x8FA7D2,0x8FA7D2,0x003F},
+ {0x8FA7D3,0x8FA7D3,0x003F},
+ {0x8FA7D4,0x8FA7D4,0x003F},
+ {0x8FA7D5,0x8FA7D5,0x003F},
+ {0x8FA7D6,0x8FA7D6,0x003F},
+ {0x8FA7D7,0x8FA7D7,0x003F},
+ {0x8FA7D8,0x8FA7D8,0x003F},
+ {0x8FA7D9,0x8FA7D9,0x003F},
+ {0x8FA7DA,0x8FA7DA,0x003F},
+ {0x8FA7DB,0x8FA7DB,0x003F},
+ {0x8FA7DC,0x8FA7DC,0x003F},
+ {0x8FA7DD,0x8FA7DD,0x003F},
+ {0x8FA7DE,0x8FA7DE,0x003F},
+ {0x8FA7DF,0x8FA7DF,0x003F},
+ {0x8FA7E0,0x8FA7E0,0x003F}, /* 8FA7E0 */
+ {0x8FA7E1,0x8FA7E1,0x003F},
+ {0x8FA7E2,0x8FA7E2,0x003F},
+ {0x8FA7E3,0x8FA7E3,0x003F},
+ {0x8FA7E4,0x8FA7E4,0x003F},
+ {0x8FA7E5,0x8FA7E5,0x003F},
+ {0x8FA7E6,0x8FA7E6,0x003F},
+ {0x8FA7E7,0x8FA7E7,0x003F},
+ {0x8FA7E8,0x8FA7E8,0x003F},
+ {0x8FA7E9,0x8FA7E9,0x003F},
+ {0x8FA7EA,0x8FA7EA,0x003F},
+ {0x8FA7EB,0x8FA7EB,0x003F},
+ {0x8FA7EC,0x8FA7EC,0x003F},
+ {0x8FA7ED,0x8FA7ED,0x003F},
+ {0x8FA7EE,0x8FA7EE,0x003F},
+ {0x8FA7EF,0x8FA7EF,0x003F},
+ {0x8FA7F0,0x8FA7F0,0x003F}, /* 8FA7F0 */
+ {0x8FA7F1,0x8FA7F1,0x003F},
+ {0x8FA7C2,0x8FA7F2,0x0452},
+ {0x8FA7C3,0x8FA7F3,0x0453},
+ {0x8FA7C4,0x8FA7F4,0x0454},
+ {0x8FA7C5,0x8FA7F5,0x0455},
+ {0x8FA7C6,0x8FA7F6,0x0456},
+ {0x8FA7C7,0x8FA7F7,0x0457},
+ {0x8FA7C8,0x8FA7F8,0x0458},
+ {0x8FA7C9,0x8FA7F9,0x0459},
+ {0x8FA7CA,0x8FA7FA,0x045A},
+ {0x8FA7CB,0x8FA7FB,0x045B},
+ {0x8FA7CC,0x8FA7FC,0x045C},
+ {0x8FA7CD,0x8FA7FD,0x045E},
+ {0x8FA7CE,0x8FA7FE,0x045F},
+ {0x8FA7FF,0x8FA7FF,0x003F}
+};
+
+
+static MY_UNICASE_INFO c8FA9[]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FA9A0,0x8FA9A0,0x003F}, /* 8FA9A0 */
+ {0x8FA9A1,0x8FA9C1,0x00C6},
+ {0x8FA9A2,0x8FA9C2,0x0110},
+ {0x8FA9A3,0x8FA9A3,0x003F},
+ {0x8FA9A4,0x8FA9C4,0x0126},
+ {0x8FA9A5,0x8FA9A5,0x003F},
+ {0x8FA9A6,0x8FA9C6,0x0132},
+ {0x8FA9A7,0x8FA9A7,0x003F},
+ {0x8FA9A8,0x8FA9C8,0x0141},
+ {0x8FA9A9,0x8FA9C9,0x013F},
+ {0x8FA9AA,0x8FA9AA,0x003F},
+ {0x8FA9AB,0x8FA9CB,0x014A},
+ {0x8FA9AC,0x8FA9CC,0x00D8},
+ {0x8FA9AD,0x8FA9CD,0x0152},
+ {0x8FA9AE,0x8FA9AE,0x003F},
+ {0x8FA9AF,0x8FA9CF,0x0166},
+ {0x8FA9B0,0x8FA9D0,0x00DE}, /* 8FA9B0 */
+ {0x8FA9B1,0x8FA9B1,0x003F},
+ {0x8FA9B2,0x8FA9B2,0x003F},
+ {0x8FA9B3,0x8FA9B3,0x003F},
+ {0x8FA9B4,0x8FA9B4,0x003F},
+ {0x8FA9B5,0x8FA9B5,0x003F},
+ {0x8FA9B6,0x8FA9B6,0x003F},
+ {0x8FA9B7,0x8FA9B7,0x003F},
+ {0x8FA9B8,0x8FA9B8,0x003F},
+ {0x8FA9B9,0x8FA9B9,0x003F},
+ {0x8FA9BA,0x8FA9BA,0x003F},
+ {0x8FA9BB,0x8FA9BB,0x003F},
+ {0x8FA9BC,0x8FA9BC,0x003F},
+ {0x8FA9BD,0x8FA9BD,0x003F},
+ {0x8FA9BE,0x8FA9BE,0x003F},
+ {0x8FA9BF,0x8FA9BF,0x003F},
+ {0x8FA9C0,0x8FA9C0,0x003F}, /* 8FA9C0 */
+ {0x8FA9A1,0x8FA9C1,0x00E6},
+ {0x8FA9A2,0x8FA9C2,0x0111},
+ {0x8FA9C3,0x8FA9C3,0x00F0},
+ {0x8FA9A4,0x8FA9C4,0x0127},
+ { 0x49,0x8FA9C5,0x0131},
+ {0x8FA9A6,0x8FA9C6,0x0133},
+ {0x8FA9C7,0x8FA9C7,0x0138},
+ {0x8FA9A8,0x8FA9C8,0x0142},
+ {0x8FA9A9,0x8FA9C9,0x0140},
+ {0x8FA9CA,0x8FA9CA,0x0149},
+ {0x8FA9AB,0x8FA9CB,0x014B},
+ {0x8FA9AC,0x8FA9CC,0x00F8},
+ {0x8FA9AD,0x8FA9CD,0x0153},
+ {0x8FA9CE,0x8FA9CE,0x00DF},
+ {0x8FA9AF,0x8FA9CF,0x0167},
+ {0x8FA9B0,0x8FA9D0,0x00FE}, /* 8FA9D0 */
+ {0x8FA9D1,0x8FA9D1,0x003F},
+ {0x8FA9D2,0x8FA9D2,0x003F},
+ {0x8FA9D3,0x8FA9D3,0x003F},
+ {0x8FA9D4,0x8FA9D4,0x003F},
+ {0x8FA9D5,0x8FA9D5,0x003F},
+ {0x8FA9D6,0x8FA9D6,0x003F},
+ {0x8FA9D7,0x8FA9D7,0x003F},
+ {0x8FA9D8,0x8FA9D8,0x003F},
+ {0x8FA9D9,0x8FA9D9,0x003F},
+ {0x8FA9DA,0x8FA9DA,0x003F},
+ {0x8FA9DB,0x8FA9DB,0x003F},
+ {0x8FA9DC,0x8FA9DC,0x003F},
+ {0x8FA9DD,0x8FA9DD,0x003F},
+ {0x8FA9DE,0x8FA9DE,0x003F},
+ {0x8FA9DF,0x8FA9DF,0x003F},
+ {0x8FA9E0,0x8FA9E0,0x003F}, /* 8FA9E0 */
+ {0x8FA9E1,0x8FA9E1,0x003F},
+ {0x8FA9E2,0x8FA9E2,0x003F},
+ {0x8FA9E3,0x8FA9E3,0x003F},
+ {0x8FA9E4,0x8FA9E4,0x003F},
+ {0x8FA9E5,0x8FA9E5,0x003F},
+ {0x8FA9E6,0x8FA9E6,0x003F},
+ {0x8FA9E7,0x8FA9E7,0x003F},
+ {0x8FA9E8,0x8FA9E8,0x003F},
+ {0x8FA9E9,0x8FA9E9,0x003F},
+ {0x8FA9EA,0x8FA9EA,0x003F},
+ {0x8FA9EB,0x8FA9EB,0x003F},
+ {0x8FA9EC,0x8FA9EC,0x003F},
+ {0x8FA9ED,0x8FA9ED,0x003F},
+ {0x8FA9EE,0x8FA9EE,0x003F},
+ {0x8FA9EF,0x8FA9EF,0x003F},
+ {0x8FA9F0,0x8FA9F0,0x003F}, /* 8FA9F0 */
+ {0x8FA9F1,0x8FA9F1,0x003F},
+ {0x8FA9F2,0x8FA9F2,0x003F},
+ {0x8FA9F3,0x8FA9F3,0x003F},
+ {0x8FA9F4,0x8FA9F4,0x003F},
+ {0x8FA9F5,0x8FA9F5,0x003F},
+ {0x8FA9F6,0x8FA9F6,0x003F},
+ {0x8FA9F7,0x8FA9F7,0x003F},
+ {0x8FA9F8,0x8FA9F8,0x003F},
+ {0x8FA9F9,0x8FA9F9,0x003F},
+ {0x8FA9FA,0x8FA9FA,0x003F},
+ {0x8FA9FB,0x8FA9FB,0x003F},
+ {0x8FA9FC,0x8FA9FC,0x003F},
+ {0x8FA9FD,0x8FA9FD,0x003F},
+ {0x8FA9FE,0x8FA9FE,0x003F},
+ {0x8FA9FF,0x8FA9FF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FAA[]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FAAA0,0x8FAAA0,0x003F}, /* 8FAAA0 */
+ {0x8FAAA1,0x8FABA1,0x00C1},
+ {0x8FAAA2,0x8FABA2,0x00C0},
+ {0x8FAAA3,0x8FABA3,0x00C4},
+ {0x8FAAA4,0x8FABA4,0x00C2},
+ {0x8FAAA5,0x8FABA5,0x0102},
+ {0x8FAAA6,0x8FABA6,0x01CD},
+ {0x8FAAA7,0x8FABA7,0x0100},
+ {0x8FAAA8,0x8FABA8,0x0104},
+ {0x8FAAA9,0x8FABA9,0x00C5},
+ {0x8FAAAA,0x8FABAA,0x00C3},
+ {0x8FAAAB,0x8FABAB,0x0106},
+ {0x8FAAAC,0x8FABAC,0x0108},
+ {0x8FAAAD,0x8FABAD,0x010C},
+ {0x8FAAAE,0x8FABAE,0x00C7},
+ {0x8FAAAF,0x8FABAF,0x010A},
+ {0x8FAAB0,0x8FABB0,0x010E}, /* 8FAAB0 */
+ {0x8FAAB1,0x8FABB1,0x00C9},
+ {0x8FAAB2,0x8FABB2,0x00C8},
+ {0x8FAAB3,0x8FABB3,0x00CB},
+ {0x8FAAB4,0x8FABB4,0x00CA},
+ {0x8FAAB5,0x8FABB5,0x011A},
+ {0x8FAAB6,0x8FABB6,0x0116},
+ {0x8FAAB7,0x8FABB7,0x0112},
+ {0x8FAAB8,0x8FABB8,0x0118},
+ {0x8FAAB9,0x8FAAB9,0x003F},
+ {0x8FAABA,0x8FABBA,0x011C},
+ {0x8FAABB,0x8FABBB,0x011E},
+ {0x8FAABC,0x8FAABC,0x0122},
+ {0x8FAABD,0x8FABBD,0x0120},
+ {0x8FAABE,0x8FABBE,0x0124},
+ {0x8FAABF,0x8FABBF,0x00CD},
+ {0x8FAAC0,0x8FABC0,0x00CC}, /* 8FAAC0 */
+ {0x8FAAC1,0x8FABC1,0x00CF},
+ {0x8FAAC2,0x8FABC2,0x00CE},
+ {0x8FAAC3,0x8FABC3,0x01CF},
+ {0x8FAAC4, 0x69,0x0130},
+ {0x8FAAC5,0x8FABC5,0x012A},
+ {0x8FAAC6,0x8FABC6,0x012E},
+ {0x8FAAC7,0x8FABC7,0x0128},
+ {0x8FAAC8,0x8FABC8,0x0134},
+ {0x8FAAC9,0x8FABC9,0x0136},
+ {0x8FAACA,0x8FABCA,0x0139},
+ {0x8FAACB,0x8FABCB,0x013D},
+ {0x8FAACC,0x8FABCC,0x013B},
+ {0x8FAACD,0x8FABCD,0x0143},
+ {0x8FAACE,0x8FABCE,0x0147},
+ {0x8FAACF,0x8FABCF,0x0145},
+ {0x8FAAD0,0x8FABD0,0x00D1}, /* 8FAAD0 */
+ {0x8FAAD1,0x8FABD1,0x00D3},
+ {0x8FAAD2,0x8FABD2,0x00D2},
+ {0x8FAAD3,0x8FABD3,0x00D6},
+ {0x8FAAD4,0x8FABD4,0x00D4},
+ {0x8FAAD5,0x8FABD5,0x01D1},
+ {0x8FAAD6,0x8FABD6,0x0150},
+ {0x8FAAD7,0x8FABD7,0x014C},
+ {0x8FAAD8,0x8FABD8,0x00D5},
+ {0x8FAAD9,0x8FABD9,0x0154},
+ {0x8FAADA,0x8FABDA,0x0158},
+ {0x8FAADB,0x8FABDB,0x0156},
+ {0x8FAADC,0x8FABDC,0x015A},
+ {0x8FAADD,0x8FABDD,0x015C},
+ {0x8FAADE,0x8FABDE,0x0160},
+ {0x8FAADF,0x8FABDF,0x015E},
+ {0x8FAAE0,0x8FABE0,0x0164}, /* 8FAAE0 */
+ {0x8FAAE1,0x8FABE1,0x0162},
+ {0x8FAAE2,0x8FABE2,0x00DA},
+ {0x8FAAE3,0x8FABE3,0x00D9},
+ {0x8FAAE4,0x8FABE4,0x00DC},
+ {0x8FAAE5,0x8FABE5,0x00DB},
+ {0x8FAAE6,0x8FABE6,0x016C},
+ {0x8FAAE7,0x8FABE7,0x01D3},
+ {0x8FAAE8,0x8FABE8,0x0170},
+ {0x8FAAE9,0x8FABE9,0x016A},
+ {0x8FAAEA,0x8FABEA,0x0172},
+ {0x8FAAEB,0x8FABEB,0x016E},
+ {0x8FAAEC,0x8FABEC,0x0168},
+ {0x8FAAED,0x8FABED,0x01D7},
+ {0x8FAAEE,0x8FABEE,0x01DB},
+ {0x8FAAEF,0x8FABEF,0x01D9},
+ {0x8FAAF0,0x8FABF0,0x01D5}, /* 8FAAF0 */
+ {0x8FAAF1,0x8FABF1,0x0174},
+ {0x8FAAF2,0x8FABF2,0x00DD},
+ {0x8FAAF3,0x8FABF3,0x0178},
+ {0x8FAAF4,0x8FABF4,0x0176},
+ {0x8FAAF5,0x8FABF5,0x0179},
+ {0x8FAAF6,0x8FABF6,0x017D},
+ {0x8FAAF7,0x8FABF7,0x017B},
+ {0x8FAAF8,0x8FAAF8,0x003F},
+ {0x8FAAF9,0x8FAAF9,0x003F},
+ {0x8FAAFA,0x8FAAFA,0x003F},
+ {0x8FAAFB,0x8FAAFB,0x003F},
+ {0x8FAAFC,0x8FAAFC,0x003F},
+ {0x8FAAFD,0x8FAAFD,0x003F},
+ {0x8FAAFE,0x8FAAFE,0x003F},
+ {0x8FAAFF,0x8FAAFF,0x003F},
+};
+
+
+static MY_UNICASE_INFO c8FAB[]=
+{
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
+ {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
+ {0x8FABA0,0x8FABA0,0x003F}, /* 8FABA0 */
+ {0x8FAAA1,0x8FABA1,0x00E1},
+ {0x8FAAA2,0x8FABA2,0x00E0},
+ {0x8FAAA3,0x8FABA3,0x00E4},
+ {0x8FAAA4,0x8FABA4,0x00E2},
+ {0x8FAAA5,0x8FABA5,0x0103},
+ {0x8FAAA6,0x8FABA6,0x01CE},
+ {0x8FAAA7,0x8FABA7,0x0101},
+ {0x8FAAA8,0x8FABA8,0x0105},
+ {0x8FAAA9,0x8FABA9,0x00E5},
+ {0x8FAAAA,0x8FABAA,0x00E3},
+ {0x8FAAAB,0x8FABAB,0x0107},
+ {0x8FAAAC,0x8FABAC,0x0109},
+ {0x8FAAAD,0x8FABAD,0x010D},
+ {0x8FAAAE,0x8FABAE,0x00E7},
+ {0x8FAAAF,0x8FABAF,0x010B},
+ {0x8FAAB0,0x8FABB0,0x010F}, /* 8FABB0 */
+ {0x8FAAB1,0x8FABB1,0x00E9},
+ {0x8FAAB2,0x8FABB2,0x00E8},
+ {0x8FAAB3,0x8FABB3,0x00EB},
+ {0x8FAAB4,0x8FABB4,0x00EA},
+ {0x8FAAB5,0x8FABB5,0x011B},
+ {0x8FAAB6,0x8FABB6,0x0117},
+ {0x8FAAB7,0x8FABB7,0x0113},
+ {0x8FAAB8,0x8FABB8,0x0119},
+ {0x8FABB9,0x8FABB9,0x01F5},
+ {0x8FAABA,0x8FABBA,0x011D},
+ {0x8FAABB,0x8FABBB,0x011F},
+ {0x8FABBC,0x8FABBC,0x003F},
+ {0x8FAABD,0x8FABBD,0x0121},
+ {0x8FAABE,0x8FABBE,0x0125},
+ {0x8FAABF,0x8FABBF,0x00ED},
+ {0x8FAAC0,0x8FABC0,0x00EC}, /* 8FABC0 */
+ {0x8FAAC1,0x8FABC1,0x00EF},
+ {0x8FAAC2,0x8FABC2,0x00EE},
+ {0x8FAAC3,0x8FABC3,0x01D0},
+ {0x8FABC4,0x8FABC4,0x003F},
+ {0x8FAAC5,0x8FABC5,0x012B},
+ {0x8FAAC6,0x8FABC6,0x012F},
+ {0x8FAAC7,0x8FABC7,0x0129},
+ {0x8FAAC8,0x8FABC8,0x0135},
+ {0x8FAAC9,0x8FABC9,0x0137},
+ {0x8FAACA,0x8FABCA,0x013A},
+ {0x8FAACB,0x8FABCB,0x013E},
+ {0x8FAACC,0x8FABCC,0x013C},
+ {0x8FAACD,0x8FABCD,0x0144},
+ {0x8FAACE,0x8FABCE,0x0148},
+ {0x8FAACF,0x8FABCF,0x0146},
+ {0x8FAAD0,0x8FABD0,0x00F1}, /* 8FABD0 */
+ {0x8FAAD1,0x8FABD1,0x00F3},
+ {0x8FAAD2,0x8FABD2,0x00F2},
+ {0x8FAAD3,0x8FABD3,0x00F6},
+ {0x8FAAD4,0x8FABD4,0x00F4},
+ {0x8FAAD5,0x8FABD5,0x01D2},
+ {0x8FAAD6,0x8FABD6,0x0151},
+ {0x8FAAD7,0x8FABD7,0x014D},
+ {0x8FAAD8,0x8FABD8,0x00F5},
+ {0x8FAAD9,0x8FABD9,0x0155},
+ {0x8FAADA,0x8FABDA,0x0159},
+ {0x8FAADB,0x8FABDB,0x0157},
+ {0x8FAADC,0x8FABDC,0x015B},
+ {0x8FAADD,0x8FABDD,0x015D},
+ {0x8FAADE,0x8FABDE,0x0161},
+ {0x8FAADF,0x8FABDF,0x015F},
+ {0x8FAAE0,0x8FABE0,0x0165}, /* 8FABE0 */
+ {0x8FAAE1,0x8FABE1,0x0163},
+ {0x8FAAE2,0x8FABE2,0x00FA},
+ {0x8FAAE3,0x8FABE3,0x00F9},
+ {0x8FAAE4,0x8FABE4,0x00FC},
+ {0x8FAAE5,0x8FABE5,0x00FB},
+ {0x8FAAE6,0x8FABE6,0x016D},
+ {0x8FAAE7,0x8FABE7,0x01D4},
+ {0x8FAAE8,0x8FABE8,0x0171},
+ {0x8FAAE9,0x8FABE9,0x016B},
+ {0x8FAAEA,0x8FABEA,0x0173},
+ {0x8FAAEB,0x8FABEB,0x016F},
+ {0x8FAAEC,0x8FABEC,0x0169},
+ {0x8FAAED,0x8FABED,0x01D8},
+ {0x8FAAEE,0x8FABEE,0x01DC},
+ {0x8FAAEF,0x8FABEF,0x01DA},
+ {0x8FAAF0,0x8FABF0,0x01D6}, /* 8FABF0 */
+ {0x8FAAF1,0x8FABF1,0x0175},
+ {0x8FAAF2,0x8FABF2,0x00FD},
+ {0x8FAAF3,0x8FABF3,0x00FF},
+ {0x8FAAF4,0x8FABF4,0x0177},
+ {0x8FAAF5,0x8FABF5,0x017A},
+ {0x8FAAF6,0x8FABF6,0x017E},
+ {0x8FAAF7,0x8FABF7,0x017C},
+ {0x8FABF8,0x8FABF8,0x003F},
+ {0x8FABF9,0x8FABF9,0x003F},
+ {0x8FABFA,0x8FABFA,0x003F},
+ {0x8FABFB,0x8FABFB,0x003F},
+ {0x8FABFC,0x8FABFC,0x003F},
+ {0x8FABFD,0x8FABFD,0x003F},
+ {0x8FABFE,0x8FABFE,0x003F},
+ {0x8FABFF,0x8FABFF,0x003F}
+};
+
+
+static MY_UNICASE_INFO *my_caseinfo_ujis[512]=
+{
+ /* JIS-X-0208 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, cA2, cA3, NULL, NULL, cA6, cA7, /* A */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+
+ /* JIS-X-0212 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL,c8FA6,c8FA7, /* A */
+ NULL, c8FA9,c8FAA,c8FAB,NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+};
+#endif /* HAVE_CHARSET_ujis */
+
+
+
+#if defined(HAVE_CHARSET_ujis) || defined(HAVE_CHARSET_eucjpms)
+
+/*
+ UJIS and EUCJPMS share the same UPPER/LOWER functions.
+*/
+
+static MY_UNICASE_INFO*
+get_case_info_for_ch(CHARSET_INFO *cs, uint plane, uint page, uint offs)
+{
+ MY_UNICASE_INFO *p;
+ return (p= cs->caseinfo[page + plane * 256]) ? &p[offs & 0xFF] : NULL;
+}
+
+
+/*
+ Generic function to handle UPPER and LOWER translation
+*/
+static size_t
+my_casefold_ujis(CHARSET_INFO *cs,
+ char *src, size_t srclen,
+ char *dst, size_t dstlen __attribute__((unused)),
+ uchar *map,
+ size_t is_upper)
+{
+ char *srcend= src + srclen, *dst0= dst;
+
+ while (src < srcend)
+ {
+ size_t mblen= my_ismbchar(cs, src, srcend);
+ if (mblen)
+ {
+ MY_UNICASE_INFO *ch;
+ ch= (mblen == 2) ?
+ get_case_info_for_ch(cs, 0, (uchar) src[0], (uchar) src[1]) :
+ get_case_info_for_ch(cs, 1, (uchar) src[1], (uchar) src[2]);
+ if (ch)
+ {
+ int code= is_upper ? ch->toupper : ch->tolower;
+ src+= mblen;
+ if (code > 0xFFFF)
+ *dst++= (char) (uchar) ((code >> 16) & 0xFF);
+ if (code > 0xFF)
+ *dst++= (char) (uchar) ((code >> 8) & 0xFF);
+ *dst++= (char) (uchar) (code & 0xFF);
+ }
+ else
+ {
+ if (mblen == 3)
+ *dst++= *src++;
+ *dst++= *src++;
+ *dst++= *src++;
+ }
+ }
+ else
+ {
+ *dst++= (char) map[(uchar) *src++];
+ }
+ }
+ return (size_t) (dst - dst0);
+}
+
+
+/*
+ LOWER()
+*/
+size_t
+my_casedn_ujis(CHARSET_INFO * cs, char *src, size_t srclen,
+ char *dst, size_t dstlen)
+{
+ DBUG_ASSERT(dstlen >= srclen * cs->casedn_multiply);
+ DBUG_ASSERT(src != dst || cs->casedn_multiply == 1);
+ return my_casefold_ujis(cs, src, srclen, dst, dstlen, cs->to_lower, 0);
+}
+
+
+/*
+ UPPER()
+*/
+size_t
+my_caseup_ujis(CHARSET_INFO * cs, char *src, size_t srclen,
+ char *dst, size_t dstlen)
+{
+ DBUG_ASSERT(dstlen >= srclen * cs->caseup_multiply);
+ DBUG_ASSERT(src != dst || cs->caseup_multiply == 1);
+ return my_casefold_ujis(cs, src, srclen, dst, dstlen, cs->to_upper, 1);
+}
+#endif /* defined(HAVE_CHARSET_ujis) || defined(HAVE_CHARSET_eucjpms) */
+
+
+
+#ifdef HAVE_CHARSET_ujis
+
static MY_COLLATION_HANDLER my_collation_ci_handler =
{
NULL, /* init */
@@ -8524,8 +9781,8 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_mb_ctype_mb,
my_caseup_str_mb,
my_casedn_str_mb,
- my_caseup_mb,
- my_casedn_mb,
+ my_caseup_ujis,
+ my_casedn_ujis,
my_snprintf_8bit,
my_long10_to_str_8bit,
my_longlong10_to_str_8bit,
@@ -8558,12 +9815,12 @@ CHARSET_INFO my_charset_ujis_japanese_ci=
NULL, /* contractions */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_ujis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
1, /* caseup_multiply */
- 1, /* casedn_multiply */
+ 2, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
0, /* min_sort_char */
@@ -8591,12 +9848,12 @@ CHARSET_INFO my_charset_ujis_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
+ my_caseinfo_ujis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
1, /* caseup_multiply */
- 1, /* casedn_multiply */
+ 2, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
0, /* min_sort_char */
@@ -8608,4 +9865,4 @@ CHARSET_INFO my_charset_ujis_bin=
};
-#endif
+#endif /* HAVE_CHARSET_ujis */