1/*- 2 * Copyright (c) 1998, Luoqi Chen 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * $FreeBSD$ 27 */ 28 29ENCODING "EUC" 30VARIABLE 1 0x0000 2 0x8080 2 0x0080 3 0x8000 0x8080 31 32/* 33 * Code Set 1 34 */ 35ALPHA 'A' - 'Z' 'a' - 'z' 36CONTROL 0x00 - 0x1f 0x7f 37DIGIT '0' - '9' 38GRAPH 0x21 - 0x7e 39LOWER 'a' - 'z' 40PUNCT 0x21 - 0x2f 0x3a - 0x40 0x5b - 0x60 0x7b - 0x7e 41SPACE 0x09 - 0x0d 0x20 42UPPER 'A' - 'Z' 43XDIGIT '0' - '9' 'a' - 'f' 'A' - 'F' 44BLANK ' ' '\t' 45PRINT 0x20 - 0x7e 46SWIDTH1 0x20 - 0x7e 47 48MAPLOWER < 'A' - 'Z' : 'a' > < 'a' - 'z' : 'a' > 49MAPUPPER < 'A' - 'Z' : 'A' > < 'a' - 'z' : 'A' > 50TODIGIT < '0' - '9' : 0 > 51TODIGIT < 'A' - 'F' : 10 > < 'a' - 'f' : 10 > 52 53/* 54 * Code Set 2 55 */ 56SPACE 0xa1a1 57BLANK 0xa1a1 58PUNCT 0xa1a2 - 0xa1fe 59SWIDTH2 0xa1a1 - 0xa1fe 60 61/* ?DIGIT 0xa2b1 - 0xa2e2 0xa2e5 - 0xa2ee 0xa2f1 - 0xa2fc */ 62SWIDTH2 0xa2b1 - 0xa2e2 0xa2e5 - 0xa2ee 0xa2f1 - 0xa2fc 63 64TODIGIT < 0xa2b1 - 0xa2c4 : 0 > 65TODIGIT < 0xa2c5 - 0xa2d8 : 0 > 66TODIGIT < 0xa2d9 - 0xa2e2 : 0 > 67TODIGIT < 0xa2e5 - 0xa2ee : 0 > 68TODIGIT < 0xa2f1 - 0xa2fc : 0 > 69 70ALPHA 0xa3c1 - 0xa3da 0xa3e1 - 0xa3fa 71SWIDTH2 0xa3c1 - 0xa3da 0xa3e1 - 0xa3fa 72/* ?DIGIT 0xa3b0 - 0xa3b9 */ 73SWIDTH2 0xa3b0 - 0xa3b9 74UPPER 0xa3c1 - 0xa3da 75LOWER 0xa3e1 - 0xa3fa 76PUNCT 0xa3a1 - 0xa3af 0xa3ba - 0xa3c0 0xa3db - 0xa3e0 0xa3fb - 0xa3fe 77SWIDTH2 0xa3a1 - 0xa3af 0xa3ba - 0xa3c0 0xa3db - 0xa3e0 0xa3fb - 0xa3fe 78/* ?XDIGIT 0xa3b0 - 0xa3b9 0xa3c1 - 0xa3c6 0xa3e1 - 0xa3e6 */ 79 80MAPLOWER < 0xa3c1 - 0xa3da : 0xa3e1 > < 0xa3e1 - 0xa3fa : 0xa3e1 > 81MAPUPPER < 0xa3c1 - 0xa3da : 0xa3c1 > < 0xa3b0 - 0xa3b9 : 0xa3c1 > 82TODIGIT < 0xa3b0 - 0xa3b9 : 0 > 83TODIGIT < 0xa3c1 - 0xa3c6 : 10 > < 0xa3e1 - 0xa3e6 : 10 > 84 85PHONOGRAM 0xa4a1 - 0xa4f3 /* Hiragana */ 86PHONOGRAM 0xa5a1 - 0xa5f6 /* Katakana */ 87SWIDTH2 0xa4a1 - 0xa4f3 /* Hiragana */ 88SWIDTH2 0xa5a1 - 0xa5f6 /* Katakana */ 89 90UPPER 0xa6a1 - 0xa6b8 /* Greek */ 91LOWER 0xa6c1 - 0xa6d8 /* Greek */ 92SWIDTH2 0xa6a1 - 0xa6b8 /* Greek */ 93SWIDTH2 0xa6c1 - 0xa6d8 /* Greek */ 94MAPLOWER < 0xa6a1 - 0xa6b8 : 0xa6c1 > < 0xa6c1 - 0xa6d8 : 0xa6c1 > 95MAPUPPER < 0xa6a1 - 0xa6b8 : 0xa6a1 > < 0xa6c1 - 0xa6d8 : 0xa6a1 > 96 97UPPER 0xa7a1 - 0xa7c1 /* Cyrillic */ 98LOWER 0xa7d1 - 0xa7f1 /* Cyrillic */ 99SWIDTH2 0xa7a1 - 0xa7c1 /* Cyrillic */ 100SWIDTH2 0xa7d1 - 0xa7f1 /* Cyrillic */ 101MAPLOWER < 0xa7a1 - 0xa7c1 : 0xa7d1 > < 0xa7d1 - 0xa7f1 : 0xa7d1 > 102MAPUPPER < 0xa7a1 - 0xa7c1 : 0xa7a1 > < 0xa7d1 - 0xa7f1 : 0xa7a1 > 103 104SPECIAL 0xa8a1 - 0xa8ba 105SWIDTH2 0xa8a1 - 0xa8ba 106PHONOGRAM 0xa8c5 - 0xa8e9 /* Pin yin */ 107SWIDTH2 0xa8c5 - 0xa8e9 /* Pin yin */ 108SPECIAL 0xa9a4 - 0xa9ef /* Box drawings */ 109SWIDTH2 0xa9a4 - 0xa9ef /* Box drawings */ 110 111IDEOGRAM 0xb0a1 - 0xb0fe 112IDEOGRAM 0xb1a1 - 0xb1fe 113IDEOGRAM 0xb2a1 - 0xb2fe 114IDEOGRAM 0xb3a1 - 0xb3fe 115IDEOGRAM 0xb4a1 - 0xb4fe 116IDEOGRAM 0xb5a1 - 0xb5fe 117IDEOGRAM 0xb6a1 - 0xb6fe 118IDEOGRAM 0xb7a1 - 0xb7fe 119IDEOGRAM 0xb8a1 - 0xb8fe 120IDEOGRAM 0xb9a1 - 0xb9fe 121IDEOGRAM 0xbaa1 - 0xbafe 122IDEOGRAM 0xbba1 - 0xbbfe 123IDEOGRAM 0xbca1 - 0xbcfe 124IDEOGRAM 0xbda1 - 0xbdfe 125IDEOGRAM 0xbea1 - 0xbefe 126IDEOGRAM 0xbfa1 - 0xbffe 127IDEOGRAM 0xc0a1 - 0xc0fe 128IDEOGRAM 0xc1a1 - 0xc1fe 129IDEOGRAM 0xc2a1 - 0xc2fe 130IDEOGRAM 0xc3a1 - 0xc3fe 131IDEOGRAM 0xc4a1 - 0xc4fe 132IDEOGRAM 0xc5a1 - 0xc5fe 133IDEOGRAM 0xc6a1 - 0xc6fe 134IDEOGRAM 0xc7a1 - 0xc7fe 135IDEOGRAM 0xc8a1 - 0xc8fe 136IDEOGRAM 0xc9a1 - 0xc9fe 137IDEOGRAM 0xcaa1 - 0xcafe 138IDEOGRAM 0xcba1 - 0xcbfe 139IDEOGRAM 0xcca1 - 0xccfe 140IDEOGRAM 0xcda1 - 0xcdfe 141IDEOGRAM 0xcea1 - 0xcefe 142IDEOGRAM 0xcfa1 - 0xcfd3 143IDEOGRAM 0xd0a1 - 0xd0fe 144IDEOGRAM 0xd1a1 - 0xd1fe 145IDEOGRAM 0xd2a1 - 0xd2fe 146IDEOGRAM 0xd3a1 - 0xd3fe 147IDEOGRAM 0xd4a1 - 0xd4fe 148IDEOGRAM 0xd5a1 - 0xd5fe 149IDEOGRAM 0xd6a1 - 0xd6fe 150IDEOGRAM 0xd7a1 - 0xd7fe 151IDEOGRAM 0xd8a1 - 0xd8fe 152IDEOGRAM 0xd9a1 - 0xd9fe 153IDEOGRAM 0xdaa1 - 0xdafe 154IDEOGRAM 0xdba1 - 0xdbfe 155IDEOGRAM 0xdca1 - 0xdcfe 156IDEOGRAM 0xdda1 - 0xddfe 157IDEOGRAM 0xdea1 - 0xdefe 158IDEOGRAM 0xdfa1 - 0xdffe 159IDEOGRAM 0xe0a1 - 0xe0fe 160IDEOGRAM 0xe1a1 - 0xe1fe 161IDEOGRAM 0xe2a1 - 0xe2fe 162IDEOGRAM 0xe3a1 - 0xe3fe 163IDEOGRAM 0xe4a1 - 0xe4fe 164IDEOGRAM 0xe5a1 - 0xe5fe 165IDEOGRAM 0xe6a1 - 0xe6fe 166IDEOGRAM 0xe7a1 - 0xe7fe 167IDEOGRAM 0xe8a1 - 0xe8fe 168IDEOGRAM 0xe9a1 - 0xe9fe 169IDEOGRAM 0xeaa1 - 0xeafe 170IDEOGRAM 0xeba1 - 0xebfe 171IDEOGRAM 0xeca1 - 0xecfe 172IDEOGRAM 0xeda1 - 0xedfe 173IDEOGRAM 0xeea1 - 0xeefe 174IDEOGRAM 0xefa1 - 0xeffe 175IDEOGRAM 0xf0a1 - 0xf0fe 176IDEOGRAM 0xf1a1 - 0xf1fe 177IDEOGRAM 0xf2a1 - 0xf2fe 178IDEOGRAM 0xf3a1 - 0xf3fe 179IDEOGRAM 0xf4a1 - 0xf4fe 180IDEOGRAM 0xf5a1 - 0xf5fe 181IDEOGRAM 0xf6a1 - 0xf6fe 182IDEOGRAM 0xf7a1 - 0xf7fe 183 184SWIDTH2 0xb0a1 - 0xb0fe 185SWIDTH2 0xb1a1 - 0xb1fe 186SWIDTH2 0xb2a1 - 0xb2fe 187SWIDTH2 0xb3a1 - 0xb3fe 188SWIDTH2 0xb4a1 - 0xb4fe 189SWIDTH2 0xb5a1 - 0xb5fe 190SWIDTH2 0xb6a1 - 0xb6fe 191SWIDTH2 0xb7a1 - 0xb7fe 192SWIDTH2 0xb8a1 - 0xb8fe 193SWIDTH2 0xb9a1 - 0xb9fe 194SWIDTH2 0xbaa1 - 0xbafe 195SWIDTH2 0xbba1 - 0xbbfe 196SWIDTH2 0xbca1 - 0xbcfe 197SWIDTH2 0xbda1 - 0xbdfe 198SWIDTH2 0xbea1 - 0xbefe 199SWIDTH2 0xbfa1 - 0xbffe 200SWIDTH2 0xc0a1 - 0xc0fe 201SWIDTH2 0xc1a1 - 0xc1fe 202SWIDTH2 0xc2a1 - 0xc2fe 203SWIDTH2 0xc3a1 - 0xc3fe 204SWIDTH2 0xc4a1 - 0xc4fe 205SWIDTH2 0xc5a1 - 0xc5fe 206SWIDTH2 0xc6a1 - 0xc6fe 207SWIDTH2 0xc7a1 - 0xc7fe 208SWIDTH2 0xc8a1 - 0xc8fe 209SWIDTH2 0xc9a1 - 0xc9fe 210SWIDTH2 0xcaa1 - 0xcafe 211SWIDTH2 0xcba1 - 0xcbfe 212SWIDTH2 0xcca1 - 0xccfe 213SWIDTH2 0xcda1 - 0xcdfe 214SWIDTH2 0xcea1 - 0xcefe 215SWIDTH2 0xcfa1 - 0xcfd3 216SWIDTH2 0xd0a1 - 0xd0fe 217SWIDTH2 0xd1a1 - 0xd1fe 218SWIDTH2 0xd2a1 - 0xd2fe 219SWIDTH2 0xd3a1 - 0xd3fe 220SWIDTH2 0xd4a1 - 0xd4fe 221SWIDTH2 0xd5a1 - 0xd5fe 222SWIDTH2 0xd6a1 - 0xd6fe 223SWIDTH2 0xd7a1 - 0xd7fe 224SWIDTH2 0xd8a1 - 0xd8fe 225SWIDTH2 0xd9a1 - 0xd9fe 226SWIDTH2 0xdaa1 - 0xdafe 227SWIDTH2 0xdba1 - 0xdbfe 228SWIDTH2 0xdca1 - 0xdcfe 229SWIDTH2 0xdda1 - 0xddfe 230SWIDTH2 0xdea1 - 0xdefe 231SWIDTH2 0xdfa1 - 0xdffe 232SWIDTH2 0xe0a1 - 0xe0fe 233SWIDTH2 0xe1a1 - 0xe1fe 234SWIDTH2 0xe2a1 - 0xe2fe 235SWIDTH2 0xe3a1 - 0xe3fe 236SWIDTH2 0xe4a1 - 0xe4fe 237SWIDTH2 0xe5a1 - 0xe5fe 238SWIDTH2 0xe6a1 - 0xe6fe 239SWIDTH2 0xe7a1 - 0xe7fe 240SWIDTH2 0xe8a1 - 0xe8fe 241SWIDTH2 0xe9a1 - 0xe9fe 242SWIDTH2 0xeaa1 - 0xeafe 243SWIDTH2 0xeba1 - 0xebfe 244SWIDTH2 0xeca1 - 0xecfe 245SWIDTH2 0xeda1 - 0xedfe 246SWIDTH2 0xeea1 - 0xeefe 247SWIDTH2 0xefa1 - 0xeffe 248SWIDTH2 0xf0a1 - 0xf0fe 249SWIDTH2 0xf1a1 - 0xf1fe 250SWIDTH2 0xf2a1 - 0xf2fe 251SWIDTH2 0xf3a1 - 0xf3fe 252SWIDTH2 0xf4a1 - 0xf4fe 253SWIDTH2 0xf5a1 - 0xf5fe 254SWIDTH2 0xf6a1 - 0xf6fe 255SWIDTH2 0xf7a1 - 0xf7fe 256