464
|
1 ;;; latin.el --- Support for Latin charsets.
|
|
2
|
|
3 ;; Copyright (C) 2001 Free Software Foundation, Inc.
|
|
4
|
|
5 ;; Author: Hrvoje Niksic <hniksic@xemacs.org>
|
|
6 ;; Maintainer: XEmacs Development Team
|
|
7 ;; Keywords: multilingual, European, dumped
|
|
8
|
|
9 ;; This file is part of XEmacs.
|
|
10
|
|
11 ;; XEmacs is free software; you can redistribute it and/or modify it
|
|
12 ;; under the terms of the GNU General Public License as published by
|
|
13 ;; the Free Software Foundation; either version 2, or (at your option)
|
|
14 ;; any later version.
|
|
15
|
|
16 ;; XEmacs is distributed in the hope that it will be useful, but
|
|
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
19 ;; General Public License for more details.
|
|
20
|
|
21 ;; You should have received a copy of the GNU General Public License
|
|
22 ;; along with XEmacs; see the file COPYING. If not, write to the Free
|
|
23 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
24 ;; 02111-1307, USA.
|
|
25
|
|
26 ;;; Commentary:
|
|
27
|
|
28 ;; This file is meant to provide support for Latin character sets.
|
|
29 ;; The place for that used to be `european.el', but I am hesitant to
|
|
30 ;; change that file, as it is full of old cruft that I hope to phase
|
|
31 ;; out. Currently this file provides only the case table setup.
|
|
32
|
|
33
|
|
34 ;;; Code:
|
|
35
|
|
36 ;; Case table setup. We set up all the case tables using
|
|
37 ;; put-case-table-pair. The data for this comes from FSF Emacs 20.7
|
|
38 ;; (lisp/international/latin-*.el), written by several people and
|
|
39 ;; updated by Erik Naggum.
|
|
40
|
|
41 (defun setup-case-pairs (charset pairs)
|
|
42 (let ((tbl (standard-case-table)))
|
|
43 (loop for (uc lc) in pairs do
|
|
44 (put-case-table-pair (make-char charset uc) (make-char charset lc) tbl))))
|
|
45
|
|
46 ;; Latin 1.
|
|
47
|
|
48 (setup-case-pairs
|
|
49 'latin-iso8859-1
|
|
50 '((192 224) ;latin letter a with grave
|
|
51 (193 225) ;latin letter a with acute
|
|
52 (194 226) ;latin letter a with circumflex
|
|
53 (195 227) ;latin letter a with tilde
|
|
54 (196 228) ;latin letter a with diaeresis
|
|
55 (197 229) ;latin letter a with ring above
|
|
56 (198 230) ;latin letter ae
|
|
57 (199 231) ;latin letter c with cedilla
|
|
58 (200 232) ;latin letter e with grave
|
|
59 (201 233) ;latin letter e with acute
|
|
60 (202 234) ;latin letter e with circumflex
|
|
61 (203 235) ;latin letter e with diaeresis
|
|
62 (204 236) ;latin letter i with grave
|
|
63 (205 237) ;latin letter i with acute
|
|
64 (206 238) ;latin letter i with circumflex
|
|
65 (207 239) ;latin letter i with diaeresis
|
|
66 (208 240) ;latin letter eth
|
|
67 (209 241) ;latin letter n with tilde
|
|
68 (210 242) ;latin letter o with grave
|
|
69 (211 243) ;latin letter o with acute
|
|
70 (212 244) ;latin letter o with circumflex
|
|
71 (213 245) ;latin letter o with tilde
|
|
72 (214 246) ;latin letter o with diaeresis
|
|
73 (216 248) ;latin letter o with stroke
|
|
74 (217 249) ;latin letter u with grave
|
|
75 (218 250) ;latin letter u with acute
|
|
76 (219 251) ;latin letter u with circumflex
|
|
77 (220 252) ;latin letter u with diaeresis
|
|
78 (221 253) ;latin letter y with acute
|
|
79 (222 254) ;latin letter thorn
|
|
80 ))
|
|
81
|
|
82 ;; Latin 2.
|
|
83
|
|
84 (setup-case-pairs
|
|
85 'latin-iso8859-2
|
|
86 '((161 177) ;latin letter a with ogonek
|
|
87 (163 179) ;latin letter l with stroke
|
|
88 (165 181) ;latin letter l with caron
|
|
89 (166 182) ;latin letter s with acute
|
|
90 (169 185) ;latin letter s with caron
|
|
91 (170 186) ;latin letter s with cedilla
|
|
92 (171 187) ;latin letter t with caron
|
|
93 (172 188) ;latin letter z with acute
|
|
94 (174 190) ;latin letter z with caron
|
|
95 (175 191) ;latin letter z with dot above
|
|
96 (192 224) ;latin letter r with acute
|
|
97 (193 225) ;latin letter a with acute
|
|
98 (194 226) ;latin letter a with circumflex
|
|
99 (195 227) ;latin letter a with breve
|
|
100 (196 228) ;latin letter a with diaeresis
|
|
101 (197 229) ;latin letter l with acute
|
|
102 (198 230) ;latin letter c with acute
|
|
103 (199 231) ;latin letter c with cedilla
|
|
104 (200 232) ;latin letter c with caron
|
|
105 (201 233) ;latin letter e with acute
|
|
106 (202 234) ;latin letter e with ogonek
|
|
107 (203 235) ;latin letter e with diaeresis
|
|
108 (204 236) ;latin letter e with caron
|
|
109 (205 237) ;latin letter i with acute
|
|
110 (206 238) ;latin letter i with circumflex
|
|
111 (207 239) ;latin letter d with caron
|
|
112 (208 240) ;latin letter d with stroke
|
|
113 (209 241) ;latin letter n with acute
|
|
114 (210 242) ;latin letter n with caron
|
|
115 (211 243) ;latin letter o with acute
|
|
116 (212 244) ;latin letter o with circumflex
|
|
117 (213 245) ;latin letter o with double acute
|
|
118 (214 246) ;latin letter o with diaeresis
|
|
119 (216 248) ;latin letter r with caron
|
|
120 (217 249) ;latin letter u with ring above
|
|
121 (218 250) ;latin letter u with acute
|
|
122 (219 251) ;latin letter u with double acute
|
|
123 (220 252) ;latin letter u with diaeresis
|
|
124 (221 253) ;latin letter y with acute
|
|
125 (222 254) ;latin letter t with cedilla
|
|
126 ))
|
|
127
|
|
128 ;; Latin 3.
|
|
129
|
|
130 (setup-case-pairs
|
|
131 'latin-iso8859-3
|
|
132 '((161 177) ;latin letter h with stroke
|
|
133 (166 182) ;latin letter h with circumflex
|
|
134 (170 186) ;latin letter s with cedilla
|
|
135 (171 187) ;latin letter g with breve
|
|
136 (172 188) ;latin letter j with circumflex
|
|
137 (175 191) ;latin letter z with dot above
|
|
138 (192 224) ;latin letter a with grave
|
|
139 (193 225) ;latin letter a with acute
|
|
140 (194 226) ;latin letter a with circumflex
|
|
141 (196 228) ;latin letter a with diaeresis
|
|
142 (197 229) ;latin letter c with dot above
|
|
143 (198 230) ;latin letter c with circumflex
|
|
144 (199 231) ;latin letter c with cedilla
|
|
145 (200 232) ;latin letter e with grave
|
|
146 (201 233) ;latin letter e with acute
|
|
147 (202 234) ;latin letter e with circumflex
|
|
148 (203 235) ;latin letter e with diaeresis
|
|
149 (204 236) ;latin letter i with grave
|
|
150 (205 237) ;latin letter i with acute
|
|
151 (206 238) ;latin letter i with circumflex
|
|
152 (207 239) ;latin letter i with diaeresis
|
|
153 (209 241) ;latin letter n with tilde
|
|
154 (210 242) ;latin letter o with grave
|
|
155 (211 243) ;latin letter o with acute
|
|
156 (212 244) ;latin letter o with circumflex
|
|
157 (213 245) ;latin letter g with dot above
|
|
158 (214 246) ;latin letter o with diaeresis
|
|
159 (216 248) ;latin letter g with circumflex
|
|
160 (217 249) ;latin letter u with grave
|
|
161 (218 250) ;latin letter u with acute
|
|
162 (219 251) ;latin letter u with circumflex
|
|
163 (220 252) ;latin letter u with diaeresis
|
|
164 (221 253) ;latin letter u with breve
|
|
165 (222 254) ;latin letter s with circumflex
|
|
166 ))
|
|
167
|
|
168 ;; Latin 4.
|
|
169
|
|
170 (setup-case-pairs
|
|
171 'latin-iso8859-4
|
|
172 '((161 177) ;latin letter a with ogonek
|
|
173 (163 179) ;latin letter r with cedilla
|
|
174 (165 181) ;latin letter i with tilde
|
|
175 (166 182) ;latin letter l with cedilla
|
|
176 (169 185) ;latin letter s with caron
|
|
177 (170 186) ;latin letter e with macron
|
|
178 (171 187) ;latin letter g with cedilla
|
|
179 (172 188) ;latin letter t with stroke
|
|
180 (174 190) ;latin letter z with caron
|
|
181 (189 191) ;eng
|
|
182 (192 224) ;latin letter a with macron
|
|
183 (193 225) ;latin letter a with acute
|
|
184 (194 226) ;latin letter a with circumflex
|
|
185 (195 227) ;latin letter a with tilde
|
|
186 (196 228) ;latin letter a with diaeresis
|
|
187 (197 229) ;latin letter a with ring above
|
|
188 (198 230) ;latin letter ae
|
|
189 (199 231) ;latin letter i with ogonek
|
|
190 (200 232) ;latin letter c with caron
|
|
191 (201 233) ;latin letter e with acute
|
|
192 (202 234) ;latin letter e with ogonek
|
|
193 (203 235) ;latin letter e with diaeresis
|
|
194 (204 236) ;latin letter e with dot above
|
|
195 (205 237) ;latin letter i with acute
|
|
196 (206 238) ;latin letter i with circumflex
|
|
197 (207 239) ;latin letter i with macron
|
|
198 (208 240) ;latin letter d with stroke
|
|
199 (209 241) ;latin letter n with cedilla
|
|
200 (210 242) ;latin letter o with macron
|
|
201 (211 243) ;latin letter k with cedilla
|
|
202 (212 244) ;latin letter o with circumflex
|
|
203 (213 245) ;latin letter o with tilde
|
|
204 (214 246) ;latin letter o with diaeresis
|
|
205 (216 248) ;latin letter o with stroke
|
|
206 (217 249) ;latin letter u with ogonek
|
|
207 (218 250) ;latin letter u with acute
|
|
208 (219 251) ;latin letter u with circumflex
|
|
209 (220 252) ;latin letter u with diaeresis
|
|
210 (221 253) ;latin letter u with tilde
|
|
211 (222 254) ;latin letter u with macron
|
|
212 ))
|
|
213
|
|
214 ;; Latin 5. Currently unsupported.
|
|
215
|
|
216 ;(setup-case-pairs
|
|
217 ; 'latin-iso8859-5
|
|
218 ; '((192 224) ;latin letter a with grave
|
|
219 ; (193 225) ;latin letter a with acute
|
|
220 ; (194 226) ;latin letter a with circumflex
|
|
221 ; (195 227) ;latin letter a with tilde
|
|
222 ; (196 228) ;latin letter a with diaeresis
|
|
223 ; (197 229) ;latin letter a with ring above
|
|
224 ; (198 230) ;latin letter ae
|
|
225 ; (199 231) ;latin letter c with cedilla
|
|
226 ; (200 232) ;latin letter e with grave
|
|
227 ; (201 233) ;latin letter e with acute
|
|
228 ; (203 235) ;latin letter e with diaeresis
|
|
229 ; (205 237) ;latin letter i with acute
|
|
230 ; (206 238) ;latin letter i with circumflex
|
|
231 ; (208 240) ;latin letter g with breve
|
|
232 ; (209 241) ;latin letter n with tilde
|
|
233 ; (210 242) ;latin letter o with grave
|
|
234 ; (211 243) ;latin letter o with acute
|
|
235 ; (212 244) ;latin letter o with circumflex
|
|
236 ; (213 245) ;latin letter o with tilde
|
|
237 ; (214 246) ;latin letter o with diaeresis
|
|
238 ; (216 248) ;latin letter o with stroke
|
|
239 ; (217 249) ;latin letter u with grave
|
|
240 ; (218 250) ;latin letter u with acute
|
|
241 ; (219 251) ;latin letter u with circumflex
|
|
242 ; (220 252) ;latin letter u with diaeresis
|
|
243 ; (222 254) ;latin letter s with cedilla
|
|
244 ; ))
|
|
245
|
|
246 ;; This is our utility function; we don't want it in the dumped XEmacs.
|
|
247
|
|
248 (fmakunbound 'setup-case-pairs)
|