(=>cns11643-6): New coded-charset for XEmacs CHISE.
[chise/xemacs-chise.git.1] / lisp / mule / mule-conf.el
index 5759d65..b239d3e 100644 (file)
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN.
 ;; Licensed to the Free Software Foundation.
 ;; Copyright (C) 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008,
-;;   2009, 2010, 2011, 2012 MORIOKA Tomohiko
+;;   2009, 2010, 2011, 2012, 2013 MORIOKA Tomohiko
 
 ;; Keywords: mule, multilingual, character set, coding system
 
 (cond
  ((featurep 'utf-2000)
   (make-charset
-   '=jis-x0208@1978
-   "JIS X 0208:1978, unchanged part."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208
-             =>iso-ir 42
-             final ?@
-             graphic 0
-             partial t))
+   '=adobe-japan1-base
+   "Adobe-Japan1 Character Collection for CID-Keyed Fonts"
+   `(long-name "Adobe-Japan1"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "AdobeJapan1-[0-6]$"
+              min-code ,(lsh #x6300 16)
+              max-code ,(+ (lsh #x6300 16) 23057)
+              code-offset      ,(lsh #x6300 16)))
   (make-charset
-   '=jis-x0208@1978/-4pr
-   "JIS X 0208:1978, 1st - 3rd impressions."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978
-             =>iso-ir 42
-             final ?@
-             graphic 0
-             partial t))
+   '=adobe-japan1-0
+   "Adobe-Japan1-0 Character Collection for CID-Keyed Fonts"
+   '(long-name "Adobe-Japan1-0"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-base
+              min-code 0
+              max-code 8283
+              registry "AdobeJapan1-0$"))
   (make-charset
-   '=jis-x0208@1978/1pr
-   "JIS X 0208:1978, 1st impression."
-   '(iso-ir 42
-           registry "jisx0208\\.1978"
-           dimension 2
-           chars 94
-           mother =jis-x0208@1978/-4pr
-           final ?@
-           graphic 0))
+   '=adobe-japan1-1
+   "Adobe-Japan1-1 Character Collection for CID-Keyed Fonts"
+   '(long-name "Adobe-Japan1-1"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-0
+              min-code 0
+              max-code 8358
+              registry "AdobeJapan1-1$"))
   (make-charset
-   '=jis-x0208@1978/-4X
-   "JIS X 0208:1978, index before the 4th impression."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978
-             =>iso-ir 42
-              ;; final ?@
-             graphic 0
-             partial t))
+   '=adobe-japan1-2
+   "Adobe-Japan1-2 Character Collection for CID-Keyed Fonts"
+   '(long-name "Adobe-Japan1-2"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-1
+              min-code 0
+              max-code 8719
+              registry "AdobeJapan1-2$"))
   (make-charset
-   '=jis-x0208@1978/1er-pr
-   "JIS X 0208:1978, fixed by errata [Nov 1978]."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978
-              =>iso-ir 42
-             ;; final ?@
-             graphic 0
-             partial t))
+   '=adobe-japan1-3
+   "Adobe-Japan1-3 Character Collection for CID-Keyed Fonts"
+   '(long-name "Adobe-Japan1-3"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-2
+              min-code 0
+              max-code 9353
+              registry "AdobeJapan1-3$"))
   (make-charset
-   '=jis-x0208@1978/2-pr
-   "JIS X 0208:1978, 2nd impression or later."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978/1er-pr
-              =>iso-ir 42
-             ;; final ?@
-             graphic 0
-             partial t))
+   '=adobe-japan1-4
+   "Adobe-Japan1-4 Character Collection for CID-Keyed Fonts"
+   '(long-name "Adobe-Japan1-4"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-3
+              min-code 0
+              max-code 15443
+              registry "AdobeJapan1-4$"))
   (make-charset
-   '=jis-x0208@1978/4er
-   "JIS X 0208:1978, replaced by errata of 4th impression."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978/2-pr
-              =>iso-ir 42
-             ;; final ?@
-             graphic 0
-             partial t))
+   '=adobe-japan1-5
+   "Adobe-Japan1-5 Character Collection for CID-Keyed Fonts"
+   '(long-name "Adobe-Japan1-5"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-4
+              min-code 0
+              max-code 20316
+              registry "AdobeJapan1-5$"))
   (make-charset
-   '=jis-x0208@1978/4-pr
-   "JIS X 0208:1978, 4th impression or later."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978/2-pr
-              =>iso-ir 42
-             ;; final ?@
-             graphic 0
-             partial t))
+   '=adobe-japan1-6
+   "Adobe-Japan1-6 Character Collection for CID-Keyed Fonts"
+   '(long-name "Adobe-Japan1-6"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-5
+              min-code 0
+              max-code 23057
+              registry "AdobeJapan1-6$"))
+  (define-charset-alias '=adobe-japan1 '=adobe-japan1-6)
+
   (make-charset
-   '=jis-x0208@1978/5pr
-   "JIS X 0208:1978, 5th impression."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978/4-pr
-              =>iso-ir 42
-             ;; final ?@
-             graphic 0
-             partial t))
-  (define-charset-alias '=jis-x0208@1978/i1 '=jis-x0208@1978/1pr)
-  (define-charset-alias '=jis-x0208@1978/i-4 '=jis-x0208@1978/-4pr)
-  (define-charset-alias '=jis-x0208@1978/i4- '=jis-x0208@1978/4-pr)
-  )
- (t
+   '=>>>adobe-japan1-0
+   "Adobe-Japan1-0 abstract glyph-forms"
+   '(long-name "Adobe-Japan1-0 abstract glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =adobe-japan1-0
+              registry "AdobeJapan1-0$"))
   (make-charset
-   '=jis-x0208@1978
-   "JIS X0208:1978 Japanese Kanji (so called \"old JIS\")."
-   '(iso-ir 42
-           registry "jisx0208\\.1978"
-           dimension 2
-           chars 94
-           mother =jis-x0208
-           final ?@
-           graphic 0))
-  ))
-
-(define-charset-alias '=jis-x0208-1978         '=jis-x0208@1978)
-(define-charset-alias 'japanese-jisx0208-1978  '=jis-x0208@1978)
-(define-charset-alias 'chinese-gb2312          '=gb2312)
-(define-charset-alias '=jis-x0208-1983         '=jis-x0208@1983)
-(define-charset-alias 'japanese-jisx0208       '=jis-x0208@1983)
-(define-charset-alias 'korean-ksc5601          '=ks-x1001)
-(define-charset-alias 'japanese-jisx0212       '=jis-x0212)
-(define-charset-alias 'chinese-cns11643-1      '=cns11643-1)
-(define-charset-alias 'chinese-cns11643-2      '=cns11643-2)
-(define-charset-alias 'chinese-gb12345         '=gb12345)
-(define-charset-alias 'chinese-big5            '=big5)
-
-;; PinYin-ZhuYin
-(make-charset 'sisheng "PinYin-ZhuYin"
-             '(registry "sisheng_cwnn\\|OMRON_UDC_ZH"
-               dimension 1
-               chars 94
-               final ?0
-               graphic 0
-               ))
-
-;; Lao script.
-;; ISO10646's 0x0E80..0x0EDF are mapped to 0x20..0x7F.
-(make-charset 'lao "Lao script"
-             '(registry "MuleLao-1"
-               dimension 1
-               chars 94
-               final ?1
-               graphic 1))
-
-;; IPA (International Phonetic Alphabet)
-(make-charset 'ipa "International Phonetic Alphabet"
-             '(registry "MuleIPA"
-               dimension 1
-               chars 96
-               final ?0
-               graphic 1))
-
-;; Ethiopic
-(make-charset 'ethiopic "Ethiopic"
-             '(registry "Ethio"
-               dimension 2
-               chars 94
-               final ?3
-               graphic 0
-               ))
-
-;; ISO-IR-165 (CCITT Extended GB)
-;;    It is based on CCITT Recommendation T.101, includes GB 2312-80 +
-;;    GB 8565-88 table A4 + 293 characters.
-(if (featurep 'utf-2000)
-    (progn
-      (make-charset '=iso-ir165
-                   "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
-                   '(iso-ir 165
-                            dimension 2
-                            chars 94
-                            mother =gb2312
-                            final ?E
-                            registry "isoir165"
-                            graphic 0))
-      (define-charset-alias 'chinese-isoir165 '=iso-ir165))
-  (make-charset 'chinese-isoir165
-               "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
-               '(iso-ir 165
-                        dimension 2
-                        chars 94
-                        final ?E
-                        registry "isoir165"
-                        graphic 0)))
-
-;; CNS11643 Plane3 thru Plane7
-;; These represent more and more obscure Chinese characters.
-;; By the time you get to Plane 7, we're talking about characters
-;; that appear once in some ancient manuscript and whose meaning
-;; is unknown.
-
-(flet
-    ((make-chinese-cns11643-charset
-      (name iso-ir plane final)
-      (make-charset
-       name (concat "CNS 11643 Plane " plane " (Chinese traditional)")
-       `(iso-ir ,iso-ir
-        registry 
-        ,(concat "CNS11643[.-]\\(.*[.-]\\)?" plane "$")
-        dimension 2
-        chars 94
-        final ,final
-        graphic 0))
-      ))
-  (make-chinese-cns11643-charset '=cns11643-3 183 "3" ?I)
-  (make-chinese-cns11643-charset '=cns11643-4 184 "4" ?J)
-  (make-chinese-cns11643-charset '=cns11643-5 185 "5" ?K)
-  (make-chinese-cns11643-charset '=cns11643-6 186 "6" ?L)
-  (make-chinese-cns11643-charset '=cns11643-7 187 "7" ?M)
-  (define-charset-alias 'chinese-cns11643-3    '=cns11643-3)
-  (define-charset-alias 'chinese-cns11643-4    '=cns11643-4)
-  (define-charset-alias 'chinese-cns11643-5    '=cns11643-5)
-  (define-charset-alias 'chinese-cns11643-6    '=cns11643-6)
-  (define-charset-alias 'chinese-cns11643-7    '=cns11643-7)
-  )
-
-;; JIS X 0213:2000
-(cond
- ((featurep 'utf-2000)
-  (make-charset
-   '=jis-x0213-1
-   "JIS X 0213 Plain 1 (unchanged part)"
-   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
-             dimension 2
-             chars 94
-             =>iso-ir 228
-             final ?O
-             graphic 0
-             partial t))
-
+   '=>>>adobe-japan1-1
+   "Adobe-Japan1-1 abstract glyph-forms"
+   '(long-name "Adobe-Japan1-1 abstract glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>adobe-japan1-0
+              registry "AdobeJapan1-1$"))
   (make-charset
-   '=jis-x0213-1@2000
-   "JIS X 0213:2000 Plain 1"
-   '(iso-ir 228
-           registry "jisx0213\\(\\.2000\\)-1"
-           dimension 2
-           chars 94
-           mother =jis-x0213-1
-           final ?O
-           graphic 0))
+   '=>>>adobe-japan1-2
+   "Adobe-Japan1-2 abstract glyph-forms"
+   '(long-name "Adobe-Japan1-2 abstract glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>adobe-japan1-1
+              registry "AdobeJapan1-2$"))
   (make-charset
-   '=jis-x0213-2
-   "JIS X 0213 Plain 2"
-   '(iso-ir 229
-           registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
-           dimension 2
-           chars 94
-           final ?P
-           graphic 0))
-
+   '=>>>adobe-japan1-3
+   "Adobe-Japan1-3 abstract glyph-forms"
+   '(long-name "Adobe-Japan1-3 abstract glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>adobe-japan1-2
+              registry "AdobeJapan1-3$"))
   (make-charset
-   '=jis-x0213-1@2004
-   "JIS X 0213:2004 Plain 1"
-   '(iso-ir 233
-           registry "jisx0213\\(\\.2004\\)-1"
-           dimension 2
-           chars 94
-           mother =jis-x0213-1
-           final ?Q
-           graphic 0))
-
-  (define-charset-alias 'japanese-jisx0213-1 '=jis-x0213-1@2000)
-  (define-charset-alias 'japanese-jisx0213-2 '=jis-x0213-2)
-  (define-charset-alias '=jis-x0213-1-2000 '=jis-x0213-1@2000)
-  (define-charset-alias '=jis-x0213-2-2000 '=jis-x0213-2)
-  )
- (t
+   '=>>>adobe-japan1-4
+   "Adobe-Japan1-4 abstract glyph-forms"
+   '(long-name "Adobe-Japan1-4 abstract glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>adobe-japan1-3
+              registry "AdobeJapan1-4$"))
   (make-charset
-   'japanese-jisx0213-1
-   "JIS X 0213:2000 Plain 1"
-   '(registry "jisx0213\\(\\.2000\\)-1"
-             dimension 2
-             chars 94
-             final ?O
-             graphic 0))
+   '=>>>adobe-japan1-5
+   "Adobe-Japan1-5 abstract glyph-forms"
+   '(long-name "Adobe-Japan1-5 abstract glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>adobe-japan1-4
+              registry "AdobeJapan1-5$"))
   (make-charset
-   'japanese-jisx0213-2
-   "JIS X 0213:2000 Plain 2"
-   '(registry "jisx0213\\(\\.2000\\)-2"
-             dimension 2
-             chars 94
-             final ?P
-             graphic 0))
-  ))
-
-(when (featurep 'utf-2000)
-  (define-charset-alias 'ucs '=ucs)
-  (define-charset-alias '=jis-x0208-1990 '=jis-x0208@1990)
-  (define-charset-alias 'japanese-jisx0208-1990 '=jis-x0208@1990)
+   '=>>>adobe-japan1-6
+   "Adobe-Japan1-6 abstract glyph-forms"
+   '(long-name "Adobe-Japan1-6 abstract glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>adobe-japan1-5
+              registry "AdobeJapan1-6$"))
+  (define-charset-alias '=>>>adobe-japan1 '=>>>adobe-japan1-6)
 
   (make-charset
-   '=>>>jis-x0208
-   "JIS X 0208 abstract glyph-forms (unchanged part)."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
-  (make-charset
-   '=>>>jis-x0208@1978
-   "JIS X 0208:1978 abstract glyph-forms."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =>>>jis-x0208
-             =>iso-ir 42
-             ;; final ?@
-             graphic 0))
+   '=>>adobe-japan1-0
+   "Adobe-Japan1-0 abstract glyphs"
+   '(long-name "Adobe-Japan1-0 abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>adobe-japan1
+              registry "AdobeJapan1-0$"))
   (make-charset
-   '=>>>jis-x0208@1983
-   "JIS X 0208:1983 abstract glyph-forms."
-   '(registry "jisx0208\\.1983"
-             dimension 2
-             chars 94
-             mother =>>>jis-x0208
-             =>iso-ir 87
-             graphic 0))
+   '=>>adobe-japan1-1
+   "Adobe-Japan1-1 abstract glyphs"
+   '(long-name "Adobe-Japan1-1 abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>adobe-japan1-0
+              registry "AdobeJapan1-1"))
   (make-charset
-   '=>>>jis-x0208@1990
-   "JIS X 0208:1990 abstract glyph-forms."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =>>>jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
+   '=>>adobe-japan1-2
+   "Adobe-Japan1-2 abstract glyphs"
+   '(long-name "Adobe-Japan1-2 abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>adobe-japan1-1
+              registry "AdobeJapan1-2"))
   (make-charset
-   '=>>>jis-x0213-1
-   "JIS X 0213 Plain 1 abstract glyph-forms (unchanged part)"
-   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
-             dimension 2
-             chars 94
-             mother =jis-x0213-1
-             =>iso-ir 228
-              ;; final ?O
-             graphic 0
-              ;; partial t
-             ))
+   '=>>adobe-japan1-3
+   "Adobe-Japan1-3 abstract glyphs"
+   '(long-name "Adobe-Japan1-3 abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>adobe-japan1-2
+              registry "AdobeJapan1-3"))
   (make-charset
-   '=>>>jis-x0213-1@2000
-   "JIS X 0213:2000 Plain 1 abstract glyph-forms"
-   '(registry "jisx0213\\(\\.2000\\)-1"
-             dimension 2
-             chars 94
-             mother =>>>jis-x0213-1
-             =>iso-ir 228
-              ;; final ?O
-             graphic 0
-             ;; partial t
-             ))
+   '=>>adobe-japan1-4
+   "Adobe-Japan1-4 abstract glyphs"
+   '(long-name "Adobe-Japan1-4 abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>adobe-japan1-3
+              registry "AdobeJapan1-4"))
   (make-charset
-   '=>>>jis-x0213-1@2004
-   "JIS X 0213:2004 Plain 1 abstract glyph-forms"
-   '(mother =>>>jis-x0213-1
-           =>iso-ir 233
-           ;; registry "jisx0213\\(\\.2004\\)-1"
-           dimension 2
-           chars 94
-           graphic 0))
+   '=>>adobe-japan1-5
+   "Adobe-Japan1-5 abstract glyphs"
+   '(long-name "Adobe-Japan1-5 abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>adobe-japan1-4
+              registry "AdobeJapan1-5"))
   (make-charset
-   '=>>>jis-x0213-2
-   "JIS X 0213 Plain 2 abstract glyph-forms"
-   '(mother =jis-x0213-2
-           =>iso-ir 229
-           registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
-           dimension 2
-           chars 94
-           graphic 0))
+   '=>>adobe-japan1-6
+   "Adobe-Japan1-6 abstract glyphs"
+   '(long-name "Adobe-Japan1-6 abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>adobe-japan1-5
+              registry "AdobeJapan1-6"))
+  (define-charset-alias '=>>adobe-japan1 '=>>adobe-japan1-6)
 
   (make-charset
-   '=>>jis-x0208
-   "JIS X 0208 abstract glyphs (unchanged part)."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =>>>jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
+   '=+>adobe-japan1-0
+   "Adobe-Japan1-0 unified abstract glyphs"
+   '(long-name "Adobe-Japan1-0 unified abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>adobe-japan1
+              registry "AdobeJapan1-0$"))
   (make-charset
-   '=>>jis-x0208@1978
-   "JIS X 0208:1978 abstract glyphs."
+   '=+>adobe-japan1-1
+   "Adobe-Japan1-1 unified abstract glyphs"
+   '(long-name "Adobe-Japan1-1 unified abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =+>adobe-japan1-0
+              registry "AdobeJapan1-1"))
+  (make-charset
+   '=+>adobe-japan1-2
+   "Adobe-Japan1-2 unified abstract glyphs"
+   '(long-name "Adobe-Japan1-2 unified abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =+>adobe-japan1-1
+              registry "AdobeJapan1-2"))
+  (make-charset
+   '=+>adobe-japan1-3
+   "Adobe-Japan1-3 unified abstract glyphs"
+   '(long-name "Adobe-Japan1-3 unified abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =+>adobe-japan1-2
+              registry "AdobeJapan1-3"))
+  (make-charset
+   '=+>adobe-japan1-4
+   "Adobe-Japan1-4 unified abstract glyphs"
+   '(long-name "Adobe-Japan1-4 unified abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =+>adobe-japan1-3
+              registry "AdobeJapan1-4"))
+  (make-charset
+   '=+>adobe-japan1-5
+   "Adobe-Japan1-5 unified abstract glyphs"
+   '(long-name "Adobe-Japan1-5 unified abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =+>adobe-japan1-4
+              registry "AdobeJapan1-5"))
+  (make-charset
+   '=+>adobe-japan1-6
+   "Adobe-Japan1-6 unified abstract glyphs"
+   '(long-name "Adobe-Japan1-6 unified abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =+>adobe-japan1-5
+              registry "AdobeJapan1-6"))
+  (define-charset-alias '=+>adobe-japan1 '=+>adobe-japan1-6)
+
+  (make-charset
+   '=jis-x0208@1978
+   "JIS X 0208:1978, unchanged part."
    '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =>>jis-x0208
+             mother =jis-x0208
              =>iso-ir 42
-             ;; final ?@
-             graphic 0))
+             final ?@
+             graphic 0
+             partial t))
   (make-charset
-   '=>>jis-x0208@1983
-   "JIS X 0208:1983 abstract glyphs."
-   '(registry "jisx0208\\.1983"
+   '=jis-x0208@1978/-4pr
+   "JIS X 0208:1978, 1st - 3rd impressions."
+   '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =>>jis-x0208
-             =>iso-ir 87
-             graphic 0))
+             mother =jis-x0208@1978
+             =>iso-ir 42
+             final ?@
+             graphic 0
+             partial t))
   (make-charset
-   '=>>jis-x0208@1990
-   "JIS X 0208:1990 abstract glyphs."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =>>jis-x0208
-             =>iso-ir 168
-             graphic 0))
-
+   '=jis-x0208@1978/1pr
+   "JIS X 0208:1978, 1st impression."
+   '(iso-ir 42
+           registry "jisx0208\\.1978"
+           dimension 2
+           chars 94
+           mother =jis-x0208@1978/-4pr
+           final ?@
+           graphic 0))
   (make-charset
-   '=>>jis-x0213-1
-   "JIS X 0213 Plain 1 abstract glyphs (unchanged part)"
-   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
+   '=jis-x0208@1978/1pr/fixed
+   "JIS X 0208:1978, correct glyph in the errata of 1st impression."
+   '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =>>>jis-x0213-1
-             =>iso-ir 228
-              ;; final ?O
+             mother =jis-x0208@1978/1pr
+             =>iso-ir 42
+             ;; final ?@
              graphic 0
-              ;; partial t
-             ))
+             partial t))
   (make-charset
-   '=>>jis-x0213-1@2000
-   "JIS X 0213:2000 Plain 1 abstract glyphs"
-   '(registry "jisx0213\\(\\.2000\\)-1"
+   '=jis-x0208@1978/-4X
+   "JIS X 0208:1978, index before the 4th impression."
+   '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =>>jis-x0213-1
-             =>iso-ir 228
-              ;; final ?O
+             mother =jis-x0208@1978
+             =>iso-ir 42
+              ;; final ?@
              graphic 0
-             ;; partial t
-             ))
+             partial t))
+  ;; (make-charset
+  ;;  '=jis-x0208@1978/1er-pr
+  ;;  "JIS X 0208:1978, fixed by errata [Nov 1978]."
+  ;;  '(registry "jisx0208\\.1978"
+  ;;             dimension 2
+  ;;             chars 94
+  ;;             mother =jis-x0208@1978
+  ;;             =>iso-ir 42
+  ;;             ;; final ?@
+  ;;             graphic 0
+  ;;             partial t))
   (make-charset
-   '=>>jis-x0213-2
-   "JIS X 0213 Plain 2 abstract glyphs"
-   '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
+   '=jis-x0208@1978/2-pr
+   "JIS X 0208:1978, 2nd impression or later."
+   '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =>>>jis-x0213-2
-             =>iso-ir 229
-              ;; final ?P
-             graphic 0))
+              ;; mother =jis-x0208@1978/1er-pr
+             mother =jis-x0208@1978
+              =>iso-ir 42
+             ;; final ?@
+             graphic 0
+             partial t))
   (make-charset
-   '=>>jis-x0213-1@2004
-   "JIS X 0213:2004 Plain 1 abstract glyphs"
-   '(registry "jisx0213\\(\\.2004\\)-1"
+   '=jis-x0208@1978/4er
+   "JIS X 0208:1978, replaced by errata of 4th impression."
+   '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =>>jis-x0213-1
-             =>iso-ir 233
-              ;; final ?Q
+             mother =jis-x0208@1978/2-pr
+              =>iso-ir 42
+             ;; final ?@
              graphic 0
-              ;; partial t
-             ))
-
+             partial t))
   (make-charset
-   '=+>jis-x0208
-   "JIS X 0208 based on usual unification."
-   '(registry "jisx0208\\.1990"
+   '=jis-x0208@1978/4-pr
+   "JIS X 0208:1978, 4th impression or later."
+   '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =>>jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
-  (define-charset-alias '=>jis-x0208@usual '=+>jis-x0208)
+             mother =jis-x0208@1978/2-pr
+              =>iso-ir 42
+             ;; final ?@
+             graphic 0
+             partial t))
   (make-charset
-   '=+>jis-x0208@1978
-   "JIS X 0208:1978 unified abstract glyphs."
+   '=jis-x0208@1978/5pr
+   "JIS X 0208:1978, 5th impression."
    '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             mother =+>jis-x0208
-             =>iso-ir 42
+             mother =jis-x0208@1978/4-pr
+              =>iso-ir 42
+             ;; final ?@
+             graphic 0
+             partial t))
+  (define-charset-alias '=jis-x0208@1978/i1 '=jis-x0208@1978/1pr)
+  (define-charset-alias '=jis-x0208@1978/i-4 '=jis-x0208@1978/-4pr)
+  (define-charset-alias '=jis-x0208@1978/i4- '=jis-x0208@1978/4-pr)
+  )
+ (t
+  (make-charset
+   '=jis-x0208@1978
+   "JIS X0208:1978 Japanese Kanji (so called \"old JIS\")."
+   '(iso-ir 42
+           registry "jisx0208\\.1978"
+           dimension 2
+           chars 94
+           mother =jis-x0208
+           final ?@
+           graphic 0))
+  ))
+
+(define-charset-alias '=jis-x0208-1978         '=jis-x0208@1978)
+(define-charset-alias 'japanese-jisx0208-1978  '=jis-x0208@1978)
+(define-charset-alias 'chinese-gb2312          '=gb2312)
+(define-charset-alias '=jis-x0208-1983         '=jis-x0208@1983)
+(define-charset-alias 'japanese-jisx0208       '=jis-x0208@1983)
+(define-charset-alias 'korean-ksc5601          '=ks-x1001)
+(define-charset-alias 'japanese-jisx0212       '=jis-x0212)
+(define-charset-alias 'chinese-cns11643-1      '=cns11643-1)
+(define-charset-alias 'chinese-cns11643-2      '=cns11643-2)
+(define-charset-alias 'chinese-gb12345         '=gb12345)
+(define-charset-alias 'chinese-big5            '=big5)
+
+;; PinYin-ZhuYin
+(make-charset 'sisheng "PinYin-ZhuYin"
+             '(registry "sisheng_cwnn\\|OMRON_UDC_ZH"
+               dimension 1
+               chars 94
+               final ?0
+               graphic 0
+               ))
+
+;; Lao script.
+;; ISO10646's 0x0E80..0x0EDF are mapped to 0x20..0x7F.
+(make-charset 'lao "Lao script"
+             '(registry "MuleLao-1"
+               dimension 1
+               chars 94
+               final ?1
+               graphic 1))
+
+;; IPA (International Phonetic Alphabet)
+(make-charset 'ipa "International Phonetic Alphabet"
+             '(registry "MuleIPA"
+               dimension 1
+               chars 96
+               final ?0
+               graphic 1))
+
+;; Ethiopic
+(make-charset 'ethiopic "Ethiopic"
+             '(registry "Ethio"
+               dimension 2
+               chars 94
+               final ?3
+               graphic 0
+               ))
+
+;; ISO-IR-165 (CCITT Extended GB)
+;;    It is based on CCITT Recommendation T.101, includes GB 2312-80 +
+;;    GB 8565-88 table A4 + 293 characters.
+(if (featurep 'utf-2000)
+    (progn
+      (make-charset '=iso-ir165
+                   "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
+                   '(iso-ir 165
+                            dimension 2
+                            chars 94
+                            mother =gb2312
+                            final ?E
+                            registry "isoir165"
+                            graphic 0))
+      (define-charset-alias 'chinese-isoir165 '=iso-ir165))
+  (make-charset 'chinese-isoir165
+               "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
+               '(iso-ir 165
+                        dimension 2
+                        chars 94
+                        final ?E
+                        registry "isoir165"
+                        graphic 0)))
+
+;; CNS11643 Plane3 thru Plane7
+;; These represent more and more obscure Chinese characters.
+;; By the time you get to Plane 7, we're talking about characters
+;; that appear once in some ancient manuscript and whose meaning
+;; is unknown.
+
+(flet
+    ((make-chinese-cns11643-charset
+      (name iso-ir plane final)
+      (make-charset
+       name (concat "CNS 11643 Plane " plane " (Chinese traditional)")
+       `(iso-ir ,iso-ir
+        registry 
+        ,(concat "CNS11643[.-]\\(.*[.-]\\)?" plane "$")
+        dimension 2
+        chars 94
+        final ,final
+        graphic 0))
+      ))
+  (make-chinese-cns11643-charset '=cns11643-3 183 "3" ?I)
+  (make-chinese-cns11643-charset '=cns11643-4 184 "4" ?J)
+  (make-chinese-cns11643-charset '=cns11643-5 185 "5" ?K)
+  (make-chinese-cns11643-charset '=cns11643-6 186 "6" ?L)
+  (make-chinese-cns11643-charset '=cns11643-7 187 "7" ?M)
+  (define-charset-alias 'chinese-cns11643-3    '=cns11643-3)
+  (define-charset-alias 'chinese-cns11643-4    '=cns11643-4)
+  (define-charset-alias 'chinese-cns11643-5    '=cns11643-5)
+  (define-charset-alias 'chinese-cns11643-6    '=cns11643-6)
+  (define-charset-alias 'chinese-cns11643-7    '=cns11643-7)
+  )
+
+;; JIS X 0213:2000
+(cond
+ ((featurep 'utf-2000)
+  (make-charset
+   '=jis-x0213-1
+   "JIS X 0213 Plain 1 (unchanged part)"
+   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
+             dimension 2
+             chars 94
+             =>iso-ir 228
+             final ?O
+             graphic 0
+             partial t))
+
+  (make-charset
+   '=jis-x0213-1@2000
+   "JIS X 0213:2000 Plain 1"
+   '(iso-ir 228
+           registry "jisx0213\\(\\.2000\\)-1"
+           dimension 2
+           chars 94
+           mother =jis-x0213-1
+           final ?O
+           graphic 0))
+  (make-charset
+   '=jis-x0213-2
+   "JIS X 0213 Plain 2"
+   '(iso-ir 229
+           registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
+           dimension 2
+           chars 94
+           final ?P
+           graphic 0))
+
+  (make-charset
+   '=jis-x0213-1@2004
+   "JIS X 0213:2004 Plain 1"
+   '(iso-ir 233
+           registry "jisx0213\\(\\.2004\\)-1"
+           dimension 2
+           chars 94
+           mother =jis-x0213-1
+           final ?Q
+           graphic 0))
+
+  (define-charset-alias 'japanese-jisx0213-1 '=jis-x0213-1@2000)
+  (define-charset-alias 'japanese-jisx0213-2 '=jis-x0213-2)
+  (define-charset-alias '=jis-x0213-1-2000 '=jis-x0213-1@2000)
+  (define-charset-alias '=jis-x0213-2-2000 '=jis-x0213-2)
+  )
+ (t
+  (make-charset
+   'japanese-jisx0213-1
+   "JIS X 0213:2000 Plain 1"
+   '(registry "jisx0213\\(\\.2000\\)-1"
+             dimension 2
+             chars 94
+             final ?O
+             graphic 0))
+  (make-charset
+   'japanese-jisx0213-2
+   "JIS X 0213:2000 Plain 2"
+   '(registry "jisx0213\\(\\.2000\\)-2"
+             dimension 2
+             chars 94
+             final ?P
+             graphic 0))
+  ))
+
+(when (featurep 'utf-2000)
+  (define-charset-alias 'ucs '=ucs)
+  (define-charset-alias '=jis-x0208-1990 '=jis-x0208@1990)
+  (define-charset-alias 'japanese-jisx0208-1990 '=jis-x0208@1990)
+
+  (make-charset
+   '=>>>jis-x0208
+   "JIS X 0208 abstract glyph-forms (unchanged part)."
+   '(registry "jisx0208\\.1990"
+             dimension 2
+             chars 94
+             mother =jis-x0208
+             =>iso-ir 168
+             ;; final ?B
+             graphic 0))
+  (make-charset
+   '=>>>jis-x0208@1978
+   "JIS X 0208:1978 abstract glyph-forms."
+   '(registry "jisx0208\\.1978"
+             dimension 2
+             chars 94
+             mother =>>>jis-x0208
+             =>iso-ir 42
              ;; final ?@
              graphic 0))
   (make-charset
-   '=+>jis-x0208@1983
-   "JIS X 0208:1983 unified abstract glyphs."
+   '=>>>jis-x0208@1983
+   "JIS X 0208:1983 abstract glyph-forms."
    '(registry "jisx0208\\.1983"
              dimension 2
              chars 94
-             mother =+>jis-x0208
+             mother =>>>jis-x0208
              =>iso-ir 87
              graphic 0))
   (make-charset
-   '=+>jis-x0208@1990
-   "JIS X 0208:1990 unified abstract glyphs."
+   '=>>>jis-x0208@1990
+   "JIS X 0208:1990 abstract glyph-forms."
    '(registry "jisx0208\\.1990"
              dimension 2
              chars 94
-             mother =+>jis-x0208
+             mother =>>>jis-x0208
              =>iso-ir 168
+             ;; final ?B
              graphic 0))
   (make-charset
-   '=+>jis-x0213-1
-   "JIS X 0213 Plain 1 unified abstract glyphs (unchanged part)"
+   '=>>>jis-x0213-1
+   "JIS X 0213 Plain 1 abstract glyph-forms (unchanged part)"
    '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
              dimension 2
              chars 94
-             mother =>>jis-x0213-1
+             mother =jis-x0213-1
              =>iso-ir 228
               ;; final ?O
              graphic 0
               ;; partial t
              ))
   (make-charset
-   '=+>jis-x0213-1@2000
-   "JIS X 0213:2000 Plain 1 unified abstract glyphs"
+   '=>>>jis-x0213-1@2000
+   "JIS X 0213:2000 Plain 1 abstract glyph-forms"
    '(registry "jisx0213\\(\\.2000\\)-1"
              dimension 2
              chars 94
-             mother =+>jis-x0213-1
+             mother =>>>jis-x0213-1
              =>iso-ir 228
               ;; final ?O
              graphic 0
              ;; partial t
              ))
-
-  (make-charset
-   '=>jis-x0208
-   "JIS X 0208 based on the unchanged unification rules."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =+>jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
-  (define-charset-alias '<=>jis-x0208 '=>jis-x0208)
   (make-charset
-   '=>jis-x0208@1997
-   "JIS X 0208 based on the unification rule of 1997 edition."
-   '(registry "jisx0208\\.1990"
+   '=>>>jis-x0213-1@2004
+   "JIS X 0213:2004 Plain 1 abstract glyph-forms"
+   '(mother =>>>jis-x0213-1
+           =>iso-ir 233
+           ;; registry "jisx0213\\(\\.2004\\)-1"
+           dimension 2
+           chars 94
+           graphic 0))
+  (make-charset
+   '=>>>jis-x0213-2
+   "JIS X 0213 Plain 2 abstract glyph-forms"
+   '(mother =jis-x0213-2
+           =>iso-ir 229
+           registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
+           dimension 2
+           chars 94
+           graphic 0))
+
+  (make-charset
+   '=>>jis-x0208
+   "JIS X 0208 abstract glyphs (unchanged part)."
+   '(registry "jisx0208\\.1990"
+             dimension 2
+             chars 94
+             mother =>>>jis-x0208
+             =>iso-ir 168
+             ;; final ?B
+             graphic 0))
+  (make-charset
+   '=>>jis-x0208@1978
+   "JIS X 0208:1978 abstract glyphs."
+   '(registry "jisx0208\\.1978"
+             dimension 2
+             chars 94
+             mother =>>jis-x0208
+             =>iso-ir 42
+             ;; final ?@
+             graphic 0))
+  (make-charset
+   '=>>jis-x0208@1983
+   "JIS X 0208:1983 abstract glyphs."
+   '(registry "jisx0208\\.1983"
+             dimension 2
+             chars 94
+             mother =>>jis-x0208
+             =>iso-ir 87
+             graphic 0))
+  (make-charset
+   '=>>jis-x0208@1990
+   "JIS X 0208:1990 abstract glyphs."
+   '(registry "jisx0208\\.1990"
+             dimension 2
+             chars 94
+             mother =>>jis-x0208
+             =>iso-ir 168
+             graphic 0))
+
+  (make-charset
+   '=>>jis-x0213-1
+   "JIS X 0213 Plain 1 abstract glyphs (unchanged part)"
+   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
+             dimension 2
+             chars 94
+             mother =>>>jis-x0213-1
+             =>iso-ir 228
+              ;; final ?O
+             graphic 0
+              ;; partial t
+             ))
+  (make-charset
+   '=>>jis-x0213-1@2000
+   "JIS X 0213:2000 Plain 1 abstract glyphs"
+   '(registry "jisx0213\\(\\.2000\\)-1"
+             dimension 2
+             chars 94
+             mother =>>jis-x0213-1
+             =>iso-ir 228
+              ;; final ?O
+             graphic 0
+             ;; partial t
+             ))
+  (make-charset
+   '=>>jis-x0213-2
+   "JIS X 0213 Plain 2 abstract glyphs"
+   '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
+             dimension 2
+             chars 94
+             mother =>>>jis-x0213-2
+             =>iso-ir 229
+              ;; final ?P
+             graphic 0))
+  (make-charset
+   '=>>jis-x0213-1@2004
+   "JIS X 0213:2004 Plain 1 abstract glyphs"
+   '(registry "jisx0213\\(\\.2004\\)-1"
+             dimension 2
+             chars 94
+             mother =>>jis-x0213-1
+             =>iso-ir 233
+              ;; final ?Q
+             graphic 0
+              ;; partial t
+             ))
+
+  (make-charset
+   '=+>jis-x0208
+   "JIS X 0208 based on usual unification."
+   '(registry "jisx0208\\.1990"
+             dimension 2
+             chars 94
+             mother =>>jis-x0208
+             =>iso-ir 168
+             ;; final ?B
+             graphic 0))
+  (define-charset-alias '=>jis-x0208@usual '=+>jis-x0208)
+  (make-charset
+   '=+>jis-x0208@1978
+   "JIS X 0208:1978 unified abstract glyphs."
+   '(registry "jisx0208\\.1978"
+             dimension 2
+             chars 94
+             mother =+>jis-x0208
+             =>iso-ir 42
+             ;; final ?@
+             graphic 0))
+  (make-charset
+   '=+>jis-x0208@1983
+   "JIS X 0208:1983 unified abstract glyphs."
+   '(registry "jisx0208\\.1983"
+             dimension 2
+             chars 94
+             mother =+>jis-x0208
+             =>iso-ir 87
+             graphic 0))
+  (make-charset
+   '=+>jis-x0208@1990
+   "JIS X 0208:1990 unified abstract glyphs."
+   '(registry "jisx0208\\.1990"
+             dimension 2
+             chars 94
+             mother =+>jis-x0208
+             =>iso-ir 168
+             graphic 0))
+  (make-charset
+   '=+>jis-x0213-1
+   "JIS X 0213 Plain 1 unified abstract glyphs (unchanged part)"
+   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
+             dimension 2
+             chars 94
+             mother =>>jis-x0213-1
+             =>iso-ir 228
+              ;; final ?O
+             graphic 0
+              ;; partial t
+             ))
+  (make-charset
+   '=+>jis-x0213-1@2000
+   "JIS X 0213:2000 Plain 1 unified abstract glyphs"
+   '(registry "jisx0213\\(\\.2000\\)-1"
+             dimension 2
+             chars 94
+             mother =+>jis-x0213-1
+             =>iso-ir 228
+              ;; final ?O
+             graphic 0
+             ;; partial t
+             ))
+  (make-charset
+   '=+>jis-x0213-1@2004
+   "JIS X 0213:2004 Plain 1 unified abstract glyphs"
+   '(registry "jisx0213\\(\\.2004\\)-1"
+             dimension 2
+             chars 94
+             mother =+>jis-x0213-1
+             =>iso-ir 233
+              ;; final ?Q
+             graphic 0
+              ;; partial t
+             ))
+
+  (make-charset
+   '=>jis-x0208
+   "JIS X 0208 based on the unchanged unification rules."
+   '(registry "jisx0208\\.1990"
+             dimension 2
+             chars 94
+             mother =+>jis-x0208
+             =>iso-ir 168
+             ;; final ?B
+             graphic 0))
+  (define-charset-alias '<=>jis-x0208 '=>jis-x0208)
+  (make-charset
+   '=>jis-x0208@1997
+   "JIS X 0208 based on the unification rule of 1997 edition."
+   '(registry "jisx0208\\.1990"
              dimension 2
              chars 94
              mother =>jis-x0208
              graphic 0))
 
   (make-charset
+   '=>>cns11643-4
+   "CNS 11643 Plane 4 abstract glyphs."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?4$"
+             dimension 2
+             chars 94
+             mother =cns11643-4
+             =>iso-ir 184
+             graphic 0))
+
+  (make-charset
+   '=>cns11643-2
+   "CNS 11643 Plane 2 abstract characters."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?2$"
+             dimension 2
+             chars 94
+             mother =cns11643-2
+             =>iso-ir 172
+             graphic 0))
+  (make-charset
+   '=>cns11643-6
+   "CNS 11643 Plane 6 abstract characters."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?6$"
+             dimension 2
+             chars 94
+             mother =cns11643-6
+             =>iso-ir 186
+             graphic 0))
+  (make-charset
    '=>cns11643-7
    "CNS 11643 Plane 7 abstract characters."
    '(registry "CNS11643[.-]\\(.*[.-]\\)?7$"
              =>iso-ir 187
              graphic 0))
 
+  (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 (#xF9D6 .. #xF9FE)"
+               '(long-name     "Big5-ETEN-a"
+                 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 (#xC6A1 .. #xC8FE)"
+               '(long-name     "Big5-ETEN-b"
+                 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 with CDP extension"
                '(long-name     "Big5-CDP"
                  registry      "big5\\.cdp-0"
                  mother        =>>big5-cdp))
 
-  (make-charset '=gt
-               "GT 2000"
-               `(long-name     "GT"
-                 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
-               "GT 2000 abstract glyph-forms"
-               '(long-name     "GT abstract glyph-forms"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 mother        =gt))
-  (make-charset '=>>gt
-               "GT 2000 abstract glyphs"
-               '(long-name     "GT abstract glyphs"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 mother        =>>>gt))
-  (define-charset-alias '<=>gt '=>>gt)
-  (define-charset-alias '<==>gt '=>>gt)
-  (make-charset '=+>gt
-               "GT 2000 unified abstract glyphs"
-               '(long-name     "Unified abstract GT glyphs"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 mother        =>>gt))
-  (make-charset '=>gt
-               "GT 2000 abstract characters"
-               '(long-name     "abstract GT characters"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 mother        =+>gt))
-  (make-charset '=gt-k
-               "Ideographic components of GT"
-               `(long-name     "GT components"
-                 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)
-  (make-charset '=>>gt-k
-               "abstract glyphs of GT-K"
-               '(long-name     "GT-K abstract glyphs"
-                 chars         256
-                 dimension     2
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 mother        =gt-k))
-  (make-charset '=>gt-k
-               "GT-K abstract characters"
-               '(long-name     "GT-K abstract characters"
-                 chars         256
-                 dimension     2
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 mother        =>>gt-k))
-  (let ((i 1))
-    (while (<= i 11)
-      (make-charset
-       (intern (format "=gt-pj-%d" i))
-       (format "GT 2000 (pseudo JIS encoding) part %d" i)
-       `(long-name ,(format "GT PJ %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))))
   (make-charset
-   '=gt-pj-k1
-   "Ideographic parts of GT (pseudo JIS encoding) part 1"
-   '(long-name "GT K1"
+   '=hanyo-denshi/ja
+   "JA (JIS X0208) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/JA"
               chars 94
               dimension 2
               columns 2
-              graphic 0
+              graphic 2
               direction l2r
-              registry "\\(GTKpj-1\\|jisx0208\\.GTK-1\\)$"))
-  (define-charset-alias 'ideograph-gt-pj-k1 '=gt-pj-k1)
+              registry "HanyoDenshi\\.JA-0$"
+              min-code ,(lsh #x6400 16)
+              max-code ,(+ (lsh #x6400 16) (1- (* 94 94)))
+              code-offset ,(lsh #x6400 16)))
   (make-charset
-   '=gt-pj-k2
-   "Ideographic parts of GT (pseudo JIS encoding) part 2"
-   '(long-name "GT K2"
+   '=hanyo-denshi/jb
+   "JB (JIS X0212) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/JB"
               chars 94
               dimension 2
               columns 2
-              graphic 0
+              graphic 2
               direction l2r
-              registry "\\(GTKpj-2\\|jisx0208\\.GTK-2\\)$"))
-  (define-charset-alias 'ideograph-gt-pj-k2 '=gt-pj-k2)
-
-  (make-charset '=daikanwa
-               "Daikanwa dictionary (unchanged part)"
-               `(long-name     "Daikanwa"
-                 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))
-  (define-charset-alias 'ideograph-daikanwa '=daikanwa)
+              registry "HanyoDenshi\\.JB-0$"
+              min-code    ,(+ (lsh #x6400 16) (* 94 94))
+              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 2)))
+              code-offset ,(+ (lsh #x6400 16) (* 94 94))))
+  (make-charset
+   '=hanyo-denshi/jc
+   "JC (JIS X0213:2000 Plane 1) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/JC"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JC-0$"
+              min-code    ,(+ (lsh #x6400 16) (* 94 94 2))
+              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 3)))
+              code-offset ,(+ (lsh #x6400 16) (* 94 94 2))))
+  (make-charset
+   '=hanyo-denshi/jd
+   "JD (JIS X0213:2000 Plane 1) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/JD"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JD-0$"
+              min-code    ,(+ (lsh #x6400 16) (* 94 94 3))
+              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 4)))
+              code-offset ,(+ (lsh #x6400 16) (* 94 94 3))))
+  (make-charset
+   '=hanyo-denshi/ft
+   "FT (FDPC additional) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/FT"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.FT-0$"
+              min-code    ,(+ (lsh #x6400 16) (* 94 94 4))
+              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 5)))
+              code-offset ,(+ (lsh #x6400 16) (* 94 94 4))))
+  (make-charset
+   '=hanyo-denshi/ia
+   "IA part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/IA"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IA-0$"
+              min-code    ,(+ (lsh #x6400 16) (* 94 94 5))
+              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 6)))
+              code-offset ,(+ (lsh #x6400 16) (* 94 94 5))))
+  (make-charset
+   '=hanyo-denshi/ib
+   "IB part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/IB"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IB-0$"
+              min-code    ,(+ (lsh #x6400 16) (* 94 94 6))
+              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 7)))
+              code-offset ,(+ (lsh #x6400 16) (* 94 94 6))))
+  (make-charset
+   '=hanyo-denshi/hg
+   "HG (HyouGai Kanji) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/HG"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.HG-0$"
+              min-code    ,(+ (lsh #x6400 16) (* 94 94 7))
+              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 8)))
+              code-offset ,(+ (lsh #x6400 16) (* 94 94 7))))
+  (make-charset
+   '=hanyo-denshi/ip
+   "IP (for IPA) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/IP"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IP-0$"
+              min-code    ,(+ (lsh #x6402 16) #x4E00)
+              max-code    ,(+ (lsh #x6402 16) #x9FFF)
+              code-offset ,(+ (lsh #x6402 16))))
+  (make-charset
+   '=hanyo-denshi/jt
+   "JT (Juuki Touitsu Moji) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/JT"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JT-0$"
+              min-code    ,(+ (lsh #x6402 16) #xAC00)
+              max-code    ,(+ (lsh #x6402 16) #xD7AF)
+              code-offset ,(+ (lsh #x6402 16))))
+  (make-charset
+   '=hanyo-denshi/ks
+   "KS (KoSeki) part of Han'you-Denshi characters"
+   `(long-name "Han'you-Denshi/KS font encoding"
+              chars 256
+              dimension 3
+              columns 2
+              graphic 2
+              direction l2r))
+  (make-charset
+   '=hanyo-denshi/ks/mf
+   "font encoding for KS (KoSeki) characters"
+   `(long-name "Han'you-Denshi/KS font encoding"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.KSMF-0$"
+              min-code       ,(lsh #x6403 16)
+              max-code    ,(+ (lsh #x6403 16) #xFFFF)
+              code-offset    ,(lsh #x6403 16)))
 
-  (make-charset '=daikanwa@rev1
-               "Daikanwa dictionary (revised version)"
-               '(long-name     "Daikanwa Rev."
+  (make-charset
+   '=>>>hanyo-denshi/ja
+   "Han'you-Denshi/JA abstract glyph-forms"
+   '(long-name "Han'you-Denshi/JA glyph-forms"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JA-0$"
+              mother =hanyo-denshi/ja))
+  (make-charset
+   '=>>>hanyo-denshi/jb
+   "Han'you-Denshi/JB abstract glyph-forms"
+   '(long-name "Han'you-Denshi/JB glyph-forms"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JB-0$"
+              mother =hanyo-denshi/jb))
+  (make-charset
+   '=>>>hanyo-denshi/jc
+   "Han'you-Denshi/JC abstract glyph-forms"
+   '(long-name "Han'you-Denshi/JC glyph-forms"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JC-0$"
+              mother =hanyo-denshi/jc))
+  (make-charset
+   '=>>>hanyo-denshi/jd
+   "Han'you-Denshi/JD abstract glyph-forms"
+   '(long-name "Han'you-Denshi/JD glyph-forms"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JD-0$"
+              mother =hanyo-denshi/jd))
+  (make-charset
+   '=>>>hanyo-denshi/ft
+   "Han'you-Denshi/FT abstract glyph-forms"
+   '(long-name "Han'you-Denshi/FT glyph-forms"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.FT-0$"
+              mother =hanyo-denshi/ft))
+  (make-charset
+   '=>>>hanyo-denshi/ib
+   "Han'you-Denshi/IB abstract glyph-forms"
+   '(long-name "Han'you-Denshi/IB glyph-forms"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IB-0$"
+              mother =hanyo-denshi/ib))
+  (make-charset
+   '=>>>hanyo-denshi/hg
+   "Han'you-Denshi/HG abstract glyph-forms"
+   '(long-name "Han'you-Denshi/HG glyph-forms"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.HG-0$"
+              mother =hanyo-denshi/hg))
+  (make-charset
+   '=>>>hanyo-denshi/jt
+   "JT (Juuki Touitsu Moji) abstract glyph-forms"
+   '(long-name "Han'you-Denshi/JT glyph-forms"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JT-0$"
+              mother =hanyo-denshi/jt))
+  (make-charset
+   '=>>>hanyo-denshi/ks
+   "KoSeki-touitsu-moji abstract glyph-forms"
+   '(long-name "Han'you-Denshi/KS glyph-forms"
+              chars 256
+              dimension 3
+              columns 2
+              graphic 2
+              direction l2r
+              mother =hanyo-denshi/ks))
+
+  (make-charset
+   '=>>hanyo-denshi/ja
+   "Han'you-Denshi/JA abstract glyphs"
+   '(long-name "Han'you-Denshi/JA glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JA-0$"
+              mother =>>>hanyo-denshi/ja))
+  (make-charset
+   '=>>hanyo-denshi/jb
+   "Han'you-Denshi/JB abstract glyphs"
+   '(long-name "Han'you-Denshi/JB glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JB-0$"
+              mother =>>>hanyo-denshi/jb))
+  (make-charset
+   '=>>hanyo-denshi/jc
+   "Han'you-Denshi/JC abstract glyphs"
+   '(long-name "Han'you-Denshi/JC glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JC-0$"
+              mother =>>>hanyo-denshi/jc))
+  (make-charset
+   '=>>hanyo-denshi/jd
+   "Han'you-Denshi/JD abstract glyphs"
+   '(long-name "Han'you-Denshi/JD glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JD-0$"
+              mother =>>>hanyo-denshi/jd))
+  (make-charset
+   '=>>hanyo-denshi/ft
+   "Han'you-Denshi/FT abstract glyphs"
+   '(long-name "Han'you-Denshi/FT glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.FT-0$"
+              mother =>>>hanyo-denshi/ft))
+  (make-charset
+   '=>>hanyo-denshi/ia
+   "Han'you-Denshi/IA abstract glyphs"
+   '(long-name "Han'you-Denshi/IA glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IA-0$"
+              mother =hanyo-denshi/ia))
+  (make-charset
+   '=>>hanyo-denshi/ib
+   "Han'you-Denshi/IB abstract glyphs"
+   '(long-name "Han'you-Denshi/IB abstract glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IB-0$"
+              mother =>>>hanyo-denshi/ib))
+  (make-charset
+   '=>>hanyo-denshi/hg
+   "Han'you-Denshi/HG abstract glyphs"
+   '(long-name "Han'you-Denshi/HG abstract glyphs"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.HG-0$"
+              mother =>>>hanyo-denshi/hg))
+  (make-charset
+   '=>>hanyo-denshi/ip
+   "Han'you-Denshi/IP abstract glyphs"
+   '(long-name "Han'you-Denshi/IP abstract glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IP-0$"
+              mother =hanyo-denshi/ip))
+  (make-charset
+   '=>>hanyo-denshi/jt
+   "JT (Juuki Touitsu Moji) abstract glyphs"
+   '(long-name "Han'you-Denshi/JT glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JT-0$"
+              mother =>>>hanyo-denshi/jt))
+  (make-charset
+   '=>>hanyo-denshi/ks
+   "Han'you-Denshi/KS abstract glyphs"
+   '(long-name "Han'you-Denshi/KS glyphs"
+              chars 256
+              dimension 3
+              columns 2
+              graphic 2
+              direction l2r
+              mother =>>>hanyo-denshi/ks))
+
+  (make-charset '=gt
+               "GT 2000"
+               `(long-name     "GT"
                  chars         256
-                 dimension     2
+                 dimension     3
                  columns       2
                  graphic       2
                  direction     l2r
-                 registry      "Daikanwa\\(\\.[0-9]+\\)?-2"
-                 mother        =daikanwa))
-  (define-charset-alias 'ideograph-daikanwa-2 '=daikanwa@rev1)
-  (define-charset-alias '=daikanwa-rev1 '=daikanwa@rev1)
-
-  (make-charset '=daikanwa@rev2
-               "Daikanwa dictionary (revised version 2)"
-               '(long-name     "Daikanwa"
+                 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
+               "GT 2000 abstract glyph-forms"
+               '(long-name     "GT abstract glyph-forms"
                  chars         256
-                 dimension     2
+                 dimension     3
                  columns       2
                  graphic       2
                  direction     l2r
-                 registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
-                 mother        =daikanwa
-                 min-code      1
-                  max-code     49964))
-  (define-charset-alias '=daikanwa-rev2 '=daikanwa@rev2)
-
-  (make-charset '=daikanwa/+p
-               "Daikanwa dictionary (ddddd')"
-               '(long-name     "Daikanwa ddddd'"
+                 mother        =gt))
+  (make-charset '=>>gt
+               "GT 2000 abstract glyphs"
+               '(long-name     "GT abstract glyphs"
                  chars         256
-                 dimension     2
+                 dimension     3
                  columns       2
                  graphic       2
-                 direction     l2r))
-  (make-charset '=daikanwa/+2p
-               "Daikanwa dictionary (ddddd'')"
-               '(long-name     "Daikanwa ddddd''"
+                 direction     l2r
+                 mother        =>>>gt))
+  (define-charset-alias '<=>gt '=>>gt)
+  (define-charset-alias '<==>gt '=>>gt)
+  (make-charset '=+>gt
+               "GT 2000 unified abstract glyphs"
+               '(long-name     "Unified abstract GT glyphs"
                  chars         256
-                 dimension     2
+                 dimension     3
                  columns       2
                  graphic       2
-                 direction     l2r))
-  (make-charset '=daikanwa/ho
-               "Daikanwa dictionary (Hokan)"
-               '(long-name     "Daikanwa-ho"
+                 direction     l2r
+                 mother        =>>gt))
+  (make-charset '=>gt
+               "GT 2000 abstract characters"
+               '(long-name     "abstract GT characters"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =+>gt))
+  (make-charset '=gt-k
+               "Ideographic components of GT"
+               `(long-name     "GT components"
+                 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)
+  (make-charset '=>>gt-k
+               "abstract glyphs of GT-K"
+               '(long-name     "GT-K abstract glyphs"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =gt-k))
+  (make-charset '=>gt-k
+               "GT-K abstract characters"
+               '(long-name     "GT-K abstract characters"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =>>gt-k))
+  (let ((i 1))
+    (while (<= i 11)
+      (make-charset
+       (intern (format "=gt-pj-%d" i))
+       (format "GT 2000 (pseudo JIS encoding) part %d" i)
+       `(long-name ,(format "GT PJ %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))))
+  (make-charset
+   '=gt-pj-k1
+   "Ideographic parts of GT (pseudo JIS encoding) part 1"
+   '(long-name "GT K1"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 0
+              direction l2r
+              registry "\\(GTKpj-1\\|jisx0208\\.GTK-1\\)$"))
+  (define-charset-alias 'ideograph-gt-pj-k1 '=gt-pj-k1)
+  (make-charset
+   '=gt-pj-k2
+   "Ideographic parts of GT (pseudo JIS encoding) part 2"
+   '(long-name "GT K2"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 0
+              direction l2r
+              registry "\\(GTKpj-2\\|jisx0208\\.GTK-2\\)$"))
+  (define-charset-alias 'ideograph-gt-pj-k2 '=gt-pj-k2)
+
+  (make-charset '=daikanwa
+               "Daikanwa dictionary (unchanged part)"
+               `(long-name     "Daikanwa"
+                 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))
+  (define-charset-alias 'ideograph-daikanwa '=daikanwa)
+
+  (make-charset '=daikanwa@rev1
+               "Daikanwa dictionary (revised version)"
+               '(long-name     "Daikanwa Rev."
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "Daikanwa\\(\\.[0-9]+\\)?-2"
+                 mother        =daikanwa))
+  (define-charset-alias 'ideograph-daikanwa-2 '=daikanwa@rev1)
+  (define-charset-alias '=daikanwa-rev1 '=daikanwa@rev1)
+
+  (make-charset '=daikanwa@rev2
+               "Daikanwa dictionary (revised version 2)"
+               '(long-name     "Daikanwa"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
+                 mother        =daikanwa
+                 min-code      1
+                  max-code     49964))
+  (define-charset-alias '=daikanwa-rev2 '=daikanwa@rev2)
+
+  (make-charset '=daikanwa/+p
+               "Daikanwa dictionary (ddddd')"
+               '(long-name     "Daikanwa ddddd'"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r))
+  (make-charset '=daikanwa/+2p
+               "Daikanwa dictionary (ddddd'')"
+               '(long-name     "Daikanwa ddddd''"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r))
+  (make-charset '=daikanwa/ho
+               "Daikanwa dictionary (Hokan)"
+               '(long-name     "Daikanwa-ho"
                  chars         256
                  dimension     2
                  columns       2
                  graphic       2
                  direction     l2r
                  mother        =daikanwa/+p))
+  (make-charset '=>>daikanwa/+2p
+               "Daikanwa abstract glyphs (ddddd'')"
+               '(long-name     "Daikanwa glyphs (ddddd'')"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =daikanwa/+2p))
   (make-charset '=>>daikanwa/ho
                "Daikanwa abstract glyphs (Hokan)"
                '(long-name     "Daikanwa-ho glyph"
                  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 (#xF9D6 .. #xF9FE)"
-               '(long-name     "Big5-ETEN-a"
-                 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 (#xC6A1 .. #xC8FE)"
-               '(long-name     "Big5-ETEN-b"
-                 chars         256
-                 dimension     2
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 mother        chinese-big5
-                 min-code      #xC6A1
-                 max-code      #xC8FE
-                 registry      "Big5\\.ETEN"))
 
   (let* ((i 1)
         (hzk-min (+ (lsh #x6200 16) 65536))
                  registry      "rui6-0"
                  mother        =ruimoku-v6))
 
+  ;; (make-charset
+  ;;  '=zihai
+  ;;  "ZhongHua-ZiHai glyph-images"
+  ;;  '(long-name "ZhongHua-ZiHai (pppp-nn)"
+  ;;              chars 256
+  ;;              dimension 3
+  ;;              columns 2
+  ;;              graphic 2
+  ;;              direction l2r))
+
+  ;; (make-charset
+  ;;  '=zihai-17xx
+  ;;  "ZhongHua-ZiHai (pp.1700\e$B!A\e(B1781) glyph-images"
+  ;;  '(long-name "ZhongHua-ZiHai pp.17xx"
+  ;;              chars 256
+  ;;              dimension 2
+  ;;              columns 2
+  ;;              graphic 2
+  ;;              direction l2r
+  ;;              registry "zihai\\.cp-17$"))
+
+  (make-charset '=big5-cdp-var-3
+               "Big5-CDP-var-3 glyph-images of GlyphWiki"
+               '(long-name     "Big5-CDP-var-3"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "cdp\\.var-3$"
+                 mother        =big5-cdp))
+
+  (make-charset '=big5-cdp-var-5
+               "Big5-CDP-var-5 glyph-images of GlyphWiki"
+               '(long-name     "Big5-CDP-var-5"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "cdp\\.var-5$"
+                 mother        =big5-cdp))
+
   (make-charset '==>ucs@bucs
                "Basic Subset of Coded Character Sets (BUCS)"
                '(long-name     "BUCS abstract characters"
                  =>iso-ir      177
                  mother        =ucs@big5))
 
-  (make-charset
-   '=ucs-radicals
-   "CJK Radicals of UCS"
-   '(long-name "UCS-Radicals"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-zhRadicals-.*-ucs-0"
-              mother ucs-bmp
-              min-code #x2E00 max-code #x2FFF))
-  (make-charset
-   '=ucs-radicals@unicode
-   "CJK Radicals of UCS"
-   '(long-name "UCS-Radicals"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-zhRadicals-.*-ucs-0"
-              mother =ucs@unicode
-              min-code #x2E00 max-code #x2FFF))
-  (make-charset
-   '=ucs-hangul
-   "Hangul Syllables of UCS"
-   '(long-name "UCS-Hangul-Syllables"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-Hangul-.*-ucs-0"
-              mother =ucs
-              min-code #xAC00 max-code #xD7AF))
-  (make-charset
-   '=ucs-bmp-cjk
-   "CJK Characters in BMP of UCS"
-   '(long-name "UCS-BMP-CJK"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-zh-.*-ucs-0"
-              mother ucs-bmp
-              min-code #x2E00
-              max-code #x9FA5
-              ;; max-code #xA4CF
-              ))
-  (make-charset
-   '=ucs-bmp-cjk@unicode
-   "CJK Characters in BMP of Unicode"
-   '(long-name "Unicode-BMP-CJK"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-zh-.*-ucs-0"
-              mother =ucs@unicode
-              min-code #x2E00
-               max-code #x9FA5
-              ;; max-code #xA4CF
-              ))
-  (make-charset
-   '=ucs-bmp-cjk@JP
-   "CJK Characters in BMP with JIS representative glyphs"
-   '(long-name "CJK in BMP@JP"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-ja-.*-ucs-0"
-              mother =ucs@JP
-              min-code #x2E00
-               max-code #x9FA5
-              ;; max-code #xA4CF
-              ))
-  (make-charset
-   '=ucs-bmp-cjk@JP/hanazono
-   "CJK Characters in BMP with Hanazono font"
-   '(long-name "CJK in BMP@JP/Hanazono"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-ja-.*-ucs-0"
-              mother =ucs@JP/hanazono
-              min-code #x2E00
-               max-code #x9FA5
-              ;; max-code #xA4CF
-              ))
-  (make-charset
-   '=+>ucs-bmp-cjk@unicode
-   "Unicode representative characters of CJK Unified Ideographs in BMP"
-   '(long-name "Unicode-BMP-CJK unified abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-zh-.*-ucs-0"
-              mother =+>ucs@unicode
-              min-code #x2E00
-               max-code #x9FA5
-              ;; max-code #xA4CF
-              ))
-  (make-charset
-   '=>ucs-bmp-cjk@unicode
-   "Unicode representative characters of CJK Unified Ideographs in BMP"
-   '(long-name "Unicode-BMP-CJK"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-zh-.*-ucs-0"
-              mother =>ucs@unicode
-              min-code #x2E00
-               max-code #x9FA5
-              ;; max-code #xA4CF
-              ))
-  (make-charset
-   '==>ucs-bmp-cjk@bucs
-   "CJK Characters in BMP of BUCS"
-   '(long-name "BUCS-BMP-CJK"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-zh-.*-ucs-0"
-              mother ==>ucs@bucs
-              min-code #x2E00
-               max-code #x9FA5
-              ;; max-code #xA4CF
-              ))
-  (make-charset
-   '=ucs-bmp-cjk-compat
-   "CJK Compatibility Ideographs in BMP of UCS"
-   '(long-name "CJK Compatibility Ideographs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-ja-.*-ucs-0"
-              mother ucs-bmp
-              min-code #xF900
-              max-code #xFAFF
-              ))
-  (make-charset
-   '=ucs-bmp-cjk-compat@unicode
-   "CJK Compatibility Ideographs of Unicode representatives"
-   '(long-name "CJK Compatibility Ideographs of Unicode"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "-ja-.*-ucs-0"
-              mother =ucs@unicode
-              min-code #xF900
-              max-code #xFAFF
-              ))
-  (make-charset
-   '=ucs-sip-ext-b
-   "CJK Ideographs Extension B"
-   '(long-name "UCS CJK Ext-B"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "\\(iso10646\\|ucs02\\)-2$"
-              mother ucs
-              min-code #x20000 max-code #x2A6D6
-              code-offset #x20000))
-  (make-charset
-   '=ucs-sip-ext-b@iso
-   "CJK Ideographs Extension B (ISO/IEC 10646-2)"
-   '(long-name "UCS CJK Ext-B"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "\\(iso10646\\|ucs02\\)-2$"
-              mother =ucs@iso
-              min-code #x20000 max-code #x2A6D6
-              code-offset #x20000))
-
-  (make-charset
-   '=adobe-japan1-base
-   "Adobe-Japan1 Character Collection for CID-Keyed Fonts"
-   `(long-name "Adobe-Japan1"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "AdobeJapan1-[0-6]$"
-              min-code ,(lsh #x6300 16)
-              max-code ,(+ (lsh #x6300 16) 23057)
-              code-offset      ,(lsh #x6300 16)))
-  (make-charset
-   '=adobe-japan1-0
-   "Adobe-Japan1-0 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-0"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-base
-              min-code 0
-              max-code 8283
-              registry "AdobeJapan1-0$"))
-  (make-charset
-   '=adobe-japan1-1
-   "Adobe-Japan1-1 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-1"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-0
-              min-code 0
-              max-code 8358
-              registry "AdobeJapan1-1$"))
-  (make-charset
-   '=adobe-japan1-2
-   "Adobe-Japan1-2 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-2"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-1
-              min-code 0
-              max-code 8719
-              registry "AdobeJapan1-2$"))
-  (make-charset
-   '=adobe-japan1-3
-   "Adobe-Japan1-3 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-3"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-2
-              min-code 0
-              max-code 9353
-              registry "AdobeJapan1-3$"))
-  (make-charset
-   '=adobe-japan1-4
-   "Adobe-Japan1-4 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-4"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-3
-              min-code 0
-              max-code 15443
-              registry "AdobeJapan1-4$"))
-  (make-charset
-   '=adobe-japan1-5
-   "Adobe-Japan1-5 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-5"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-4
-              min-code 0
-              max-code 20316
-              registry "AdobeJapan1-5$"))
-  (make-charset
-   '=adobe-japan1-6
-   "Adobe-Japan1-6 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-6"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-5
-              min-code 0
-              max-code 23057
-              registry "AdobeJapan1-6$"))
-  (define-charset-alias '=adobe-japan1 '=adobe-japan1-6)
-
-  (make-charset
-   '=>>>adobe-japan1-0
-   "Adobe-Japan1-0 abstract glyph-forms"
-   '(long-name "Adobe-Japan1-0 abstract glyph-forms"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =adobe-japan1-0
-              registry "AdobeJapan1-0$"))
-  (make-charset
-   '=>>>adobe-japan1-1
-   "Adobe-Japan1-1 abstract glyph-forms"
-   '(long-name "Adobe-Japan1-1 abstract glyph-forms"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>>adobe-japan1-0
-              registry "AdobeJapan1-1$"))
-  (make-charset
-   '=>>>adobe-japan1-2
-   "Adobe-Japan1-2 abstract glyph-forms"
-   '(long-name "Adobe-Japan1-2 abstract glyph-forms"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>>adobe-japan1-1
-              registry "AdobeJapan1-2$"))
-  (make-charset
-   '=>>>adobe-japan1-3
-   "Adobe-Japan1-3 abstract glyph-forms"
-   '(long-name "Adobe-Japan1-3 abstract glyph-forms"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>>adobe-japan1-2
-              registry "AdobeJapan1-3$"))
-  (make-charset
-   '=>>>adobe-japan1-4
-   "Adobe-Japan1-4 abstract glyph-forms"
-   '(long-name "Adobe-Japan1-4 abstract glyph-forms"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>>adobe-japan1-3
-              registry "AdobeJapan1-4$"))
-  (make-charset
-   '=>>>adobe-japan1-5
-   "Adobe-Japan1-5 abstract glyph-forms"
-   '(long-name "Adobe-Japan1-5 abstract glyph-forms"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>>adobe-japan1-4
-              registry "AdobeJapan1-5$"))
-  (make-charset
-   '=>>>adobe-japan1-6
-   "Adobe-Japan1-6 abstract glyph-forms"
-   '(long-name "Adobe-Japan1-6 abstract glyph-forms"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>>adobe-japan1-5
-              registry "AdobeJapan1-6$"))
-  (define-charset-alias '=>>>adobe-japan1 '=>>>adobe-japan1-6)
-
-  (make-charset
-   '=>>adobe-japan1-0
-   "Adobe-Japan1-0 abstract glyphs"
-   '(long-name "Adobe-Japan1-0 abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>>adobe-japan1
-              registry "AdobeJapan1-0$"))
-  (make-charset
-   '=>>adobe-japan1-1
-   "Adobe-Japan1-1 abstract glyphs"
-   '(long-name "Adobe-Japan1-1 abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>adobe-japan1-0
-              registry "AdobeJapan1-1"))
-  (make-charset
-   '=>>adobe-japan1-2
-   "Adobe-Japan1-2 abstract glyphs"
-   '(long-name "Adobe-Japan1-2 abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>adobe-japan1-1
-              registry "AdobeJapan1-2"))
-  (make-charset
-   '=>>adobe-japan1-3
-   "Adobe-Japan1-3 abstract glyphs"
-   '(long-name "Adobe-Japan1-3 abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>adobe-japan1-2
-              registry "AdobeJapan1-3"))
-  (make-charset
-   '=>>adobe-japan1-4
-   "Adobe-Japan1-4 abstract glyphs"
-   '(long-name "Adobe-Japan1-4 abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>adobe-japan1-3
-              registry "AdobeJapan1-4"))
-  (make-charset
-   '=>>adobe-japan1-5
-   "Adobe-Japan1-5 abstract glyphs"
-   '(long-name "Adobe-Japan1-5 abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>adobe-japan1-4
-              registry "AdobeJapan1-5"))
-  (make-charset
-   '=>>adobe-japan1-6
-   "Adobe-Japan1-6 abstract glyphs"
-   '(long-name "Adobe-Japan1-6 abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>adobe-japan1-5
-              registry "AdobeJapan1-6"))
-  (define-charset-alias '=>>adobe-japan1 '=>>adobe-japan1-6)
-
-  (make-charset
-   '=+>adobe-japan1
-   "Adobe-Japan1 unified abstract glyphs"
-   '(long-name "Adobe-Japan1 unified abstract glyphs"
-              chars 256
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              mother =>>adobe-japan1
-              registry "AdobeJapan1-6$"))
+  (make-charset '=ucs-itaiji-084
+               "uXXXX-itaiji-084 glyph-images of GlyphWiki"
+               '(long-name     "UCS-itaiji-084"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                  ;; =>iso-ir  177
+                 mother        =ucs))
+  (make-charset '=ucs-bmp-itaiji-084
+               "uXXXX-itaiji-084 glyph-images in BMP"
+               '(long-name     "UCS-BMP-itaiji-084"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                  ;; =>iso-ir  177
+                 mother        =ucs-itaiji-084
+                 min-code #x2E00
+                 max-code #x9FA5
+                 registry "ucs\\.itaiji084-0"))
 
   (make-charset
-   '=hanyo-denshi/ja
-   "JA (JIS X0208) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JA"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.JA-0$"
-              min-code ,(lsh #x6400 16)
-              max-code ,(+ (lsh #x6400 16) (1- (* 94 94)))
-              code-offset ,(lsh #x6400 16)))
-  (make-charset
-   '=hanyo-denshi/jb
-   "JB (JIS X0212) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JB"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.JB-0$"
-              min-code    ,(+ (lsh #x6400 16) (* 94 94))
-              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 2)))
-              code-offset ,(+ (lsh #x6400 16) (* 94 94))))
-  (make-charset
-   '=hanyo-denshi/jc
-   "JC (JIS X0213:2000 Plane 1) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JC"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.JC-0$"
-              min-code    ,(+ (lsh #x6400 16) (* 94 94 2))
-              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 3)))
-              code-offset ,(+ (lsh #x6400 16) (* 94 94 2))))
-  (make-charset
-   '=hanyo-denshi/jd
-   "JD (JIS X0213:2000 Plane 1) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JD"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.JD-0$"
-              min-code    ,(+ (lsh #x6400 16) (* 94 94 3))
-              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 4)))
-              code-offset ,(+ (lsh #x6400 16) (* 94 94 3))))
-  (make-charset
-   '=hanyo-denshi/ft
-   "FT (FDPC additional) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/FT"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.FT-0$"
-              min-code    ,(+ (lsh #x6400 16) (* 94 94 4))
-              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 5)))
-              code-offset ,(+ (lsh #x6400 16) (* 94 94 4))))
-  (make-charset
-   '=hanyo-denshi/ia
-   "IA part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/IA"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.IA-0$"
-              min-code    ,(+ (lsh #x6400 16) (* 94 94 5))
-              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 6)))
-              code-offset ,(+ (lsh #x6400 16) (* 94 94 5))))
-  (make-charset
-   '=hanyo-denshi/ib
-   "IB part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/IB"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.IB-0$"
-              min-code    ,(+ (lsh #x6400 16) (* 94 94 6))
-              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 7)))
-              code-offset ,(+ (lsh #x6400 16) (* 94 94 6))))
-  (make-charset
-   '=hanyo-denshi/hg
-   "HG (HyouGai Kanji) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/HG"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.HG-0$"
-              min-code    ,(+ (lsh #x6400 16) (* 94 94 7))
-              max-code    ,(+ (lsh #x6400 16) (1- (* 94 94 8)))
-              code-offset ,(+ (lsh #x6400 16) (* 94 94 7))))
-  (make-charset
-   '=hanyo-denshi/ip
-   "IP (for IPA) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/IP"
+   '=ucs-radicals
+   "CJK Radicals of UCS"
+   '(long-name "UCS-Radicals"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.IP-0$"
-              min-code    ,(+ (lsh #x6402 16) #x4E00)
-              max-code    ,(+ (lsh #x6402 16) #x9FFF)
-              code-offset ,(+ (lsh #x6402 16))))
+              registry "-zhRadicals-.*-ucs-0"
+              mother ucs-bmp
+              min-code #x2E00 max-code #x2FFF))
   (make-charset
-   '=hanyo-denshi/jt
-   "JT (Juuki Touitsu Moji) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JT"
+   '=ucs-radicals@unicode
+   "CJK Radicals of UCS"
+   '(long-name "UCS-Radicals"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JT-0$"
-              min-code    ,(+ (lsh #x6402 16) #xAC00)
-              max-code    ,(+ (lsh #x6402 16) #xD7AF)
-              code-offset ,(+ (lsh #x6402 16))))
-  (make-charset
-   '=hanyo-denshi/ks
-   "KS (KoSeki) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/KS font encoding"
-              chars 256
-              dimension 3
-              columns 2
-              graphic 2
-              direction l2r))
+              registry "-zhRadicals-.*-ucs-0"
+              mother =ucs@unicode
+              min-code #x2E00 max-code #x2FFF))
   (make-charset
-   '=hanyo-denshi/ks/mf
-   "font encoding for KS (KoSeki) characters"
-   `(long-name "Han'you-Denshi/KS font encoding"
+   '=ucs-hangul
+   "Hangul Syllables of UCS"
+   '(long-name "UCS-Hangul-Syllables"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.KSMF-0$"
-              min-code       ,(lsh #x6403 16)
-              max-code    ,(+ (lsh #x6403 16) #xFFFF)
-              code-offset    ,(lsh #x6403 16)))
-
-  (make-charset
-   '=>>>hanyo-denshi/ja
-   "Han'you-Denshi/JA abstract glyph-forms"
-   '(long-name "Han'you-Denshi/JA glyph-forms"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.JA-0$"
-              mother =hanyo-denshi/ja))
-  (make-charset
-   '=>>>hanyo-denshi/jc
-   "Han'you-Denshi/JC abstract glyph-forms"
-   '(long-name "Han'you-Denshi/JC glyph-forms"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.JC-0$"
-              mother =hanyo-denshi/jc))
-  (make-charset
-   '=>>>hanyo-denshi/ib
-   "Han'you-Denshi/IB abstract glyph-forms"
-   '(long-name "Han'you-Denshi/IB glyph-forms"
-              chars 94
-              dimension 2
-              columns 2
-              graphic 2
-              direction l2r
-              registry "HanyoDenshi\\.IB-0$"
-              mother =hanyo-denshi/ib))
+              registry "-Hangul-.*-ucs-0"
+              mother =ucs
+              min-code #xAC00 max-code #xD7AF))
   (make-charset
-   '=>>>hanyo-denshi/jt
-   "JT (Juuki Touitsu Moji) abstract glyph-forms"
-   '(long-name "Han'you-Denshi/JT glyph-forms"
+   '=ucs-bmp-cjk
+   "CJK Characters in BMP of UCS"
+   '(long-name "UCS-BMP-CJK"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JT-0$"
-              mother =hanyo-denshi/jt))
+              registry "-zh-.*-ucs-0"
+              mother ucs-bmp
+              min-code #x2E00
+              max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=>>>hanyo-denshi/ks
-   "KoSeki-touitsu-moji abstract glyph-forms"
-   '(long-name "Han'you-Denshi/KS glyph-forms"
+   '=ucs-bmp-cjk@unicode
+   "CJK Characters in BMP of Unicode"
+   '(long-name "Unicode-BMP-CJK"
               chars 256
-              dimension 3
-              columns 2
-              graphic 2
-              direction l2r
-              mother =hanyo-denshi/ks))
-
-  (make-charset
-   '=>>hanyo-denshi/ja
-   "Han'you-Denshi/JA abstract glyphs"
-   '(long-name "Han'you-Denshi/JA glyphs"
-              chars 94
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JA-0$"
-              mother =>>>hanyo-denshi/ja))
+              registry "-zh-.*-ucs-0"
+              mother =ucs@unicode
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=>>hanyo-denshi/jb
-   "Han'you-Denshi/JB abstract glyphs"
-   '(long-name "Han'you-Denshi/JB glyphs"
-              chars 94
+   '=ucs-bmp-cjk@JP
+   "CJK Characters in BMP with JIS representative glyphs"
+   '(long-name "CJK in BMP@JP"
+              chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JB-0$"
-              mother =hanyo-denshi/jb))
+              registry "-ja-.*-ucs-0"
+              mother =ucs@JP
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=>>hanyo-denshi/jc
-   "Han'you-Denshi/JC abstract glyphs"
-   '(long-name "Han'you-Denshi/JC glyphs"
-              chars 94
+   '=ucs-bmp-cjk@JP/hanazono
+   "CJK Characters in BMP with Hanazono font"
+   '(long-name "CJK in BMP@JP/Hanazono"
+              chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JC-0$"
-              mother =>>>hanyo-denshi/jc))
+              registry "-ja-.*-ucs-0"
+              mother =ucs@JP/hanazono
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=>>hanyo-denshi/jd
-   "Han'you-Denshi/JD abstract glyphs"
-   '(long-name "Han'you-Denshi/JD glyphs"
-              chars 94
+   '=+>ucs-bmp-cjk@unicode
+   "Unicode representative characters of CJK Unified Ideographs in BMP"
+   '(long-name "Unicode-BMP-CJK unified abstract glyphs"
+              chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JD-0$"
-              mother =hanyo-denshi/jd))
+              registry "-zh-.*-ucs-0"
+              mother =+>ucs@unicode
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=>>hanyo-denshi/ft
-   "Han'you-Denshi/FT abstract glyphs"
-   '(long-name "Han'you-Denshi/FT glyphs"
-              chars 94
+   '=>ucs-bmp-cjk@unicode
+   "Unicode representative characters of CJK Unified Ideographs in BMP"
+   '(long-name "Unicode-BMP-CJK"
+              chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.FT-0$"
-              mother =hanyo-denshi/ft))
+              registry "-zh-.*-ucs-0"
+              mother =>ucs@unicode
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=>>hanyo-denshi/ia
-   "Han'you-Denshi/IA abstract glyphs"
-   '(long-name "Han'you-Denshi/IA glyphs"
-              chars 94
+   '==>ucs-bmp-cjk@bucs
+   "CJK Characters in BMP of BUCS"
+   '(long-name "BUCS-BMP-CJK"
+              chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.IA-0$"
-              mother =hanyo-denshi/ia))
+              registry "-zh-.*-ucs-0"
+              mother ==>ucs@bucs
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=>>hanyo-denshi/ib
-   "Han'you-Denshi/IB abstract glyphs"
-   '(long-name "Han'you-Denshi/IB abstract glyphs"
-              chars 94
+   '=ucs-bmp-cjk-compat
+   "CJK Compatibility Ideographs in BMP of UCS"
+   '(long-name "CJK Compatibility Ideographs"
+              chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.IB-0$"
-              mother =>>>hanyo-denshi/ib))
+              registry "-ja-.*-ucs-0"
+              mother ucs-bmp
+              min-code #xF900
+              max-code #xFAFF
+              ))
   (make-charset
-   '=>>hanyo-denshi/hg
-   "Han'you-Denshi/HG abstract glyphs"
-   '(long-name "Han'you-Denshi/HG abstract glyphs"
-              chars 94
+   '=ucs-bmp-cjk-compat@unicode
+   "CJK Compatibility Ideographs of Unicode representatives"
+   '(long-name "CJK Compatibility Ideographs of Unicode"
+              chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.HG-0$"
-              mother =hanyo-denshi/hg))
+              registry "-ja-.*-ucs-0"
+              mother =ucs@unicode
+              min-code #xF900
+              max-code #xFAFF
+              ))
   (make-charset
-   '=>>hanyo-denshi/jt
-   "JT (Juuki Touitsu Moji) abstract glyphs"
-   '(long-name "Han'you-Denshi/JT glyphs"
+   '=ucs-sip-ext-b
+   "CJK Ideographs Extension B"
+   '(long-name "UCS CJK Ext-B"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JT-0$"
-              mother =>>>hanyo-denshi/jt))
+              registry "\\(iso10646\\|ucs02\\)-2$"
+              mother ucs
+              min-code #x20000 max-code #x2A6D6
+              code-offset #x20000))
   (make-charset
-   '=>>hanyo-denshi/ks
-   "Han'you-Denshi/KS abstract glyphs"
-   '(long-name "Han'you-Denshi/KS glyphs"
+   '=ucs-sip-ext-b@iso
+   "CJK Ideographs Extension B (ISO/IEC 10646-2)"
+   '(long-name "UCS CJK Ext-B"
               chars 256
-              dimension 3
+              dimension 2
               columns 2
               graphic 2
               direction l2r
-              mother =>>>hanyo-denshi/ks))
+              registry "\\(iso10646\\|ucs02\\)-2$"
+              mother =ucs@iso
+              min-code #x20000 max-code #x2A6D6
+              code-offset #x20000))
   )
 
 ;;; mule-conf.el ends here