comparison lisp/mule/cyrillic.el @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents
children 3bb7ccffb0c0
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
1 ;; Cyrillic specific utilityes for Mule
2 ;; Copyright (C) 1995 Free Software Foundation, Inc.
3 ;; This file is part of Mule (MULtilingual Enhancement of GNU Emacs).
4 ;; This file contains Cyrillic characters (ISO8859-5).
5
6 ;; Mule is free software distributed in the form of patches to GNU Emacs.
7 ;; You can redistribute it and/or modify
8 ;; it under the terms of the GNU General Public License as published by
9 ;; the Free Software Foundation; either version 1, or (at your option)
10 ;; any later version.
11
12 ;; Mule is distributed in the hope that it will be useful,
13 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;; GNU General Public License for more details.
16
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with GNU Emacs; see the file COPYING. If not, write to the
19 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 ;; Boston, MA 02111-1307, USA.
21
22 ;;; 95.6.21 modified for Mule Ver.2.2.2 by TAKAHASHI N. <ntakahas@etl.go.jp>
23 ;;; Added Alternativnyj utilities.
24
25 ;;; KOI8 staff
26
27 (define-ccl-program ccl-read-koi8
28 '(((read r0)
29 (loop
30 (write-read-repeat
31 r0
32 [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
33 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
34 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
35 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
36 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
37 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
38 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
39 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
40 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
41 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
42 32 32 32 ?,Lq(B 32 32 32 32 32 32 32 32 32 32 32 32
43 32 32 32 ?,L!(B 32 32 32 32 32 32 32 32 32 32 32 32
44 ?,Ln(B ?,LP(B ?,LQ(B ?,Lf(B ?,LT(B ?,LU(B ?,Ld(B ?,LS(B ?,Le(B ?,LX(B ?,LY(B ?,LZ(B ?,L[(B ?,L\(B ?,L](B ?,L^(B
45 ?,L_(B ?,Lo(B ?,L`(B ?,La(B ?,Lb(B ?,Lc(B ?,LV(B ?,LR(B ?,Ll(B ?,Lk(B ?,LW(B ?,Lh(B ?,Lm(B ?,Li(B ?,Lg(B ?,Lj(B
46 ?,LN(B ?,L0(B ?,L1(B ?,LF(B ?,L4(B ?,L5(B ?,LD(B ?,L3(B ?,LE(B ?,L8(B ?,L9(B ?,L:(B ?,L;(B ?,L<(B ?,L=(B ?,L>(B
47 ?,L?(B ?,LO(B ?,L@(B ?,LA(B ?,LB(B ?,LC(B ?,L6(B ?,L2(B ?,LL(B ?,LK(B ?,L7(B ?,LH(B ?,LM(B ?,LI(B ?,LG(B ?,LJ(B ]))))
48 "CCL program to read KOI8.")
49
50 (define-ccl-program ccl-write-koi8
51 '(((read r0)
52 (loop
53 (if (r0 != 140) ; lc-crl == 140
54 (write-read-repeat r0)
55 ((read r0)
56 (r0 -= 160)
57 (write-read-repeat
58 r0
59 [ 32 179 32 32 32 32 32 32 32 32 32 32 32 32 32 32
60 225 226 247 231 228 229 246 250 233 234 235 236 237 238 239 240
61 242 243 244 245 230 232 227 254 251 253 255 249 248 252 224 241
62 193 194 215 199 196 197 214 218 201 202 203 204 205 206 207 208
63 210 211 212 213 198 200 195 222 219 221 223 217 216 220 192 209
64 32 163 32 32 32 32 32 32 32 32 32 32 32 32 32 32])
65 )))))
66 "CCL program to write KOI8.")
67
68 (make-coding-system
69 'koi8 'ccl
70 "Coding-system used for KOI8."
71 `(decode ,ccl-read-koi8
72 encode ,ccl-write-koi8
73 mnemonic "KOI8"))
74
75 (define-ccl-program ccl-cyrillic-to-koi8
76 '(((r1 -= 160)
77 (r1 = r1
78 [ 32 179 32 32 32 32 32 32 32 32 32 32 32 32 32 32
79 225 226 247 231 228 229 246 250 233 234 235 236 237 238 239 240
80 242 243 244 245 230 232 227 254 251 253 255 249 248 252 224 241
81 193 194 215 199 196 197 214 218 201 202 203 204 205 206 207 208
82 210 211 212 213 198 200 195 222 219 221 223 217 216 220 192 209
83 32 163 32 32 32 32 32 32 32 32 32 32 32 32 32 32])
84 ))
85 "CCL program to convert chars of 'cyrillic to KOI font.")
86
87 (defun set-cyrillic-environment-koi8 ()
88 "Make KOI8 the default character set for cyrillic."
89 (set-coding-category-system 'iso-8-designate 'koi8)
90
91 (set-coding-priority-list '(iso-8-designate iso-8-1))
92
93 (set-default-file-coding-system 'koi8)
94 (set-terminal-coding-system 'koi8)
95
96 (setq-default quail-current-package (assoc "yawerty" quail-package-alist))
97
98 (set-charset-ccl-program 'cyrillic ccl-cyrillic-to-koi8)
99 )
100
101
102 ;;; Alternativnyj staff
103
104 (define-ccl-program ccl-read-alternativnyj
105 '(((read r0)
106 (loop
107 (write-read-repeat
108 r0
109 [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
110 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
111 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
112 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
113 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
114 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
115 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
116 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
117 ?,L0(B ?,L1(B ?,L2(B ?,L3(B ?,L4(B ?,L5(B ?,L6(B ?,L7(B ?,L8(B ?,L9(B ?,L:(B ?,L;(B ?,L<(B ?,L=(B ?,L>(B ?,L?(B
118 ?,L@(B ?,LA(B ?,LB(B ?,LC(B ?,LD(B ?,LE(B ?,LF(B ?,LG(B ?,LH(B ?,LI(B ?,LJ(B ?,LK(B ?,LL(B ?,LM(B ?,LN(B ?,LO(B
119 ?,LP(B ?,LQ(B ?,LR(B ?,LS(B ?,LT(B ?,LU(B ?,LV(B ?,LW(B ?,LX(B ?,LY(B ?,LZ(B ?,L[(B ?,L\(B ?,L](B ?,L^(B ?,L_(B
120 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
121 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
122 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
123 ?,L`(B ?,La(B ?,Lb(B ?,Lc(B ?,Ld(B ?,Le(B ?,Lf(B ?,Lg(B ?,Lh(B ?,Li(B ?,Lj(B ?,Lk(B ?,Ll(B ?,Lm(B ?,Ln(B ?,Lo(B
124 ?,L!(B ?,Lq(B 32 32 32 32 32 32 32 32 32 32 32 32 32 ?,Lp(B]))))
125 "CCL program to read Alternativnyj.")
126
127 (define-ccl-program ccl-write-alternativnyj
128 '(((read r0)
129 (loop
130 (if (r0 != 140) ; lc-crl == 140
131 (write-read-repeat r0)
132 ((read r0)
133 (r0 -= 160)
134 (write-read-repeat
135 r0
136 [ 32 240 32 32 32 32 32 32 32 32 32 32 32 32 32 32
137 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
138 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
139 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
140 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
141 255 241 32 32 32 32 32 32 32 32 32 32 32 32 32 32])
142 )))))
143 "CCL program to write Alternativnyj.")
144
145 (make-coding-system
146 'alternativnyj 'ccl
147 "Coding-system used for Alternativnyj."
148 `(decode ,ccl-read-alternativnyj
149 encode ,ccl-write-alternativnyj
150 mnemonic "Alt.ivnyj"))
151
152 (define-ccl-program ccl-cyrillic-to-alternativnyj
153 '(((r1 -= 160)
154 (r1 = r1
155 [ 32 240 32 32 32 32 32 32 32 32 32 32 32 32 32 32
156 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
157 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
158 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
159 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
160 255 241 32 32 32 32 32 32 32 32 32 32 32 32 32 32])
161 ))
162 "CCL program to convert chars of 'cyrillic to Alternativnyj font.")
163
164 (defun set-cyrillic-environment-alternativnyj ()
165 "Make Alternativnyj the default character set for cyrillic."
166 (set-coding-category-system 'iso-8-designate 'alternativnyj-dos)
167
168 (set-coding-priority-list '(iso-8-designate iso-8-1))
169
170 (set-default-file-coding-system 'alternativnyj-dos)
171 (set-terminal-coding-system 'alternativnyj-dos)
172
173 (setq-default quail-current-package (assoc "yawerty" quail-package-alist))
174
175 (set-charset-ccl-program 'cyrillic ccl-cyrillic-to-alternativnyj)
176 )
177
178 (provide 'cyrillic)