comparison lisp/mule/cyrillic.el @ 4072:aa28d959af41

[xemacs-hg @ 2007-07-22 22:03:29 by aidan] Add support for non-ISO2022 8 bit fixed-width coding-systems
author aidan
date Sun, 22 Jul 2007 22:04:14 +0000
parents fbf54025c136
children 751ae075e76e
comparison
equal deleted inserted replaced
4071:d607d13fca67 4072:aa28d959af41
2 2
3 ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN. 3 ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation. 4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 1997 MORIOKA Tomohiko 5 ;; Copyright (C) 1997 MORIOKA Tomohiko
6 ;; Copyright (C) 2001, 2002 Ben Wing. 6 ;; Copyright (C) 2001, 2002 Ben Wing.
7 ;; Copyright (C) 2007 Free Software Foundation
7 8
8 ;; Keywords: multilingual, Cyrillic 9 ;; Keywords: multilingual, Cyrillic
9 10
10 ;; This file is part of XEmacs. 11 ;; This file is part of XEmacs.
11 12
26 27
27 ;;; Commentary: 28 ;;; Commentary:
28 29
29 ;; The character set ISO8859-5 is supported. KOI-8 and ALTERNATIVNYJ are 30 ;; The character set ISO8859-5 is supported. KOI-8 and ALTERNATIVNYJ are
30 ;; converted to ISO8859-5 internally. 31 ;; converted to ISO8859-5 internally.
31
32 ;; [Windows-1251 support deleted because XEmacs has automatic support.]
33
34 ;; #### We only have automatic support on Windows; that needs to be put
35 ;; back. Also, the Russian Wikipedia articles on KOI-8 list several other
36 ;; related encodings--KOI8-U (Ukrainian), KOI8-RU (simultaneous support for
37 ;; Russian, Belorussian, and Ukrainian), KOI8-C (for languages of the
38 ;; Caucasus), KOI8-O (Old Church Slavonic)--and it would be nice to have
39 ;; them. Beyond that, we're currently trashing lots of code points with
40 ;; KOI-8 R; it would be nice to leverage the Unicode support to not do that.
41 32
42 ;;; Code: 33 ;;; Code:
43 34
44 ;; Case table: 35 ;; Case table:
45 (loop 36 (loop
91 (#xa2 #xf2) ; DJE 82 (#xa2 #xf2) ; DJE
92 (#xa1 #xf1)) ; IO 83 (#xa1 #xf1)) ; IO
93 with case-table = (standard-case-table) 84 with case-table = (standard-case-table)
94 do 85 do
95 (put-case-table-pair (make-char 'cyrillic-iso8859-5 upper) 86 (put-case-table-pair (make-char 'cyrillic-iso8859-5 upper)
96 (make-char 'cyrillic-iso8859-5 lower) 87 (make-char 'cyrillic-iso8859-5 lower)
97 case-table)) 88 case-table))
98 89
99 ;; The default character syntax is now word. Pay attention to the 90 ;; The default character syntax is now word. Pay attention to the
100 ;; exceptions in ISO-8859-5, copying them from ISO-8859-1. 91 ;; exceptions in ISO-8859-5, copying them from ISO-8859-1.
101 (loop 92 (loop
102 for (latin-1 cyrillic) 93 for (latin-1 cyrillic)
112 ;; Take NUMERO SIGN's syntax from #. 103 ;; Take NUMERO SIGN's syntax from #.
113 (modify-syntax-entry (make-char 'cyrillic-iso8859-5 #xF0) 104 (modify-syntax-entry (make-char 'cyrillic-iso8859-5 #xF0)
114 (string (char-syntax ?\# (standard-syntax-table))) 105 (string (char-syntax ?\# (standard-syntax-table)))
115 (standard-syntax-table)) 106 (standard-syntax-table))
116 107
108 ;; And create the coding system.
117 (make-coding-system 109 (make-coding-system
118 'iso-8859-5 'iso2022 110 'iso-8859-5 'iso2022
119 "ISO-8859-5 (Cyrillic)" 111 "ISO-8859-5 (Cyrillic)"
120 '(charset-g0 ascii 112 '(charset-g0 ascii
121 charset-g1 cyrillic-iso8859-5 113 charset-g1 cyrillic-iso8859-5
123 charset-g3 t 115 charset-g3 t
124 mnemonic "ISO8/Cyr")) 116 mnemonic "ISO8/Cyr"))
125 117
126 (set-language-info-alist 118 (set-language-info-alist
127 "Cyrillic-ISO" '((charset cyrillic-iso8859-5) 119 "Cyrillic-ISO" '((charset cyrillic-iso8859-5)
128 (tutorial . "TUTORIAL.ru") 120 (tutorial . "TUTORIAL.ru")
129 (coding-system iso-8859-5) 121 (coding-system iso-8859-5)
130 (native-coding-system iso-8859-5) 122 (native-coding-system iso-8859-5)
131 (coding-priority iso-8859-5) 123 (coding-priority iso-8859-5)
132 (input-method . "cyrillic-yawerty") 124 (input-method . "cyrillic-yawerty")
133 (features cyril-util) 125 (features cyril-util)
134 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") 126 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
135 (documentation . "Support for Cyrillic ISO-8859-5.")) 127 (documentation . "Support for Cyrillic ISO-8859-5."))
136 '("Cyrillic")) 128 '("Cyrillic"))
137 129
138 ;; KOI-8 130 ;; KOI8-R, the most common encoding for Cyrillic on Unix and Usenet.
139 131 (make-8-bit-coding-system
140 (eval-and-compile 132 'koi8-r
141 133 '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
142 (defvar cyrillic-koi8-r-decode-table 134 (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
143 [ 135 (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
144 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 136 (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
145 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 137 (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
146 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 138 (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
147 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 139 (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
148 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 140 (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
149 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 141 (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
150 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 142 (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
151 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 143 (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
152 ?$B(!(B ?$B("(B ?$B(#(B ?$B($(B ?$B(&(B ?$B(%(B ?$B('(B ?$B()(B ?$B(((B ?$B(*(B ?$B(+(B 32 ?$(G#'(B ?$(G#+(B ?$(G#/(B 32 144 (#x8B ?\u2580) ;; UPPER HALF BLOCK
153 32 ?$(C"F(B 32 32 ?$B"#(B 32 ?$B"e(B ?$A!V(B ?$A!\(B ?$A!](B ?,L (B 32 ?,A0(B ?,A2(B ?,A7(B ?,Aw(B 145 (#x8C ?\u2584) ;; LOWER HALF BLOCK
154 ?$(G#D(B 32 32 ?,Lq(B 32 32 32 32 32 32 32 32 32 32 32 ?$(G#E(B 146 (#x8D ?\u2588) ;; FULL BLOCK
155 32 32 ?$(G#G(B ?,L!(B 32 32 32 32 32 32 32 32 ?$(G#F(B 32 32 ?,A)(B 147 (#x8E ?\u258C) ;; LEFT HALF BLOCK
156 ?,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 148 (#x8F ?\u2590) ;; RIGHT HALF BLOCK
157 ?,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 149 (#x90 ?\u2591) ;; LIGHT SHADE
158 ?,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 150 (#x91 ?\u2592) ;; MEDIUM SHADE
159 ?,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 ] 151 (#x92 ?\u2593) ;; DARK SHADE
160 "Cyrillic KOI8-R decoding table.") 152 (#x93 ?\u2320) ;; TOP HALF INTEGRAL
161 153 (#x94 ?\u25A0) ;; BLACK SQUARE
162 (defvar cyrillic-koi8-r-encode-table 154 (#x95 ?\u2219) ;; BULLET OPERATOR
163 (let ((table (make-vector 256 32)) 155 (#x96 ?\u221A) ;; SQUARE ROOT
164 (i 0)) 156 (#x97 ?\u2248) ;; ALMOST EQUAL TO
165 (while (< i 256) 157 (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
166 (let* ((ch (aref cyrillic-koi8-r-decode-table i)) 158 (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
167 (split (split-char ch))) 159 (#x9A ?\u00A0) ;; NO-BREAK SPACE
168 (cond ((eq (car split) 'cyrillic-iso8859-5) 160 (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
169 (aset table (logior (nth 1 split) 128) i)) 161 (#x9C ?\u00B0) ;; DEGREE SIGN
170 ((eq ch 32)) 162 (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
171 ((eq (car split) 'ascii) 163 (#x9E ?\u00B7) ;; MIDDLE DOT
172 (aset table ch i)))) 164 (#x9F ?\u00F7) ;; DIVISION SIGN
173 (setq i (1+ i))) 165 (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
174 table) 166 (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
175 "Cyrillic KOI8-R encoding table.") 167 (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
176 168 (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
177 ) 169 (#xA4 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
178 170 (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
179 (define-ccl-program ccl-decode-koi8 171 (#xA6 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
180 `(3 172 (#xA7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
181 ((read r0) 173 (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
182 (loop 174 (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
183 (write-read-repeat r0 ,cyrillic-koi8-r-decode-table)))) 175 (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
184 "CCL program to decode KOI8.") 176 (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
185 177 (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
186 (define-ccl-program ccl-encode-koi8 178 (#xAD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
187 `(1 179 (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
188 ((read r0) 180 (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
189 (loop 181 (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
190 (if (r0 != ,(charset-id 'cyrillic-iso8859-5)) 182 (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
191 (write-read-repeat r0) 183 (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
192 ((read r0) 184 (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
193 (write-read-repeat r0 , cyrillic-koi8-r-encode-table)))))) 185 (#xB4 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
194 "CCL program to encode KOI8.") 186 (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
195 187 (#xB6 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
196 ;; (define-coding-system-alias 'koi8-r 'cyrillic-koi8) 188 (#xB7 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
197 ;; (define-coding-system-alias 'koi8 'cyrillic-koi8) 189 (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
198 190 (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
199 (make-coding-system 191 (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
200 'koi8-r 'ccl 192 (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
201 "KOI8-R (Cyrillic)" 193 (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
202 '(decode ccl-decode-koi8 194 (#xBD ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
203 encode ccl-encode-koi8 195 (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
204 mnemonic "KOI8")) 196 (#xBF ?\u00A9) ;; COPYRIGHT SIGN
205 197 (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
206 ;; `iso-8-1' is not correct, but XEmacs doesn't have a `ccl' category 198 (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
207 (coding-system-put 'koi8-r 'category 'iso-8-1) 199 (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
208 200 (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
209 ;; (define-ccl-program ccl-encode-koi8-font 201 (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
210 ;; `(0 202 (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
211 ;; ((r1 |= 128) 203 (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
212 ;; (r1 = r1 ,cyrillic-koi8-r-encode-table))) 204 (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
213 ;; "CCL program to encode Cyrillic chars to KOI font.") 205 (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
214 206 (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
215 ;; (setq font-ccl-encoder-alist 207 (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
216 ;; (cons (cons "koi8" ccl-encode-koi8-font) font-ccl-encoder-alist)) 208 (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
217 209 (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
218 (defvar cyrillic-koi8-r-to-external-code-table 210 (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
219 (let ((table (make-char-table 'generic)) 211 (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
220 (i 0) 212 (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
221 (len (length cyrillic-koi8-r-decode-table))) 213 (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
222 (while (< i len) 214 (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
223 (let ((ch (aref cyrillic-koi8-r-decode-table i))) 215 (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
224 (if (characterp ch) 216 (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
225 (put-char-table ch i table))) 217 (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
226 (incf i))) 218 (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
227 "Table to convert from characters to their Koi8-R code.") 219 (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
228 220 (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
221 (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
222 (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
223 (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
224 (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
225 (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
226 (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
227 (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
228 (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
229 (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
230 (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
231 (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
232 (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
233 (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
234 (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
235 (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
236 (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
237 (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
238 (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
239 (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
240 (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
241 (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
242 (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
243 (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
244 (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
245 (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
246 (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
247 (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
248 (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
249 (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
250 (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
251 (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
252 (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
253 (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
254 (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
255 (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
256 (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
257 (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
258 (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
259 (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
260 (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
261 "KOI8-R (,L:^T(B ,L>Q\U]P(B ,L8]d^`\PfXUY(B, 8 ,LQXb(B) for Russian and Bulgarian."
262 '(mnemonic "KOI8"
263 documentation
264 "This is the ASCII-compatible encoding documented in RFC 1341.
265 ,L:>8(B8-,L@(B is very common across the Cyrillic-using internet and in Unix
266 implementations; it shares the useful property with the other ,L:>8(B8
267 encodings that when the high bit is stripped, encoded text remains
268 readable (Cyrillic characters get mapped to corresponding Roman
269 character of the opposite case). "
270 aliases (cyrillic-koi8 koi8 cp878)))
271
272 ;; Create a corresponding language environment.
229 (set-language-info-alist 273 (set-language-info-alist
230 "Cyrillic-KOI8" '((charset cyrillic-iso8859-5) 274 "Cyrillic-KOI8" '((charset cyrillic-iso8859-5)
231 (coding-system koi8-r) 275 (coding-system koi8-r)
232 (native-coding-system koi8-r) 276 (native-coding-system koi8-r)
233 (coding-priority koi8-r) 277 (coding-priority koi8-r)
234 (input-method . "cyrillic-yawerty") 278 (input-method . "cyrillic-yawerty")
235 (features cyril-util) 279 (features cyril-util)
236 (locale "ru") 280 (locale "ru")
237 (mswindows-locale . "RUSSIAN") 281 (mswindows-locale . "RUSSIAN")
238 (tutorial . "TUTORIAL.ru") 282 (tutorial . "TUTORIAL.ru")
239 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") 283 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
240 (documentation . "Support for Cyrillic KOI8-R.")) 284 (documentation . "Support for Cyrillic KOI8-R."))
241 '("Cyrillic")) 285 '("Cyrillic"))
242 286
243 ;;; WINDOWS-1251 deleted; we support it automatically in XEmacs 287 ;; Alias it to Russian.
244 288 (set-language-info-alist
245 ;;; ALTERNATIVNYJ 289 "Russian"
246 290 (cdr (assoc "Cyrillic-KOI8" language-info-alist))
247 (eval-and-compile 291 '("Cyrillic"))
248 292
249 (defvar cyrillic-alternativnyj-decode-table 293 ;; KOI8-U, for Ukrainian.
250 [ 294 (make-8-bit-coding-system
251 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 295 'koi8-u
252 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 296 '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
253 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 297 (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
254 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 298 (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
255 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 299 (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
256 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 300 (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
257 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 301 (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
258 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 302 (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
259 ?,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 303 (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
260 ?,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 304 (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
261 ?,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 305 (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
262 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 306 (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
263 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 307 (#x8B ?\u2580) ;; UPPER HALF BLOCK
264 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 308 (#x8C ?\u2584) ;; LOWER HALF BLOCK
265 ?,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 309 (#x8D ?\u2588) ;; FULL BLOCK
266 ?,L!(B ?,Lq(B 32 32 32 32 32 32 32 32 32 32 32 32 32 ?,Lp(B] 310 (#x8E ?\u258C) ;; LEFT HALF BLOCK
267 "Cyrillic ALTERNATIVNYJ decoding table.") 311 (#x8F ?\u2590) ;; RIGHT HALF BLOCK
268 312 (#x90 ?\u2591) ;; LIGHT SHADE
269 (defvar cyrillic-alternativnyj-encode-table 313 (#x91 ?\u2592) ;; MEDIUM SHADE
270 (let ((table (make-vector 256 32)) 314 (#x92 ?\u2593) ;; DARK SHADE
271 (i 0)) 315 (#x93 ?\u2320) ;; TOP HALF INTEGRAL
272 (while (< i 256) 316 (#x94 ?\u25A0) ;; BLACK SQUARE
273 (let* ((ch (aref cyrillic-alternativnyj-decode-table i)) 317 (#x95 ?\u2022) ;; BULLET
274 (split (split-char ch))) 318 (#x96 ?\u221A) ;; SQUARE ROOT
275 (if (eq (car split) 'cyrillic-iso8859-5) 319 (#x97 ?\u2248) ;; ALMOST EQUAL TO
276 (aset table (logior (nth 1 split) 128) i) 320 (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
277 (if (/= ch 32) 321 (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
278 (aset table ch i)))) 322 (#x9A ?\u00A0) ;; NO-BREAK SPACE
279 (setq i (1+ i))) 323 (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
280 table) 324 (#x9C ?\u00B0) ;; DEGREE SIGN
281 "Cyrillic ALTERNATIVNYJ encoding table.") 325 (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
282 326 (#x9E ?\u00B7) ;; MIDDLE DOT
283 ) 327 (#x9F ?\u00F7) ;; DIVISION SIGN
284 328 (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
285 329 (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
286 (define-ccl-program ccl-decode-alternativnyj 330 (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
287 `(3 331 (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
288 ((read r0) 332 (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
289 (loop 333 (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
290 (write-read-repeat r0 ,cyrillic-alternativnyj-decode-table)))) 334 (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
291 "CCL program to decode Alternativnyj.") 335 (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
292 336 (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
293 (define-ccl-program ccl-encode-alternativnyj 337 (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
294 `(1 338 (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
295 ((read r0) 339 (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
296 (loop 340 (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
297 (if (r0 != ,(charset-id 'cyrillic-iso8859-5)) 341 (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
298 (write-read-repeat r0) 342 (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
299 ((read r0) 343 (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
300 (write-read-repeat r0 ,cyrillic-alternativnyj-encode-table)))))) 344 (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
301 "CCL program to encode Alternativnyj.") 345 (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
302 346 (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
303 ;; (define-coding-system-alias 'alternativnyj 'cyrillic-alternativnyj) 347 (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
304 348 (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
305 (make-coding-system 349 (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
306 'alternativnyj 'ccl 350 (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
307 "Alternativnyj (Cyrillic)" 351 (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
308 '(decode ccl-decode-alternativnyj 352 (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
309 encode ccl-encode-alternativnyj 353 (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
310 mnemonic "Cy.Alt")) 354 (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
311 355 (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
312 ;; `iso-8-1' is not correct, but XEmacs doesn't have `ccl' category 356 (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
313 (coding-system-put 'alternativnyj 'category 'iso-8-1) 357 (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
314 358 (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
315 ;; (define-ccl-program ccl-encode-alternativnyj-font 359 (#xBF ?\u00A9) ;; COPYRIGHT SIGN
316 ;; '(0 360 (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
317 ;; ((r1 |= 128) 361 (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
318 ;; (r1 = r1 ,cyrillic-alternativnyj-encode-table))) 362 (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
319 ;; "CCL program to encode Cyrillic chars to Alternativnyj font.") 363 (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
320 364 (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
321 ;; (setq font-ccl-encoder-alist 365 (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
322 ;; (cons (cons "alternativnyj" ccl-encode-alternativnyj-font) 366 (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
323 ;; font-ccl-encoder-alist)) 367 (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
324 368 (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
325 (defvar cyrillic-alternativnyj-to-external-code-table 369 (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
326 (let ((table (make-char-table 'generic)) 370 (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
327 (i 0) 371 (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
328 (len (length cyrillic-alternativnyj-decode-table))) 372 (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
329 (while (< i len) 373 (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
330 (let ((ch (aref cyrillic-alternativnyj-decode-table i))) 374 (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
331 (if (characterp ch) 375 (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
332 (put-char-table ch i table))) 376 (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
333 (incf i))) 377 (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
334 "Table to convert from characters to their Alternativnyj code.") 378 (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
379 (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
380 (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
381 (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
382 (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
383 (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
384 (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
385 (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
386 (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
387 (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
388 (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
389 (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
390 (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
391 (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
392 (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
393 (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
394 (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
395 (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
396 (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
397 (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
398 (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
399 (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
400 (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
401 (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
402 (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
403 (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
404 (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
405 (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
406 (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
407 (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
408 (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
409 (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
410 (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
411 (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
412 (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
413 (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
414 (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
415 (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
416 (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
417 (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
418 (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
419 (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
420 (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
421 (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
422 (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
423 (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
424 "KOI8-U, for Ukrainian"
425 '(mnemonic ",L:>8(B8,LC(B"
426 documentation
427 "KOI8-U, a KOI-8-compatible encoding for Ukrainian, described in RFC2319.
428 This has GHE WITH UPTURN, BYELORUSSIAN-UKRAINIAN I, UKRAINIAN IE and
429 YI instead of some box-drawing characters. Russian in this encoding
430 (without using box-drawing characters) is bit-for-bit compatible with
431 Russian in KOI8-R. "))
432
433 ;; Case support, for the new characters.
434 (loop
435 for (upper lower)
436 in '((?\u0404 ?\u0454) ; UKRAINIAN IE
437 (?\u0406 ?\u0456) ; BYELORUSSIAN-UKRAINIAN I
438 (?\u0407 ?\u0457) ; YI
439 (?\u0490 ?\u0491)); GHE WITH UPTURN
440 with case-table = (standard-case-table)
441 do
442 (put-case-table-pair upper lower case-table))
443
444 (set-language-info-alist
445 "Ukrainian" '((coding-system koi8-u)
446 (coding-priority koi8-u)
447 (input-method . "cyrillic-ukrainian")
448 (documentation
449 . "Support for Ukrainian with KOI8-U character set."))
450 '("Cyrillic"))
451
452 ;; Windows 1251 may be provide automatically on Windows, in which case
453 ;; we don't need to.
454 (unless (find-coding-system 'windows-1251)
455 (make-8-bit-coding-system
456 'windows-1251
457 '((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
458 (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
459 (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
460 (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
461 (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
462 (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
463 (#x86 ?\u2020) ;; DAGGER
464 (#x87 ?\u2021) ;; DOUBLE DAGGER
465 (#x88 ?\u20AC) ;; EURO SIGN
466 (#x89 ?\u2030) ;; PER MILLE SIGN
467 (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
468 (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
469 (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
470 (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
471 (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
472 (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
473 (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
474 (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
475 (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
476 (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
477 (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
478 (#x95 ?\u2022) ;; BULLET
479 (#x96 ?\u2013) ;; EN DASH
480 (#x97 ?\u2014) ;; EM DASH
481 (#x99 ?\u2122) ;; TRADE MARK SIGN
482 (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
483 (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
484 (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
485 (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
486 (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
487 (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
488 (#xA0 ?\u00A0) ;; NO-BREAK SPACE
489 (#xA1 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
490 (#xA2 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
491 (#xA3 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
492 (#xA4 ?\u00A4) ;; CURRENCY SIGN
493 (#xA5 ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
494 (#xA6 ?\u00A6) ;; BROKEN BAR
495 (#xA7 ?\u00A7) ;; SECTION SIGN
496 (#xA8 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
497 (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
498 (#xAA ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
499 (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
500 (#xAC ?\u00AC) ;; NOT SIGN
501 (#xAD ?\u00AD) ;; SOFT HYPHEN
502 (#xAE ?\u00AE) ;; REGISTERED SIGN
503 (#xAF ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
504 (#xB0 ?\u00B0) ;; DEGREE SIGN
505 (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
506 (#xB2 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
507 (#xB3 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
508 (#xB4 ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
509 (#xB5 ?\u00B5) ;; MICRO SIGN
510 (#xB6 ?\u00B6) ;; PILCROW SIGN
511 (#xB7 ?\u00B7) ;; MIDDLE DOT
512 (#xB8 ?\u0451) ;; CYRILLIC SMALL LETTER IO
513 (#xB9 ?\u2116) ;; NUMERO SIGN
514 (#xBA ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
515 (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
516 (#xBC ?\u0458) ;; CYRILLIC SMALL LETTER JE
517 (#xBD ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
518 (#xBE ?\u0455) ;; CYRILLIC SMALL LETTER DZE
519 (#xBF ?\u0457) ;; CYRILLIC SMALL LETTER YI
520 (#xC0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
521 (#xC1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
522 (#xC2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
523 (#xC3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
524 (#xC4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
525 (#xC5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
526 (#xC6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
527 (#xC7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
528 (#xC8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
529 (#xC9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
530 (#xCA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
531 (#xCB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
532 (#xCC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
533 (#xCD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
534 (#xCE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
535 (#xCF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
536 (#xD0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
537 (#xD1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
538 (#xD2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
539 (#xD3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
540 (#xD4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
541 (#xD5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
542 (#xD6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
543 (#xD7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
544 (#xD8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
545 (#xD9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
546 (#xDA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
547 (#xDB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
548 (#xDC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
549 (#xDD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
550 (#xDE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
551 (#xDF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
552 (#xE0 ?\u0430) ;; CYRILLIC SMALL LETTER A
553 (#xE1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
554 (#xE2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
555 (#xE3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
556 (#xE4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
557 (#xE5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
558 (#xE6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
559 (#xE7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
560 (#xE8 ?\u0438) ;; CYRILLIC SMALL LETTER I
561 (#xE9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
562 (#xEA ?\u043A) ;; CYRILLIC SMALL LETTER KA
563 (#xEB ?\u043B) ;; CYRILLIC SMALL LETTER EL
564 (#xEC ?\u043C) ;; CYRILLIC SMALL LETTER EM
565 (#xED ?\u043D) ;; CYRILLIC SMALL LETTER EN
566 (#xEE ?\u043E) ;; CYRILLIC SMALL LETTER O
567 (#xEF ?\u043F) ;; CYRILLIC SMALL LETTER PE
568 (#xF0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
569 (#xF1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
570 (#xF2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
571 (#xF3 ?\u0443) ;; CYRILLIC SMALL LETTER U
572 (#xF4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
573 (#xF5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
574 (#xF6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
575 (#xF7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
576 (#xF8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
577 (#xF9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
578 (#xFA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
579 (#xFB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
580 (#xFC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
581 (#xFD ?\u044D) ;; CYRILLIC SMALL LETTER E
582 (#xFE ?\u044E) ;; CYRILLIC SMALL LETTER YU
583 (#xFF ?\u044F)) ;; CYRILLIC SMALL LETTER YA
584 "Microsoft's Code Page 1251, for Russian, Bulgarian, Serbian and others. "
585 '(mnemonic "CyrW"
586 documentation
587 "This ASCII-compatible encoding is unfortunately not compatible at
588 the code point level with the KOI8 family of encodings, but it
589 provides several widely-used punctuation and quotation marks that
590 KOI-8R and its relatives don't, and has become widely used. "
591 aliases (cp1251))))
592
593 (set-language-info-alist
594 "Bulgarian" '((coding-system windows-1251)
595 (coding-priority windows-1251)
596 (input-method . "bulgarian-bds")
597 (documentation
598 . "Support for Bulgarian with windows-1251 character set.")
599 (tutorial . "TUTORIAL.bg"))
600 '("Cyrillic"))
601
602 (set-language-info-alist
603 "Belarusian" '((coding-system windows-1251)
604 (coding-priority windows-1251)
605 (input-method . "belarusian")
606 (documentation
607 . "Support for Belarusian with windows-1251 character set.
608 \(The name Belarusian replaced Byelorussian in the early 1990s.)"))
609 '("Cyrillic"))
610
611 ;;; Alternativnyj
612 (make-8-bit-coding-system
613 'alternativnyj
614 '((#x80 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
615 (#x81 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
616 (#x82 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
617 (#x83 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
618 (#x84 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
619 (#x85 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
620 (#x86 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
621 (#x87 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
622 (#x88 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
623 (#x89 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
624 (#x8A ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
625 (#x8B ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
626 (#x8C ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
627 (#x8D ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
628 (#x8E ?\u041E) ;; CYRILLIC CAPITAL LETTER O
629 (#x8F ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
630 (#x90 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
631 (#x91 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
632 (#x92 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
633 (#x93 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
634 (#x94 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
635 (#x95 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
636 (#x96 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
637 (#x97 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
638 (#x98 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
639 (#x99 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
640 (#x9A ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
641 (#x9B ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
642 (#x9C ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
643 (#x9D ?\u042D) ;; CYRILLIC CAPITAL LETTER E
644 (#x9E ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
645 (#x9F ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
646 (#xA0 ?\u0430) ;; CYRILLIC SMALL LETTER A
647 (#xA1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
648 (#xA2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
649 (#xA3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
650 (#xA4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
651 (#xA5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
652 (#xA6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
653 (#xA7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
654 (#xA8 ?\u0438) ;; CYRILLIC SMALL LETTER I
655 (#xA9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
656 (#xAA ?\u043A) ;; CYRILLIC SMALL LETTER KA
657 (#xAB ?\u043B) ;; CYRILLIC SMALL LETTER EL
658 (#xAC ?\u043C) ;; CYRILLIC SMALL LETTER EM
659 (#xAD ?\u043D) ;; CYRILLIC SMALL LETTER EN
660 (#xAE ?\u043E) ;; CYRILLIC SMALL LETTER O
661 (#xAF ?\u043F) ;; CYRILLIC SMALL LETTER PE
662 (#xB0 ?\u2591) ;; LIGHT SHADE
663 (#xB1 ?\u2592) ;; MEDIUM SHADE
664 (#xB2 ?\u2593) ;; DARK SHADE
665 (#xB3 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
666 (#xB4 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
667 (#xB5 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
668 (#xB6 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
669 (#xB7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
670 (#xB8 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
671 (#xB9 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
672 (#xBA ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
673 (#xBB ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
674 (#xBC ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
675 (#xBD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
676 (#xBE ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
677 (#xBF ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
678 (#xC0 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
679 (#xC1 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
680 (#xC2 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
681 (#xC3 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
682 (#xC4 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
683 (#xC5 ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
684 (#xC6 ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
685 (#xC7 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
686 (#xC8 ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
687 (#xC9 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
688 (#xCA ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
689 (#xCB ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
690 (#xCC ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
691 (#xCD ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
692 (#xCE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
693 (#xCF ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
694 (#xD0 ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
695 (#xD1 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
696 (#xD2 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
697 (#xD3 ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
698 (#xD4 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
699 (#xD5 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
700 (#xD6 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
701 (#xD7 ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
702 (#xD8 ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
703 (#xD9 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
704 (#xDA ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
705 (#xDB ?\u2588) ;; FULL BLOCK
706 (#xDC ?\u2584) ;; LOWER HALF BLOCK
707 (#xDD ?\u258C) ;; LEFT HALF BLOCK
708 (#xDE ?\u2590) ;; RIGHT HALF BLOCK
709 (#xDF ?\u2580) ;; UPPER HALF BLOCK
710 (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
711 (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
712 (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
713 (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
714 (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
715 (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
716 (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
717 (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
718 (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
719 (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
720 (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
721 (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
722 (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
723 (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
724 (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
725 (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
726 (#xF0 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
727 (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
728 (#xF2 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
729 (#xF3 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
730 (#xF4 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
731 (#xF5 ?\u0457) ;; CYRILLIC SMALL LETTER YI
732 (#xF6 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
733 (#xF7 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
734 (#xF8 ?\u00B0) ;; DEGREE SIGN
735 (#xF9 ?\u2022) ;; BULLET
736 (#xFA ?\u00B7) ;; MIDDLE DOT
737 (#xFB ?\u221A) ;; SQUARE ROOT
738 (#xFC ?\u2116) ;; NUMERO SIGN
739 (#xFD ?\u00A4) ;; CURRENCY SIGN
740 (#xFE ?\u25A0) ;; BLACK SQUARE
741 (#xFF ?\u00A0)) ;; NO-BREAK SPACE
742 "Alternativnyj (Cyrillic). Microsoft's Code Page 966. "
743 '(mnemonic "Cy.Alt"
744 aliases (cp866)))
335 745
336 (set-language-info-alist 746 (set-language-info-alist
337 "Cyrillic-ALT" '((charset cyrillic-iso8859-5) 747 "Cyrillic-ALT" '((charset cyrillic-iso8859-5)
338 (coding-system alternativnyj) 748 (coding-system alternativnyj)
339 (native-coding-system alternativnyj) 749 (native-coding-system alternativnyj)
340 (coding-priority alternativnyj) 750 (coding-priority alternativnyj)
341 (input-method . "cyrillic-yawerty") 751 (input-method . "cyrillic-yawerty")
342 (features cyril-util) 752 (features cyril-util)
343 (tutorial . "TUTORIAL.ru") 753 (tutorial . "TUTORIAL.ru")
344 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") 754 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
345 (documentation . "Support for Cyrillic ALTERNATIVNYJ.")) 755 (documentation . "Support for Cyrillic ALTERNATIVNYJ."))
346 '("Cyrillic")) 756 '("Cyrillic"))
347 757
758 (make-8-bit-coding-system
759 'koi8-ru
760 '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
761 (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
762 (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
763 (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
764 (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
765 (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
766 (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
767 (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
768 (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
769 (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
770 (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
771 (#x8B ?\u2580) ;; UPPER HALF BLOCK
772 (#x8C ?\u2584) ;; LOWER HALF BLOCK
773 (#x8D ?\u2588) ;; FULL BLOCK
774 (#x8E ?\u258C) ;; LEFT HALF BLOCK
775 (#x8F ?\u2590) ;; RIGHT HALF BLOCK
776 (#x90 ?\u2591) ;; LIGHT SHADE
777 (#x91 ?\u2592) ;; MEDIUM SHADE
778 (#x92 ?\u2593) ;; DARK SHADE
779 (#x93 ?\u2320) ;; TOP HALF INTEGRAL
780 (#x94 ?\u25A0) ;; BLACK SQUARE
781 (#x95 ?\u2219) ;; BULLET OPERATOR
782 (#x96 ?\u221A) ;; SQUARE ROOT
783 (#x97 ?\u2248) ;; ALMOST EQUAL TO
784 (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
785 (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
786 (#x9A ?\u00A0) ;; NO-BREAK SPACE
787 (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
788 (#x9C ?\u00B0) ;; DEGREE SIGN
789 (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
790 (#x9E ?\u00B7) ;; MIDDLE DOT
791 (#x9F ?\u00F7) ;; DIVISION SIGN
792 (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
793 (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
794 (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
795 (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
796 (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
797 (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
798 (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
799 (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
800 (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
801 (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
802 (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
803 (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
804 (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
805 (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
806 (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
807 (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
808 (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
809 (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
810 (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
811 (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
812 (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
813 (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
814 (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
815 (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
816 (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
817 (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
818 (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
819 (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
820 (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
821 (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
822 (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
823 (#xBF ?\u00A9) ;; COPYRIGHT SIGN
824 (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
825 (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
826 (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
827 (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
828 (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
829 (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
830 (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
831 (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
832 (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
833 (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
834 (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
835 (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
836 (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
837 (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
838 (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
839 (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
840 (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
841 (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
842 (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
843 (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
844 (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
845 (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
846 (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
847 (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
848 (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
849 (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
850 (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
851 (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
852 (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
853 (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
854 (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
855 (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
856 (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
857 (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
858 (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
859 (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
860 (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
861 (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
862 (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
863 (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
864 (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
865 (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
866 (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
867 (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
868 (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
869 (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
870 (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
871 (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
872 (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
873 (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
874 (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
875 (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
876 (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
877 (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
878 (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
879 (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
880 (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
881 (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
882 (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
883 (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
884 (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
885 (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
886 (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
887 (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
888 "KOI8-RU, a mostly-compatible superset of KOI8-R.
889 Also known as Windows code page 21866; has Ukrainian and Belarussian support. "
890 '(mnemonic ",L@C(B"
891 aliases (cp21866)))
892
893 (set-language-info-alist
894 "Cyrillic-KOI8RU" '((charset cyrillic-iso8859-5)
895 (coding-system koi8-ru)
896 (native-coding-system koi8-ru)
897 (coding-priority koi8-ru)
898 (input-method . "cyrillic-yawerty")
899 (tutorial . "TUTORIAL.ru")
900 (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!")
901 (documentation . "Support for Cyrillic ALTERNATIVNYJ."))
902 '("Cyrillic"))
903
904 ;; We should provide an input method and the corresponding language
905 ;; environments for the next three coding systems.
906
907 (make-8-bit-coding-system
908 'koi8-t
909 '((#x80 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
910 (#x81 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
911 (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
912 (#x83 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
913 (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
914 (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
915 (#x86 ?\u2020) ;; DAGGER
916 (#x87 ?\u2021) ;; DOUBLE DAGGER
917 (#x89 ?\u2030) ;; PER MILLE SIGN
918 (#x8A ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
919 (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
920 (#x8C ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
921 (#x8D ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
922 (#x8E ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
923 (#x90 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
924 (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
925 (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
926 (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
927 (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
928 (#x95 ?\u2022) ;; BULLET
929 (#x96 ?\u2013) ;; EN DASH
930 (#x97 ?\u2014) ;; EM DASH
931 (#x99 ?\u2122) ;; TRADE MARK SIGN
932 (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
933 (#xA1 ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
934 (#xA2 ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
935 (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
936 (#xA4 ?\u00A4) ;; CURRENCY SIGN
937 (#xA5 ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
938 (#xA6 ?\u00A6) ;; BROKEN BAR
939 (#xA7 ?\u00A7) ;; SECTION SIGN
940 (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
941 (#xAC ?\u00AC) ;; NOT SIGN
942 (#xAD ?\u00AD) ;; SOFT HYPHEN
943 (#xAE ?\u00AE) ;; REGISTERED SIGN
944 (#xB0 ?\u00B0) ;; DEGREE SIGN
945 (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
946 (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
947 (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
948 (#xB5 ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
949 (#xB6 ?\u00B6) ;; PILCROW SIGN
950 (#xB7 ?\u00B7) ;; MIDDLE DOT
951 (#xB9 ?\u2116) ;; NUMERO SIGN
952 (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
953 (#xBF ?\u00A9) ;; COPYRIGHT SIGN
954 (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
955 (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
956 (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
957 (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
958 (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
959 (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
960 (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
961 (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
962 (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
963 (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
964 (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
965 (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
966 (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
967 (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
968 (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
969 (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
970 (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
971 (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
972 (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
973 (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
974 (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
975 (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
976 (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
977 (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
978 (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
979 (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
980 (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
981 (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
982 (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
983 (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
984 (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
985 (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
986 (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
987 (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
988 (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
989 (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
990 (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
991 (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
992 (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
993 (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
994 (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
995 (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
996 (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
997 (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
998 (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
999 (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
1000 (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
1001 (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
1002 (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
1003 (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
1004 (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
1005 (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
1006 (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
1007 (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
1008 (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
1009 (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
1010 (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
1011 (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
1012 (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
1013 (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
1014 (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
1015 (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
1016 (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
1017 (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
1018 ",L:>8(B-8 for Tajik."
1019 '(mnemonic ",LB%GҶ%@(B"
1020 documentation
1021 "Compatible in the alphabetic characters with KOI-8R for Russian,
1022 this 8-bit Cyrillic coding system makes those characters available
1023 that are necessary for writing Tajik, (,LWPQ^]%Gӣ%@(B ,Lb^%Gҷ%@XZ%Gӣ%@(B) the main
1024 language of Tajikistan and a close relative of Persian. "))
1025
1026 ;; Case support, for the new characters.
1027 (loop
1028 for (upper lower)
1029 in '((?\u04B6 ?\u04B7) ;; CHE WITH DESCENDER
1030 (?\u0492 ?\u0493) ;; GHE WITH STROKE
1031 (?\u04B2 ?\u04B3) ;; HA WITH DESCENDER
1032 (?\u04E2 ?\u04E3) ;; I WITH MACRON
1033 (?\u049A ?\u049B) ;; KA WITH DESCENDER
1034 (?\u04EE ?\u04EF)) ;; U WITH MACRON
1035 with case-table = (standard-case-table)
1036 do
1037 (put-case-table-pair upper lower case-table))
1038
1039 ;; Support fot the languages of the Caucasus.
1040 (make-8-bit-coding-system
1041 'koi8-c
1042 '((#x80 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
1043 (#x81 ?\u0497) ;; CYRILLIC SMALL LETTER ZHE WITH DESCENDER
1044 (#x82 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
1045 (#x83 ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
1046 (#x84 ?\u04A3) ;; CYRILLIC SMALL LETTER EN WITH DESCENDER
1047 (#x85 ?\u04AF) ;; CYRILLIC SMALL LETTER STRAIGHT U
1048 (#x86 ?\u04B1) ;; CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
1049 (#x87 ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
1050 (#x88 ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
1051 (#x89 ?\u04B9) ;; CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
1052 (#x8A ?\u04BB) ;; CYRILLIC SMALL LETTER SHHA
1053 (#x8B ?\u2580) ;; UPPER HALF BLOCK
1054 (#x8C ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
1055 (#x8D ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
1056 (#x8E ?\u04E9) ;; CYRILLIC SMALL LETTER BARRED O
1057 (#x8F ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
1058 (#x90 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
1059 (#x91 ?\u0496) ;; CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
1060 (#x92 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
1061 (#x93 ?\u049C) ;; CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
1062 (#x94 ?\u04A2) ;; CYRILLIC CAPITAL LETTER EN WITH DESCENDER
1063 (#x95 ?\u04AE) ;; CYRILLIC CAPITAL LETTER STRAIGHT U
1064 (#x96 ?\u04B0) ;; CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
1065 (#x97 ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
1066 (#x98 ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
1067 (#x99 ?\u04B8) ;; CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
1068 (#x9A ?\u04BA) ;; CYRILLIC CAPITAL LETTER SHHA
1069 (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
1070 (#x9C ?\u04D8) ;; CYRILLIC CAPITAL LETTER SCHWA
1071 (#x9D ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
1072 (#x9E ?\u04E8) ;; CYRILLIC CAPITAL LETTER BARRED O
1073 (#x9F ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
1074 (#xA0 ?\u00A0) ;; NO-BREAK SPACE
1075 (#xA1 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
1076 (#xA2 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
1077 (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
1078 (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
1079 (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
1080 (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1081 (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
1082 (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
1083 (#xA9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
1084 (#xAA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
1085 (#xAB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
1086 (#xAC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
1087 (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
1088 (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
1089 (#xAF ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
1090 (#xB0 ?\u2116) ;; NUMERO SIGN
1091 (#xB1 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
1092 (#xB2 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
1093 (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
1094 (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
1095 (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
1096 (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
1097 (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
1098 (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
1099 (#xB9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
1100 (#xBA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
1101 (#xBB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
1102 (#xBC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
1103 (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
1104 (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
1105 (#xBF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
1106 (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
1107 (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
1108 (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
1109 (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
1110 (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
1111 (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
1112 (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
1113 (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
1114 (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
1115 (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
1116 (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
1117 (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
1118 (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
1119 (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
1120 (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
1121 (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
1122 (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
1123 (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
1124 (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
1125 (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
1126 (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
1127 (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
1128 (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
1129 (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
1130 (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
1131 (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
1132 (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
1133 (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
1134 (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
1135 (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
1136 (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
1137 (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
1138 (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
1139 (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
1140 (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
1141 (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
1142 (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
1143 (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
1144 (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
1145 (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
1146 (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
1147 (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
1148 (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
1149 (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
1150 (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
1151 (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
1152 (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
1153 (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
1154 (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
1155 (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
1156 (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
1157 (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
1158 (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
1159 (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
1160 (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
1161 (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
1162 (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
1163 (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
1164 (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
1165 (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
1166 (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
1167 (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
1168 (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
1169 (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
1170 "KOI-8 for the Caucasus."
1171 '(documentation
1172 "Note that this does not support old Russian orthography;
1173 for that, see koi8-o. "))
1174
1175 (loop
1176 for (upper lower)
1177 in '((?\u04E9 ?\u04E8) ;; BARRED O
1178 (?\u04B9 ?\u04B8) ;; CHE WITH VERTICAL STROKE
1179 (?\u0452 ?\u0402) ;; DJE
1180 (?\u0455 ?\u0405) ;; DZE
1181 (?\u04A3 ?\u04A2) ;; EN WITH DESCENDER
1182 (?\u049D ?\u049C) ;; KA WITH VERTICAL STROKE
1183 (?\u04BB ?\u04BA) ;; SHHA
1184 (?\u04AF ?\u04AE) ;; STRAIGHT U
1185 (?\u04B1 ?\u04B0) ;; STRAIGHT U WITH STROKE
1186 (?\u0497 ?\u0496)) ;; ZHE WITH DESCENDER
1187 with case-table = (standard-case-table)
1188 do
1189 (put-case-table-pair upper lower case-table))
1190
1191 ;; Archaic Russian support.
1192 (make-8-bit-coding-system
1193 'koi8-o
1194 '((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
1195 (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
1196 (#x82 ?\u00B8) ;; CEDILLA
1197 (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
1198 (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
1199 (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
1200 (#x86 ?\u2020) ;; DAGGER
1201 (#x87 ?\u00A7) ;; SECTION SIGN
1202 (#x88 ?\u20AC) ;; EURO SIGN
1203 (#x89 ?\u00A8) ;; DIAERESIS
1204 (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
1205 (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
1206 (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
1207 (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
1208 (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
1209 (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
1210 (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
1211 (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
1212 (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
1213 (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
1214 (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
1215 (#x95 ?\u2022) ;; BULLET
1216 (#x96 ?\u2013) ;; EN DASH
1217 (#x97 ?\u2014) ;; EM DASH
1218 (#x98 ?\u00A3) ;; POUND SIGN
1219 (#x99 ?\u00B7) ;; MIDDLE DOT
1220 (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
1221 (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
1222 (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
1223 (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
1224 (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
1225 (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
1226 (#xA0 ?\u00A0) ;; NO-BREAK SPACE
1227 (#xA1 ?\u0475) ;; CYRILLIC SMALL LETTER IZHITSA
1228 (#xA2 ?\u0463) ;; CYRILLIC SMALL LETTER YAT
1229 (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
1230 (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
1231 (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
1232 (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1233 (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
1234 (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
1235 (#xA9 ?\u00AE) ;; REGISTERED SIGN
1236 (#xAA ?\u2122) ;; TRADE MARK SIGN
1237 (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1238 (#xAC ?\u0473) ;; CYRILLIC SMALL LETTER FITA
1239 (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
1240 (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
1241 (#xAF ?\u00B4) ;; ACUTE ACCENT
1242 (#xB0 ?\u00B0) ;; DEGREE SIGN
1243 (#xB1 ?\u0474) ;; CYRILLIC CAPITAL LETTER IZHITSA
1244 (#xB2 ?\u0462) ;; CYRILLIC CAPITAL LETTER YAT
1245 (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
1246 (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
1247 (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
1248 (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
1249 (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
1250 (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
1251 (#xB9 ?\u2116) ;; NUMERO SIGN
1252 (#xBA ?\u00A2) ;; CENT SIGN
1253 (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1254 (#xBC ?\u0472) ;; CYRILLIC CAPITAL LETTER FITA
1255 (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
1256 (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
1257 (#xBF ?\u00A9) ;; COPYRIGHT SIGN
1258 (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
1259 (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
1260 (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
1261 (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
1262 (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
1263 (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
1264 (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
1265 (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
1266 (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
1267 (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
1268 (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
1269 (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
1270 (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
1271 (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
1272 (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
1273 (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
1274 (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
1275 (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
1276 (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
1277 (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
1278 (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
1279 (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
1280 (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
1281 (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
1282 (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
1283 (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
1284 (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
1285 (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
1286 (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
1287 (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
1288 (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
1289 (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
1290 (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
1291 (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
1292 (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
1293 (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
1294 (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
1295 (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
1296 (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
1297 (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
1298 (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
1299 (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
1300 (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
1301 (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
1302 (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
1303 (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
1304 (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
1305 (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
1306 (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
1307 (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
1308 (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
1309 (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
1310 (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
1311 (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
1312 (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
1313 (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
1314 (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
1315 (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
1316 (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
1317 (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
1318 (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
1319 (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
1320 (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
1321 (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
1322 "KOI-8 for old-orthography Russian; also known as KOI-C."
1323 '(mnemonic ",L:>(B"
1324 documentation
1325 "KOI-8 for old-orthography Russian; also known as KOI-C.
1326
1327 This is mostly compatible with KOI8-R in the alphabetic characters, and
1328 provides ,L&v(B, %GѲѳ%@, %GѢѣ%@, and %GѴѵ%@ instead of some of the box-drawing characters. "))
1329
1330 (loop
1331 for (upper lower)
1332 in '((?\u0472 ?\u0473) ;; FITA
1333 (?\u0474 ?\u0475) ;; IZHITSA
1334 (?\u0408 ?\u0458) ;; JE
1335 (?\u0462 ?\u0463)) ;; YAT
1336 with case-table = (standard-case-table)
1337 do
1338 (put-case-table-pair upper lower case-table))
1339
1340 (provide 'cyrillic)
1341
348 ;;; cyrillic.el ends here 1342 ;;; cyrillic.el ends here