1 ;;; iso8859-1.el --- Set case and syntax tables for Latin 1
3 ;; Copyright (C) 1992, 1997 Free Software Foundation, Inc.
5 ;; Author: Jamie Zawinski <jwz@jwz.org>
7 ;; Maintainer: SXEmacs Development Team
8 ;; Keywords: internal, dumped
10 ;; This file is part of SXEmacs.
12 ;; SXEmacs is free software: you can redistribute it and/or modify
13 ;; it under the terms of the GNU General Public License as published by
14 ;; the Free Software Foundation, either version 3 of the License, or
15 ;; (at your option) any later version.
17 ;; SXEmacs is distributed in the hope that it will be useful,
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ;; GNU General Public License for more details.
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
25 ;;; Synched up with: Not synched
29 ;; created by jwz, 19-aug-92.
30 ;; Sets the case and syntax tables for the ISO-8859/1 character set.
34 (let ((table (standard-syntax-table)))
36 ;; The symbol characters
38 (modify-syntax-entry ?\240 "_" table) ; nobreakspace
39 (modify-syntax-entry ?\241 "." table) ; exclamdown
40 (modify-syntax-entry ?\242 "_" table) ; cent
41 (modify-syntax-entry ?\243 "_" table) ; sterling
42 (modify-syntax-entry ?\244 "_" table) ; currency
43 (modify-syntax-entry ?\245 "_" table) ; yen
44 (modify-syntax-entry ?\246 "_" table) ; brokenbar
45 (modify-syntax-entry ?\247 "_" table) ; section
46 (modify-syntax-entry ?\250 "_" table) ; diaeresis
47 (modify-syntax-entry ?\251 "_" table) ; copyright
48 (modify-syntax-entry ?\252 "_" table) ; ordfeminine
49 (modify-syntax-entry ?\253 "(\273" table) ; guillemotleft
50 (modify-syntax-entry ?\254 "_" table) ; notsign
51 (modify-syntax-entry ?\255 "_" table) ; hyphen
52 (modify-syntax-entry ?\256 "_" table) ; registered
53 (modify-syntax-entry ?\257 "_" table) ; macron
54 (modify-syntax-entry ?\260 "_" table) ; degree
55 (modify-syntax-entry ?\261 "_" table) ; plusminus
56 (modify-syntax-entry ?\262 "_" table) ; twosuperior
57 (modify-syntax-entry ?\263 "_" table) ; threesuperior
58 (modify-syntax-entry ?\264 "_" table) ; acute
59 (modify-syntax-entry ?\265 "_" table) ; mu
60 (modify-syntax-entry ?\266 "_" table) ; paragraph
61 (modify-syntax-entry ?\267 "_" table) ; periodcentered
62 (modify-syntax-entry ?\270 "_" table) ; cedilla
63 (modify-syntax-entry ?\271 "_" table) ; onesuperior
64 (modify-syntax-entry ?\272 "_" table) ; masculine
65 (modify-syntax-entry ?\273 ")\253" table) ; guillemotright
66 (modify-syntax-entry ?\274 "_" table) ; onequarter
67 (modify-syntax-entry ?\275 "_" table) ; onehalf
68 (modify-syntax-entry ?\276 "_" table) ; threequarters
69 (modify-syntax-entry ?\277 "_" table) ; questiondown
71 ;; the upper-case characters (plus "multiply" and "ssharp")
73 (modify-syntax-entry ?\300 "w" table) ; Agrave
74 (modify-syntax-entry ?\301 "w" table) ; Aacute
75 (modify-syntax-entry ?\302 "w" table) ; Acircumflex
76 (modify-syntax-entry ?\303 "w" table) ; Atilde
77 (modify-syntax-entry ?\304 "w" table) ; Adiaeresis
78 (modify-syntax-entry ?\305 "w" table) ; Aring
79 (modify-syntax-entry ?\306 "w" table) ; AE
80 (modify-syntax-entry ?\307 "w" table) ; Ccedilla
81 (modify-syntax-entry ?\310 "w" table) ; Egrave
82 (modify-syntax-entry ?\311 "w" table) ; Eacute
83 (modify-syntax-entry ?\312 "w" table) ; Ecircumflex
84 (modify-syntax-entry ?\313 "w" table) ; Ediaeresis
85 (modify-syntax-entry ?\314 "w" table) ; Igrave
86 (modify-syntax-entry ?\315 "w" table) ; Iacute
87 (modify-syntax-entry ?\316 "w" table) ; Icircumflex
88 (modify-syntax-entry ?\317 "w" table) ; Idiaeresis
89 (modify-syntax-entry ?\320 "w" table) ; ETH
90 (modify-syntax-entry ?\321 "w" table) ; Ntilde
91 (modify-syntax-entry ?\322 "w" table) ; Ograve
92 (modify-syntax-entry ?\323 "w" table) ; Oacute
93 (modify-syntax-entry ?\324 "w" table) ; Ocircumflex
94 (modify-syntax-entry ?\325 "w" table) ; Otilde
95 (modify-syntax-entry ?\326 "w" table) ; Odiaeresis
96 (modify-syntax-entry ?\327 "_" table) ; multiply
97 (modify-syntax-entry ?\330 "w" table) ; Ooblique
98 (modify-syntax-entry ?\331 "w" table) ; Ugrave
99 (modify-syntax-entry ?\332 "w" table) ; Uacute
100 (modify-syntax-entry ?\333 "w" table) ; Ucircumflex
101 (modify-syntax-entry ?\334 "w" table) ; Udiaeresis
102 (modify-syntax-entry ?\335 "w" table) ; Yacute
103 (modify-syntax-entry ?\336 "w" table) ; THORN
104 (modify-syntax-entry ?\337 "w" table) ; ssharp
106 ;; the lower-case characters (plus "division" and "ydiaeresis")
108 (modify-syntax-entry ?\340 "w" table) ; agrave
109 (modify-syntax-entry ?\341 "w" table) ; aacute
110 (modify-syntax-entry ?\342 "w" table) ; acircumflex
111 (modify-syntax-entry ?\343 "w" table) ; atilde
112 (modify-syntax-entry ?\344 "w" table) ; adiaeresis
113 (modify-syntax-entry ?\345 "w" table) ; aring
114 (modify-syntax-entry ?\346 "w" table) ; ae
115 (modify-syntax-entry ?\347 "w" table) ; ccedilla
116 (modify-syntax-entry ?\350 "w" table) ; egrave
117 (modify-syntax-entry ?\351 "w" table) ; eacute
118 (modify-syntax-entry ?\352 "w" table) ; ecircumflex
119 (modify-syntax-entry ?\353 "w" table) ; ediaeresis
120 (modify-syntax-entry ?\354 "w" table) ; igrave
121 (modify-syntax-entry ?\355 "w" table) ; iacute
122 (modify-syntax-entry ?\356 "w" table) ; icircumflex
123 (modify-syntax-entry ?\357 "w" table) ; idiaeresis
124 (modify-syntax-entry ?\360 "w" table) ; eth
125 (modify-syntax-entry ?\361 "w" table) ; ntilde
126 (modify-syntax-entry ?\362 "w" table) ; ograve
127 (modify-syntax-entry ?\363 "w" table) ; oacute
128 (modify-syntax-entry ?\364 "w" table) ; ocircumflex
129 (modify-syntax-entry ?\365 "w" table) ; otilde
130 (modify-syntax-entry ?\366 "w" table) ; odiaeresis
131 (modify-syntax-entry ?\367 "_" table) ; division
132 (modify-syntax-entry ?\370 "w" table) ; ooblique
133 (modify-syntax-entry ?\371 "w" table) ; ugrave
134 (modify-syntax-entry ?\372 "w" table) ; uacute
135 (modify-syntax-entry ?\373 "w" table) ; ucircumflex
136 (modify-syntax-entry ?\374 "w" table) ; udiaeresis
137 (modify-syntax-entry ?\375 "w" table) ; yacute
138 (modify-syntax-entry ?\376 "w" table) ; thorn
139 (modify-syntax-entry ?\377 "w" table) ; ydiaeresis
143 (defconst iso8859/1-case-table nil
144 "The case table for ISO-8859/1 characters.")
146 ;;; This macro expands into
147 ;;; (setq iso8859/1-case-table (purecopy '("..." nil nil nil)))
148 ;;; doing the computation of the case table at compile-time.
151 . (lambda (&rest pairs)
152 (let ((downcase (make-string 256 0))
155 (aset downcase i (if (and (>= i ?A) (<= i ?Z)) (+ i 32) i))
158 (aset downcase (car (car pairs)) (car (cdr (car pairs))))
159 (setq pairs (cdr pairs)))
161 (cons 'iso8859/1-case-table
164 (list downcase nil nil nil))))))))
166 (?\300 ?\340) ; Agrave
167 (?\301 ?\341) ; Aacute
168 (?\302 ?\342) ; Acircumflex
169 (?\303 ?\343) ; Atilde
170 (?\304 ?\344) ; Adiaeresis
171 (?\305 ?\345) ; Aring
173 (?\307 ?\347) ; Ccedilla
174 (?\310 ?\350) ; Egrave
175 (?\311 ?\351) ; Eacute
176 (?\312 ?\352) ; Ecircumflex
177 (?\313 ?\353) ; Ediaeresis
178 (?\314 ?\354) ; Igrave
179 (?\315 ?\355) ; Iacute
180 (?\316 ?\356) ; Icircumflex
181 (?\317 ?\357) ; Idiaeresis
183 (?\321 ?\361) ; Ntilde
184 (?\322 ?\362) ; Ograve
185 (?\323 ?\363) ; Oacute
186 (?\324 ?\364) ; Ocircumflex
187 (?\325 ?\365) ; Otilde
188 (?\326 ?\366) ; Odiaeresis
189 (?\330 ?\370) ; Ooblique
190 (?\331 ?\371) ; Ugrave
191 (?\332 ?\372) ; Uacute
192 (?\333 ?\373) ; Ucircumflex
193 (?\334 ?\374) ; Udiaeresis
194 (?\335 ?\375) ; Yacute
195 (?\336 ?\376) ; THORN
198 (set-standard-case-table (mapcar 'copy-sequence iso8859/1-case-table))
200 (setq-default ctl-arrow 'iso-8859/1)
204 ;;; iso8859-1.el ends here