(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)
(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-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)
(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 (\e$AVPND\e(B,\e$AFUM(;0\e(B,\e$A::So\e(B) \e$ADc:C\e(B")))
+ (sample-text . "Chinese (\e$AVPND\e(B,\e$AFUM(;0\e(B,\e$A::So\e(B) \e$ADc:C\e(B")
+ (documentation . nil)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Chinese BIG5 (traditional)
(setq font-ccl-encoder-alist
(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-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)
(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 (\e$(0GnM$\e(B,\e$(0N]0*Hd\e(B) \e$(0*/=(\e(B, \e$(0+$)p\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 . nil)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Chinese CNS11643 (traditional)
"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)
(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