45 |
:type 'boolean |
:type 'boolean |
46 |
:group 'iso-ascii) |
:group 'iso-ascii) |
47 |
|
|
48 |
|
(defvar iso-ascii-display-table (make-display-table) |
49 |
|
"Display table used for ISO-ASCII mode.") |
50 |
|
|
51 |
|
(defvar iso-ascii-standard-display-table nil |
52 |
|
"Display table used when not in ISO-ASCII mode.") |
53 |
|
;; Don't alter iso-ascii-standard-display-table if this file is loaded again, |
54 |
|
;; or even by using C-M-x on any of the expressions. |
55 |
|
(unless iso-ascii-standard-display-table |
56 |
|
(setq iso-ascii-standard-display-table |
57 |
|
standard-display-table)) |
58 |
|
|
59 |
(defun iso-ascii-display (code string &optional convenient-string) |
(defun iso-ascii-display (code string &optional convenient-string) |
60 |
(if iso-ascii-convenient |
(if iso-ascii-convenient |
61 |
(setq string (or convenient-string string)) |
(setq string (or convenient-string string)) |
62 |
(setq string (concat "{" string "}"))) |
(setq string (concat "{" string "}"))) |
63 |
;; unibyte |
;; unibyte |
64 |
(standard-display-ascii code string) |
(aset iso-ascii-display-table code string) |
65 |
;; multibyte |
;; multibyte |
66 |
(standard-display-ascii (make-char 'latin-iso8859-1 (- code 128)) |
(aset iso-ascii-display-table (make-char 'latin-iso8859-1 (- code 128)) |
67 |
string)) |
string)) |
68 |
|
|
69 |
(iso-ascii-display 160 "_" " ") ; NBSP (no-break space) |
(iso-ascii-display 160 "_" " ") ; NBSP (no-break space) |
70 |
(iso-ascii-display 161 "!") ; inverted exclamation mark |
(iso-ascii-display 161 "!") ; inverted exclamation mark |
163 |
(iso-ascii-display 254 "th") ; small thorn, Icelandic |
(iso-ascii-display 254 "th") ; small thorn, Icelandic |
164 |
(iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark |
(iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark |
165 |
|
|
166 |
|
(defun iso-ascii-mode (arg) |
167 |
|
"Toggle ISO-ASCII mode." |
168 |
|
(interactive "P") |
169 |
|
(unless arg |
170 |
|
(setq arg (eq standard-display-table iso-ascii-standard-display-table))) |
171 |
|
(setq standard-display-table |
172 |
|
(if arg |
173 |
|
iso-ascii-display-table |
174 |
|
iso-ascii-standard-display-table))) |
175 |
|
|
176 |
(provide 'iso-ascii) |
(provide 'iso-ascii) |
177 |
|
|
178 |
;;; iso-ascii.el ends here |
;;; iso-ascii.el ends here |