diff lisp/mule/chinese-hooks.el @ 159:3bb7ccffb0c0 r20-3b6

Import from CVS: tag r20-3b6
author cvs
date Mon, 13 Aug 2007 09:41:43 +0200
parents 6608ceec7cf8
children
line wrap: on
line diff
--- a/lisp/mule/chinese-hooks.el	Mon Aug 13 09:40:48 2007 +0200
+++ b/lisp/mule/chinese-hooks.el	Mon Aug 13 09:41:43 2007 +0200
@@ -1,196 +0,0 @@
-;;; chinese-hooks.el --- pre-loaded support for Chinese.
-
-;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc.
-;; Copyright (C) 1995 Amdahl Corporation.
-;; Copyright (C) 1996 Sun Microsystems.
-
-;; This file is part of XEmacs.
-
-;; XEmacs 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 2, or (at your option)
-;; any later version.
-
-;; XEmacs is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; see the file COPYING.  If not, write to the 
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Synched up with: Mule 2.3.
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;; CHINESE
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Syntax of Chinese characters.
-(modify-syntax-entry 'chinese-gb2312 "w")
-(loop for row in '(33 34 41)
-      do (modify-syntax-entry `[chinese-gb2312 ,row] "."))
-;;(loop for row from 35 to  40
-;;      do (modify-syntax-entry `[chinese-gb2312 ,row] "w"))
-;;(loop for row from 42 to 126
-;;      do (modify-syntax-entry `[chinese-gb2312 ,row] "w"))
-
-(modify-syntax-entry 'chinese-cns11643-1  "w")
-(modify-syntax-entry 'chinese-cns11643-2  "w")
-(modify-syntax-entry 'chinese-big5-1 "w")
-(modify-syntax-entry 'chinese-big5-2 "w")
-
-;; CNS11643 Plane3 thru Plane7
-;; These represent more and more obscure Chinese characters.
-;; By the time you get to Plane 7, we're talking about characters
-;; that appear once in some ancient manuscript and whose meaning
-;; is unknown.
-
-(flet
-    ((make-chinese-cns11643-charset
-      (name plane final)
-      (make-charset
-       name (concat "Chinese CNS Plane " plane)
-       `(registry 
-         ,(concat "CNS11643[.-]\\(.*[.-]\\)?" plane "$")
-         dimension 2
-         chars 94
-         final ,final
-         graphic 0))
-      (modify-syntax-entry   name "w")
-      (modify-category-entry name ?t)
-      ))
-  (make-chinese-cns11643-charset 'chinese-cns11643-3 "3" ?I)
-  (make-chinese-cns11643-charset 'chinese-cns11643-4 "4" ?J)
-  (make-chinese-cns11643-charset 'chinese-cns11643-5 "5" ?K)
-  (make-chinese-cns11643-charset 'chinese-cns11643-6 "6" ?L)
-  (make-chinese-cns11643-charset 'chinese-cns11643-7 "7" ?M)
-  )
-
-;; PinYin-ZhuYin
-(make-charset 'sisheng "PinYin-ZhuYin"
-	      '(registry "sisheng_cwnn\\|OMRON_UDC_ZH"
-		dimension 1
-		chars 94
-		final ?0
-		graphic 0
-		))
-
-(make-coding-system
- 'euc-china 'iso2022
- "Coding-system of Chinese EUC (Extended Unix Code)."
- '(charset-g0 ascii
-   charset-g1 chinese-gb2312
-   charset-g2 sisheng
-   charset-g3 t
-   mnemonic "EUC/Zh"
-   ))
-
-(make-coding-system
- 'hz 'no-conversion
- "Coding-system of Hz/ZW used for Chinese."
- '(mnemonic "Hz/ZW"
-   eol-type lf
-   post-read-conversion hz2gb-region
-   pre-write-conversion gb2hz-region))
-
-(make-coding-system
- 'big5 'big5
- "Coding-system of BIG5."
- '(mnemonic "Big5"))
-
-(copy-coding-system 'big5 'big5-eten)
-
-;; If you prefer QUAIL to EGG, please modify below as you wish.
-;;(when (and (featurep 'egg) (featurep 'wnn))
-;;  (setq wnn-server-type 'cserver)
-;;  (load "its/pinyin")
-;;  (setq its:*standard-modes*
-;;        (cons (its:get-mode-map "PinYin") its:*standard-modes*)))
-
-;; For QUAIL
-;; Please add your own quail package if any.
-
-;; For GB character input
-(add-hook 'quail-package-alist '("py"      "quail-py"))
-(add-hook 'quail-package-alist '("qj"      "quail-qj"))
-(add-hook 'quail-package-alist '("punct"   "quail-punct"))
-(add-hook 'quail-package-alist '("sw"      "quail-sw"))
-(add-hook 'quail-package-alist '("tonepy"  "quail-tonepy"))
-(add-hook 'quail-package-alist '("ccdospy" "quail-ccdospy"))
-(add-hook 'quail-package-alist '("ctlau"   "quail-ctlau"))
-
-;; For BIG5 character input
-;;(add-hook 'quail-package-alist '("py-b5"    "quail-py-b5"))
-;;(add-hook 'quail-package-alist '("qj-b5"    "quail-qj-b5"))
-;;(add-hook 'quail-package-alist '("punct-b5" "quail-punct-b5"))
-;;(add-hook 'quail-package-alist '("ctlaub"   "quail-ctlaub"))
-;;(add-hook 'quail-package-alist '("zozy"     "quail-zozy"))
-;;(add-hook 'quail-package-alist '("etzy"     "quail-etzy"))
-
-;; For Big5 handling
-
-(define-ccl-program ccl-internal-to-big5-1
-  '(((r1 = ((((r0 - #x21) * 94) + r1) - #x21))
-     (r0 = ((r1 / 157) + #xA1))
-     (r1 %= 157)
-     (if (r1 < #x3F) (r1 += #x40) (r1 += #x62))))
-  "CCL program to convert internal Big5 code (level1) to code point of Big5 font.")
-
-;; 6280 is the number of characters that got shoved into `chinese-big5-1'.
-(define-ccl-program ccl-internal-to-big5-2
-  '(((r1 = (((((r0 - #x21) * 94) + r1) - #x21) + 6280))
-     (r0 = ((r1 / 157) + #xA1))
-     (r1 %= 157)
-     (if (r1 < #x3F) (r1 += #x40) (r1 += #x62))))
-  "CCL program to convert internal Big5 code (level2) to code point of Big5 font.")
-
-(set-charset-ccl-program 'chinese-big5-1 ccl-internal-to-big5-1)
-(set-charset-ccl-program 'chinese-big5-2 ccl-internal-to-big5-2)
-
-;; This isn't used and doesn't work yet because CCL doesn't know
-;; how to handle things like 'chinese-big5-1 currently.  The
-;; original of this program had 152 (the leading byte) in place of
-;; chinese-big5-1, etc., but that will never do.  No exposing of
-;; leading bytes to the Lisp level!
-;(define-ccl-program ccl-big5-to-internal
-;  '(0
-;    ((if (r0 < #xC9)
-;	 ((r2 = (((r0 - #xA1) * 157) + r1))
-;	  (r0 = chinese-big5-1))
-;       ((r2 = (((r0 - #xC9) * 157) + r1))
-;	(r0 = chinese-big5-2)))
-;     (if (r1 < #x7F) (r2 -= #x40) (r2 -= #x62))
-;     (r1 = ((r2 / 94) + #x21))
-;     (r2 = ((r2 % 94) + #x21))
-;     ))
-;  "CCL program to convert Big5 code to internal code.")
-
-(define-language-environment 'chinese
-  "Chinese (includes GB, Big5, and CNS)"
-  (lambda ()
-    (require 'chinese)
-    (set-coding-category-system 'iso-8-2 'euc-china)
-    (set-coding-priority-list '(iso-8-2 big5 iso-8-designate))
-    (set-pathname-coding-system 'euc-china)
-    (set-default-buffer-file-coding-system 'euc-china) ; GB encoding
-    (setq terminal-coding-system    'euc-china)
-    (setq keyboard-coding-system    'euc-china)
-    (add-hook 'comint-exec-hook
-              (lambda ()
-                (let ((proc (get-buffer-process (current-buffer))))
-                  (set-process-input-coding-system  proc 'euc-china)
-                  (set-process-output-coding-system proc 'euc-china))))
-    (set-buffer-file-coding-system-for-read 'automatic-conversion)
-    (set-default-buffer-file-coding-system 'euc-china)
-    (setq keyboard-coding-system           'euc-china)
-    (setq terminal-coding-system           'euc-china)
-    (when (eq 'x (device-type (selected-device)))
-      (x-use-halfwidth-roman-font 'chinese-gb2312 "gb1988"))))
-;;    (when (featurep 'egg)
-;;      (setq-default its:*current-map* (its:get-mode-map "PinYin")))
-;;    (setq-default quail-current-package (assoc "py" quail-package-alist))))
-;;    ))
-
-(set-coding-category-system 'big5 'big5)