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