(===ruimoku-v6): New coded-charset for XEmacs CHISE.
[chise/xemacs-chise.git.1] / lisp / mule / mule-conf.el
index dfe59bb..987ed8c 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 MORIOKA Tomohiko
+;;   2009, 2010, 2011, 2012, 2013, 2014 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     #xE10000
+              max-code ,(+ #xE10000 23057)
+              code-offset  #xE10000
+               ;; 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-6]$"))
   (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-6]$"))
   (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-6]$"))
   (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-6]$"))
   (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-6]$"))
   (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-6]$"))
   (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))
-  ))
+   '==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)
 
-(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)
+  (define-charset-alias '=>>>adobe-japan1-0 '==adobe-japan1-0)
+  (define-charset-alias '=>>>adobe-japan1-1 '==adobe-japan1-1)
+  (define-charset-alias '=>>>adobe-japan1-2 '==adobe-japan1-2)
+  (define-charset-alias '=>>>adobe-japan1-3 '==adobe-japan1-3)
+  (define-charset-alias '=>>>adobe-japan1-4 '==adobe-japan1-4)
+  (define-charset-alias '=>>>adobe-japan1-5 '==adobe-japan1-5)
+  (define-charset-alias '=>>>adobe-japan1-6 '==adobe-japan1-6)
+  (define-charset-alias '=>>>adobe-japan1 '=>>>adobe-japan1-6)
 
-;; 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)))
+  (make-charset
+   '===adobe-japan1-0
+   "Adobe-Japan1-0 detailed glyph-images."
+   '(long-name "Adobe-Japan1-0 glyph-images"
+              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 detailed glyph-images."
+   '(long-name "Adobe-Japan1-1 glyph-images"
+              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 detailed glyph-images."
+   '(long-name "Adobe-Japan1-2 glyph-images"
+              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 detailed glyph-images."
+   '(long-name "Adobe-Japan1-3 glyph-images"
+              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 detailed glyph-images."
+   '(long-name "Adobe-Japan1-4 glyph-images"
+              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 detailed glyph-images."
+   '(long-name "Adobe-Japan1-5 glyph-images"
+              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 detailed glyph-images."
+   '(long-name "Adobe-Japan1-6 glyph-images"
+              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)
 
-;; 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.
+  (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)
 
-(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)
-  )
+  (make-charset
+   '=+>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
+   '=+>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)
 
-;; 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"
+   '=jis-x0208@1978
+   "JIS X 0208:1978, unchanged part."
+   '(registry "jisx0208\\.1978"
              dimension 2
              chars 94
-             =>iso-ir 228
-             final ?O
+             mother =jis-x0208
+             =>iso-ir 42
+             final ?@
+             graphic 0
+             partial t))
+  (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))
+  (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))
+  (make-charset
+   '=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-x0208@1978/1pr
+             =>iso-ir 42
+             ;; final ?@
+             graphic 0
+             partial t))
+  (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))
+  ;; (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-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
+             mother =jis-x0208@1978
+              =>iso-ir 42
+             ;; final ?@
+             graphic 0
+             partial t))
+  (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))
+  (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))
+  (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
+  (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@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
+             ))
+  (make-charset
+   '==jis-x0208@1978/1pr
+   "JIS X 0208:1978, 1st impression."
+   '(registry "jisx0208\\.1978"
+             =>iso-ir 42
+             dimension 2
+             chars 94
+             mother ==jis-x0208@1978/-4pr
+             ;; final ?@
+             graphic 0))
+  (make-charset
+   '==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-x0208@1978/1pr
+             =>iso-ir 42
+             ;; final ?@
+             graphic 0
+             partial t))
+  (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
+             mother ==jis-x0208@1978
+              =>iso-ir 42
+             ;; final ?@
+             graphic 0
+             ;; partial t
+             ))
+    (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))
+  (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))
+
+  (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
+             ))
+  (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
+             ))
+  (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))
+
+  (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-x0212
+   "JIS X 0212 representative glyph-images."
+   '(registry "jisx0212"
+             dimension 2
+             chars 94
+             mother =jis-x0212
+             =>iso-ir 159
+             ;; final ?D
+             graphic 0))
+
+  (make-charset
+   '==gb2312
+   "GB 2312 representative glyph-images."
+   '(registry "gb2312"
+             dimension 2
+             chars 94
+             mother =gb2312
+             =>iso-ir 58
+             ;; final ?A
+             graphic 0))
+  (make-charset
+   '==iso-ir165
+   "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
+   '(registry "isoir165"
+             =>iso-ir 165
+             dimension 2
+             chars 94
+             mother =iso-ir165
+             ;; final ?E
+             graphic 0))
+  (make-charset
+   '==gb12345
+   "GB 12345 representative glyph-images."
+   '(registry "gb12345"
+             dimension 2
+             chars 94
+             mother =gb12345
+             graphic 0))
+
+  (make-charset
+   '==ks-x1001
+   "KS X 1001 representative glyph-images."
+   '(registry "ksc5601"
+             dimension 2
+             chars 94
+             mother =ks-x1001
+             =>iso-ir 149
+             ;; final ?C
+             graphic 0))
+
+  (define-charset-alias '=>>>jis-x0208      '==jis-x0208)
+  (define-charset-alias '=>>>jis-x0208@1978 '==jis-x0208@1978)
+  (define-charset-alias '=>>>jis-x0208@1983 '==jis-x0208@1983)
+  (define-charset-alias '=>>>jis-x0208@1990 '==jis-x0208@1990)
+
+  (define-charset-alias '=>>>jis-x0213-1      '==jis-x0213-1)
+  (define-charset-alias '=>>>jis-x0213-1@2000 '==jis-x0213-1@2000)
+  (define-charset-alias '=>>>jis-x0213-1@2004 '==jis-x0213-1@2004)
+  (define-charset-alias '=>>>jis-x0213-2      '==jis-x0213-2)
+
+  (make-charset
+   '===jis-x0208
+   "JIS X 0208 detailed representative glyph-images (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 detailed representative glyph-images."
+   '(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 detailed representative glyph-images."
+   '(registry "jisx0208\\.1983"
+             dimension 2
+             chars 94
+             mother ===jis-x0208
+             =>iso-ir 87
+             graphic 0))
+  (make-charset
+   '===jis-x0208@1990
+   "JIS X 0208:1990 detailed representative glyph-images."
+   '(registry "jisx0208\\.1990"
+             dimension 2
+             chars 94
+             mother ===jis-x0208
+             =>iso-ir 168
+             ;; final ?B
+             graphic 0))
+
+  (make-charset
+   '===jis-x0213-1
+   "JIS X 0213 Plain 1 detailed representative glyph-images (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 detailed representative glyph-images."
+   '(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 detailed representative glyph-images."
+   '(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 detailed representative glyph-images."
+   '(mother ==jis-x0213-2
+           =>iso-ir 229
+           registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
+           dimension 2
+           chars 94
+           graphic 0))
+
+  (make-charset
+   '===jis-x0212
+   "JIS X 0212 representative glyph-images."
+   '(registry "jisx0212"
+             dimension 2
+             chars 94
+             mother ==jis-x0212
+             =>iso-ir 159
+             ;; final ?D
+             graphic 0))
+
+  (make-charset
+   '===ks-x1001
+   "KS X 1001 representative glyph-images."
+   '(registry "ksc5601"
+             dimension 2
+             chars 94
+             mother ==ks-x1001
+             =>iso-ir 149
+             ;; final ?C
+             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
+             =>iso-ir 168
+             ;; final ?B
+             graphic 0))
+  (define-charset-alias '<=>jis-x0208@1997 '=>jis-x0208@1997)
+  (define-charset-alias '  =jis-x0208@1997 '=>jis-x0208@1997)
+
+  (make-charset
+   '=>jis-x0213-1
+   "JIS X 0213 Plain 1 abstract characters (unchanged part)"
+   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
+             dimension 2
+             chars 94
+             mother =+>jis-x0213-1
+             =>iso-ir 228
+              ;; final ?O
+             graphic 0
+              ;; partial t
+             ))
+  (define-charset-alias '<=>jis-x0213-1 '=>jis-x0213-1)
+  (make-charset
+   '=>jis-x0213-1@2000
+   "JIS X 0213:2000 Plain 1 abstract characters"
+   '(registry "jisx0213\\(\\.2000\\)-1"
+             dimension 2
+             chars 94
+             mother =>jis-x0213-1
+             =>iso-ir 228
+              ;; final ?O
+             graphic 0
+             ;; partial t
+             ))
+  (define-charset-alias '<=>jis-x0213-1@2000 '=>jis-x0213-1@2000)
+  (make-charset
+   '=>jis-x0213-1@2004
+   "JIS X 0213:2004 Plain 1 abstract characters"
+   '(registry "jisx0213\\(\\.2004\\)-1"
+             dimension 2
+             chars 94
+             mother =>jis-x0213-1
+             =>iso-ir 233
+              ;; final ?Q
+             graphic 0
+              ;; partial t
+             ))
+  (define-charset-alias '<=>jis-x0213-1@2004 '=>jis-x0213-1@2004)
+  (make-charset
+   '=+>jis-x0213-2
+   "JIS X 0213 Plain 2 based on usual unification."
+   '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
+             dimension 2
+             chars 94
+             mother =>>jis-x0213-2
+             =>iso-ir 229
+              ;; final ?P
+             graphic 0))
+  (define-charset-alias '=>jis-x0213-2@usual '=+>jis-x0213-2)
+  (make-charset
+   '=>jis-x0213-2
+   "JIS X 0213 Plain 2 abstract characters"
+   '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
+             dimension 2
+             chars 94
+             mother =+>jis-x0213-2
+             =>iso-ir 229
+              ;; final ?P
+             graphic 0))
+
+  (make-charset
+   '==cns11643-1
+   "CNS 11643 Plane 1 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?1$"
+             dimension 2
+             chars 94
+             mother =cns11643-1
+             =>iso-ir 171
+             graphic 0))
+  (make-charset
+   '==cns11643-2
+   "CNS 11643 Plane 2 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?2$"
+             dimension 2
+             chars 94
+             mother =cns11643-2
+             =>iso-ir 172
+             graphic 0))
+  (make-charset
+   '==cns11643-3
+   "CNS 11643 Plane 3 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?3$"
+             dimension 2
+             chars 94
+             mother =cns11643-3
+             =>iso-ir 183
+             graphic 0))
+  (make-charset
+   '==cns11643-4
+   "CNS 11643 Plane 4 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?4$"
+             dimension 2
+             chars 94
+             mother =cns11643-4
+             =>iso-ir 184
+             graphic 0))
+  (make-charset
+   '==cns11643-5
+   "CNS 11643 Plane 5 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?5$"
+             dimension 2
+             chars 94
+             mother =cns11643-5
+             =>iso-ir 185
+             graphic 0))
+  (make-charset
+   '==cns11643-6
+   "CNS 11643 Plane 6 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?6$"
+             dimension 2
+             chars 94
+             mother =cns11643-6
+             =>iso-ir 186
+             graphic 0))
+  (make-charset
+   '==cns11643-7
+   "CNS 11643 Plane 7 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?7$"
+             dimension 2
+             chars 94
+             mother =cns11643-7
+             =>iso-ir 187
+             graphic 0))
+
+  (make-charset
+   '===cns11643-1
+   "CNS 11643 Plane 1 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?1$"
+             dimension 2
+             chars 94
+             mother ==cns11643-1
+             =>iso-ir 171
+             graphic 0))
+  (make-charset
+   '===cns11643-2
+   "CNS 11643 Plane 2 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?2$"
+             dimension 2
+             chars 94
+             mother ==cns11643-2
+             =>iso-ir 172
+             graphic 0))
+  (make-charset
+   '===cns11643-3
+   "CNS 11643 Plane 3 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?3$"
+             dimension 2
+             chars 94
+             mother ==cns11643-3
+             =>iso-ir 183
+             graphic 0))
+  (make-charset
+   '===cns11643-4
+   "CNS 11643 Plane 4 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?4$"
+             dimension 2
+             chars 94
+             mother ==cns11643-4
+             =>iso-ir 184
+             graphic 0))
+  (make-charset
+   '===cns11643-5
+   "CNS 11643 Plane 5 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?5$"
+             dimension 2
+             chars 94
+             mother ==cns11643-5
+             =>iso-ir 185
+             graphic 0))
+  (make-charset
+   '===cns11643-6
+   "CNS 11643 Plane 6 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?6$"
+             dimension 2
+             chars 94
+             mother ==cns11643-6
+             =>iso-ir 186
+             graphic 0))
+  (make-charset
+   '===cns11643-7
+   "CNS 11643 Plane 7 representative glyph-images."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?7$"
+             dimension 2
+             chars 94
+             mother ==cns11643-7
+             =>iso-ir 187
+             graphic 0))
+
+  (make-charset
+   '=>>cns11643-1
+   "CNS 11643 Plane 1 abstract glyphs."
+   '(registry "CNS11643[.-]\\(.*[.-]\\)?1$"
+             dimension 2
+             chars 94
+             mother =cns11643-1
+             =>iso-ir 184
+             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$"
+             dimension 2
+             chars 94
+             mother =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"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "big5\\.cdp-0"
+                 mother        chinese-big5
+                 min-code      #x8140
+                 max-code      #x8DFE))
+  (define-charset-alias 'chinese-big5-cdp '=big5-cdp)
+
+  (make-charset '==big5-cdp
+               "Abstract glyph-images of Big5-CDP"
+               '(long-name     "Big5-CDP glyph-forms"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "big5\\.cdp-0"
+                 mother        =big5-cdp))
+  (make-charset '===big5-cdp
+               "Representative glyph-images of Big5-CDP"
+               '(long-name     "Big5-CDP glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "big5\\.cdp-0"
+                 mother        ==big5-cdp))
+
+  (make-charset '=>>big5-cdp
+               "Abstract glyphs of Big5-CDP"
+               '(long-name     "Big5-CDP glyphs"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "big5\\.cdp-0"
+                 mother        =big5-cdp))
+
+  (make-charset '=>big5-cdp
+               "Big5-CDP abstract characters"
+               '(long-name     "Big5-CDP abstract characters"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "big5\\.cdp-0"
+                 mother        =>>big5-cdp))
+
+  (make-charset
+   '=mj
+   "Moji-Jouhou-Kiban characters"
+   `(long-name "Moji-Jouhou-Kiban"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+               ;; registry "mj-0$"
+              min-code     #xE30000
+              max-code ,(+ #xE30000 68053)
+              code-offset  #xE30000
+              ;; min-code            ,(lsh #x6404 16)
+               ;; max-code        ,(+ (lsh #x6404 16) 68053)
+               ;; code-offset    ,(lsh #x6404 16)
+              ))
+  (make-charset
+   '=mj-0
+   "Moji-Jouhou-Kiban plane 0"
+   '(long-name "Moji-Jouhou-Kiban-0"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "mj-0$"
+              mother =mj
+              min-code 0
+              max-code #xFFFF))
+  (make-charset
+   '=mj-1
+   "Moji-Jouhou-Kiban plane 1"
+   '(long-name "Moji-Jouhou-Kiban-1"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "mj-1$"
+              mother =mj
+              min-code #x10000
+              code-offset #x10000))
+
+  (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"
+              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
-   '=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))
+   '==mj
+   "Moji-Jouhou-Kiban detailed glyph-images."
+   '(long-name "MJ glyph-images"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =mj))
   (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))
+   '==mj-0
+   "MJ detailed glyph-images plane 0"
+   '(long-name "MJ glyph-images-0"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "mj-0$"
+              mother ==mj
+              min-code 0
+              max-code #xFFFF))
+  (make-charset
+   '==mj-1
+   "MJ detailed glyph-images plane 1"
+   '(long-name "MJ glyph-images-1"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "mj-1$"
+              mother ==mj
+              min-code #x10000
+              code-offset #x10000))
 
   (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
+   '==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
-   'japanese-jisx0213-1
-   "JIS X 0213:2000 Plain 1"
-   '(registry "jisx0213\\(\\.2000\\)-1"
-             dimension 2
-             chars 94
-             final ?O
-             graphic 0))
+   '==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
-   'japanese-jisx0213-2
-   "JIS X 0213:2000 Plain 2"
-   '(registry "jisx0213\\(\\.2000\\)-2"
-             dimension 2
-             chars 94
-             final ?P
-             graphic 0))
-  ))
+   '==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/ia
+   "Han'you-Denshi/IA abstract glyph-forms."
+   '(long-name "Han'you-Denshi/IA glyph-images"
+              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 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/ip
+   "Han'you-Denshi/IP abstract glyph-forms."
+   '(long-name "Han'you-Denshi/IP glyph-images"
+              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 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))
 
-(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
+   '=koseki
+   "Representative glyph-images of KoSeki-touitsu-moji."
+   '(long-name "KoSeki-touitsu-moji"
+              chars 256
+              dimension 3
+              columns 2
+              graphic 2
+              direction l2r
+              mother =hanyo-denshi/ks))
+
+  (define-charset-alias '=>>>hanyo-denshi/ja '==hanyo-denshi/ja)
+  (define-charset-alias '=>>>hanyo-denshi/jb '==hanyo-denshi/jb)
+  (define-charset-alias '=>>>hanyo-denshi/jc '==hanyo-denshi/jc)
+  (define-charset-alias '=>>>hanyo-denshi/jd '==hanyo-denshi/jd)
+  (define-charset-alias '=>>>hanyo-denshi/ft '==hanyo-denshi/ft)
+  (define-charset-alias '=>>>hanyo-denshi/ib '==hanyo-denshi/ib)
+  (define-charset-alias '=>>>hanyo-denshi/hg '==hanyo-denshi/hg)
+  (define-charset-alias '=>>>hanyo-denshi/jt '==hanyo-denshi/jt)
+  (define-charset-alias '=>>>hanyo-denshi/ks '==hanyo-denshi/ks)
 
+  ;; (make-charset
+  ;;  '===hanyo-denshi/ja
+  ;;  "Han'you-Denshi/JA detailed glyph-images."
+  ;;  '(long-name "Han'you-Denshi/JA glyph-images"
+  ;;              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 detailed glyph-images."
+   '(long-name "Han'you-Denshi/JB glyph-images"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JB-0$"
+              mother ==hanyo-denshi/jb))
   (make-charset
-   '=>>>jis-x0208
-   "JIS X 0208 abstract glyph-images (unchanged part)."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
+   '===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
-   '=>>>jis-x0208@1990
-   "JIS X 0208:1990 abstract glyph-images."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =>>>jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
+   '===hanyo-denshi/ft
+   "Han'you-Denshi/FT detailed glyph-images."
+   '(long-name "Han'you-Denshi/FT glyph-images"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.FT-0$"
+              mother ==hanyo-denshi/ft))
   (make-charset
-   '=>>>jis-x0213-1
-   "JIS X 0213 Plain 1 abstract glyph-images (unchanged part)"
-   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
-             dimension 2
-             chars 94
-             mother =jis-x0213-1
-             =>iso-ir 228
-              ;; final ?O
-             graphic 0
-              ;; partial t
-             ))
+   '===hanyo-denshi/ib
+   "Han'you-Denshi/IB detailed glyph-images."
+   '(long-name "Han'you-Denshi/IB glyph-images"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.IB-0$"
+              mother ==hanyo-denshi/ib))
   (make-charset
-   '=>>>jis-x0213-1@2004
-   "JIS X 0213:2004 Plain 1 abstract glyph-images"
-   '(mother =jis-x0213-1@2004
-           =>iso-ir 233
-           ;; registry "jisx0213\\(\\.2004\\)-1"
-           dimension 2
-           chars 94
-           graphic 0))
-
+   '===hanyo-denshi/hg
+   "Han'you-Denshi/HG detailed glyph-images."
+   '(long-name "Han'you-Denshi/HG glyph-images"
+              chars 94
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.HG-0$"
+              mother ==hanyo-denshi/hg))
   (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))
+   '===hanyo-denshi/jt
+   "JT (Juuki Touitsu Moji) detailed glyph-images."
+   '(long-name "Han'you-Denshi/JT glyph-images"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JT-0$"
+              mother ==hanyo-denshi/jt))
   (make-charset
-   '=>>jis-x0208@1978
-   "JIS X 0208:1978 abstract glyphs (unchanged part)."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =>>jis-x0208
-             =>iso-ir 42
-             ;; final ?@
-             graphic 0))
+   '===hanyo-denshi/ks
+   "KoSeki-touitsu-moji detailed glyph-images."
+   '(long-name "Han'you-Denshi/KS glyph-images"
+              chars 256
+              dimension 3
+              columns 2
+              graphic 2
+              direction l2r
+              mother ==hanyo-denshi/ks))
+
+  (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
-   '=>>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
-             ))
+   '===mj
+   "Moji-Jouhou-Kiban detailed glyph-images."
+   '(long-name "MJ glyph-images"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother ==mj))
   (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
-             ))
+   '===mj-0
+   "MJ detailed glyph-images plane 0"
+   '(long-name "MJ glyph-images-0"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "mj-0$"
+              mother ===mj
+              min-code 0
+              max-code #xFFFF))
+  (make-charset
+   '===mj-1
+   "MJ detailed glyph-images plane 1"
+   '(long-name "MJ glyph-images-1"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "mj-1$"
+              mother ===mj
+              min-code #x10000
+              code-offset #x10000))
+
   (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))
+   '=+>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
-   '=>>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
-             ))
+   '=+>hanyo-denshi/jt
+   "JT (Juuki Touitsu Moji) unified abstract glyphs."
+   '(long-name "Han'you-Denshi/JT unified glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              registry "HanyoDenshi\\.JT-0$"
+              mother =hanyo-denshi/jt))
 
   (make-charset
-   '=>jis-x0208@usual
-   "JIS X 0208 based on usual unification."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =>>jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
+   '=>>mj
+   "Moji-Jouhou-Kiban abstract glyphs."
+   '(long-name "MJ glyphs"
+              chars 256
+              dimension 2
+              columns 2
+              graphic 2
+              direction l2r
+              mother =mj))
+
   (make-charset
-   '=>jis-x0208
-   "JIS X 0208 based on the unchanged unification rules."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =>jis-x0208@usual
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
-  (define-charset-alias '<=>jis-x0208 '=>jis-x0208)
+   '=>>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
-   '=>jis-x0208@1997
-   "JIS X 0208 based on the unification rule of 1997 edition."
-   '(registry "jisx0208\\.1990"
-             dimension 2
-             chars 94
-             mother =>jis-x0208
-             =>iso-ir 168
-             ;; final ?B
-             graphic 0))
-  (define-charset-alias '<=>jis-x0208@1997 '=>jis-x0208@1997)
-  (define-charset-alias '  =jis-x0208@1997 '=>jis-x0208@1997)
-
+   '=>>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
-   '=>jis-x0213-1
-   "JIS X 0213 Plain 1 abstract characters (unchanged part)"
-   '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
-             dimension 2
-             chars 94
-             mother =>>jis-x0213-1
-             =>iso-ir 228
-              ;; final ?O
-             graphic 0
-              ;; partial t
-             ))
-  (define-charset-alias '<=>jis-x0213-1 '=>jis-x0213-1)
+   '=>>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
-   '=>jis-x0213-1@2000
-   "JIS X 0213:2000 Plain 1 abstract characters"
-   '(registry "jisx0213\\(\\.2000\\)-1"
-             dimension 2
-             chars 94
-             mother =>jis-x0213-1
-             =>iso-ir 228
-              ;; final ?O
-             graphic 0
-             ;; partial t
-             ))
-  (define-charset-alias '<=>jis-x0213-1@2000 '=>jis-x0213-1@2000)
+   '=>>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
-   '=>jis-x0213-1@2004
-   "JIS X 0213:2004 Plain 1 abstract characters"
-   '(registry "jisx0213\\(\\.2004\\)-1"
-             dimension 2
-             chars 94
-             mother =>jis-x0213-1
-             =>iso-ir 233
-              ;; final ?Q
-             graphic 0
-              ;; partial t
-             ))
-  (define-charset-alias '<=>jis-x0213-1@2004 '=>jis-x0213-1@2004)
+   '=>>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
-   '=>jis-x0213-2@usual
-   "JIS X 0213 Plain 2 based on usual unification."
-   '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
-             dimension 2
-             chars 94
-             mother =>>jis-x0213-2
-             =>iso-ir 229
-              ;; final ?P
-             graphic 0))
+   '=>>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
-   '=>jis-x0213-2
-   "JIS X 0213 Plain 2 abstract characters"
-   '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
-             dimension 2
-             chars 94
-             mother =>jis-x0213-2@usual
-             =>iso-ir 229
-              ;; final ?P
-             graphic 0))
-
-  (make-charset '=big5-cdp
-               "Big5 with CDP extension"
-               '(long-name     "Big5-CDP"
-                 chars         256
-                 dimension     2
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 registry      "big5\\.cdp-0"
-                 mother        chinese-big5
-                 min-code      #x8140
-                 max-code      #x8DFE))
-  (define-charset-alias 'chinese-big5-cdp '=big5-cdp)
-
-  (make-charset '=>>big5-cdp
-               "Abstract glyphs of Big5-CDP"
-               '(long-name     "Big5-CDP glyphs"
-                 chars         256
-                 dimension     2
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 registry      "big5\\.cdp-0"
-                 mother        =big5-cdp))
-
-  (make-charset '=>big5-cdp
-               "Big5-CDP abstract characters"
-               '(long-name     "Big5-CDP abstract characters"
-                 chars         256
-                 dimension     2
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 registry      "big5\\.cdp-0"
-                 mother        =>>big5-cdp))
+   '=>>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"
                  min-code      ,(lsh #x6100 16)
                  max-code      ,(+ (lsh #x6100 16) 67547)
                  code-offset   ,(lsh #x6100 16)))
+  (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 detailed glyph-images."
+               '(long-name     "GT glyph-images"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        ==gt
+                  ;; min-code  1
+                  ;; max-code  67392
+                 ))
   (define-charset-alias 'ideograph-gt '=gt)
+  (define-charset-alias '=>>>gt '==gt)
   (make-charset '=>>gt
                "GT 2000 abstract glyphs"
                '(long-name     "GT abstract glyphs"
                  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"
                  columns       2
                  graphic       2
                  direction     l2r
-                 mother        =>>gt))
+                 mother        =+>gt))
   (make-charset '=gt-k
                "Ideographic components of GT"
                `(long-name     "GT components"
                  max-code      ,(+ (lsh #x6110 16) 17090)
                  code-offset   ,(lsh #x6110 16)))
   (define-charset-alias 'ideograph-gt-k '=gt-k)
+  (make-charset '==gt-k
+               "Abstract glyph-images of GT-K"
+               '(long-name     "GT-K glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =gt-k))
+  (make-charset '===gt-k
+               "Representative glyph-images of GT-K"
+               '(long-name     "GT-K glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        ==gt-k))
   (make-charset '=>>gt-k
                "abstract glyphs of GT-K"
                '(long-name     "GT-K abstract glyphs"
 
   (make-charset '=daikanwa@rev1
                "Daikanwa dictionary (revised version)"
-               `(long-name     "Daikanwa Rev."
+               '(long-name     "Daikanwa Rev."
                  chars         256
                  dimension     2
                  columns       2
                  graphic       2
                  direction     l2r
                  registry      "Daikanwa\\(\\.[0-9]+\\)?-2"
-                 mother        =daikanwa
-                  ))
+                 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"
+               '(long-name     "Daikanwa"
                  chars         256
                  dimension     2
                  columns       2
                  registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
                  mother        =daikanwa
                  min-code      1
-                  max-code     49964
-                  ;; min-code  #xE00000
-                  ;; max-code  ,(+ #xE00000 50100)
-                  ;; code-offset       #xE00000
-                 ))
+                  max-code     49964))
   (define-charset-alias '=daikanwa-rev2 '=daikanwa@rev2)
 
   (make-charset '=daikanwa/+p
                "Daikanwa dictionary (ddddd')"
-               `(long-name     "Daikanwa ddddd'"
+               '(long-name     "Daikanwa ddddd'"
                  chars         256
                  dimension     2
                  columns       2
                  direction     l2r))
   (make-charset '=daikanwa/+2p
                "Daikanwa dictionary (ddddd'')"
-               `(long-name     "Daikanwa ddddd''"
+               '(long-name     "Daikanwa ddddd''"
                  chars         256
                  dimension     2
                  columns       2
                  direction     l2r))
   (make-charset '=daikanwa/ho
                "Daikanwa dictionary (Hokan)"
-               `(long-name     "Daikanwa-ho"
+               '(long-name     "Daikanwa-ho"
                  chars         256
                  dimension     2
                  columns       2
                  graphic       2
                  direction     l2r))
 
+  (make-charset '==daikanwa
+               "Daikanwa glyph-images."
+               '(long-name     "Daikanwa glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
+                 mother        =daikanwa))
+  (make-charset '==daikanwa/+p
+               "Daikanwa detailed glyph-images (ddddd')"
+               '(long-name     "Daikanwa detailed glyphs-images (ddddd')"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =daikanwa/+p))
+  (make-charset '==daikanwa/ho
+               "Daikanwa detailed glyph-images (Hokan)"
+               '(long-name     "Daikanwa-ho detailed glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =daikanwa/ho))
+
+  (make-charset '===daikanwa
+               "Daikanwa detailed glyph-images."
+               '(long-name     "Daikanwa detailed glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
+                 mother        ==daikanwa))
+  (make-charset '===daikanwa/+p
+               "Daikanwa detailed glyph-images (ddddd')"
+               '(long-name     "Daikanwa detailed glyphs-images (ddddd')"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        ==daikanwa/+p))
+  (make-charset '===daikanwa/ho
+               "Daikanwa detailed glyph-images (Hokan)"
+               '(long-name     "Daikanwa-ho detailed glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        ==daikanwa/ho))
+
   (make-charset '=>>daikanwa
                "Daikanwa abstract glyphs"
                '(long-name     "Daikanwa glyphs"
                  direction     l2r
                  registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
                  mother        =daikanwa))
+  (make-charset '=>>daikanwa/+p
+               "Daikanwa abstract glyphs (ddddd')"
+               '(long-name     "Daikanwa glyphs (ddddd')"
+                 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"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =daikanwa/ho))
 
   (make-charset '=>daikanwa
                "Daikanwa abstract characters"
                  direction     l2r
                  registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
                  mother        =>>daikanwa))
+  (make-charset '=>daikanwa/ho
+               "Daikanwa abstract characters (Hokan)"
+               '(long-name     "abstract Daikanwa-ho"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =>>daikanwa/ho))
 
   (make-charset '=shinjigen
                "Kadokawa ShinJigen dictionary (common parts)"
                  direction     l2r))
   (define-charset-alias 'shinjigen-2-p '=shinjigen/+p@rev)
 
-  (make-charset '=big5-pua
-               "Big5 with private used area"
-               '(long-name     "Big5-PUA"
+  (make-charset '==shinjigen
+               "Detailed glyph-images of ShinJigen (common parts)"
+               '(long-name     "Shinjigen common parts"
                  chars         256
                  dimension     2
                  columns       2
                  graphic       2
                  direction     l2r
-                 mother        chinese-big5
-                 registry      "Big5\\.ETEN"))
-  (define-charset-alias 'chinese-big5-pua '=big5-pua)
-  (make-charset '=big5-eten
-               "Big5 ETEN"
-               '(long-name     "Big5-ETEN"
+                 mother        =shinjigen
+                 registry      "Shinjigen\\(\\.[0-9]+\\)?-*"))
+  (make-charset '==shinjigen@1ed
+               "Detailed glyph-images of ShinJigen (the first edition)"
+               '(long-name     "Detailed glyph-images of Shinjigen-1"
                  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"
+                 mother        ==shinjigen
+                 registry      "Shinjigen\\(\\.[0-9]+\\)?-1"))
+  (make-charset '==shinjigen@rev
+               "Detailed glyph-images of ShinJigen (the revised edition)"
+               '(long-name     "Detailed glyph-images of Shinjigen-2"
                  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"
+                 mother        ==shinjigen
+                 registry      "Shinjigen\\(\\.[0-9]+\\)?-2"))
+  (make-charset
+   '==shinjigen/+p@rev
+   "Detailed glyph-images of ShinJigen (the second edition) number with '"
+   '(long-name "Detailed glyph-images of Shinjigen-2 with '"
+               mother  =shinjigen/+p@rev
+               chars           256
+               dimension       2
+               columns 2
+               graphic 2
+               direction       l2r))
+
+  (make-charset '=big5-pua
+               "Big5 with private used area"
+               '(long-name     "Big5-PUA"
                  chars         256
                  dimension     2
                  columns       2
                  graphic       2
                  direction     l2r
                  mother        chinese-big5
-                 min-code      #xC6A1
-                 max-code      #xC8FE
                  registry      "Big5\\.ETEN"))
+  (define-charset-alias 'chinese-big5-pua '=big5-pua)
 
   (let* ((i 1)
         (hzk-min (+ (lsh #x6200 16) 65536))
                  columns       2
                  direction     l2r))
   (define-charset-alias 'ideograph-cbeta '=cbeta)
+  (make-charset '==cbeta "CBETA private characters"
+               '(long-name     "CBETA PUA glyph-images"
+                 chars         256
+                 dimension     2
+                 registry      "cbeta-0"
+                 graphic       2
+                 columns       2
+                 direction     l2r
+                 mother        =cbeta))
+  (make-charset '===cbeta "CBETA private characters"
+               '(long-name     "CBETA PUA glyph-images"
+                 chars         256
+                 dimension     2
+                 registry      "cbeta-0"
+                 graphic       2
+                 columns       2
+                 direction     l2r
+                 mother        ==cbeta))
+  (make-charset '=>>cbeta "CBETA abstract glyphs"
+               '(long-name     "CBETA glyphs"
+                 chars         256
+                 dimension     2
+                 registry      "cbeta-0"
+                 graphic       2
+                 columns       2
+                 direction     l2r
+                 mother        =cbeta))
+  (make-charset '=>cbeta "CBETA abstract characters"
+               '(long-name     "CBETA characters"
+                 chars         256
+                 dimension     2
+                 registry      "cbeta-0"
+                 graphic       2
+                 columns       2
+                 direction     l2r
+                 mother        =cbeta))
 
   (make-charset '=zinbun-oracle
                "Oracle Bones Script"
                  max-code      #xE8FFFF
                  code-offset   #xE80000))
   (define-charset-alias 'china3-jef '=jef-china3)
+  (make-charset '==jef-china3
+               "JEF + CHINA3 abstract glyph-images."
+               '(long-name     "JEF + CHINA3"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "china3jef-0"
+                 mother        =jef-china3))
+  (make-charset '===jef-china3
+               "JEF + CHINA3 glyph-images."
+               '(long-name     "JEF-CHINA3 glyph-images"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "china3jef-0"
+                 mother        ==jef-china3))
 
   (make-charset '=ruimoku-v6
                "private characters used in RUIMOKU Version.6"
                  min-code      #xE90000 ; #xE000
                  max-code      #xE908FF ; #xE8FF
                  code-offset   ,(- #xE90000 #xE000)))
+  (make-charset '==ruimoku-v6
+               "RUIMOKU Version.6 glyph-images."
+               '(long-name     "RUI6 glyph-images."
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "rui6-0"
+                 mother        =ruimoku-v6))
+  (make-charset '===ruimoku-v6
+               "RUIMOKU Version.6 representative glyph-images."
+               '(long-name     "RUI6 rep-glyph-images."
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "rui6-0"
+                 mother        ==ruimoku-v6))
   (make-charset '=>>ruimoku-v6
                "RUIMOKU Version.6 glyphs"
                '(long-name     "RUI6 glyphs"
                  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))
 
+  (make-charset '=>ucs@hanyo-denshi
+               "UCS abstract characters based on Han'you-Denshi collection."
+               '(long-name     "UCS base characters of Han'you-Denshi"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =ucs))
+
   (make-charset '=>ucs@iso
                "Abstract characters of ISO/IEC 10646 representatives"
                '(long-name     "UCS characters for ISO"
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =ucs))
-  (make-charset '=>ucs@unicode
-               "Abstract characters of Unicode representatives"
-               '(long-name     "UCS characters for Unicode"
+                 mother        =ucs))
+  (make-charset '=>ucs@unicode
+               "Abstract characters of Unicode representatives"
+               '(long-name     "UCS characters for Unicode"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =>ucs@iso))
+  (make-charset '=>ucs@jis
+               "UCS representative characters for JIS X0208/0212/0213"
+               '(long-name     "UCS characters for JIS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =>ucs@unicode))
+  (make-charset '=>ucs@ks
+               "UCS representative characters for Korean Standards"
+               '(long-name     "UCS characters for KS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =>ucs@unicode))
+  (make-charset '=>ucs@cns
+               "UCS representatives characters for CNS 11643 sources"
+               '(long-name     "UCS characters for CNS 11643"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =>ucs@unicode))
+
+  (make-charset '=+>ucs@iso
+               "UCS based on ISO/IEC 10646 representative glyphs"
+               '(long-name     "Unified abstract glyphs of UCS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =>ucs@iso))
+  (make-charset '=+>ucs@unicode
+               "Unicode representative unified abstract glyphs"
+               '(long-name     "UCS unified abstract glyphs for Unicode"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =+>ucs@iso))
+  (make-charset '=+>ucs@jis
+               "UCS based on Japanese usual unification"
+               '(long-name     "UCS unified abstract glyphs for JP"
                  chars         256
                  dimension     3
                  columns       2
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>ucs@iso))
-  (make-charset '=>ucs@jis
-               "UCS Representative characters for JIS X0208/0212/0213"
-               '(long-name     "UCS characters for JIS"
+                 mother        =+>ucs@unicode))
+  (define-charset-alias '=>ucs@JP '=+>ucs@jis)
+  (make-charset '=+>ucs@jis/1990
+               "UCS representative characters for JIS X0208/0212:1990"
+               '(long-name     "UCS characters for JIS:1990"
                  chars         256
                  dimension     3
                  columns       2
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>ucs@unicode))
-  (make-charset '=>ucs@JP
-               "UCS Representative characters for Japanese usual unification"
-               '(long-name     "UCS characters for JP"
+                 mother        =+>ucs@jis))
+  (define-charset-alias '=>ucs@jis/1990 '=+>ucs@jis/1990)
+  (make-charset '=+>ucs@jis/2004
+               "UCS representative characters for JIS X 0213:2004"
+               '(long-name     "UCS characters for JIS:2004"
                  chars         256
                  dimension     3
                  columns       2
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>ucs@jis))
-  (make-charset '=>ucs@ks
-               "UCS Representative characters for Korean Standards"
-               '(long-name     "UCS characters for KS"
+                 mother        =+>ucs@jis))
+  (make-charset '=+>ucs@ks
+               "UCS representative unified abstract glyphs for Korean Standards"
+               '(long-name     "UCS unified abstract glyphs for KS"
                  chars         256
                  dimension     3
                  columns       2
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>ucs@unicode))
-  (make-charset '=>ucs@cns
-               "UCS representatives characters for CNS 11643 sources"
-               '(long-name     "UCS characters for CNS 11643"
+                 mother        =+>ucs@unicode))
+  (make-charset '=+>ucs@cns
+               "UCS representatives unified abstract glyphs for CNS 11643 sources"
+               '(long-name     "UCS unified abstract glyphs for CNS"
                  chars         256
                  dimension     3
                  columns       2
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>ucs@unicode))
+                 mother        =+>ucs@unicode))
 
   (make-charset '=>>ucs@iso
                "Representative abstract-glyphs of ISO/IEC 10646"
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>ucs@iso))
+                 mother        =+>ucs@iso))
   (make-charset '=>>ucs@unicode
                "Representative abstract-glyphs of Unicode"
                '(long-name     "Unicode abstract glyphs"
                  =>iso-ir      177
                  mother        =>>ucs@unicode))
 
-  (make-charset '=>>>ucs@iso
-               "Representative glyphs of ISO/IEC 10646"
-               '(long-name     "UCS glyphs for UCS"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 =>iso-ir      177
-                 mother        =>>ucs@iso))
-  (make-charset '=>>>ucs@unicode
-               "Representative glyphs of Unicode"
-               '(long-name     "UCS glyphs for Unicode"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 =>iso-ir      177
-                 mother        =>>>ucs@iso))
-  (make-charset '=>>>ucs@jis
-               "UCS Representative glyphs for JIS X0208/0212/0213"
-               '(long-name     "UCS glyphs for JIS"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 =>iso-ir      177
-                 mother        =>>>ucs@unicode))
-  (make-charset '=>>>ucs@cns
-               "UCS Representative glyphs for CNS 11643 sources"
-               '(long-name     "UCS glyphs for CNS"
-                 chars         256
-                 dimension     3
-                 columns       2
-                 graphic       2
-                 direction     l2r
-                 =>iso-ir      177
-                 mother        =>>>ucs@unicode))
-
   (make-charset '=ucs@iso
                "ISO/IEC 10646 for its representative glyphs"
                '(long-name     "UCS for ISO"
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>>>ucs@iso))
+                  mother       =>>ucs@iso
+                 ))
   (make-charset '=ucs@unicode
                "Unicode for its representative glyphs"
                '(long-name     "UCS for Unicode"
                  =>iso-ir      177
                  mother        =ucs@jis/2004))
   (define-charset-alias '=ucs@jp '=ucs@JP)
+  (make-charset '=ucs@JP/hanazono
+               "Japanese glyph-images of Hanazono Mincho"
+               '(long-name     "UCS for Hana-Min"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =ucs@JP))
   (make-charset '=ucs@ks
                "ISO/IEC 10646 for Korean Standards"
                '(long-name     "UCS for KS"
                  =>iso-ir      177
                  mother        =ucs@unicode))
   (define-charset-alias 'ucs-ks '=ucs@ks)
+  (make-charset '=ucs@ks/2012
+               "Mapping for Korean Standards in ISO/IEC 10646:2012"
+               '(long-name     "UCS:2012 for KS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =ucs@ks))
   (make-charset '=ucs-bmp@ks
                "ISO/IEC 10646 BMP for KS"
                '(long-name     "BMP for KS"
                  graphic       2
                  direction     l2r
                  =>iso-ir      177
-                 mother        =>>ucs@cns))
+                 mother        =ucs@cns
+                 ;; mother     =>>ucs@cns
+                 ))
   (define-charset-alias 'ucs-big5 '=ucs@big5)
   (make-charset '=ucs@big5/cns11643
                "ISO/IEC 10646 for Big5 based on www.cns11643.gov.tw"
                  =>iso-ir      177
                  mother        =ucs@big5))
 
+  (make-charset '==ucs@iso
+               "Representative glyph-forms of ISO/IEC 10646."
+               '(long-name     "UCS glyph-forms for UCS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        =>>ucs@iso))
+  (define-charset-alias '=>>>ucs@iso '==ucs@iso)
+  (make-charset '==ucs@unicode
+               "Representative glyph-forms of Unicode."
+               '(long-name     "UCS glyph-forms for Unicode"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@iso))
+  (define-charset-alias '=>>>ucs@unicode '==ucs@unicode)
+  (make-charset '==ucs@gb
+               "ISO/IEC 10646 for GB"
+               '(long-name     "UCS for GB"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@unicode))
+  (make-charset '==ucs-bmp@gb
+               "ISO/IEC 10646 BMP for GB"
+               '(long-name     "BMP for GB"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        ==ucs@gb
+                 min-code      #x0000
+                 max-code      #xFFFF))
+  (make-charset '==ucs@cns
+               "UCS Representative glyph-forms for CNS 11643 sources."
+               '(long-name     "UCS glyph-forms for CNS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@unicode))
+  (define-charset-alias '=>>>ucs@cns '==ucs@cns)
+  (make-charset '==ucs-bmp@cns
+               "ISO/IEC 10646 BMP for CNS"
+               '(long-name     "BMP for CNS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        ==ucs@cns
+                 min-code      #x0000
+                 max-code      #xFFFF))
+  (make-charset '==ucs@jis
+               "UCS Representative glyph-forms for JIS X0208/0212/0213."
+               '(long-name     "UCS glyph-forms for JIS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@unicode))
+  (define-charset-alias '=>>>ucs@jis '==ucs@jis)
+  (make-charset '==ucs@jis/1990
+               "UCS Representative glyph-forms for JIS X 0208/0212:1990."
+               '(long-name     "UCS glyph-forms for JIS:1990"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@jis))
+  (define-charset-alias '=>>>ucs@jis/1990 '==ucs@jis/1990)
+  (make-charset '==ucs@jis/2000
+               "UCS Representative glyph-forms for JIS X 0213:2000."
+               '(long-name     "UCS glyph-forms for JIS:2000"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@jis))
+  (define-charset-alias '=>>>ucs@jis/2000 '==ucs@jis/2000)
+  (make-charset '==ucs@jis/2004
+               "UCS Representative glyph-forms for JIS X 0213:2004."
+               '(long-name     "UCS glyph-forms for JIS:2004"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@jis))
+  (define-charset-alias '=>>>ucs@jis/2004 '==ucs@jis/2004)
+  (make-charset '==ucs@JP
+               "UCS for common glyph-forms used in Japan."
+               '(long-name     "UCS for Japan"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@jis/2004))
+  (make-charset '==ucs@JP/hanazono
+               "Japanese glyph-forms of Hanazono Mincho."
+               '(long-name     "UCS for Hana-Min"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@JP))
+  (make-charset '==ucs@ks
+               "UCS Representative glyph-forms for Korean Standards."
+               '(long-name     "UCS glyph-forms for KS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@unicode))
+  (define-charset-alias '=>>>ucs@ks '==ucs@ks)
+  (make-charset '==ucs-bmp@ks
+               "ISO/IEC 10646 BMP for KS."
+               '(long-name     "BMP for KS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        ==ucs@ks
+                 min-code      #x0000
+                 max-code      #xFFFF))
+  (make-charset '==ucs@cns11643
+               "ISO/IEC 10646 for CNS based on www.cns11643.gov.tw."
+               '(long-name     "UCS for CNS11643"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@cns))
+
+  (make-charset '===ucs@iso
+               "ISO/IEC 10646-2 representative glyph-images."
+               '(long-name     "ISO rep-images for UCS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ==ucs@iso))
+  (make-charset '===ucs@unicode
+               "Unicode for its representative glyph-images."
+               '(long-name     "UCS for Unicode"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ===ucs@iso))
+  (make-charset '===ucs@gb
+               "UCS representative glyph-images of GB."
+               '(long-name     "UCS rep-images for GB"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ===ucs@unicode))
+  (make-charset '===ucs@ks
+               "UCS representative glyph-images of Korean Standards."
+               '(long-name     "UCS rep-images for KS"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ===ucs@unicode))
+
+  (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
    '=ucs-radicals
    "CJK Radicals of UCS"
               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@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-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$"))
+              min-code #x2E00 max-code #x2FFF))
   (make-charset
-   '=adobe-japan1-1
-   "Adobe-Japan1-1 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-1"
+   '=ucs-hangul
+   "Hangul Syllables of UCS"
+   '(long-name "UCS-Hangul-Syllables"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              mother =adobe-japan1-0
-              min-code 0
-              max-code 8358
-              registry "AdobeJapan1-1$"))
+              registry "-Hangul-.*-ucs-0"
+              mother =ucs
+              min-code #xAC00 max-code #xD7AF))
   (make-charset
-   '=adobe-japan1-2
-   "Adobe-Japan1-2 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-2"
+   '=ucs-bmp-cjk
+   "CJK Characters in BMP of UCS"
+   '(long-name "UCS-BMP-CJK"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              mother =adobe-japan1-1
-              min-code 0
-              max-code 8719
-              registry "AdobeJapan1-2$"))
+              registry "-zh-.*-ucs-0"
+              mother ucs-bmp
+              min-code #x2E00
+              max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=adobe-japan1-3
-   "Adobe-Japan1-3 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-3"
+   '=ucs-bmp-cjk@gb
+   "CJK Characters in BMP with GB representative glyph-images."
+   '(long-name "CJK in BMP@GB"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              mother =adobe-japan1-2
-              min-code 0
-              max-code 9353
-              registry "AdobeJapan1-3$"))
+              registry "-zh-.*-ucs-0"
+              mother =ucs@gb
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=adobe-japan1-4
-   "Adobe-Japan1-4 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-4"
+   '==ucs-bmp-cjk@gb
+   "CJK Characters in BMP with GB representative glyph-images."
+   '(long-name "CJK in BMP@GB"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              mother =adobe-japan1-3
-              min-code 0
-              max-code 15443
-              registry "AdobeJapan1-4$"))
+              registry "-zh-.*-ucs-0"
+              mother ==ucs@gb
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=adobe-japan1-5
-   "Adobe-Japan1-5 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-5"
+   '===ucs-bmp-cjk@gb
+   "CJK Characters in BMP with GB representative glyph-images."
+   '(long-name "CJK in BMP@GB"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              mother =adobe-japan1-4
-              min-code 0
-              max-code 20316
-              registry "AdobeJapan1-5$"))
+              registry "-zh-.*-ucs-0"
+              mother ===ucs@gb
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=adobe-japan1-6
-   "Adobe-Japan1-6 Character Collection for CID-Keyed Fonts"
-   '(long-name "Adobe-Japan1-6"
+   '=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
-              mother =adobe-japan1-5
-              min-code 0
-              max-code 23057
-              registry "AdobeJapan1-6$"))
-
+              registry "-ja-.*-ucs-0"
+              mother =ucs@JP
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=hanyo-denshi/ja
-   "JA (JIS X0208) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JA"
-              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\\.JA-0$"
-              min-code ,(lsh #x6400 16)
-              max-code ,(+ (lsh #x6400 16) (1- (* 94 94)))
-              code-offset ,(lsh #x6400 16)))
+              registry "-ja-.*-ucs-0"
+              mother =ucs@JP/hanazono
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=hanyo-denshi/jb
-   "JB (JIS X0212) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JB"
-              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\\.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))))
+              registry "-ja-.*-ucs-0"
+              mother ==ucs@JP/hanazono
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (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
+   '=+>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\\.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))))
+              registry "-zh-.*-ucs-0"
+              mother =+>ucs@unicode
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (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
+   '=>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\\.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))))
+              registry "-zh-.*-ucs-0"
+              mother =>ucs@unicode
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=hanyo-denshi/ft
-   "FT (FDPC additional) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/FT"
-              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\\.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))))
+              registry "-zh-.*-ucs-0"
+              mother ==>ucs@bucs
+              min-code #x2E00
+               max-code #x9FA5
+              ;; max-code #xA4CF
+              ))
   (make-charset
-   '=hanyo-denshi/ia
-   "IA part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/IA"
-              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\\.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))))
+              registry "-ja-.*-ucs-0"
+              mother ucs-bmp
+              min-code #xF900
+              max-code #xFAFF
+              ))
   (make-charset
-   '=hanyo-denshi/ib
-   "IB part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/IB"
-              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\\.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))))
+              registry "-ja-.*-ucs-0"
+              mother =ucs@unicode
+              min-code #xF900
+              max-code #xFAFF
+              ))
   (make-charset
-   '=hanyo-denshi/hg
-   "HG (HyouGai Kanji) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/HG"
-              chars 94
+   '=+>ucs-bmp-cjk-compat@jis
+   "CJK Compatibility Ideographs of JIS representatives unified glyphs"
+   '(long-name "JIS unified glyphs for CJK Compat chars"
+              chars 256
               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))))
+              registry "-ja-.*-ucs-0"
+              mother =+>ucs@jis
+              min-code #xF900
+              max-code #xFAFF
+              ))
   (make-charset
-   '=hanyo-denshi/ip
-   "IP (for IPA) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/IP"
+   '=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\\.IP-0$"
-              min-code    ,(+ (lsh #x6402 16) #x4E00)
-              max-code    ,(+ (lsh #x6402 16) #x9FFF)
-              code-offset ,(+ (lsh #x6402 16))))
+              registry "\\(iso10646\\|ucs00\\)-2$"
+              mother ucs
+              min-code #x20000 max-code #x2A6D6
+              code-offset #x20000))
   (make-charset
-   '=hanyo-denshi/jt
-   "JT (Juuki Touitsu Moji) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/JT"
+   '=ucs-sip@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 "HanyoDenshi\\.JT-0$"
-              min-code    ,(+ (lsh #x6402 16) #xAC00)
-              max-code    ,(+ (lsh #x6402 16) #xD7AF)
-              code-offset ,(+ (lsh #x6402 16))))
+              registry "ucs00-2$"
+              mother =ucs@iso
+              min-code #x20000 max-code #x2FFFF
+              code-offset #x20000))
   (make-charset
-   '=hanyo-denshi/ks
-   "KS (KoSeki) part of Han'you-Denshi characters"
-   `(long-name "Han'you-Denshi/KS font encoding"
+   '=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))
+              direction l2r
+              registry "\\(iso10646\\|ucs00\\)-2$"
+              mother =ucs@iso
+              min-code #x20000 max-code #x2A6D6
+              code-offset #x20000))
   (make-charset
-   '=hanyo-denshi/ks/mf
-   "font encoding for KS (KoSeki) characters"
-   `(long-name "Han'you-Denshi/KS font encoding"
+   '==ucs-sip@iso
+   "ISO representative abstract-glyph-images of ISO/IEC 10646 Plane 2"
+   '(long-name "SIP abstract glyph-images"
               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)))
-
+              registry "\\(ucs00\\)-2$"
+              mother ==ucs@iso
+              code-offset #x20000))
   (make-charset
-   '=>>hanyo-denshi/ft
-   "Han'you-Denshi/FT abstract glyphs"
-   '(long-name "Han'you-Denshi/FT glyphs"
-              chars 94
+   '==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 "HanyoDenshi\\.FT-0$"
-              mother =hanyo-denshi/ft))
+              registry "\\(iso10646\\|ucs00\\)-2$"
+              mother ==ucs@iso
+              min-code #x20000 max-code #x2A6D6
+              code-offset #x20000))
   (make-charset
-   '=>>hanyo-denshi/jt
-   "JT (Juuki Touitsu Moji) abstract glyphs"
-   '(long-name "Han'you-Denshi/JT glyphs"
+   '===ucs-sip@iso
+   "ISO representative glyph-images of ISO/IEC 10646 Plane 2"
+   '(long-name "SIP rep-glyph-images"
               chars 256
               dimension 2
               columns 2
               graphic 2
               direction l2r
-              registry "HanyoDenshi\\.JT-0$"
-              mother =hanyo-denshi/jt))
+              registry "\\(ucs00\\)-2$"
+              mother ===ucs@iso
+              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\\|ucs00\\)-2$"
+              mother ===ucs@iso
+              min-code #x20000 max-code #x2A6D6
+              code-offset #x20000))
   )
 
 ;;; mule-conf.el ends here