diff lisp/language/chinese.el @ 17765:9c4845e8101d

Make functions setup-LANGUAGE-environment interactive and add new functions describe-LANGUAGE-support for all LANGUAGEs supported. Remove resisterations of input methods which use the function encoded-kbd-select-terminal. (pre-write-encode-hz): Make it work for the case the arg FROM is a string. (setup-chinese-cns-environemnt): Set default-input-method to quail-quich-cns.
author Kenichi Handa <handa@m17n.org>
date Mon, 12 May 1997 07:00:05 +0000
parents 07f0a1e07d1e
children 084d922fcd78
line wrap: on
line diff
--- a/lisp/language/chinese.el	Mon May 12 06:59:23 1997 +0000
+++ b/lisp/language/chinese.el	Mon May 12 07:00:05 1997 +0000
@@ -46,11 +46,22 @@
 
 (define-coding-system-alias 'iso-2022-cn 'iso-2022-cn-ext)
 
-(set-language-info
- "Chinese" 'documentation
-"Emacs provides three kinds of Chinese support: Chinese-GB,
-Chinese-BIG5, and Chinese-CNS.  Please specify one of them to get more
-information.")
+(defun describe-chinese-support ()
+  "Describe how Emacs supports Chinese."
+  (interactive)
+  (with-output-to-temp-buffer "*Help*"
+    (princ (get-language-info "Chinese" 'documentation))
+    (princ "\n")))
+	   
+(set-language-info-alist
+ "Chinese" '((describe-function . describe-chinese-support)
+	     (documentation . "\
+Emacs provides the following three kinds of Chinese support:
+  Chinese-GB: for users of the charset GB2312
+  Chinese-BIG5: for users of the charset Big5
+  Chinese-CNS: for users of the charset CNS11643 family
+Please specify one of them to get more information.")
+	     ))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Chinese GB2312 (simplified) 
@@ -81,15 +92,14 @@
   (let ((buf (current-buffer))
 	(work (get-buffer-create " *pre-write-encoding-work*")))
     (set-buffer work)
-    (widen)
     (erase-buffer)
-    (insert-buffer-substring buf from to)
+    (if (stringp from)
+	(insert from)
+      (insert-buffer-substring buf from to))
     (encode-hz-region 1 (point-max))
     nil))
 
 (register-input-method
- "Chinese-GB" '("cxterm-gb" encoded-kbd-select-terminal cn-gb-2312))
-(register-input-method
  "Chinese-GB" '("quail-ccdospy" quail-use-package "quail/ccdospy"))
 (register-input-method
  "Chinese-GB" '("quail-ctlau" quail-use-package "quail/ctlau"))
@@ -107,6 +117,8 @@
  "Chinese-GB" '("quail-py" quail-use-package "quail/py"))
 
 (defun setup-chinese-gb-environment ()
+  "Setup multilingual environment (MULE) for Chinese GB2312 users."
+  (interactive)
   (setq primary-language "Chinese-GB")
 
   (setq coding-category-iso-8-2 'cn-gb-2312)
@@ -129,13 +141,18 @@
   (setq default-input-method '("Chinese-GB" . "quail-py"))
   )
 
+(defun describe-chinese-gb-support ()
+  "Describe how Emacs supports Chinese for GB2312 users."
+  (interactive)
+  (describe-language-support-internal "Chinese-GB"))
+
 (set-language-info-alist
- "Chinese-GB" '((documentation . t)
-		(setup-function . setup-chinese-gb-environment)
+ "Chinese-GB" '((setup-function . setup-chinese-gb-environment)
+		(describe-function . describe-chinese-gb-support)
 		(charset . (chinese-gb2312 chinese-sisheng))
 		(coding-system . (cn-gb-2312 hz-gb-2312 iso-2022-cn))
-		(documentation . t)
-		(sample-text . "Chinese ($AVPND(B,$AFUM(;0(B,$A::So(B)	$ADc:C(B")))
+		(sample-text . "Chinese ($AVPND(B,$AFUM(;0(B,$A::So(B)	$ADc:C(B")
+		(documentation . nil)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Chinese BIG5 (traditional)
@@ -166,8 +183,6 @@
       (cons (cons "big5" ccl-encode-big5-font) font-ccl-encoder-alist))
 
 (register-input-method
- "Chinese-BIG5" '("cxterm-big5" encoded-kbd-select-terminal big5))
-(register-input-method
  "Chinese-BIG5" '("quail-qj-b5" quail-use-package "quail/qj-b5"))
 (register-input-method
  "Chinese-BIG5" '("quail-zozy" quail-use-package "quail/zozy"))
@@ -189,6 +204,8 @@
  "Chinese-BIG5" '("quail-4corner" quail-use-package "quail/4corner"))
 
 (defun setup-chinese-big5-environment ()
+  "Setup multilingual environment (MULE) for Chinese Big5 users."
+  (interactive)
   (setq primary-language "Chinese-BIG5")
 
   (setq coding-category-big5 'cn-big5)
@@ -208,12 +225,18 @@
   (setq default-input-method '("Chinese-BIG5" . "quail-py-b5"))
   )
 
+(defun describe-chinese-big5-support ()
+  "Describe how Emacs supports Chinese for Big5 users."
+  (interactive)
+  (describe-language-support-internal "Chinese-BIG5"))
+
 (set-language-info-alist
  "Chinese-BIG5" '((setup-function . setup-chinese-big5-environment)
+		  (describe-function . describe-chinese-big5-support)
 		  (charset . (chinese-big5-1 chinese-big5-2))
 		  (coding-system . (cn-big5 iso-2022-cn))
-		  (documentation . t)
-		  (sample-text . "Cantonese ($(0GnM$(B,$(0N]0*Hd(B)	$(0*/=((B, $(0+$)p(B")))
+		  (sample-text . "Cantonese ($(0GnM$(B,$(0N]0*Hd(B)	$(0*/=((B, $(0+$)p(B")
+		  (documentation . nil)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Chinese CNS11643 (traditional)
@@ -225,6 +248,8 @@
  "Chinese-CNS" '("quail-tsangchi-cns" quail-use-package "quail/tsangchi-cns"))
 
 (defun setup-chinese-cns-environment ()
+  "Setup multilingual environment (MULE) for Chinese CNS11643 family users."
+  (interactive)
   (setq primary-language "Chinese-CNS")
 
   (setq coding-category-iso-else 'iso-2022-cn)
@@ -241,16 +266,22 @@
   (set-terminal-coding-system 'iso-2022-cn)
   (set-keyboard-coding-system 'iso-2022-cn)
 
-  (setq default-input-method '("Chinese-CNS" . "quail-py-cns"))
+  (setq default-input-method '("Chinese-CNS" . "quail-quick-cns"))
   )
 
+(defun describe-chinese-cns-support ()
+  "Describe how Emacs supports Chinese for CNS11643 family users."
+  (interactive)
+  (describe-language-support-internal "Chinese-CNS"))
+
 (set-language-info-alist
  "Chinese-CNS" '((setup-function . setup-chinese-cns-environment)
+		 (describe-function . describe-chinese-cns-support)
 		 (charset . (chinese-cns11643-1 chinese-cns11643-2
 			     chinese-cns11643-3 chinese-cns11643-4
 			     chinese-cns11643-5 chinese-cns11643-6
 			     chinese-cns11643-7))
 		 (coding-system . (iso-2022-cn))
-		 (documentation . t)))
+		 (documentation . nil)))
 
 ;;; chinese.el ends here