Merge from emacs-24
[bpt/emacs.git] / lisp / language / chinese.el
index 31f8762..ac2afa3 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
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -25,9 +24,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 
 (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)
                (input-method . "chinese-py-punct")
 
 (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)
                  (input-method . "chinese-py-punct-b5")
                  (ctext-non-standard-encodings "big5-0")
                  (features china-util)
-                 (sample-text . "Cantonese (\e$(Gemk#\e(B,\e$(Gl]N)fc\e(B) \e$ATg3?\e(B, \e$ADc:C\e(B")
+                 (sample-text . "Cantonese (\e$(0GnM$\e(B,\e$(0N]0*Hd\e(B) \e$(0*/=(\e(B, \e$(0+$)p\e(B")
                  (documentation . "Support for Chinese Big5 character set.")
                  (tutorial . "TUTORIAL.zh"))
  '("Chinese"))
 (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-3 chinese-cns11643-4
                          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)
@@ -201,13 +210,17 @@ accepts Big5 for input also (which is then converted to CNS)."))
                             chinese-cns11643-3 chinese-cns11643-4
                             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)
                    (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"))
@@ -227,10 +240,14 @@ 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)
@@ -253,6 +270,7 @@ converted to CNS)."))
 
 (set-language-info-alist
  "Chinese-GB18030" '((charset gb18030)
+                    (iso639-language . zh)
                     (coding-system chinese-gb18030)
                     (coding-priority gb18030 gbk iso-2022-cn chinese-big5
                                      chinese-iso-8bit) ; fixme?
@@ -268,5 +286,4 @@ converted to CNS)."))
 
 (provide 'chinese)
 
-;;; arch-tag: b82fcf7a-84f6-4e0b-b38c-1742dac0e09f
 ;;; chinese.el ends here