Mercurial > emacs
annotate lisp/international/latin1-disp.el @ 35724:f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
<vinicius@cpqd.com.br>:
(lpr-windows-system, lpr-lp-system): New vars.
(lpr-printer-switch): New defcustom.
(printer-name, lpr-command): Customization fix.
(print-region-1): Code fix.
(print-region-new-buffer, printify-region): Indentation fix.
(lpr-eval-switch, lpr-flatten-list, lpr-flatten-list-1): New funcsions.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Tue, 30 Jan 2001 12:01:54 +0000 |
parents | 84a59a4308f6 |
children | bd020356c644 |
rev | line source |
---|---|
31673 | 1 ;;; latin1-disp.el --- display tables for other ISO 8859 on Latin-1 terminals -*- coding: emacs-mule -*- |
2 | |
3 ;; Copyright (C) 2000 Free Software Foundation, Inc. | |
4 | |
5 ;; Author: Dave Love <fx@gnu.org> | |
6 ;; Keywords: i18n | |
7 | |
8 ;; This file is part of GNU Emacs. | |
9 | |
10 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
11 ;; it under the terms of the GNU General Public License as published by | |
12 ;; the Free Software Foundation; either version 2, or (at your option) | |
13 ;; any later version. | |
14 | |
15 ;; GNU Emacs is distributed in the hope that it will be useful, | |
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 ;; GNU General Public License for more details. | |
19 | |
20 ;; You should have received a copy of the GNU General Public License | |
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
23 ;; Boston, MA 02111-1307, USA. | |
24 | |
25 ;;; Commentary: | |
26 | |
27 ;; This package sets up display of ISO 8859-n for n>1 by substituting | |
28 ;; Latin-1 characters and sequences of them for characters which can't | |
29 ;; be displayed, either beacuse we're on a tty or beacuse we don't | |
30 ;; have the relevant window system fonts available. For instance, | |
31 ;; Latin-9 is very similar to Latin-1, so we can display most Latin-9 | |
32 ;; characters using the Latin-1 characters at the same code point and | |
33 ;; fall back on more-or-less mnemonic ASCII sequences for the rest. | |
34 | |
35 ;; For the Latin charsets the ASCII sequences are mostly consistent | |
36 ;; with the Quail prefix input sequences. Latin-4 uses the Quail | |
37 ;; postfix sequences as a prefix method isn't defined for Latin-4. | |
38 | |
39 ;; A different approach is taken in the DOS display tables in | |
40 ;; term/internal.el, and the relevant ASCII sequences from there are | |
41 ;; available as an alternative; see `latin1-display-mnemonic'. Only | |
42 ;; these sequences are used for Cyrillic, Greek and Hebrew. | |
43 | |
44 ;; If you don't even have Latin-1, see iso-ascii.el and use the | |
45 ;; complete tables from internal.el. The ASCII sequences used here | |
46 ;; are mostly in the same style as iso-ascii. | |
47 | |
48 ;;; Code: | |
49 | |
35365 | 50 ;; Ensure `standard-display-table' is set up: |
51 (require 'disp-table) | |
52 | |
31673 | 53 (defconst latin1-display-sets '(latin-2 latin-3 latin-4 latin-5 latin-8 |
54 latin-9 cyrillic greek hebrew) | |
55 "The ISO8859 character sets with defined Latin-1 display sequences. | |
56 These are the nicknames for the sets and correspond to Emacs language | |
57 environments.") | |
58 | |
59 (defgroup latin1-display () | |
60 "Set up display tables for ISO8859 characters using Latin-1." | |
61 :version "21.1" | |
62 :group 'i18n) | |
63 | |
64 (defcustom latin1-display-format "{%s}" | |
65 "A format string used to display the ASCII sequences. | |
66 The default encloses the sequence in braces, but you could just use | |
67 \"%s\" to avoid the braces." | |
68 :group 'latin1-display | |
69 :type 'string) | |
70 | |
71 ;;;###autoload | |
72 (defcustom latin1-display nil | |
73 "Set up Latin-1/ASCII display for ISO8859 character sets. | |
74 This is done for each character set in the list `latin1-display-sets', | |
75 if no font is available to display it. Characters are displayed using | |
76 the corresponding Latin-1 characters where they match. Otherwise | |
77 ASCII sequences are used, mostly following the Latin prefix input | |
78 methods. Some different ASCII sequences are used if | |
79 `latin1-display-mnemonic' is non-nil. | |
80 | |
81 Setting this variable directly does not take effect; | |
82 use either M-x customize of the function `latin1-display'." | |
83 :group 'latin1-display | |
84 :type 'boolean | |
85 :require 'latin1-disp | |
86 :initialize 'custom-initialize-default | |
87 :set (lambda (symbol value) | |
35365 | 88 (set-default symbol value) |
89 (mapc (if value | |
90 #'latin1-display-setup | |
91 #'latin1-display-reset) | |
92 latin1-display-sets) | |
93 (redraw-display))) | |
31673 | 94 |
95 ;;;###autoload | |
96 (defun latin1-display (&rest sets) | |
97 "Set up Latin-1/ASCII display for the arguments character SETS. | |
98 See option `latin1-display' for the method. The members of the list | |
99 must be in `latin1-display-sets'. With no arguments, reset the | |
100 display for all of `latin1-display-sets'. See also `latin1-display-setup'." | |
101 (if sets | |
102 (mapc #'latin1-display-setup sets) | |
103 (mapc #'latin1-display-reset latin1-display-sets))) | |
104 | |
105 (defcustom latin1-display-mnemonic nil | |
106 "Non-nil means to display potentially more mnemonic sequences. | |
107 These are taken from the tables in `internal.el' rather than the Quail | |
108 input sequences." | |
109 :type 'boolean | |
110 :group 'latin1-display) | |
111 | |
112 (defun latin1-display-char (char display &optional alt-display) | |
113 "Make an entry in `standard-display-table' for CHAR using string DISPLAY. | |
114 If ALT-DISPLAY is provided, use that instead if | |
115 `latin1-display-mnemonic' is non-nil. The actual string displayed is | |
116 formatted using `latin1-display-format'." | |
117 (if (and (stringp alt-display) | |
118 latin1-display-mnemonic) | |
119 (setq display alt-display)) | |
120 (if (stringp display) | |
121 (standard-display-ascii char (format latin1-display-format display)) | |
122 (aset standard-display-table char display))) | |
123 | |
124 (defun latin1-display-identities (charset) | |
125 "Display each character in CHARSET as the corresponding Latin-1 character. | |
126 CHARSET is a symbol naming a language environment using an ISO8859 | |
127 character set." | |
128 (if (eq charset 'cyrillic) | |
129 (setq charset 'cyrillic-iso)) | |
130 (let ((i 32) | |
131 (set (car (remq 'ascii (get-language-info charset 'charset))))) | |
132 (while (<= i 127) | |
133 (aset standard-display-table | |
134 (make-char set i) | |
135 (vector (make-char 'latin-iso8859-1 i))) | |
136 (setq i (1+ i))))) | |
137 | |
138 (defun latin1-display-reset (language) | |
139 "Set up the default display for each character of LANGUAGE's charset. | |
140 CHARSET is a symbol naming a language environment using an ISO8859 | |
141 character set." | |
142 (if (eq language 'cyrillic) | |
143 (setq language 'cyrillic-iso)) | |
144 (let ((charset (car (remq 'ascii (get-language-info language | |
145 'charset))))) | |
146 (standard-display-default (make-char charset 32) | |
147 (make-char charset 127))) | |
148 (sit-for 0)) | |
149 | |
150 (defun latin1-display-check-font (language) | |
151 "Return non-nil if we have a font with an encoding for LANGUAGE. | |
152 LANGUAGE is a symbol naming a language environment using an ISO8859 | |
153 character set: `latin-2', `hebrew' etc." | |
154 (if (eq language 'cyrillic) | |
155 (setq language 'cyrillic-iso)) | |
32785 | 156 (let* ((info (get-language-info language 'charset)) |
157 (char (make-char (car (remq 'ascii info)) ?\ ))) | |
158 (latin1-char-displayable-p char))) | |
159 | |
160 ;; This should be moved into mule-utils or somewhere after 21.1. | |
161 (defun latin1-char-displayable-p (char) | |
162 (cond ((< char 256) | |
163 ;; Single byte characters are always displayable. | |
164 t) | |
32997
00c403ac9e5e
(latin1-char-displayable-p): Don't
Dave Love <fx@gnu.org>
parents:
32785
diff
changeset
|
165 ((display-multi-font-p) |
32785 | 166 ;; On a window system, a character is displayable if we have |
167 ;; a font for that character in the default face of the | |
168 ;; currently selected frame. | |
169 (let ((fontset (frame-parameter (selected-frame) 'font)) | |
170 font-pattern) | |
171 (if (query-fontset fontset) | |
172 (setq font-pattern (fontset-font fontset char))) | |
173 (or font-pattern | |
174 (setq font-pattern (fontset-font "fontset-default" char))) | |
175 (if font-pattern | |
176 (progn | |
177 ;; Now FONT-PATTERN is a string or a cons of family | |
33412 | 178 ;; field pattern and registry field pattern. |
32785 | 179 (or (stringp font-pattern) |
180 (setq font-pattern (concat (or (car font-pattern) "*") | |
181 "-*-" | |
182 (cdr font-pattern)))) | |
183 (x-list-fonts font-pattern 'default (selected-frame) 1))))) | |
184 (t | |
185 (let ((coding (terminal-coding-system))) | |
186 (if coding | |
187 (let ((safe-chars (coding-system-get coding 'safe-chars)) | |
188 (safe-charsets (coding-system-get coding 'safe-charsets))) | |
189 (or (and safe-chars | |
190 (aref safe-chars char)) | |
191 (and safe-charsets | |
192 (memq (char-charset char) safe-charsets))))))))) | |
31673 | 193 |
194 (defun latin1-display-setup (set &optional force) | |
195 "Set up Latin-1 display for characters in the given SET. | |
196 SET must be a member of `latin1-display-sets'. Normally, check | |
197 whether a font for SET is available and don't set the display if it | |
198 is. If FORCE is non-nil, set up the display regardless." | |
199 (cond | |
200 ((eq set 'latin-2) | |
201 (when (or force | |
202 (not (latin1-display-check-font set))) | |
203 (latin1-display-identities set) | |
204 (mapc | |
205 (lambda (l) | |
206 (apply 'latin1-display-char l)) | |
207 '((? "'C" "C'") | |
208 (? "'D" "/D") | |
209 (? "'S" "S'") | |
210 (? "'c" "c'") | |
211 (? "'d" "/d") | |
212 (? "'L" "L'") | |
213 (? "'n" "n'") | |
214 (? "'N" "N'") | |
215 (? "'r" "r'") | |
216 (? "'R" "R'") | |
217 (? "'s" "s'") | |
218 (? "'z" "z'") | |
219 (? "'Z" "Z'") | |
220 (? "`A" "A;") | |
221 (? "`E" "E;") | |
222 (? "`L" "/L") | |
223 (? "`S" ",S") | |
224 (? "`T" ",T") | |
225 (? "`Z" "Z^.") | |
226 (? "`a" "a;") | |
227 (? "`l" "/l") | |
228 (? "`e" "e;") | |
229 (? "`s" ",s") | |
230 (? "`t" ",t") | |
231 (? "`z" "z^.") | |
232 (? "`." "'.") | |
233 (? "~A" "A(") | |
234 (? "~C" "C<") | |
235 (? "~D" "D<") | |
236 (? "~E" "E<") | |
237 (? "~e" "e<") | |
238 (? "~L" "L<") | |
239 (? "~N" "N<") | |
240 (? "~O" "O''") | |
241 (? "~R" "R<") | |
242 (? "~S" "S<") | |
243 (? "~T" "T<") | |
244 (? "~U" "U''") | |
245 (? "~Z" "Z<") | |
246 (? "~a" "a(}") | |
247 (? "~c" "c<") | |
248 (? "~d" "d<") | |
249 (? "~l" "l<") | |
250 (? "~n" "n<") | |
251 (? "~o" "o''") | |
252 (? "~r" "r<") | |
253 (? "~s" "s<") | |
254 (? "~t" "t<") | |
255 (? "~u" "u''") | |
256 (? "~z" "z<") | |
257 (? "~v" "'<") ; ? in latin-pre | |
258 (? "~~" "'(") | |
259 (? "uu" "u^0") | |
260 (? "UU" "U^0") | |
261 (? "\"A") | |
262 (? "\"a") | |
263 (? "\"E" "E:") | |
264 (? "\"e") | |
265 (? "''" "'") | |
266 (? "'<") ; Lynx's rendering of caron | |
267 )))) | |
268 | |
269 ((eq set 'latin-3) | |
270 (when (or force | |
271 (not (latin1-display-check-font set))) | |
272 (latin1-display-identities set) | |
273 (mapc | |
274 (lambda (l) | |
275 (apply 'latin1-display-char l)) | |
276 '((? "/H") | |
277 (? "~`" "'(") | |
278 (? "^H" "H^") | |
33412 | 279 (? "^h" "h^") |
280 (? ".I" "I^.") | |
31673 | 281 (? ",S") |
282 (? "~G" "G(") | |
283 (? "^J" "J^") | |
284 (? ".Z" "Z^.") | |
285 (? "/h") | |
286 (? ".i" "i^.") | |
287 (? ",s") | |
288 (? "~g" "g(") | |
289 (? "^j" "j^") | |
290 (? ".Z" "z^.") | |
291 (? ".c" "C^.") | |
292 (? "^C" "C^") | |
293 (? ".G" "G^.") | |
294 (? "^G" "G^") | |
295 (? "~U" "U(") | |
296 (? "^S" "S^") | |
297 (? ".C" "c^.") | |
298 (? "^c" "c^") | |
299 (? ".g" "g^.") | |
300 (? "^g" "g^") | |
301 (? "~u" "u(") | |
302 (? "^s" "s^") | |
303 (? "/." "^."))))) | |
304 | |
305 ((eq set 'latin-4) | |
306 (when (or force | |
307 (not (latin1-display-check-font set))) | |
308 (latin1-display-identities set) | |
309 (mapc | |
310 (lambda (l) | |
311 (apply 'latin1-display-char l)) | |
312 '((? "A," "A;") | |
313 (? "k/" "kk") | |
314 (? "R," ",R") | |
315 (? "I~" "?I") | |
316 (? "L," ",L") | |
317 (? "S~" "S<") | |
318 (? "E-") | |
319 (? "G," ",G") | |
320 (? "T/" "/T") | |
321 (? "Z~" "Z<") | |
322 (? "a," "a;") | |
323 (? "';") | |
324 (? "r," ",r") | |
325 (? "i~" "~i") | |
326 (? "l," ",l") | |
327 (? "'<") | |
328 (? "s~" "s<") | |
329 (? "e-") | |
330 (? "g," ",g") | |
331 (? "t/" "/t") | |
332 (? "N/" "NG") | |
333 (? "z~" "z<") | |
334 (? "n/" "ng") | |
335 (? "A-") | |
336 (? "I," "I;") | |
337 (? "C~" "C<") | |
338 (? "E," "E;") | |
339 (? "E." "E^.") | |
340 (? "I-") | |
341 (? "N," ",N") | |
342 (? "O-") | |
343 (? "K," ",K") | |
344 (? "U," "U;") | |
345 (? "U~" "~U") | |
346 (? "U-") | |
347 (? "a-") | |
348 (? "i," "i;") | |
349 (? "c~" "c<") | |
350 (? "e," "e;") | |
351 (? "e." "e^.") | |
352 (? "i-") | |
353 (? "d/" "/d") | |
354 (? "n," ",n") | |
355 (? "o-") | |
356 (? "k," ",k") | |
357 (? "u," "u;") | |
358 (? "u~" "~u") | |
359 (? "u-") | |
360 (? "^."))))) | |
361 | |
362 ((eq set 'latin-5) | |
363 (when (or force | |
364 (not (latin1-display-check-font set))) | |
365 (latin1-display-identities set) | |
366 (mapc | |
367 (lambda (l) | |
368 (apply 'latin1-display-char l)) | |
369 '((? "~g" "g(") | |
370 (? "~G" "G(") | |
371 (? ".I" "I^.") | |
372 (? ",s") | |
373 (? ",S") | |
374 (? "^e" "e<") ; from latin-post | |
375 (? ".e" "e^.") | |
376 (? "\"i" "i-") ; from latin-post | |
377 (? ".i" "i."))))) | |
378 | |
379 ((eq set 'latin-8) | |
380 (when (or force | |
381 (not (latin1-display-check-font set))) | |
382 (latin1-display-identities set) | |
383 (mapc | |
384 (lambda (l) | |
385 (apply 'latin1-display-char l)) | |
386 '((? ".B" "B`") | |
387 (? ".b" "b`") | |
388 (? ".c" "c`") | |
389 (? ".C" "C`") | |
390 (? ".D" "D`") | |
391 (? ".d" "d`") | |
392 (? "`w") | |
393 (? "`W") | |
394 (? "'w" "w'") | |
395 (? "'W" "W'") | |
396 (? "`y") | |
397 (? "`Y") | |
398 (? ".f" "f`") | |
399 (? ".F" "F`") | |
400 (? ".g" "g`") | |
401 (? ".G" "G`") | |
402 (? ".m" "m`") | |
403 (? ".M" "M`") | |
404 (? ".p" "p`") | |
405 (? ".P" "P`") | |
406 (? ".s" "s`") | |
407 (? ".S" "S`") | |
408 (? "\"w") | |
409 (? "\"W") | |
410 (? "^w" "w^") | |
411 (? "^W" "W^") | |
412 (? ".t" "t`") | |
413 (? ".T" "T`") | |
414 (? "^y" "y^") | |
415 (? "^Y" "Y^") | |
416 (? "\"Y"))))) | |
417 | |
418 ((eq set 'latin-9) | |
419 (when (or force | |
420 (not (latin1-display-check-font set))) | |
421 (latin1-display-identities set) | |
422 (mapc | |
423 (lambda (l) | |
424 (apply 'latin1-display-char l)) | |
425 '((? "~s" "s<") | |
426 (? "~S" "S<") | |
427 (? "Euro" "E=") | |
428 (? "~z" "z<") | |
429 (? "~Z" "Z<") | |
430 (? "\"Y") | |
431 (? "oe") | |
432 (? "OE"))))) | |
433 | |
434 ((eq set 'greek) | |
435 (when (or force | |
436 (not (latin1-display-check-font set))) | |
437 (mapc | |
438 (lambda (l) | |
439 (apply 'latin1-display-char l)) | |
440 '((? "9'") | |
441 (? "'9") | |
442 (? "-M") | |
443 (? "'%") | |
444 (? "'A") | |
445 (? "'E") | |
446 (? "'H") | |
447 (? "'I") | |
448 (? "'O") | |
449 (? "'Y") | |
450 (? "W%") | |
451 (? "i3") | |
452 (? "G*") | |
453 (? "D*") | |
454 (? "TH") | |
455 (? "L*") | |
456 (? "C*") | |
457 (? "P*") | |
458 (? "S*") | |
459 (? "F*") | |
460 (? "Q*") | |
461 (? "W*") | |
462 (? "\"I") | |
463 (? "\"Y") | |
464 (? "a%") | |
465 (? "e%") | |
466 (? "y%") | |
467 (? "i%") | |
468 (? "u3") | |
469 (? "a*") | |
470 (? "b*") | |
471 (? "g*") | |
472 (? "d*") | |
473 (? "e*") | |
474 (? "z*") | |
475 (? "y*") | |
476 (? "h*") | |
477 (? "i*") | |
478 (? "k") | |
479 (? "l*") | |
480 (? "m*") | |
481 (? "n*") | |
482 (? "c*") | |
483 (? "p*") | |
484 (? "r*") | |
485 (? "*s") | |
486 (? "s*") | |
487 (? "t*") | |
488 (? "u") | |
489 (? "f*") | |
490 (? "x*") | |
491 (? "q*") | |
492 (? "w*") | |
493 (? "\"i") | |
494 (? "\"u") | |
495 (? "'o") | |
496 (? "'u") | |
497 (? "'w"))) | |
498 (mapc | |
499 (lambda (l) | |
500 (aset standard-display-table (car l) (string-to-vector (cadr l)))) | |
501 '((? "A") | |
502 (? "B") | |
503 (? "E") | |
504 (? "Z") | |
505 (? "H") | |
506 (? "I") | |
507 (? "J") | |
508 (? "M") | |
509 (? "N") | |
510 (? "O") | |
511 (? "P") | |
512 (? "T") | |
513 (? "Y") | |
514 (? "X") | |
515 (? "o"))))) | |
516 | |
517 ((eq set 'hebrew) | |
518 (when (or force | |
519 (not (latin1-display-check-font set))) | |
520 ;; Don't start with identities, since we don't have definitions | |
521 ;; for a lot of Hebrew in internal.el. (Intlfonts is also | |
522 ;; missing some glyphs.) | |
523 (let ((i 34)) | |
524 (while (<= i 62) | |
525 (aset standard-display-table | |
526 (make-char 'hebrew-iso8859-8 i) | |
527 (vector (make-char 'latin-iso8859-1 i))) | |
528 (setq i (1+ i)))) | |
529 (mapc | |
530 (lambda (l) | |
531 (aset standard-display-table (car l) (string-to-vector (cadr l)))) | |
532 '((? "=2") | |
533 (? "A+") | |
534 (? "B+") | |
535 (? "G+") | |
536 (? "D+") | |
537 (? "H+") | |
538 (? "W+") | |
539 (? "Z+") | |
540 (? "X+") | |
541 (? "Tj") | |
542 (? "J+") | |
543 (? "K%") | |
544 (? "K+") | |
545 (? "L+") | |
546 (? "M%") | |
547 (? "M+") | |
548 (? "N%") | |
549 (? "N+") | |
550 (? "S+") | |
551 (? "E+") | |
552 (? "P%") | |
553 (? "P+") | |
554 (? "Zj") | |
555 (? "ZJ") | |
556 (? "Q+") | |
557 (? "R+") | |
558 (? "Sh") | |
559 (? "T+"))))) | |
560 | |
561 ((eq set 'cyrillic) | |
562 (setq set 'cyrillic-iso) | |
563 (when (or force | |
564 (not (latin1-display-check-font set))) | |
565 (mapc | |
566 (lambda (l) | |
567 (apply 'latin1-display-char l)) | |
568 '((? "Dj") | |
569 (? "Gj") | |
570 (? "IE") | |
571 (? "Lj") | |
572 (? "Nj") | |
573 (? "Ts") | |
574 (? "Kj") | |
575 (? "V%") | |
576 (? "Dzh") | |
577 (? "B=") | |
578 (? "") | |
579 (? "D") | |
580 (? "Z%") | |
581 (? "3") | |
582 (? "U") | |
583 (? "J=") | |
584 (? "L=") | |
585 (? "P=") | |
586 (? "Y") | |
587 (? "") | |
588 (? "C=") | |
589 (? "C%") | |
590 (? "S%") | |
591 (? "Sc") | |
592 (? "=\"") | |
593 (? "Y=") | |
594 (? "%\"") | |
595 (? "Ee") | |
596 (? "Yu") | |
597 (? "Ya") | |
598 (? "b") | |
599 (? "v=") | |
600 (? "g=") | |
601 (? "g") | |
602 (? "z%") | |
603 (? "z=") | |
604 (? "u") | |
605 (? "j=") | |
606 (? "k") | |
607 (? "l=") | |
608 (? "m=") | |
609 (? "n=") | |
610 (? "n") | |
611 (? "p") | |
612 (? "t=") | |
613 (? "f=") | |
614 (? "c=") | |
615 (? "c%") | |
616 (? "s%") | |
617 (? "sc") | |
618 (? "='") | |
619 (? "y=") | |
620 (? "%'") | |
621 (? "ee") | |
622 (? "yu") | |
623 (? "ya") | |
624 (? "N0") | |
625 (? "dj") | |
626 (? "gj") | |
627 (? "ie") | |
628 (? "lj") | |
629 (? "nj") | |
630 (? "ts") | |
631 (? "kj") | |
632 (? "v%") | |
633 (? "dzh"))) | |
634 (mapc | |
635 (lambda (l) | |
636 (aset standard-display-table (car l) (string-to-vector (cadr l)))) | |
637 '((? "") | |
638 (? "S") | |
639 (? "I") | |
640 (? "") | |
641 (? "J") | |
642 (? "") | |
643 (? "") | |
644 (? "-") | |
645 (? "A") | |
646 (? "B") | |
647 (? "E") | |
648 (? "K") | |
649 (? "M") | |
650 (? "H") | |
651 (? "O") | |
652 (? "P") | |
653 (? "C") | |
654 (? "T") | |
655 (? "X") | |
656 (? "a") | |
657 (? "e") | |
658 (? "o") | |
659 (? "c") | |
660 (? "y") | |
661 (? "x") | |
662 (? "s") | |
663 (? "i") | |
664 (? "") | |
665 (? "j"))))) | |
666 | |
667 (t (error "Unsupported character set: %S" set))) | |
668 | |
669 (sit-for 0)) | |
670 | |
671 (provide 'latin1-disp) | |
672 | |
673 ;;; latin1-disp.el ends here |