+ (define-charset-alias 'ucs '=ucs)
+ (define-charset-alias 'japanese-jisx0208-1990 '=jis-x0208-1990)
+ (make-charset 'ucs-gb
+ "UCS for GB"
+ `(long-name "ISO/IEC 10646 for GB"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ mother =ucs))
+ (make-charset 'ucs-cns
+ "UCS for CNS"
+ `(long-name "ISO/IEC 10646 for CNS 11643"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ mother =ucs))
+ (make-charset 'ucs-jis
+ "UCS for JIS"
+ `(long-name "ISO/IEC 10646 for JIS X0208/0212/0213"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ mother =ucs))
+ (make-charset '=ucs-jis-1990
+ "UCS for JIS:1990"
+ `(long-name "ISO/IEC 10646 for JIS X 0208/0212:1990"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ mother ucs-jis))
+ (make-charset '=ucs-jis-2000
+ "UCS for JIS:2000"
+ `(long-name "ISO/IEC 10646 for JIS X 0213:2000"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ mother ucs-jis))
+ (make-charset 'ucs-ks
+ "UCS for KS"
+ `(long-name "ISO/IEC 10646 for Korean Standards"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ mother =ucs))
+ (make-charset 'ucs-big5
+ "UCS for Big5"
+ `(long-name "ISO/IEC 10646 for Big5"
+ chars 256
+ dimension 3
+ columns 2
+ graphic 2
+ direction l2r
+ mother =ucs))
+
+ (make-charset 'ideograph-daikanwa
+ "Daikanwa"
+ `(long-name "Daikanwa dictionary (revised version 2)"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ registry "Daikanwa\\(\\.[0-9]+\\)?-3"
+ min-code #xE00000
+ max-code ,(+ #xE00000 50100)
+ code-offset #xE00000))
+
+ (make-charset '=daikanwa-rev1
+ "Daikanwa Rev."
+ `(long-name "Daikanwa dictionary (revised version)"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ registry "Daikanwa\\(\\.[0-9]+\\)?-2"))
+ (define-charset-alias 'ideograph-daikanwa-2 '=daikanwa-rev1)
+
+ (make-charset '=daikanwa-rev2
+ "Daikanwa"
+ `(long-name "Daikanwa dictionary (revised version 2)"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ registry "Daikanwa\\(\\.[0-9]+\\)?-3"
+ min-code #xE00000
+ max-code ,(+ #xE00000 50100)
+ code-offset #xE00000))
+
+ (make-charset '=big5-pua
+ "Big5-PUA"
+ `(long-name "Big5 with private used area"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ mother chinese-big5
+ registry "Big5\\.ETEN"))
+ (define-charset-alias 'chinese-big5-pua '=big5-pua)
+ (make-charset '=big5-eten
+ "Big5-ETEN"
+ `(long-name "Big5 ETEN"
+ chars 256
+ dimension 2
+ columns 2
+ graphic 2
+ direction l2r
+ mother chinese-big5
+ min-code #x8140
+ max-code #xFEFE
+ registry "Big5\\.ETEN"))
+ (define-charset-alias 'chinese-big5-eten '=big5-eten)
+ (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))))