1122146Sdavidxu/* 2122146Sdavidxu * GB2312 first byte: A1-FE 3122146Sdavidxu * second byte: A1-FE 4122146Sdavidxu * 5122146Sdavidxu * $FreeBSD$ 6122146Sdavidxu */ 7122146Sdavidxu 8122146SdavidxuENCODING "GB2312" 9122146Sdavidxu 10122146Sdavidxu/* 11122146Sdavidxu * ASCII compatible 12122146Sdavidxu */ 13122146SdavidxuALPHA 'A' - 'Z' 'a' - 'z' 14122146SdavidxuBLANK ' ' '\t' 15122146SdavidxuCONTROL 0x00 - 0x1f 0x7f 16122146SdavidxuDIGIT '0' - '9' 17122146SdavidxuGRAPH 0x21 - 0x7e 18122146SdavidxuLOWER 'a' - 'z' 19122146SdavidxuMAPLOWER < 'A' - 'Z' : 'a' > < 'a' - 'z' : 'a' > 20122146SdavidxuMAPUPPER < 'A' - 'Z' : 'A' > < 'a' - 'z' : 'A' > 21122146SdavidxuPRINT 0x20 - 0x7e 22122146SdavidxuPUNCT 0x21 - 0x2f 0x3a - 0x40 0x5b - 0x60 0x7b - 0x7e 23122146SdavidxuSPACE 0x09 - 0x0d 0x20 24122146SdavidxuTODIGIT < '0' - '9' : 0 > 25122146SdavidxuTODIGIT < 'A' - 'F' : 10 > < 'a' - 'f' : 10 > 26122146SdavidxuUPPER 'A' - 'Z' 27122146SdavidxuXDIGIT '0' - '9' 'a' - 'f' 'A' - 'F' 28122146Sdavidxu 29122146Sdavidxu/* 30122146Sdavidxu * GB2312 data 31122146Sdavidxu */ 32122146SdavidxuALPHA 0xa3c1 - 0xa3da 0xa3e1 - 0xa3fa 33122146SdavidxuALPHA 0xa6a1 - 0xa6b8 0xa6c1 - 0xa6d8 34122146SdavidxuALPHA 0xa7a1 - 0xa7c1 0xa7d1 - 0xa7f1 35122146SdavidxuALPHA 0xa8a1 - 0xa8bb 0xa8bd - 0xa8c0 36122146SdavidxuBLANK 0xa1a1 37122146SdavidxuDIGIT 0xa2a1 - 0xa2aa 0xa2b1 - 0xa2e2 0xa2e5 - 0xa2ee 0xa2f1 - 0xa2fc 38122146SdavidxuDIGIT 0xa3b0 - 0xa3b9 39122146SdavidxuGRAPH 0xa1a9 40122146SdavidxuGRAPH 0xa2ab - 0xa2b0 0xa2e4 0xa2ef 0xa2f0 0xa2fd 0xa2fe 41122146SdavidxuGRAPH 0xa4f4 - 0xa4fe 42122146SdavidxuGRAPH 0xa5f7 - 0xa5fe 43122146SdavidxuGRAPH 0xa6b9 - 0xa6c0 0xa6d9 - 0xa6df 0xa6ec 0xa6ed 0xa6f3 0xa6f6 - 0xa6fe 44122146SdavidxuGRAPH 0xa7c2 - 0xa7d0 0xa7f2 - 0xa7fe 45122146SdavidxuGRAPH 0xa8bc 0xa8c1 - 0xa8fe 46122146SdavidxuGRAPH 0xa9a1-0xa9a3 0xa9f0 - 0xa9fe 47122146SdavidxuGRAPH 0xaaa1 - 0xaafe 48122146SdavidxuGRAPH 0xaba1 - 0xabfe 49122146SdavidxuGRAPH 0xaca1 - 0xacfe 50122146SdavidxuGRAPH 0xada1 - 0xadfe 51122146SdavidxuGRAPH 0xaea1 - 0xaefe 52122146SdavidxuGRAPH 0xafa1 - 0xaffe 53122146SdavidxuGRAPH 0xd7fa - 0xd7fe 54122146SdavidxuIDEOGRAM 0xb0a1 - 0xb0fe 55122146SdavidxuIDEOGRAM 0xb1a1 - 0xb1fe 56122146SdavidxuIDEOGRAM 0xb2a1 - 0xb2fe 57122146SdavidxuIDEOGRAM 0xb3a1 - 0xb3fe 58122146SdavidxuIDEOGRAM 0xb4a1 - 0xb4fe 59122146SdavidxuIDEOGRAM 0xb5a1 - 0xb5fe 60122146SdavidxuIDEOGRAM 0xb6a1 - 0xb6fe 61122146SdavidxuIDEOGRAM 0xb7a1 - 0xb7fe 62122146SdavidxuIDEOGRAM 0xb8a1 - 0xb8fe 63122146SdavidxuIDEOGRAM 0xb9a1 - 0xb9fe 64122146SdavidxuIDEOGRAM 0xbaa1 - 0xbafe 65122146SdavidxuIDEOGRAM 0xbba1 - 0xbbfe 66122146SdavidxuIDEOGRAM 0xbca1 - 0xbcfe 67122146SdavidxuIDEOGRAM 0xbda1 - 0xbdfe 68122146SdavidxuIDEOGRAM 0xbea1 - 0xbefe 69122146SdavidxuIDEOGRAM 0xbfa1 - 0xbffe 70122146SdavidxuIDEOGRAM 0xc0a1 - 0xc0fe 71122146SdavidxuIDEOGRAM 0xc1a1 - 0xc1fe 72122146SdavidxuIDEOGRAM 0xc2a1 - 0xc2fe 73122146SdavidxuIDEOGRAM 0xc3a1 - 0xc3fe 74122146SdavidxuIDEOGRAM 0xc4a1 - 0xc4fe 75122146SdavidxuIDEOGRAM 0xc5a1 - 0xc5fe 76122146SdavidxuIDEOGRAM 0xc6a1 - 0xc6fe 77122146SdavidxuIDEOGRAM 0xc7a1 - 0xc7fe 78122146SdavidxuIDEOGRAM 0xc8a1 - 0xc8fe 79122146SdavidxuIDEOGRAM 0xc9a1 - 0xc9fe 80122146SdavidxuIDEOGRAM 0xcaa1 - 0xcafe 81122146SdavidxuIDEOGRAM 0xcba1 - 0xcbfe 82122146SdavidxuIDEOGRAM 0xcca1 - 0xccfe 83122146SdavidxuIDEOGRAM 0xcda1 - 0xcdfe 84122146SdavidxuIDEOGRAM 0xcea1 - 0xcefe 85122146SdavidxuIDEOGRAM 0xcfa1 - 0xcffe 86122146SdavidxuIDEOGRAM 0xd0a1 - 0xd0fe 87122146SdavidxuIDEOGRAM 0xd1a1 - 0xd1fe 88122146SdavidxuIDEOGRAM 0xd2a1 - 0xd2fe 89122146SdavidxuIDEOGRAM 0xd3a1 - 0xd3fe 90122146SdavidxuIDEOGRAM 0xd4a1 - 0xd4fe 91122146SdavidxuIDEOGRAM 0xd5a1 - 0xd5fe 92122146SdavidxuIDEOGRAM 0xd6a1 - 0xd6fe 93122146SdavidxuIDEOGRAM 0xd7a1 - 0xd7fe 94122146SdavidxuIDEOGRAM 0xd8a1 - 0xd8fe 95122146SdavidxuIDEOGRAM 0xd9a1 - 0xd9fe 96122146SdavidxuIDEOGRAM 0xdaa1 - 0xdafe 97122146SdavidxuIDEOGRAM 0xdba1 - 0xdbfe 98122146SdavidxuIDEOGRAM 0xdca1 - 0xdcfe 99122146SdavidxuIDEOGRAM 0xdda1 - 0xddfe 100122146SdavidxuIDEOGRAM 0xdea1 - 0xdefe 101122146SdavidxuIDEOGRAM 0xdfa1 - 0xdffe 102122146SdavidxuIDEOGRAM 0xe0a1 - 0xe0fe 103122146SdavidxuIDEOGRAM 0xe1a1 - 0xe1fe 104122146SdavidxuIDEOGRAM 0xe2a1 - 0xe2fe 105122146SdavidxuIDEOGRAM 0xe3a1 - 0xe3fe 106122146SdavidxuIDEOGRAM 0xe4a1 - 0xe4fe 107122146SdavidxuIDEOGRAM 0xe5a1 - 0xe5fe 108122146SdavidxuIDEOGRAM 0xe6a1 - 0xe6fe 109122146SdavidxuIDEOGRAM 0xe7a1 - 0xe7fe 110122146SdavidxuIDEOGRAM 0xe8a1 - 0xe8fe 111122146SdavidxuIDEOGRAM 0xe9a1 - 0xe9fe 112122146SdavidxuIDEOGRAM 0xeaa1 - 0xeafe 113122146SdavidxuIDEOGRAM 0xeba1 - 0xebfe 114122146SdavidxuIDEOGRAM 0xeca1 - 0xecfe 115122146SdavidxuIDEOGRAM 0xeda1 - 0xedfe 116122146SdavidxuIDEOGRAM 0xeea1 - 0xeefe 117122146SdavidxuIDEOGRAM 0xefa1 - 0xeffe 118122146SdavidxuIDEOGRAM 0xf0a1 - 0xf0fe 119122146SdavidxuIDEOGRAM 0xf1a1 - 0xf1fe 120122146SdavidxuIDEOGRAM 0xf2a1 - 0xf2fe 121122146SdavidxuIDEOGRAM 0xf3a1 - 0xf3fe 122122146SdavidxuIDEOGRAM 0xf4a1 - 0xf4fe 123122146SdavidxuIDEOGRAM 0xf5a1 - 0xf5fe 124122146SdavidxuIDEOGRAM 0xf6a1 - 0xf6fe 125122146SdavidxuIDEOGRAM 0xf7a1 - 0xf7fe 126122146SdavidxuLOWER 0xa2a1 - 0xa2aa 127122146SdavidxuLOWER 0xa3e1 - 0xa3fa 128122146SdavidxuLOWER 0xa6c1 - 0xa6d8 129122146SdavidxuLOWER 0xa7d1 - 0xa7f1 130122146SdavidxuLOWER 0xa8a1 - 0xa8bb 0xa8bd - 0xa8c0 131122146SdavidxuMAPLOWER < 0xa2f1 - 0xa2fa : 0xa2a1 > < 0xa2a1 - 0xa2aa : 0xa2a1 > 132122146SdavidxuMAPLOWER < 0xa3c1 - 0xa3da : 0xa3e1 > < 0xa3e1 - 0xa3fa : 0xa3e1 > 133122146SdavidxuMAPLOWER < 0xa6a1 - 0xa6b8 : 0xa6c1 > < 0xa6c1 - 0xa6d8 : 0xa6c1 > 134122146SdavidxuMAPLOWER < 0xa7a1 - 0xa7c1 : 0xa7d1 > < 0xa7d1 - 0xa7f1 : 0xa7d1 > 135122146SdavidxuMAPUPPER < 0xa2a1 - 0xa2aa : 0xa2f1 > < 0xa2f1 - 0xa2fc : 0xa2f1 > 136122146SdavidxuMAPUPPER < 0xa3e1 - 0xa3fa : 0xa3c1 > < 0xa3c1 - 0xa3da : 0xa3c1 > 137122146SdavidxuMAPUPPER < 0xa6c1 - 0xa6d8 : 0xa6a1 > < 0xa6a1 - 0xa6b8 : 0xa6a1 > 138122146SdavidxuMAPUPPER < 0xa7d1 - 0xa7f1 : 0xa7a1 > < 0xa7a1 - 0xa7c1 : 0xa7a1 > 139122146SdavidxuPHONOGRAM 0xa4a1 - 0xa4f3 /* Hiragana */ 140122146SdavidxuPHONOGRAM 0xa5a1 - 0xa5f6 /* Katakana */ 141122146SdavidxuPHONOGRAM 0xa8c5 - 0xa8e9 /* Pin yin */ 142122146SdavidxuPRINT 0xa1a1 143122146SdavidxuPUNCT 0xa1a2 - 0xa1a8 0xa1aa - 0xa1fe 144122146SdavidxuPUNCT 0xa2e3 145122146SdavidxuPUNCT 0xa3a1 - 0xa3af 0xa3ba - 0xa3c0 0xa3db - 0xa3e0 0xa3fb - 0xa3fe 146122146SdavidxuPUNCT 0xa6e0 - 0xa6eb 0xa6ee - 0xa6f2 0xa6f4 0xa6f5 147122146SdavidxuPUNCT 0xa9a4 - 0xa9ef 148122146SdavidxuSPACE 0xa1a1 149122146SdavidxuSPECIAL 0xa2a1 - 0xa2aa 0xa2b1 - 0xa2e2 0xa2e5 - 0xa2ee 0xa2f1 - 0xa2fc 150122146SdavidxuSPECIAL 0xa8a1 - 0xa8c0 151122146SdavidxuSPECIAL 0xa9a4 - 0xa9ef /* Box drawings */ 152122146SdavidxuSWIDTH2 0xa1a1 - 0xa1a3 0xa1a8 0xa1a9 0xa1ab 0xa1b2 - 0xa1bf 0xa1e7 0xa1e9 0xa1ea 0xa1fe 153122146SdavidxuSWIDTH2 0xa2e5 - 0xa2ee 154122146SdavidxuSWIDTH2 0xa3a1 - 0xa3fe 155122146SdavidxuSWIDTH2 0xa4a1 - 0xa4f3 156122146SdavidxuSWIDTH2 0xa5a1 - 0xa5f6 157122146SdavidxuSWIDTH2 0xa6e0 - 0xa6eb 0xa6ee - 0xa6f2 0xa6f4 0xa6f5 158122146SdavidxuSWIDTH2 0xa8c5 - 0xa8e9 159122146SdavidxuSWIDTH2 0xb0a1 - 0xb0fe 160122146SdavidxuSWIDTH2 0xb1a1 - 0xb1fe 161122146SdavidxuSWIDTH2 0xb2a1 - 0xb2fe 162122146SdavidxuSWIDTH2 0xb3a1 - 0xb3fe 163122146SdavidxuSWIDTH2 0xb4a1 - 0xb4fe 164122146SdavidxuSWIDTH2 0xb5a1 - 0xb5fe 165122146SdavidxuSWIDTH2 0xb6a1 - 0xb6fe 166122146SdavidxuSWIDTH2 0xb7a1 - 0xb7fe 167122146SdavidxuSWIDTH2 0xb8a1 - 0xb8fe 168122146SdavidxuSWIDTH2 0xb9a1 - 0xb9fe 169122146SdavidxuSWIDTH2 0xbaa1 - 0xbafe 170122146SdavidxuSWIDTH2 0xbba1 - 0xbbfe 171122146SdavidxuSWIDTH2 0xbca1 - 0xbcfe 172122146SdavidxuSWIDTH2 0xbda1 - 0xbdfe 173122146SdavidxuSWIDTH2 0xbea1 - 0xbefe 174122146SdavidxuSWIDTH2 0xbfa1 - 0xbffe 175122146SdavidxuSWIDTH2 0xc0a1 - 0xc0fe 176122146SdavidxuSWIDTH2 0xc1a1 - 0xc1fe 177122146SdavidxuSWIDTH2 0xc2a1 - 0xc2fe 178122146SdavidxuSWIDTH2 0xc3a1 - 0xc3fe 179122146SdavidxuSWIDTH2 0xc4a1 - 0xc4fe 180122146SdavidxuSWIDTH2 0xc5a1 - 0xc5fe 181122146SdavidxuSWIDTH2 0xc6a1 - 0xc6fe 182122146SdavidxuSWIDTH2 0xc7a1 - 0xc7fe 183122146SdavidxuSWIDTH2 0xc8a1 - 0xc8fe 184122146SdavidxuSWIDTH2 0xc9a1 - 0xc9fe 185122146SdavidxuSWIDTH2 0xcaa1 - 0xcafe 186122146SdavidxuSWIDTH2 0xcba1 - 0xcbfe 187122146SdavidxuSWIDTH2 0xcca1 - 0xccfe 188122146SdavidxuSWIDTH2 0xcda1 - 0xcdfe 189122146SdavidxuSWIDTH2 0xcea1 - 0xcefe 190122146SdavidxuSWIDTH2 0xcfa1 - 0xcffe 191122146SdavidxuSWIDTH2 0xd0a1 - 0xd0fe 192122146SdavidxuSWIDTH2 0xd1a1 - 0xd1fe 193122146SdavidxuSWIDTH2 0xd2a1 - 0xd2fe 194122146SdavidxuSWIDTH2 0xd3a1 - 0xd3fe 195122146SdavidxuSWIDTH2 0xd4a1 - 0xd4fe 196122146SdavidxuSWIDTH2 0xd5a1 - 0xd5fe 197122146SdavidxuSWIDTH2 0xd6a1 - 0xd6fe 198122146SdavidxuSWIDTH2 0xd7a1 - 0xd7f9 199122146SdavidxuSWIDTH2 0xd8a1 - 0xd8fe 200122146SdavidxuSWIDTH2 0xd9a1 - 0xd9fe 201122146SdavidxuSWIDTH2 0xdaa1 - 0xdafe 202122146SdavidxuSWIDTH2 0xdba1 - 0xdbfe 203122146SdavidxuSWIDTH2 0xdca1 - 0xdcfe 204122146SdavidxuSWIDTH2 0xdda1 - 0xddfe 205122146SdavidxuSWIDTH2 0xdea1 - 0xdefe 206122146SdavidxuSWIDTH2 0xdfa1 - 0xdffe 207122146SdavidxuSWIDTH2 0xe0a1 - 0xe0fe 208122146SdavidxuSWIDTH2 0xe1a1 - 0xe1fe 209122146SdavidxuSWIDTH2 0xe2a1 - 0xe2fe 210122146SdavidxuSWIDTH2 0xe3a1 - 0xe3fe 211122146SdavidxuSWIDTH2 0xe4a1 - 0xe4fe 212122146SdavidxuSWIDTH2 0xe5a1 - 0xe5fe 213122146SdavidxuSWIDTH2 0xe6a1 - 0xe6fe 214122146SdavidxuSWIDTH2 0xe7a1 - 0xe7fe 215122146SdavidxuSWIDTH2 0xe8a1 - 0xe8fe 216122146SdavidxuSWIDTH2 0xe9a1 - 0xe9fe 217122146SdavidxuSWIDTH2 0xeaa1 - 0xeafe 218122146SdavidxuSWIDTH2 0xeba1 - 0xebfe 219122146SdavidxuSWIDTH2 0xeca1 - 0xecfe 220122146SdavidxuSWIDTH2 0xeda1 - 0xedfe 221122146SdavidxuSWIDTH2 0xeea1 - 0xeefe 222122146SdavidxuSWIDTH2 0xefa1 - 0xeffe 223122146SdavidxuSWIDTH2 0xf0a1 - 0xf0fe 224122146SdavidxuSWIDTH2 0xf1a1 - 0xf1fe 225122146SdavidxuSWIDTH2 0xf2a1 - 0xf2fe 226122146SdavidxuSWIDTH2 0xf3a1 - 0xf3fe 227122146SdavidxuSWIDTH2 0xf4a1 - 0xf4fe 228122146SdavidxuSWIDTH2 0xf5a1 - 0xf5fe 229122146SdavidxuSWIDTH2 0xf6a1 - 0xf6fe 230122146SdavidxuSWIDTH2 0xf7a1 - 0xf7fe 231122146SdavidxuTODIGIT < 0xa2a1 - 0xa2aa : 1 > 232122146SdavidxuTODIGIT < 0xa2b1 - 0xa2c4 : 1 > 233122146SdavidxuTODIGIT < 0xa2c5 - 0xa2d8 : 1 > 234122146SdavidxuTODIGIT < 0xa2d9 - 0xa2e2 : 1 > 235122146SdavidxuTODIGIT < 0xa2e5 - 0xa2ee : 1 > 236122146SdavidxuTODIGIT < 0xa2f1 - 0xa2fc : 1 > 237122146SdavidxuTODIGIT < 0xa3b0 - 0xa3b9 : 0 > 238122146SdavidxuTODIGIT < 0xa3c1 - 0xa3c6 : 10 > < 0xa3e1 - 0xa3e6 : 10 > 239122146SdavidxuUPPER 0xa2f1 - 0xa2fc 240122146SdavidxuUPPER 0xa3c1 - 0xa3da 241122146SdavidxuUPPER 0xa6a1 - 0xa6b8 /* Greek */ 242122146SdavidxuUPPER 0xa7a1 - 0xa7c1 /* Cyrillic */ 243122146SdavidxuXDIGIT 0xa3b0 - 0xa3b9 0xa3c1 - 0xa3c6 0xa3e1 - 0xa3e6 244