/*
 * big5hkscs   first byte:    81-FE
 *             second byte:   40-7E, A1-FE
 *
 * $FreeBSD$
 */

ENCODING        "GBK"
/* VARIABLE	BIG5 character set */

/*
 * ASCII
 */
ALPHA		'A' - 'Z' 'a' - 'z'
CONTROL		0x00 - 0x1f 0x7f
DIGIT		'0' - '9'
GRAPH		0x21 - 0x7e
LOWER		'a' - 'z'
PUNCT		0x21 - 0x2f 0x3a - 0x40 0x5b - 0x60 0x7b - 0x7e
SPACE		0x09 - 0x0d 0x20
UPPER		'A' - 'Z'
XDIGIT          '0' - '9' 'a' - 'f' 'A' - 'F'
BLANK		' ' '\t'
PRINT		0x20 - 0x7e

MAPLOWER       	< 'A' - 'Z' : 'a' >
MAPLOWER       	< 'a' - 'z' : 'a' >
MAPUPPER       	< 'A' - 'Z' : 'A' >
MAPUPPER       	< 'a' - 'z' : 'A' >
TODIGIT       	< '0' - '9' : 0 >
TODIGIT       	< 'A' - 'F' : 10 >
TODIGIT       	< 'a' - 'f' : 10 >

/*
 * the real thing
 */
IDEOGRAM        0x8840 - 0x887e 0x88a1 - 0x88aa
IDEOGRAM        0x8940 - 0x8941 0x8943 0x8946 - 0x8949 0x894c - 0x897e
IDEOGRAM        0x89a1 - 0x89a6 0x89ab - 0x89ae 0x89b0 - 0x89b2 0x89b5 - 0x89bf
IDEOGRAM        0x89c1 - 0x89c3 0x89c5 - 0x89fe
IDEOGRAM        0x8a40 0x8a41 0x8a43 - 0x8a62 0x8a64 - 0x8a74 0x8a76 - 0x8a7e
IDEOGRAM        0x8aa1 - 0x8aaa 0x8aac - 0x8ab0 0x8ab2 - 0x8ab9 0x8abb - 0x8ac7
IDEOGRAM        0x8ac9 - 0x8acc 0x8ace - 0x8adc 0x8adf - 0x8af4 0x8af6 - 0x8afe
IDEOGRAM        0x8b40 - 0x8b53 0x8b55 - 0x8b7e 0x8ba1 - 0x8bdc 0x8bde - 0x8bfd
IDEOGRAM        0x8c40 - 0x8c61 0x8c63 - 0x8c7e 0x8ca1 - 0x8ca5 0x8ca7 - 0x8cdc
IDEOGRAM        0x8d60 - 0x8d7e 0x8da1 - 0x8ddc
IDEOGRAM        0x8e40 - 0x8e68 0x8e6a - 0x8e6e 0x8e70 - 0x8e7d 0x8ea1 - 0x8eaa
IDEOGRAM        0x8eac - 0x8eb3 0x8eb5 - 0x8ecc 0x8ece 0x8ecf 0x8ed1 - 0x8efe
IDEOGRAM        0x8f40 - 0x8f56 0x8f58 - 0x8f68 0x8f6a - 0x8f6d 0x8f6f - 0x8f7e
IDEOGRAM        0x8fa1 - 0x8fca 0x8fcd - 0x8ffd
IDEOGRAM        0x9040 - 0x906c 0x906e - 0x9079 0x907b - 0x907e 0x90a1 - 0x90db
IDEOGRAM        0x90dd - 0x90f0 0x90f2 - 0x90fe
IDEOGRAM        0x9140 - 0x917e 0x91a1 - 0x91be 0x91c0 - 0x91ef
IDEOGRAM        0x9240 - 0x9242 0x9245 - 0x927e 0x92a1 - 0x92ae
IDEOGRAM        0x92b3 - 0x92c7 0x92c8 - 0x92d0 0x92d2 - 0x92fe
IDEOGRAM        0x9340 - 0x937e 0x93a1 - 0x93fe
IDEOGRAM        0x9440 - 0x9446 0x9448 - 0x947e 0x94a1 - 0x94c9 0x94cb - 0x94fe
IDEOGRAM        0x9540 - 0x957e 0x95a1 - 0x95d8 0x95da - 0x95fe
IDEOGRAM        0x9640 - 0x9643 0x9645 - 0x967e 0x96a1 - 0x96ec
IDEOGRAM        0x96ee - 0x96fb 0x96fd - 0x96fe
IDEOGRAM        0x9740 - 0x977e 0x97a1 - 0x97fe
IDEOGRAM        0x9840 - 0x987e 0x98a1 - 0x98fe
IDEOGRAM        0x9940 - 0x997e 0x99a1 - 0x99fe
IDEOGRAM        0x9a40 - 0x9a7e 0x9aa1 - 0x9afe
IDEOGRAM        0x9b40 - 0x9b60 0x9b62 - 0x9b75 0x9b77 0x9b79 0x9b7a
IDEOGRAM        0x9b7c - 0x9b7e 0x9ba1 - 0x9bc5 0x9bc7 - 0x9bdd
IDEOGRAM        0x9bdf - 0x9beb 0x9bed - 0x9bf5 0x9bf7 - 0x9bfe
IDEOGRAM        0x9c40 0x9c41 0x9c43 - 0x9c52 0x9c54 - 0x9c61 0x9c63 - 0x9c67 
IDEOGRAM        0x9c69 0x9c6a 0x9c6c - 0x9c76 0x9c78 - 0x9c7e 0x9ca1 - 0x9cbb 
IDEOGRAM        0x9cbe - 0x9ccf 0x9cd1 - 0x9cfe
IDEOGRAM        0x9d40 - 0x9d56 0x9d58 0x9d59 0x9d5b - 0x9d7e
IDEOGRAM        0x9da1 - 0x9dc3 0x9dc5 - 0x9dfe
IDEOGRAM        0x9e40 - 0x9e7e 0x9ea1 - 0x9ea8 0x9eaa 0x9eab 0x9ead - 0x9ec3
IDEOGRAM        0x9ec5 - 0x9eee 0x9ef0 - 0x9ef3 0x9ef5 - 0x9efc 0x9efe
IDEOGRAM        0x9f40 - 0x9f4d 0x9f4f - 0x9f5f 0x9f61 - 0x9f65 0x9f67 - 0x9f7e
IDEOGRAM        0x9fa1 - 0x9fac 0x9fae - 0x9fb0 0x9fb2 - 0x9fbf 0x9fc1 - 0x9fc7
IDEOGRAM        0x9fc9 0x9fca 0x9fcc - 0x9fd7 0x9fd9 0x9fdb - 0x9fe5
IDEOGRAM        0x9fe7 - 0x9fe9 0x9feb - 0x9fee 0x9ff0 - 0x9ffe
IDEOGRAM        0xa040 - 0xa053 0xa055 0xa056 0xa058 0xa059 0xa05b - 0xa061
IDEOGRAM        0xa064 - 0xa071 0xa073 - 0xa076 0xa078 - 0xa07e
IDEOGRAM        0xa0a1 - 0xa0a4 0xa0a6 - 0xa0ac 0xa0ae 0xa0b0 - 0xa0d2
IDEOGRAM        0xa0d4 0xa0d6 - 0xa0de 0xa0e0 0xa0e2 0xa0e3 0xa0e5 - 0xa0fe

PUNCT           0xa141 - 0xa17e 0xa1a1 - 0xa1ac

SPECIAL         0xa1ad - 0xa1fe 0xa240 - 0xa27e 0xa2a1 - 0xa2ae

/* full width 0 1 2 .. 9 */
/* ?DIGIT           0xa2af - 0xa2b8 */

/* map these (SuChou Code (12) and Roman (I II etc.) number (10)) to digits */
TODIGIT         < 0xa2b9 - 0xa2c2 : 1 >
TODIGIT         < 0xa2c3 - 0xa2ce : 1 >

/* full width A .. Z and a .. z */
/* note the lower case alphabets are not continuous */
UPPER           0xa2cf - 0xa2e8
LOWER           0xa2e9 - 0xa2fe 0xa340 - 0xa343

/* we have to got two line for each 'cause they are not continuous */
MAPLOWER        < 0xa2cf - 0xa2e4 : 0xa2e9 > < 0xa2e5 - 0xa2e8 : 0xa340 >
MAPLOWER        < 0xa2e9 - 0xa2fe : 0xa2e9 > < 0xa340 - 0xa343 : 0xa340 >
MAPUPPER        < 0xa2cf - 0xa2e4 : 0xa2cf > < 0xa2e5 - 0xa2e8 : 0xa2e5 >
MAPUPPER        < 0xa2e9 - 0xa2fe : 0xa2cf > < 0xa340 - 0xa343 : 0xa2e5 >

/* ?XDIGIT          0xa2cf - 0xa2d4 0xa2e9 - 0xa2ee */

SPACE           0xa3bc
BLANK           0xa3bc
/* bopomofo symbols */
PHONOGRAM       0xa374 - 0xa37e 0xa3a1 - 0xa3bb
/* tone symbols */
PHONOGRAM       0xa3bd - 0xa3bf
/* control */
CONTROL         0xa3c0 - 0xa3fe

/* greek */
UPPER           0xa344 - 0xa35b
LOWER           0xa35c - 0xa373
MAPUPPER        < 0xa344 - 0xa35b : 0xa344 > < 0xa35c - 0xa373 : 0xa344 >
MAPLOWER        < 0xa344 - 0xa35b : 0xa35c > < 0xa35c - 0xa373 : 0xa35c >

/* cyrillic (russian etc) */
UPPER           0xc7f3 - 0xc7fe 0xc840 - 0xc854
LOWER           0xc855 - 0xc875
MAPUPPER        < 0xc7f3 - 0xc7fe : 0xc7f3 > < 0xc840 - 0xc854 : 0xc840 >
MAPUPPER        < 0xc855 - 0xc860 : 0xc7f3 > < 0xc861 - 0xc875 : 0xc840 >
MAPLOWER        < 0xc7f3 - 0xc7fe : 0xc855 > < 0xc840 - 0xc854 : 0xc861 >
MAPLOWER        < 0xc855 - 0xc860 : 0xc855 > < 0xc861 - 0xc875 : 0xc861 >

IDEOGRAM        0xa440 - 0xa47e 0xa4a1 - 0xa4fe
IDEOGRAM        0xa540 - 0xa57e 0xa5a1 - 0xa5fe
IDEOGRAM        0xa640 - 0xa67e 0xa6a1 - 0xa6fe
IDEOGRAM        0xa740 - 0xa77e 0xa7a1 - 0xa7fe
IDEOGRAM        0xa840 - 0xa87e 0xa8a1 - 0xa8fe
IDEOGRAM        0xa940 - 0xa97e 0xa9a1 - 0xa9fe
IDEOGRAM        0xaa40 - 0xaa7e 0xaaa1 - 0xaafe
IDEOGRAM        0xab40 - 0xab7e 0xaba1 - 0xabfe
IDEOGRAM        0xac40 - 0xac7e 0xaca1 - 0xacfe
IDEOGRAM        0xad40 - 0xad7e 0xada1 - 0xadfe
IDEOGRAM        0xae40 - 0xae7e 0xaea1 - 0xaefe
IDEOGRAM        0xaf40 - 0xaf7e 0xafa1 - 0xaffe
IDEOGRAM        0xb040 - 0xb07e 0xb0a1 - 0xb0fe
IDEOGRAM        0xb140 - 0xb17e 0xb1a1 - 0xb1fe
IDEOGRAM        0xb240 - 0xb27e 0xb2a1 - 0xb2fe
IDEOGRAM        0xb340 - 0xb37e 0xb3a1 - 0xb3fe
IDEOGRAM        0xb440 - 0xb47e 0xb4a1 - 0xb4fe
IDEOGRAM        0xb540 - 0xb57e 0xb5a1 - 0xb5fe
IDEOGRAM        0xb640 - 0xb67e 0xb6a1 - 0xb6fe
IDEOGRAM        0xb740 - 0xb77e 0xb7a1 - 0xb7fe
IDEOGRAM        0xb840 - 0xb87e 0xb8a1 - 0xb8fe
IDEOGRAM        0xb940 - 0xb97e 0xb9a1 - 0xb9fe
IDEOGRAM        0xba40 - 0xba7e 0xbaa1 - 0xbafe
IDEOGRAM        0xbb40 - 0xbb7e 0xbba1 - 0xbbfe
IDEOGRAM        0xbc40 - 0xbc7e 0xbca1 - 0xbcfe
IDEOGRAM        0xbd40 - 0xbd7e 0xbda1 - 0xbdfe
IDEOGRAM        0xbe40 - 0xbe7e 0xbea1 - 0xbefe
IDEOGRAM        0xbf40 - 0xbf7e 0xbfa1 - 0xbffe
IDEOGRAM        0xc040 - 0xc07e 0xc0a1 - 0xc0fe
IDEOGRAM        0xc140 - 0xc17e 0xc1a1 - 0xc1fe
IDEOGRAM        0xc240 - 0xc27e 0xc2a1 - 0xc2fe
IDEOGRAM        0xc340 - 0xc37e 0xc3a1 - 0xc3fe
IDEOGRAM        0xc440 - 0xc47e 0xc4a1 - 0xc4fe
IDEOGRAM        0xc540 - 0xc57e 0xc5a1 - 0xc5fe
IDEOGRAM        0xc640 - 0xc67e

IDEOGRAM        0xc940 - 0xc97e 0xc9a1 - 0xc9fe
IDEOGRAM        0xca40 - 0xca7e 0xcaa1 - 0xcafe
IDEOGRAM        0xcb40 - 0xcb7e 0xcba1 - 0xcbfe
IDEOGRAM        0xcc40 - 0xcc7e 0xcca1 - 0xccfe
IDEOGRAM        0xcd40 - 0xcd7e 0xcda1 - 0xcdfe
IDEOGRAM        0xce40 - 0xce7e 0xcea1 - 0xcefe
IDEOGRAM        0xcf40 - 0xcf7e 0xcfa1 - 0xcffe
IDEOGRAM        0xd040 - 0xd07e 0xd0a1 - 0xd0fe
IDEOGRAM        0xd140 - 0xd17e 0xd1a1 - 0xd1fe
IDEOGRAM        0xd240 - 0xd27e 0xd2a1 - 0xd2fe
IDEOGRAM        0xd340 - 0xd37e 0xd3a1 - 0xd3fe
IDEOGRAM        0xd440 - 0xd47e 0xd4a1 - 0xd4fe
IDEOGRAM        0xd540 - 0xd57e 0xd5a1 - 0xd5fe
IDEOGRAM        0xd640 - 0xd67e 0xd6a1 - 0xd6fe
IDEOGRAM        0xd740 - 0xd77e 0xd7a1 - 0xd7fe
IDEOGRAM        0xd840 - 0xd87e 0xd8a1 - 0xd8fe
IDEOGRAM        0xd940 - 0xd97e 0xd9a1 - 0xd9fe
IDEOGRAM        0xda40 - 0xda7e 0xdaa1 - 0xdafe
IDEOGRAM        0xdb40 - 0xdb7e 0xdba1 - 0xdbfe
IDEOGRAM        0xdc40 - 0xdc7e 0xdca1 - 0xdcfe
IDEOGRAM        0xdd40 - 0xdd7e 0xdda1 - 0xddfe
IDEOGRAM        0xde40 - 0xde7e 0xdea1 - 0xdefe
IDEOGRAM        0xdf40 - 0xdf7e 0xdfa1 - 0xdffe
IDEOGRAM        0xe040 - 0xe07e 0xe0a1 - 0xe0fe
IDEOGRAM        0xe140 - 0xe17e 0xe1a1 - 0xe1fe
IDEOGRAM        0xe240 - 0xe27e 0xe2a1 - 0xe2fe
IDEOGRAM        0xe340 - 0xe37e 0xe3a1 - 0xe3fe
IDEOGRAM        0xe440 - 0xe47e 0xe4a1 - 0xe4fe
IDEOGRAM        0xe540 - 0xe57e 0xe5a1 - 0xe5fe
IDEOGRAM        0xe640 - 0xe67e 0xe6a1 - 0xe6fe
IDEOGRAM        0xe740 - 0xe77e 0xe7a1 - 0xe7fe
IDEOGRAM        0xe840 - 0xe87e 0xe8a1 - 0xe8fe
IDEOGRAM        0xe940 - 0xe97e 0xe9a1 - 0xe9fe
IDEOGRAM        0xea40 - 0xea7e 0xeaa1 - 0xeafe
IDEOGRAM        0xeb40 - 0xeb7e 0xeba1 - 0xebfe
IDEOGRAM        0xec40 - 0xec7e 0xeca1 - 0xecfe
IDEOGRAM        0xed40 - 0xed7e 0xeda1 - 0xedfe
IDEOGRAM        0xee40 - 0xee7e 0xeea1 - 0xeefe
IDEOGRAM        0xef40 - 0xef7e 0xefa1 - 0xeffe
IDEOGRAM        0xf040 - 0xf07e 0xf0a1 - 0xf0fe
IDEOGRAM        0xf140 - 0xf17e 0xf1a1 - 0xf1fe
IDEOGRAM        0xf240 - 0xf27e 0xf2a1 - 0xf2fe
IDEOGRAM        0xf340 - 0xf37e 0xf3a1 - 0xf3fe
IDEOGRAM        0xf440 - 0xf47e 0xf4a1 - 0xf4fe
IDEOGRAM        0xf540 - 0xf57e 0xf5a1 - 0xf5fe
IDEOGRAM        0xf640 - 0xf67e 0xf6a1 - 0xf6fe
IDEOGRAM        0xf740 - 0xf77e 0xf7a1 - 0xf7fe
IDEOGRAM        0xf840 - 0xf87e 0xf8a1 - 0xf8fe
IDEOGRAM        0xf940 - 0xf97e 0xf9a1 - 0xf9dc

/* Eten external charset 0xc6a1 - 0xc8d3 */

/* lots strange numbers */
SPECIAL         0xc6a1 - 0xc6be

TODIGIT         < 0xc6a1 - 0xc6aa : 1 > < 0xc6ab - 0xc6b4 : 1 >
TODIGIT         < 0xc6b5 - 0xc6be : 1>

/* these are HanZi Radicals */
SPECIAL         0xc6bf - 0xc6ce 0xc6d0 - 0xc6d2 0xc6d4 0xc6d6 
SPECIAL         0xc879 - 0xc87e 0xc8a1 - 0xc8a4 0xc8d4 - 0xc8f1

/* who knows what these are ... */
SPECIAL         0xc6d8 - 0xc6dd 0xc6e0 - 0xc6e6 0xc876 - 0xc878

/* hiragana */
SPECIAL         0xc6e7 - 0xc6fe 0xc740 - 0xc77a

/* katakana */
SPECIAL         0xc77b - 0xc77e 0xc7a1 - 0xc7f2

/* various Japanese symbols */
SPECIAL         0xc8cd - 0xc8d3

/* latin small letter */
SPECIAL         0xc8fe - 0xc8fe

/* line drawing glyphs */
SPECIAL         0xf9dd - 0xf9fe


IDEOGRAM        0xfa40 - 0xfa5e 0xfa60 - 0xfa65 0xfa67 - 0xfa7e 0xfaa1 - 0xfabc
IDEOGRAM        0xfabd - 0xfac4 0xfac6 - 0xfad4 0xfad6 - 0xfafe
IDEOGRAM        0xfb40 - 0xfb47 0xfb49 - 0xfb7e 0xfba1 - 0xfbb7 0xfbb9 - 0xfbf2
IDEOGRAM        0xfbf4 - 0xfbf8 0xfbfa - 0xfbfe
IDEOGRAM        0xfc40 - 0xfc4e 0xfc50 - 0xfc6b 0xfc6d - 0xfc7e 0xfca1 - 0xfcb8
IDEOGRAM        0xfcba - 0xfce1 0xfce3 - 0xfcf0 0xfcf2 - 0xfcfe
IDEOGRAM        0xfd40 - 0xfd7e 0xfda1 - 0xfdb6 0xfdb9 0xfdba 0xfdbc - 0xfdf0
IDEOGRAM        0xfdf2 - 0xfdfe
IDEOGRAM        0xfe40 - 0xfe51 0xfe53 - 0xfe7e 0xfea1 - 0xfea9 0xfeab - 0xfbdc
IDEOGRAM        0xfede - 0xfefe
