Sync up with r21-4-21-chise-0_24-cns7-r140.
[chise/xemacs-chise.git] / lisp / mule / mule-conf.el
index 169d35b..1542db1 100644 (file)
@@ -2,7 +2,8 @@
 
 ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN.
 ;; Licensed to the Free Software Foundation.
-;; Copyright (C) 1997,1999,2000,2002,2003,2004,2005,2006,2008 MORIOKA Tomohiko
+;; Copyright (C) 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008,
+;;   2009 MORIOKA Tomohiko
 
 ;; Keywords: mule, multilingual, character set, coding system
 
 
 ;;; Code:
 
+(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))
+  (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/4-pr
+   "JIS X 0208:1978, 4th impression or later."
+   '(registry "jisx0208\\.1978"
+             dimension 2
+             chars 94
+             mother =jis-x0208@1978
+              =>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)
   )
 
 ;; JIS X 0213:2000
-(if (featurep 'utf-2000)
-    (progn
-      (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-x0208@1990
-               final ?O
-               graphic 0))
-      (make-charset
-       '=jis-x0213-2-2000
-       "JIS X 0213:2000 Plain 2"
-       '(iso-ir 229
-               registry "jisx0213\\(\\.2000\\)-2"
-               dimension 2
-               chars 94
-               final ?P
-               graphic 0))
-      (define-charset-alias 'japanese-jisx0213-1 '=jis-x0213-1-2000)
-      (define-charset-alias 'japanese-jisx0213-2 '=jis-x0213-2-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"
              chars 94
              final ?P
              graphic 0))
-  )
+  ))
 
 (when (featurep 'utf-2000)
   (define-charset-alias 'ucs '=ucs)
              mother =jis-x0208
              ;; final ?B
              graphic 0))
-  (make-charset
-   '=jis-x0208@1978/i1
-   "The first impression of JIS X 0208:1978."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978
-             ;; final ?@
-             graphic 0))
-  (make-charset
-   '=jis-x0208@1978/i-4
-   "The second and third impressions of JIS X 0208:1978."
-   '(registry "jisx0208\\.1978"
-             dimension 2
-             chars 94
-             mother =jis-x0208@1978
-             ;; final ?@
-             graphic 0))
 
   (make-charset '=big5-cdp
                "Big5 with CDP extension"
                  max-code      ,(+ (lsh #x6100 16) 67547)
                  code-offset   ,(lsh #x6100 16)))
   (define-charset-alias 'ideograph-gt '=gt)
+  (make-charset '<=>gt
+               "GT 2000 abstract characters"
+               `(long-name     "abstract GT"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 mother        =gt))
   (make-charset '=gt-k
                "Ideographic components of GT"
                `(long-name     "GT components"
                  ))
   (define-charset-alias '=daikanwa-rev2 '=daikanwa@rev2)
 
+  (make-charset '=shinjigen
+               "Kadokawa ShinJigen dictionary (common parts)"
+               `(long-name     "Shinjigen common parts"
+                 chars         256
+                 dimension     2
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 registry      "Shinjigen\\(\\.[0-9]+\\)?-*"))
+
   (make-charset '=shinjigen@1ed
                "Kadokawa ShinJigen dictionary (the first edition)"
                `(long-name     "Shinjigen-1"
                  columns       2
                  graphic       2
                  direction     l2r
+                 mother        =shinjigen
                  registry      "Shinjigen\\(\\.[0-9]+\\)?-1"))
   (define-charset-alias 'shinjigen-1 '=shinjigen@1ed)
 
                  columns       2
                  graphic       2
                  direction     l2r
+                 mother        =shinjigen
                  registry      "Shinjigen\\(\\.[0-9]+\\)?-2"))
   (define-charset-alias 'shinjigen-2 '=shinjigen@rev)
   (make-charset '=shinjigen/+p@rev
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs))
   (make-charset '=ucs@unicode
                "Unicode for its representative glyphs"
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@iso))
   (make-charset '=ucs@gb
                "ISO/IEC 10646 for GB"
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@unicode))
   (define-charset-alias 'ucs-gb '=ucs@gb)
   (make-charset '=ucs@gb/fw
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@gb))
   (make-charset '=ucs-bmp@gb
                "ISO/IEC 10646 BMP for GB"
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@unicode))
   (define-charset-alias 'ucs-cns '=ucs@cns)
   (make-charset '=ucs@cns/fw
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@cns))
   (make-charset '=ucs-bmp@cns
                "ISO/IEC 10646 BMP for CNS"
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@unicode))
   (define-charset-alias 'ucs-jis '=ucs@jis)
   (make-charset '=ucs@jis/fw
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@jis))
   (make-charset '=ucs-bmp@jis
                "ISO/IEC 10646 BMP for JIS"
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        ucs-jis))
   (define-charset-alias '=ucs@jis-1990 '=ucs@jis/1990)
   (define-charset-alias '=ucs-jis-1990 '=ucs@jis/1990)
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        ucs-jis))
   (define-charset-alias '=ucs@jis-2000 '=ucs@jis/2000)
   (define-charset-alias '=ucs-jis-2000 '=ucs@jis/2000)
+  (make-charset '=ucs@jis/2004
+               "ISO/IEC 10646 for JIS X 0213:2004"
+               '(long-name     "UCS for JIS:2004"
+                 chars         256
+                 dimension     3
+                 columns       2
+                 graphic       2
+                 direction     l2r
+                 =>iso-ir      177
+                 mother        ucs-jis))
   (make-charset '=ucs@JP
                "UCS for common glyphs used in Japan"
                '(long-name     "UCS for Japan"
                  columns       2
                  graphic       2
                  direction     l2r
-                 mother        =ucs@jis/2000))
+                 =>iso-ir      177
+                 mother        =ucs@jis/2004))
   (define-charset-alias '=ucs@jp '=ucs@JP)
   (make-charset '=ucs@ks
                "ISO/IEC 10646 for Korean Standards"
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@unicode))
   (define-charset-alias 'ucs-ks '=ucs@ks)
   (make-charset '=ucs-bmp@ks
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@unicode))
   (define-charset-alias 'ucs-big5 '=ucs@big5)
   (make-charset '=ucs@big5/cns11643
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@big5))
   (make-charset '=ucs@cns11643
                "ISO/IEC 10646 for CNS based on www.cns11643.gov.tw"
                  columns       2
                  graphic       2
                  direction     l2r
+                 =>iso-ir      177
                  mother        =ucs@cns))
   
   (make-charset