+ (make-charset 'chinese-big5-eten-a
+ "Big5-ETEN-a"
+ `(long-name "Big5 ETEN (#xF9D6 .. #xF9FE)"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ mother chinese-big5
+ min-code #xF9D6
+ max-code #xF9FE
+ registry "Big5\\.ETEN"))
+ (make-charset 'chinese-big5-eten-b
+ "Big5-ETEN-b"
+ `(long-name "Big5 ETEN (#xC6A1 .. #xC8FE)"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ mother chinese-big5
+ min-code #xC6A1
+ max-code #xC8FE
+ registry "Big5\\.ETEN"))
+ (make-charset '=big5-cdp
+ "Big5-CDP"
+ `(long-name "Big5 with CDP extension"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ registry "big5\\.cdp-0"
+ mother chinese-big5
+ min-code #x8140
+ max-code #x8DFE))
+ (define-charset-alias 'chinese-big5-cdp '=big5-cdp)
+ (let* ((i 1)
+ (hzk-min (+ (lsh #x6200 16) 65536))
+ (hzk-max (+ hzk-min 65535)))
+ (while (<= i 12)
+ (make-charset
+ (intern (format "=hanziku-%d" i))
+ (format "HANZIKU-%d" i)
+ `(long-name ,(format "HANZIKU (pseudo BIG5 encoding) part %d" i)
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ registry ,(format "hanziku-%d$" i i)
+ min-code ,hzk-min
+ max-code ,hzk-max
+ code-offset ,hzk-min))
+ (define-charset-alias
+ (intern (format "ideograph-hanziku-%d" i))
+ (intern (format "=hanziku-%d" i)))
+ (setq hzk-min (1+ hzk-max)
+ hzk-max (+ hzk-min 65535))
+ (setq i (1+ i))))
+
+ (make-charset '=gt
+ "GT"
+ `(long-name "GT 2000"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ registry ""
+ min-code ,(lsh #x6100 16)
+ max-code ,(+ (lsh #x6100 16) 67547)
+ code-offset ,(lsh #x6100 16)))
+ (define-charset-alias 'ideograph-gt '=gt)
+ (make-charset '=gt-k
+ "GT parts"
+ `(long-name "Ideographic parts of GT"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ registry ""
+ min-code ,(lsh #x6110 16)
+ max-code ,(+ (lsh #x6110 16) 17090)
+ code-offset ,(lsh #x6110 16)))
+ (define-charset-alias 'ideograph-gt-k '=gt-k)
+ (let ((i 1))
+ (while (<= i 11)
+ (make-charset
+ (intern (format "=gt-pj-%d" i))
+ (format "GT PJ %d" i)
+ `(long-name ,(format "GT 2000 (pseudo JIS encoding) part %d" i)
+ chars 94
+ dimension 2
+ columns 2
+ graphic 0
+ direction l2r
+ registry ,(format "\\(GTpj-%d\\|jisx0208\\.GT-%d\\)$" i i)))
+ (define-charset-alias
+ (intern (format "ideograph-gt-pj-%d" i))
+ (intern (format "=gt-pj-%d" i)))
+ (setq i (1+ i))))