CEDET (development tools) package merged.
[bpt/emacs.git] / lisp / language / chinese.el
index e5fc264..6613603 100644 (file)
@@ -1,9 +1,9 @@
 ;;; chinese.el --- support for Chinese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
 ;;   Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007
+;;   2005, 2006, 2007, 2008, 2009
 ;;   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 +25,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:
 
@@ -93,7 +91,6 @@
 (define-coding-system-alias 'euc-cn 'chinese-iso-8bit)
 (define-coding-system-alias 'cn-gb 'chinese-iso-8bit)
 (define-coding-system-alias 'gb2312 'chinese-iso-8bit)
-(define-coding-system-alias 'cp936 'chinese-iso-8bit)
 
 (define-coding-system 'chinese-hz
   "Hz/ZW 7-bit encoding for Chinese GB2312 (MIME:HZ-GB-2312)."
 
 (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
+  :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"))
                          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)
@@ -202,6 +211,10 @@ 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)
@@ -228,6 +241,10 @@ 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?
@@ -254,6 +271,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?
@@ -269,5 +287,5 @@ converted to CNS)."))
 
 (provide 'chinese)
 
-;;; arch-tag: b82fcf7a-84f6-4e0b-b38c-1742dac0e09f
+;; arch-tag: b82fcf7a-84f6-4e0b-b38c-1742dac0e09f
 ;;; chinese.el ends here