diff options
author | Vladislav Vaintroub <vvaintroub@mysql.com> | 2010-01-22 12:50:33 +0100 |
---|---|---|
committer | Vladislav Vaintroub <vvaintroub@mysql.com> | 2010-01-22 12:50:33 +0100 |
commit | cb5b0d4ffa964b2808dfb42b64f53b4b9e2d9bc1 (patch) | |
tree | 16e166d97e758468adaf6e8c29470666e9910f4e /strings | |
parent | 68c66c645a76608438e33259be85f3ca4b244ed8 (diff) | |
parent | 08bcd2d8f67dcacd36abd2592fa2a59321abe7c2 (diff) | |
download | mariadb-git-cb5b0d4ffa964b2808dfb42b64f53b4b9e2d9bc1.tar.gz |
merge
Diffstat (limited to 'strings')
-rw-r--r-- | strings/ctype-big5.c | 621 | ||||
-rw-r--r-- | strings/ctype-cp932.c | 1510 | ||||
-rw-r--r-- | strings/ctype-euc_kr.c | 1275 | ||||
-rw-r--r-- | strings/ctype-eucjpms.c | 1541 | ||||
-rw-r--r-- | strings/ctype-gb2312.c | 646 | ||||
-rw-r--r-- | strings/ctype-gbk.c | 862 | ||||
-rw-r--r-- | strings/ctype-mb.c | 108 | ||||
-rw-r--r-- | strings/ctype-sjis.c | 879 | ||||
-rw-r--r-- | strings/ctype-ujis.c | 1271 |
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 */ |