comparison lisp/iso/iso8859-1.el @ 0:376386a54a3c r19-14

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