comparison lisp/language/cyrillic.el @ 197:acd284d43ca1 r20-3b25

Import from CVS: tag r20-3b25
author cvs
date Mon, 13 Aug 2007 10:00:02 +0200
parents 5a88923fcbfe
children 41ff10fd062f
comparison
equal deleted inserted replaced
196:58e0786448ca 197:acd284d43ca1
1 ;;; cyrillic.el --- Support for languages which use Cyrillic characters 1 ;;; cyrillic.el --- Support for languages which use Cyrillic characters
2 2
3 ;; Copyright (C) 1995 Free Software Foundation, Inc.
4 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. 3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 1997 MORIOKA Tomohiko 5 ;; Copyright (C) 1997 MORIOKA Tomohiko
6 6
7 ;; Keywords: multilingual, Cyrillic 7 ;; Keywords: multilingual, Cyrillic
8 8
9 ;; This file is part of XEmacs. 9 ;; This file is part of XEmacs.
38 38
39 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 39 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
40 ;;; CYRILLIC 40 ;;; CYRILLIC
41 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 41 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42 42
43 (define-language-environment 'cyrillic 43 ;; (define-prefix-command 'describe-cyrillic-environment-map)
44 "Cyrillic" 44 ;; (define-key-after describe-language-environment-map [Cyrillic]
45 (lambda () 45 ;; '("Cyrillic" . describe-cyrillic-environment-map)
46 (set-coding-category-system 'iso-8-designate 'iso-8859-5) 46 ;; t)
47 (set-coding-priority-list '(iso-8-designate iso-8-1)) 47
48 (set-default-buffer-file-coding-system 'iso-8859-5) 48 ;; (define-prefix-command 'setup-cyrillic-environment-map)
49 (setq terminal-coding-system 'iso-8859-5) 49 ;; (define-key-after setup-language-environment-map [Cyrillic]
50 (setq keyboard-coding-system 'iso-8859-5) 50 ;; '("Cyrillic" . setup-cyrillic-environment-map)
51 ;; (setq-default quail-current-package 51 ;; t)
52 ;; (assoc "yawerty" quail-package-alist)) 52
53 )) 53 ;; (define-language-environment 'cyrillic
54 ;; "Cyrillic"
55 ;; (lambda ()
56 ;; (set-coding-category-system 'iso-8-designate 'iso-8859-5)
57 ;; (set-coding-priority-list '(iso-8-designate iso-8-1))
58 ;; (set-default-buffer-file-coding-system 'iso-8859-5)
59 ;; (setq terminal-coding-system 'iso-8859-5)
60 ;; (setq keyboard-coding-system 'iso-8859-5)
61 ;; ;; (setq-default quail-current-package
62 ;; ;; (assoc "yawerty" quail-package-alist))
63 ;; ))
54 64
55 ;; ISO-8859-5 staff 65 ;; ISO-8859-5 staff
56 66
57 ;; (make-coding-system 67 ;; (make-coding-system
58 ;; 'iso-8859-5 2 ?5 "MIME ISO-8859-5" 68 ;; 'cyrillic-iso-8bit 2 ?5
69 ;; "ISO 2022 based 8-bit encoding for Cyrillic script (MIME:ISO-8859-5)"
59 ;; '((ascii t) (cyrillic-iso8859-5 t) nil nil 70 ;; '((ascii t) (cyrillic-iso8859-5 t) nil nil
60 ;; nil ascii-eol ascii-cntl nil nil nil nil)) 71 ;; nil ascii-eol ascii-cntl nil nil nil nil))
72
73 ;; (define-coding-system-alias 'iso-8859-5 'cyrillic-iso-8bit)
61 74
62 (make-coding-system 75 (make-coding-system
63 'iso-8859-5 'iso2022 76 'iso-8859-5 'iso2022
64 "MIME ISO-8859-5" 77 "MIME ISO-8859-5"
65 '(charset-g0 ascii 78 '(charset-g0 ascii
66 charset-g1 cyrillic-iso8859-5 79 charset-g1 cyrillic-iso8859-5
67 charset-g2 t 80 charset-g2 t
68 charset-g3 t 81 charset-g3 t
69 mnemonic "ISO8/Cyr" 82 mnemonic "ISO8/Cyr"
70 )) 83 ))
84
85 (set-language-info-alist
86 "Cyrillic-ISO" '((setup-function . (setup-cyrillic-iso-environment
87 . setup-cyrillic-environment-map))
88 (charset . (cyrillic-iso8859-5))
89 (coding-system . (iso-8859-5))
90 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
91 (documentation . ("Support for Cyrillic ISO-8859-5."
92 . describe-cyrillic-environment-map))))
71 93
72 ;; KOI-8 staff 94 ;; KOI-8 staff
73 95
74 (define-ccl-program ccl-decode-koi8 96 (define-ccl-program ccl-decode-koi8
75 '(((read r0) 97 '(((read r0)
109 193 194 215 199 196 197 214 218 201 202 203 204 205 206 207 208 131 193 194 215 199 196 197 214 218 201 202 203 204 205 206 207 208
110 210 211 212 213 198 200 195 222 219 221 223 217 216 220 192 209 132 210 211 212 213 198 200 195 222 219 221 223 217 216 220 192 209
111 32 163 32 32 32 32 32 32 32 32 32 32 32 32 32 32]) 133 32 163 32 32 32 32 32 32 32 32 32 32 32 32 32 32])
112 ))))) 134 )))))
113 "CCL program to encode KOI8.") 135 "CCL program to encode KOI8.")
114 136
115 ;; (make-coding-system 137 ;; (make-coding-system
116 ;; 'koi8-r 4 138 ;; 'cyrillic-koi8 4
117 ;; ?K "Coding-system used for KOI8." 139 ;; ;; We used to use ?K. It is true that ?K is more strictly correct,
140 ;; ;; but it is also used for Korean.
141 ;; ;; So people who use koi8 for languages other than Russian
142 ;; ;; will have to forgive us.
143 ;; ?R "KOI8 8-bit encoding for Cyrillic (MIME: KOI8-R)"
118 ;; (cons ccl-decode-koi8 ccl-encode-koi8)) 144 ;; (cons ccl-decode-koi8 ccl-encode-koi8))
145
146 ;; (define-coding-system-alias 'koi8-r 'cyrillic-koi8)
147 ;; (define-coding-system-alias 'koi8 'cyrillic-koi8)
119 148
120 (make-coding-system 149 (make-coding-system
121 'koi8-r 'ccl 150 'koi8-r 'ccl
122 "Coding-system used for KOI8-R." 151 "Coding-system used for KOI8-R."
123 `(decode ,ccl-decode-koi8 152 `(decode ,ccl-decode-koi8
138 )) 167 ))
139 "CCL program to encode Cyrillic chars to KOI font.") 168 "CCL program to encode Cyrillic chars to KOI font.")
140 169
141 ;; (setq font-ccl-encoder-alist 170 ;; (setq font-ccl-encoder-alist
142 ;; (cons (cons "koi8" ccl-encode-koi8-font) font-ccl-encoder-alist)) 171 ;; (cons (cons "koi8" ccl-encode-koi8-font) font-ccl-encoder-alist))
172
173 (set-language-info-alist
174 "Cyrillic-KOI8" '((setup-function . (setup-cyrillic-koi8-environment
175 . setup-cyrillic-environment-map))
176 (charset . (cyrillic-iso8859-5))
177 (coding-system . (koi8-r))
178 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
179 (documentation . ("Support for Cyrillic KOI-8."
180 . describe-cyrillic-environment-map))))
143 181
144 ;;; ALTERNATIVNYJ staff 182 ;;; ALTERNATIVNYJ staff
145 183
146 (define-ccl-program ccl-decode-alternativnyj 184 (define-ccl-program ccl-decode-alternativnyj
147 '(((read r0) 185 '(((read r0)
210 248
211 ;; (setq font-ccl-encoder-alist 249 ;; (setq font-ccl-encoder-alist
212 ;; (cons (cons "alternativnyj" ccl-encode-alternativnyj-font) 250 ;; (cons (cons "alternativnyj" ccl-encode-alternativnyj-font)
213 ;; font-ccl-encoder-alist)) 251 ;; font-ccl-encoder-alist))
214 252
253 (set-language-info-alist
254 "Cyrillic-ALT" '((setup-function . (setup-cyrillic-alternativnyj-environment
255 . setup-cyrillic-environment-map))
256 (charset . (cyrillic-iso8859-5))
257 (coding-system . (alternativnyj))
258 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
259 (documentation . ("Support for Cyrillic ALTERNATIVNYJ."
260 . describe-cyrillic-environment-map))))
261
215 ;;; GENERAL 262 ;;; GENERAL
216 263
217 (register-input-method 264 ;; (defun setup-cyrillic-environment ()
218 "Cyrillic" '("quail-jcuken" quail-use-package "quail/cyrillic")) 265 ;; "Setup multilingual environment for Cyrillic users."
219 (register-input-method 266 ;; (interactive)
220 "Cyrillic" '("quail-macedonian" quail-use-package "quail/cyrillic")) 267 ;; (setq primary-language "Cyrillic")
221 (register-input-method 268 ;;
222 "Cyrillic" '("quail-serbian" quail-use-package "quail/cyrillic")) 269 ;; (setq coding-category-iso-8-1 'iso-8859-5)
223 (register-input-method 270 ;;
224 "Cyrillic" '("quail-beylorussian" quail-use-package "quail/cyrillic")) 271 ;; (set-coding-priority
225 (register-input-method 272 ;; '(coding-category-iso-7
226 "Cyrillic" '("quail-ukrainian" quail-use-package "quail/cyrillic")) 273 ;; coding-category-iso-8-1))
227 (register-input-method 274 ;;
228 "Cyrillic" '("quail-yawerty" quail-use-package "quail/cyrillic")) 275 ;; (setq-default buffer-file-coding-system 'iso-8859-5)
229 276 ;; (set-terminal-coding-system 'iso-8859-5)
230 (defun setup-cyrillic-environment () 277 ;; (set-keyboard-coding-system 'iso-8859-5)
231 "Setup multilingual environment for Cyrillic users." 278 ;;
232 (interactive) 279 ;; (setq default-input-method '("Cyrillic" . "quail-yawerty"))
233 (setq primary-language "Cyrillic") 280 ;; )
234 281
235 (setq coding-category-iso-8-1 'iso-8859-5) 282 ;; (defun describe-cyrillic-support ()
236 283 ;; "Describe how Emacs support Cyrillic."
237 (set-coding-priority 284 ;; (interactive)
238 '(coding-category-iso-7 285 ;; (describe-language-support-internal "Cyrillic"))
239 coding-category-iso-8-1)) 286
240 287 ;; (set-language-info-alist
241 (setq-default buffer-file-coding-system 'iso-8859-5) 288 ;; "Cyrillic" '((setup-function . setup-cyrillic-environment)
242 (set-terminal-coding-system 'iso-8859-5) 289 ;; (describe-function . describe-cyrillic-support)
243 (set-keyboard-coding-system 'iso-8859-5) 290 ;; (charset . (cyrillic-iso8859-5))
244 291 ;; (coding-system . (iso-8859-5 koi8-r alternativnyj))
245 (setq default-input-method '("Cyrillic" . "quail-yawerty")) 292 ;; (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
246 ) 293 ;; (documentation . nil)))
247
248 (defun describe-cyrillic-support ()
249 "Describe how Emacs support Cyrillic."
250 (interactive)
251 (describe-language-support-internal "Cyrillic"))
252
253 (set-language-info-alist
254 "Cyrillic" '((setup-function . setup-cyrillic-environment)
255 (describe-function . describe-cyrillic-support)
256 (charset . (cyrillic-iso8859-5))
257 (coding-system . (iso-8859-5 koi8-r alternativnyj))
258 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
259 (documentation . nil)))
260 294
261 ;;; cyrillic.el ends here 295 ;;; cyrillic.el ends here