]> code.delx.au - gnu-emacs/blobdiff - lisp/language/chinese.el
* lisp/progmodes/ruby-mode.el: Bump the version to 1.2.
[gnu-emacs] / lisp / language / chinese.el
index a5cc9c7a2cf384e230611d31b91204edd03cb613..782b5a363addb04b69a930a9158fe38f08680762 100644 (file)
@@ -1,9 +1,8 @@
 ;;; chinese.el --- support for Chinese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008
+;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 ;; Copyright (C) 2003
 (set-language-info-alist
  "Chinese-GB" '((charset chinese-gb2312 chinese-sisheng)
                (iso639-language . zh)
+               (setup-function . (lambda ()
+                                   (use-cjk-char-width-table 'zh_CN)))
+               (exit-function . use-default-char-width-table)
                (coding-system chinese-iso-8bit iso-2022-cn chinese-hz)
-               (coding-priority chinese-iso-8bit chinese-big5 iso-2022-cn)
+               (coding-priority chinese-iso-8bit chinese-gbk chinese-big5
+                                iso-2022-cn)
                (input-method . "chinese-py-punct")
                (features china-util)
                (sample-text . "Chinese (\e$AVPND\e(B,\e$AFUM(;0\e(B,\e$A::So\e(B)    \e$ADc:C\e(B")
 
 (define-coding-system 'chinese-big5
   "BIG5 8-bit encoding for Chinese (MIME:Big5)"
-  :coding-type 'charset
-  :mnemonic ?B 
+  :coding-type 'big5
+  :mnemonic ?B
   :charset-list '(ascii big5)
   :mime-charset 'big5)
 
 (set-language-info-alist
  "Chinese-BIG5" '((charset chinese-big5-1 chinese-big5-2)
                  (iso639-language . zh)
+                 (setup-function . (lambda ()
+                                     (use-cjk-char-width-table 'zh_HK)))
+                 (exit-function . use-default-char-width-table)
                  (coding-system chinese-big5 chinese-iso-7bit)
-                 (coding-priority chinese-big5 iso-2022-cn chinese-iso-8bit)
+                 (coding-priority chinese-big5 iso-2022-cn chinese-iso-8bit
+                                  chinese-gbk)
                  (input-method . "chinese-py-punct-b5")
                  (ctext-non-standard-encodings "big5-0")
                  (features china-util)
 (define-coding-system 'chinese-big5-hkscs
   "BIG5-HKSCS 8-bit encoding for Chinese, Hong Kong supplement (MIME:Big5-HKSCS)"
   :coding-type 'charset
-  :mnemonic ?B 
+  :mnemonic ?B
   :charset-list '(ascii big5-hkscs)
   :mime-charset 'big5-hkscs)
 (define-coding-system-alias 'big5-hkscs 'chinese-big5-hkscs)
                          chinese-cns11643-5 chinese-cns11643-6
                          chinese-cns11643-7)
                 (iso639-language . zh)
+                (setup-function . (lambda ()
+                                    (use-cjk-char-width-table 'zh_TW)))
+                (exit-function . use-default-char-width-table)
                 (coding-system iso-2022-cn euc-tw)
                 (coding-priority iso-2022-cn euc-tw chinese-big5
-                                 chinese-iso-8bit)
+                                 chinese-iso-8bit chinese-gbk)
                 (features china-util)
                 (input-method . "chinese-cns-quick")
                 ;; Fixme: presumably it won't accept big5 now.
@@ -203,13 +213,16 @@ accepts Big5 for input also (which is then converted to CNS)."))
                             chinese-cns11643-5 chinese-cns11643-6
                             chinese-cns11643-7 chinese-big5-1 chinese-big5-2)
                    (iso639-language . zh)
+                   (setup-function . (lambda ()
+                                       (use-cjk-char-width-table 'zh_TW)))
+                   (exit-function . use-default-char-width-table)
                    (coding-system euc-tw iso-2022-cn)
                    (coding-priority euc-tw chinese-big5 iso-2022-cn
-                                    chinese-iso-8bit)
+                                    chinese-iso-8bit chinese-gbk)
                    (features china-util)
                    (input-method . "chinese-cns-quick")
                    (documentation . "\
-Support for Chinese, prefering the EUC-TW character set.  Note that
+Support for Chinese, preferring the EUC-TW character set.  Note that
 the EUC-TW coding system accepts Big5 for input also (which is then
 converted to CNS)."))
  '("Chinese"))
@@ -230,10 +243,13 @@ converted to CNS)."))
 (set-language-info-alist
  "Chinese-GBK" '((charset chinese-gbk)
                 (iso639-language . zh)
+                (setup-function . (lambda ()
+                                    (use-cjk-char-width-table 'zh_CN)))
+                (exit-function . use-default-char-width-table)
                 (coding-system chinese-gbk)
                 (coding-priority gbk iso-2022-cn chinese-big5
                                  chinese-iso-8bit) ; fixme?
-                (ctext-non-standard-encodings "gbk-0")          
+                (ctext-non-standard-encodings "gbk-0")
                 (input-method . "chinese-py-punct") ; fixme?
                 (sample-text . "Chinese (\e$BCfJ8\e(B,\e$BIaDL\e$A;0\e(B,\e$A::So\e(B) \e$(D95\e$B9%\e(B")
                 (features china-util)
@@ -272,5 +288,4 @@ converted to CNS)."))
 
 (provide 'chinese)
 
-;; arch-tag: b82fcf7a-84f6-4e0b-b38c-1742dac0e09f
 ;;; chinese.el ends here