annotate lisp/mule/korean-hooks.el @ 140:585fb297b004 r20-2b4

Import from CVS: tag r20-2b4
author cvs
date Mon, 13 Aug 2007 09:32:43 +0200
parents 6608ceec7cf8
children 3bb7ccffb0c0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1 ;;; korean-hooks.el --- pre-loaded support for Korean.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
3 ;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
4 ;; Copyright (C) 1995 Amdahl Corporation.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
5 ;; Copyright (C) 1995 Sun Microsystems.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
6
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
7 ;; This file is part of XEmacs.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
8
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
9 ;; XEmacs is free software; you can redistribute it and/or modify it
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
10 ;; under the terms of the GNU General Public License as published by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
11 ;; the Free Software Foundation; either version 2, or (at your option)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
12 ;; any later version.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
13
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
14 ;; XEmacs is distributed in the hope that it will be useful, but
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
15 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
17 ;; General Public License for more details.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
18
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
19 ;; You should have received a copy of the GNU General Public License
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
20 ;; along with XEmacs; see the file COPYING. If not, write to the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
22 ;; Boston, MA 02111-1307, USA.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
23
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
24 ;;; Synched up with: Mule 2.3.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
25
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
26
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
27 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
28 ;;; KOREAN
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
29 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
30
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
31 ;; Syntax of Korean characters.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
32 (loop for row from 33 to 34 do (modify-syntax-entry `[korean-ksc5601 ,row] "."))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
33 (loop for row from 35 to 37 do (modify-syntax-entry `[korean-ksc5601 ,row] "w"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
34 (loop for row from 38 to 41 do (modify-syntax-entry `[korean-ksc5601 ,row] "."))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
35 (loop for row from 42 to 126 do (modify-syntax-entry `[korean-ksc5601 ,row] "w"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
36
138
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
37 (add-hook 'quail-package-alist '("hangul" "quail-hangul"))
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
38 (add-hook 'quail-package-alist '("hangul3" "quail-hangul3"))
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
39 (add-hook 'quail-package-alist '("hanja-jis" "quail-hanja-jis"))
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
40 (add-hook 'quail-package-alist '("hanja-ksc" "quail-hanja-ksc"))
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
41
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
42 (make-coding-system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
43 'euc-korea 'iso2022
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
44 "Coding-system of Korean EUC (Extended Unix Code)."
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
45 '(charset-g0 ascii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
46 charset-g1 korean-ksc5601
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
47 mnemonic "EUC/Ko"
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
48 eol-type lf
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
49 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
50
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
51 (copy-coding-system 'euc-korea 'euc-kr)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
52
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
53 (make-coding-system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
54 'iso-2022-kr 'iso2022
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
55 "Coding-System used for communication with mail in Korea."
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
56 '(charset-g0 ascii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
57 charset-g1 korean-ksc5601
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
58 force-g1-on-output t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
59 seven t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
60 lock-shift t
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
61 mnemonic "Mail/Ko"
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
62 eol-type lf
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
63 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
64
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
65 (copy-coding-system 'iso-2022-kr 'korean-mail)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
66
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
67 (make-coding-system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
68 'iso-2022-int-1 'iso2022
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
69 "ISO-2022-INT-1"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
70 '(charset-g0 ascii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
71 charset-g1 korean-ksc5601
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
72 short t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
73 seven t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
74 lock-shift t
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
75 mnemonic "ISO7/Ko"
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
76 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
77
138
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
78 ;; EGG specific setup
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
79 (define-egg-environment 'korean
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
80 "Korean settings for egg"
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
81 (lambda ()
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
82 (when (not (featurep 'egg-kor))
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
83 (load "its-hangul")
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
84 (setq its:*standard-modes*
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
85 (cons (its:get-mode-map "hangul") its:*standard-modes*))
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
86 (provide 'egg-kor))
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
87 (setq wnn-server-type 'kserver)
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
88 (setq egg-default-startup-file "eggrc-wnn")
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
89 (setq-default its:*current-map* (its:get-mode-map "hangul"))))
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
90
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
91 (define-language-environment 'korean
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
92 "Korean"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
93 (lambda ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
94 (set-coding-category-system 'iso-8-2 'euc-korea)
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
95 (set-coding-priority-list '(iso-8-2 iso-7 iso-8-designate))
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
96 (set-pathname-coding-system 'euc-korea)
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
97 (add-hook 'comint-exec-hook
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
98 (lambda ()
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
99 (let ((proc (get-buffer-process (current-buffer))))
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
100 (set-process-input-coding-system proc 'euc-korea)
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
101 (set-process-output-coding-system proc 'euc-korea))))
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 110
diff changeset
102 (set-buffer-file-coding-system-for-read 'automatic-conversion)
110
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 102
diff changeset
103 (set-default-buffer-file-coding-system 'euc-korea)
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 102
diff changeset
104 (setq keyboard-coding-system 'euc-korea)
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 102
diff changeset
105 (setq terminal-coding-system 'euc-korea)
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 98
diff changeset
106 (when (eq 'x (device-type (selected-device)))
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 98
diff changeset
107 (x-use-halfwidth-roman-font 'korean-ksc5601 "ksc5636"))
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
108
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
109 ;; EGG specific setup 97.02.05 jhod
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
110 (when (featurep 'egg)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
111 (when (not (featurep 'egg-kor))
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
112 (provide 'egg-kor)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
113 (load "its/its-hangul")
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
114 (setq its:*standard-modes*
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
115 (cons (its:get-mode-map "hangul") its:*standard-modes*)))
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
116 (setq-default its:*current-map* (its:get-mode-map "hangul")))
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
117
138
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
118 (setq-default quail-current-package
6608ceec7cf8 Import from CVS: tag r20-2b3
cvs
parents: 120
diff changeset
119 (assoc "hangul" quail-package-alist))
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 88
diff changeset
120 ))