Commit | Line | Data |
---|---|---|
55535639 | 1 | ;;; iso-ascii.el --- set up char tables for ISO 8859/1 on ASCII terminals |
e5167999 | 2 | |
64690f3d | 3 | ;; Copyright (C) 1987, 1995 Free Software Foundation, Inc. |
9750e079 | 4 | |
e5167999 ER |
5 | ;; Author: Howard Gayle |
6 | ;; Maintainer: FSF | |
a1d15b3e | 7 | ;; Keywords: i18n |
3b4a6e27 JB |
8 | |
9 | ;; This file is part of GNU Emacs. | |
10 | ||
11 | ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 | ;; it under the terms of the GNU General Public License as published by | |
e5167999 | 13 | ;; the Free Software Foundation; either version 2, or (at your option) |
3b4a6e27 JB |
14 | ;; any later version. |
15 | ||
16 | ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 | ;; GNU General Public License for more details. | |
20 | ||
21 | ;; You should have received a copy of the GNU General Public License | |
b578f267 EN |
22 | ;; along with GNU Emacs; see the file COPYING. If not, write to the |
23 | ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
24 | ;; Boston, MA 02111-1307, USA. | |
3b4a6e27 | 25 | |
e5167999 | 26 | ;;; Commentary: |
3b4a6e27 JB |
27 | |
28 | ;; Written by Howard Gayle. See display-table.el for details. | |
29 | ||
30 | ;; This code sets up to display ISO 8859/1 characters on plain | |
31 | ;; ASCII terminals. The display strings for the characters are | |
32 | ;; more-or-less based on TeX. | |
33 | ||
e5167999 ER |
34 | ;;; Code: |
35 | ||
3b4a6e27 JB |
36 | (require 'disp-table) |
37 | ||
d876a0a0 SE |
38 | (defgroup iso-ascii nil |
39 | "Set up char tables for ISO 8859/1 on ASCII terminals." | |
40 | :prefix "iso-ascii-" | |
41 | :group 'i18n) | |
42 | ||
43 | (defcustom iso-ascii-convenient nil | |
44 | "*Non-nil means `iso-ascii' should aim for convenience, not precision." | |
45 | :type 'boolean | |
46 | :group 'iso-ascii) | |
64690f3d | 47 | |
207d5f17 RS |
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 | ||
64690f3d KH |
59 | (defun iso-ascii-display (code string &optional convenient-string) |
60 | (if iso-ascii-convenient | |
61 | (setq string (or convenient-string string)) | |
62 | (setq string (concat "{" string "}"))) | |
10a6a1b6 | 63 | ;; unibyte |
207d5f17 | 64 | (aset iso-ascii-display-table code string) |
10a6a1b6 | 65 | ;; multibyte |
207d5f17 RS |
66 | (aset iso-ascii-display-table (make-char 'latin-iso8859-1 (- code 128)) |
67 | string)) | |
64690f3d KH |
68 | |
69 | (iso-ascii-display 160 "_" " ") ; NBSP (no-break space) | |
70 | (iso-ascii-display 161 "!") ; inverted exclamation mark | |
71 | (iso-ascii-display 162 "c") ; cent sign | |
72 | (iso-ascii-display 163 "GBP") ; pound sign | |
73 | (iso-ascii-display 164 "$") ; general currency sign | |
74 | (iso-ascii-display 165 "JPY") ; yen sign | |
75 | (iso-ascii-display 166 "|") ; broken vertical line | |
76 | (iso-ascii-display 167 "S" "(S)") ; section sign | |
77 | (iso-ascii-display 168 "\"") ; diaeresis | |
78 | (iso-ascii-display 169 "C" "(C)") ; copyright sign | |
79 | (iso-ascii-display 170 "_a") ; ordinal indicator, feminine | |
80 | (iso-ascii-display 171 "<<") ; left angle quotation mark | |
81 | (iso-ascii-display 172 "~") ; not sign | |
82 | (iso-ascii-display 173 "-") ; soft hyphen | |
83 | (iso-ascii-display 174 "R" "(R)") ; registered sign | |
84 | (iso-ascii-display 175 "=") ; macron | |
85 | (iso-ascii-display 176 "o") ; degree sign | |
86 | (iso-ascii-display 177 "+-") ; plus or minus sign | |
87 | (iso-ascii-display 178 "2") ; superscript two | |
88 | (iso-ascii-display 179 "3") ; superscript three | |
89 | (iso-ascii-display 180 "'") ; acute accent | |
90 | (iso-ascii-display 181 "u") ; micro sign | |
10a6a1b6 | 91 | (iso-ascii-display 182 "P" "(P)") ; pilcrow |
64690f3d KH |
92 | (iso-ascii-display 183 ".") ; middle dot |
93 | (iso-ascii-display 184 ",") ; cedilla | |
94 | (iso-ascii-display 185 "1") ; superscript one | |
95 | (iso-ascii-display 186 "_o") ; ordinal indicator, masculine | |
96 | (iso-ascii-display 187 ">>") ; right angle quotation mark | |
97 | (iso-ascii-display 188 "1/4") ; fraction one-quarter | |
98 | (iso-ascii-display 189 "1/2") ; fraction one-half | |
99 | (iso-ascii-display 190 "3/4") ; fraction three-quarters | |
100 | (iso-ascii-display 191 "?") ; inverted question mark | |
101 | (iso-ascii-display 192 "`A") ; A with grave accent | |
102 | (iso-ascii-display 193 "'A") ; A with acute accent | |
103 | (iso-ascii-display 194 "^A") ; A with circumflex accent | |
104 | (iso-ascii-display 195 "~A") ; A with tilde | |
105 | (iso-ascii-display 196 "\"A") ; A with diaeresis or umlaut mark | |
106 | (iso-ascii-display 197 "AA") ; A with ring | |
107 | (iso-ascii-display 198 "AE") ; AE diphthong | |
108 | (iso-ascii-display 199 ",C") ; C with cedilla | |
109 | (iso-ascii-display 200 "`E") ; E with grave accent | |
110 | (iso-ascii-display 201 "'E") ; E with acute accent | |
111 | (iso-ascii-display 202 "^E") ; E with circumflex accent | |
112 | (iso-ascii-display 203 "\"E") ; E with diaeresis or umlaut mark | |
113 | (iso-ascii-display 204 "`I") ; I with grave accent | |
114 | (iso-ascii-display 205 "'I") ; I with acute accent | |
115 | (iso-ascii-display 206 "^I") ; I with circumflex accent | |
116 | (iso-ascii-display 207 "\"I") ; I with diaeresis or umlaut mark | |
117 | (iso-ascii-display 208 "-D") ; D with stroke, Icelandic eth | |
118 | (iso-ascii-display 209 "~N") ; N with tilde | |
119 | (iso-ascii-display 210 "`O") ; O with grave accent | |
120 | (iso-ascii-display 211 "'O") ; O with acute accent | |
121 | (iso-ascii-display 212 "^O") ; O with circumflex accent | |
122 | (iso-ascii-display 213 "~O") ; O with tilde | |
123 | (iso-ascii-display 214 "\"O") ; O with diaeresis or umlaut mark | |
124 | (iso-ascii-display 215 "x") ; multiplication sign | |
125 | (iso-ascii-display 216 "/O") ; O with slash | |
126 | (iso-ascii-display 217 "`U") ; U with grave accent | |
127 | (iso-ascii-display 218 "'U") ; U with acute accent | |
128 | (iso-ascii-display 219 "^U") ; U with circumflex accent | |
129 | (iso-ascii-display 220 "\"U") ; U with diaeresis or umlaut mark | |
130 | (iso-ascii-display 221 "'Y") ; Y with acute accent | |
131 | (iso-ascii-display 222 "TH") ; capital thorn, Icelandic | |
132 | (iso-ascii-display 223 "ss") ; small sharp s, German | |
133 | (iso-ascii-display 224 "`a") ; a with grave accent | |
134 | (iso-ascii-display 225 "'a") ; a with acute accent | |
135 | (iso-ascii-display 226 "^a") ; a with circumflex accent | |
136 | (iso-ascii-display 227 "~a") ; a with tilde | |
137 | (iso-ascii-display 228 "\"a") ; a with diaeresis or umlaut mark | |
138 | (iso-ascii-display 229 "aa") ; a with ring | |
139 | (iso-ascii-display 230 "ae") ; ae diphthong | |
140 | (iso-ascii-display 231 ",c") ; c with cedilla | |
141 | (iso-ascii-display 232 "`e") ; e with grave accent | |
142 | (iso-ascii-display 233 "'e") ; e with acute accent | |
143 | (iso-ascii-display 234 "^e") ; e with circumflex accent | |
144 | (iso-ascii-display 235 "\"e") ; e with diaeresis or umlaut mark | |
145 | (iso-ascii-display 236 "`i") ; i with grave accent | |
146 | (iso-ascii-display 237 "'i") ; i with acute accent | |
147 | (iso-ascii-display 238 "^i") ; i with circumflex accent | |
148 | (iso-ascii-display 239 "\"i") ; i with diaeresis or umlaut mark | |
149 | (iso-ascii-display 240 "-d") ; d with stroke, Icelandic eth | |
150 | (iso-ascii-display 241 "~n") ; n with tilde | |
151 | (iso-ascii-display 242 "`o") ; o with grave accent | |
152 | (iso-ascii-display 243 "'o") ; o with acute accent | |
153 | (iso-ascii-display 244 "^o") ; o with circumflex accent | |
154 | (iso-ascii-display 245 "~o") ; o with tilde | |
155 | (iso-ascii-display 246 "\"o") ; o with diaeresis or umlaut mark | |
156 | (iso-ascii-display 247 "/") ; division sign | |
157 | (iso-ascii-display 248 "/o") ; o with slash | |
158 | (iso-ascii-display 249 "`u") ; u with grave accent | |
159 | (iso-ascii-display 250 "'u") ; u with acute accent | |
160 | (iso-ascii-display 251 "^u") ; u with circumflex accent | |
161 | (iso-ascii-display 252 "\"u") ; u with diaeresis or umlaut mark | |
162 | (iso-ascii-display 253 "'y") ; y with acute accent | |
163 | (iso-ascii-display 254 "th") ; small thorn, Icelandic | |
164 | (iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark | |
3b4a6e27 | 165 | |
207d5f17 RS |
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 | ||
10d5cec6 | 176 | (provide 'iso-ascii) |
1a06eabd ER |
177 | |
178 | ;;; iso-ascii.el ends here |