(GT-00010): Separate U+624D, G0-3245 and C1-445F; use
[chise/xemacs-chise.git] / lisp / mule / latin.el
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 \f
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 \f
246 ;; This is our utility function; we don't want it in the dumped XEmacs.
247
248 (fmakunbound 'setup-case-pairs)