comparison lisp/mule/european.el @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents 4d00488244c1
children 2923009caf47
comparison
equal deleted inserted replaced
770:336a418893b5 771:943eaba38521
1 ;;; european.el --- European languages -*- coding: iso-2022-7bit; -*- 1 ;;; european.el --- European languages -*- coding: iso-2022-7bit; -*-
2 2
3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. 3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation. 4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 1997 MORIOKA Tomohiko 5 ;; Copyright (C) 1997 MORIOKA Tomohiko
6 ;; Copyright (C) 2001 Ben Wing.
6 ;; Copyright (C) 2002 Free Software Foundation 7 ;; Copyright (C) 2002 Free Software Foundation
7 8
8 ;; Keywords: multilingual, European 9 ;; Keywords: multilingual, European
9 10
10 ;; This file is part of XEmacs. 11 ;; This file is part of XEmacs.
112 ;; nil ascii-eol ascii-cntl nil nil nil nil nil nil nil nil nil t) 113 ;; nil ascii-eol ascii-cntl nil nil nil nil nil nil nil nil nil t)
113 ;; '((safe-charsets . t))) 114 ;; '((safe-charsets . t)))
114 115
115 ;; (define-coding-system-alias 'ctext 'compound-text) 116 ;; (define-coding-system-alias 'ctext 'compound-text)
116 117
117 (defun setup-latin1-environment () 118 ;; "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!"
118 "Set up multilingual environment (MULE) for European Latin-1 users."
119 (interactive)
120 (set-language-environment "Latin-1"))
121
122 (set-language-info-alist
123 "Latin-1" '((charset ascii latin-iso8859-1)
124 (coding-system iso-8859-1)
125 (coding-priority iso-8859-1)
126 (input-method . "latin-1-prefix")
127 (sample-text
128 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
129 (documentation . "\
130 This language environment is a generic one for Latin-1 (ISO-8859-1)
131 character set which supports the following languages:
132 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
133 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
134 We also have a German specific language environment \"German\"."))
135 '("European"))
136
137 (set-language-info-alist
138 "French" '((charset ascii latin-iso8859-1)
139 (coding-system iso-8859-1)
140 (coding-priority iso-8859-1)
141 (tutorial . "TUTORIAL.fr")
142 (sample-text
143 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
144 (documentation . ("\
145 These languages are supported with the Latin-1 (ISO-8859-1) character set:
146 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
147 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
148 ")))
149 '("European"))
150
151 (set-language-info-alist
152 "Norwegian" '((charset ascii latin-iso8859-1)
153 (coding-system iso-8859-1)
154 (coding-priority iso-8859-1)
155 (tutorial . "TUTORIAL.no")
156 (sample-text
157 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
158 (documentation . ("\
159 These languages are supported with the Latin-1 (ISO-8859-1) character set:
160 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
161 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
162 ")))
163 '("European"))
164 119
165 120
166 ;; Latin-9 (ISO-8859-15) 121 ;; Latin-9 (ISO-8859-15)
167 ;; Latin-1 plus Euro, plus a few accented characters 122 ;; Latin-1 plus Euro, plus a few accented characters
168 123
187 charset-g1 latin-iso8859-15 142 charset-g1 latin-iso8859-15
188 charset-g2 t 143 charset-g2 t
189 charset-g3 t 144 charset-g3 t
190 )) 145 ))
191 146
192 (defun setup-latin9-environment ()
193 "Set up multilingual environment (MULE) for European Latin-9 users."
194 (interactive)
195 (set-language-environment "Latin-9"))
196
197 (set-language-info-alist
198 "Latin-9" '((charset ascii latin-iso8859-15)
199 (coding-system iso-8859-15)
200 (coding-priority iso-8859-15)
201 (input-method . "latin-1-prefix") ; FIXME!!
202 (sample-text
203 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!, my ")
204 (documentation . "\
205 This language environment is a generic one for Latin-9 (ISO-8859-15)
206 character set which supports the Euro sign and the following languages:
207 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
208 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish."))
209 '("European"))
210
211 147
212 ;; Latin-2 (ISO-8859-2) 148 ;; Latin-2 (ISO-8859-2)
213 149
214 ;; (make-coding-system 150 ;; (make-coding-system
215 ;; 'iso-latin-2 2 ?2 151 ;; 'iso-latin-2 2 ?2
221 157
222 ;; (define-coding-system-alias 'iso-8859-2 'iso-latin-2) 158 ;; (define-coding-system-alias 'iso-8859-2 'iso-latin-2)
223 ;; (define-coding-system-alias 'latin-2 'iso-latin-2) 159 ;; (define-coding-system-alias 'latin-2 'iso-latin-2)
224 160
225 (make-coding-system 161 (make-coding-system
226 'iso-8859-2 'iso2022 "MIME ISO-8859-2" 162 'iso-8859-2 'iso2022 "ISO-8859-2 (Latin-2)"
227 '(charset-g0 ascii 163 '(charset-g0 ascii
228 charset-g1 latin-iso8859-2 164 charset-g1 latin-iso8859-2
229 charset-g2 t 165 charset-g2 t
230 charset-g3 t 166 charset-g3 t
231 mnemonic "MIME/Ltn-2" 167 mnemonic "MIME/Ltn-2"
232 )) 168 ))
233 169
234 (defun setup-latin2-environment ()
235 "Set up multilingual environment (MULE) for European Latin-2 users."
236 (interactive)
237 (set-language-environment "Latin-2"))
238
239 (set-language-info-alist
240 "Latin-2" '((charset ascii latin-iso8859-2)
241 (coding-system iso-8859-2)
242 (coding-priority iso-8859-2)
243 (input-method . "latin-2-prefix")
244 (documentation . "\
245 This language environment is a generic one for Latin-2 (ISO-8859-2)
246 character set which supports the following languages:
247 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
248 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
249 and Swedish."))
250 '("European"))
251
252 (set-language-info-alist
253 "Croatian" '((charset ascii latin-iso8859-2)
254 (coding-system iso-8859-2)
255 (coding-priority iso-8859-2)
256 (tutorial . "TUTORIAL.hr")
257 (documentation . "\
258 This language environment is a generic one for Latin-2 (ISO-8859-2)
259 character set which supports the following languages:
260 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
261 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
262 and Swedish."))
263 '("European"))
264
265 (set-language-info-alist
266 "Polish" '((charset ascii latin-iso8859-2)
267 (coding-system iso-8859-2)
268 (coding-priority iso-8859-2)
269 (tutorial . "TUTORIAL.pl")
270 (documentation . "\
271 This language environment is a generic one for Latin-2 (ISO-8859-2)
272 character set which supports the following languages:
273 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
274 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
275 and Swedish."))
276 '("European"))
277
278 ;; Romanian support originally from romanian.el
279
280 (defun setup-romanian-environment ()
281 "Setup multilingual environment (MULE) for Romanian."
282 (interactive)
283 (set-language-environment "Romanian"))
284
285 (set-language-info-alist
286 "Romanian" '((charset ascii latin-iso8859-2)
287 (coding-system iso-8859-2)
288 (coding-priority iso-8859-2)
289 (input-method . "latin-2-postfix")
290 (tutorial . "TUTORIAL.ro")
291 (sample-text . "Bun,Bc(B ziua, bine a,B~(Bi venit!")
292 (documentation . t))
293 '("European"))
294
295 (provide 'romanian) 170 (provide 'romanian)
296 171
297 ;; Czech support originally from czech.el 172 ;; Czech support originally from czech.el
298 ;; Author: Milan Zamazal <pdm@fi.muni.cz> 173 ;; Author: Milan Zamazal <pdm@fi.muni.cz>
299 ;; Maintainer(for XEmacs): David Sauer <davids@penguin.cz> 174 ;; Maintainer(for XEmacs): David Sauer <davids@penguin.cz>
300 175
301 (defun setup-czech-environment ()
302 "Set up multilingual environment (MULE) for czech users."
303 (interactive)
304 (set-language-environment "Czech"))
305
306 (set-language-info-alist
307 "Czech" '((charset ascii latin-iso8859-2)
308 (coding-system iso-8859-2)
309 (coding-priority iso-8859-2)
310 (tutorial . "TUTORIAL.cs")
311 (sample-text . "P,Bx(Bejeme v,Ba(Bm hezk,B}(B den!")
312 (documentation . t))
313 '("European"))
314
315 (provide 'czech) 176 (provide 'czech)
177
178 ;; Slovak support originally from slovak.el
179 ;; Authors: Tibor ,B)(Bimko <tibor.simko@fmph.uniba.sk>,
180 ;; Milan Zamazal <pdm@fi.muni.cz>
181 ;; Maintainer: Milan Zamazal <pdm@fi.muni.cz>
182
183 (provide 'slovenian)
316 184
317 185
318 ;; Latin-3 (ISO-8859-3) 186 ;; Latin-3 (ISO-8859-3)
319 187
320 ;; (make-coding-system 188 ;; (make-coding-system
327 195
328 ;; (define-coding-system-alias 'iso-8859-3 'iso-latin-3) 196 ;; (define-coding-system-alias 'iso-8859-3 'iso-latin-3)
329 ;; (define-coding-system-alias 'latin-3 'iso-latin-3) 197 ;; (define-coding-system-alias 'latin-3 'iso-latin-3)
330 198
331 (make-coding-system 199 (make-coding-system
332 'iso-8859-3 'iso2022 "MIME ISO-8859-3" 200 'iso-8859-3 'iso2022 "ISO-8859-3 (Latin-3)"
333 '(charset-g0 ascii 201 '(charset-g0 ascii
334 charset-g1 latin-iso8859-3 202 charset-g1 latin-iso8859-3
335 charset-g2 t 203 charset-g2 t
336 charset-g3 t 204 charset-g3 t
337 mnemonic "MIME/Ltn-3" 205 mnemonic "MIME/Ltn-3"
338 )) 206 ))
339 207
340 (defun setup-latin3-environment ()
341 "Set up multilingual environment (MULE) for European Latin-3 users."
342 (interactive)
343 (set-language-environment "Latin-3"))
344
345 (set-language-info-alist
346 "Latin-3" '((charset ascii latin-iso8859-3)
347 (coding-system iso-8859-3)
348 (coding-priority iso-8859-3)
349 (input-method . "latin-3-prefix")
350 (documentation . "\
351 These languages are supported with the Latin-3 (ISO-8859-3) character set:
352 Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician,
353 German, Italian, Maltese, Spanish, and Turkish."))
354 '("European"))
355
356 208
357 ;; Latin-4 (ISO-8859-4) 209 ;; Latin-4 (ISO-8859-4)
358 210
359 ;; (make-coding-system 211 ;; (make-coding-system
360 ;; 'iso-latin-4 2 ?4 212 ;; 'iso-latin-4 2 ?4
366 218
367 ;; (define-coding-system-alias 'iso-8859-4 'iso-latin-4) 219 ;; (define-coding-system-alias 'iso-8859-4 'iso-latin-4)
368 ;; (define-coding-system-alias 'latin-4 'iso-latin-4) 220 ;; (define-coding-system-alias 'latin-4 'iso-latin-4)
369 221
370 (make-coding-system 222 (make-coding-system
371 'iso-8859-4 'iso2022 "MIME ISO-8859-4" 223 'iso-8859-4 'iso2022 "ISO-8859-4 (Latin-4)"
372 '(charset-g0 ascii 224 '(charset-g0 ascii
373 charset-g1 latin-iso8859-4 225 charset-g1 latin-iso8859-4
374 charset-g2 t 226 charset-g2 t
375 charset-g3 t 227 charset-g3 t
376 mnemonic "MIME/Ltn-4" 228 mnemonic "MIME/Ltn-4"
377 )) 229 ))
378 230
379 (defun setup-latin4-environment ()
380 "Set up multilingual environment (MULE) for European Latin-4 users."
381 (interactive)
382 (set-language-environment "Latin-4"))
383
384 (set-language-info-alist
385 "Latin-4" '((charset ascii latin-iso8859-4)
386 (coding-system iso-8859-4)
387 (coding-priority iso-8859-4)
388 (input-method . "latin-4-prefix")
389 (documentation . "\
390 These languages are supported with the Latin-4 (ISO-8859-4) character set:
391 Danish, English, Estonian, Finnish, German, Greenlandic, Lappish,
392 Latvian, Lithuanian, and Norwegian."))
393 '("European"))
394
395 231
396 ;; Latin-5 (ISO-8859-9) 232 ;; Latin-5 (ISO-8859-9)
397 233
398 ;; (make-coding-system 234 ;; (make-coding-system
399 ;; 'iso-latin-5 2 ?9 235 ;; 'iso-latin-5 2 ?9
405 241
406 ;; (define-coding-system-alias 'iso-8859-9 'iso-latin-5) 242 ;; (define-coding-system-alias 'iso-8859-9 'iso-latin-5)
407 ;; (define-coding-system-alias 'latin-5 'iso-latin-5) 243 ;; (define-coding-system-alias 'latin-5 'iso-latin-5)
408 244
409 (make-coding-system 245 (make-coding-system
410 'iso-8859-9 'iso2022 "MIME ISO-8859-9" 246 'iso-8859-9 'iso2022 "ISO-8859-9 (Latin-5)"
411 '(charset-g0 ascii 247 '(charset-g0 ascii
412 charset-g1 latin-iso8859-9 248 charset-g1 latin-iso8859-9
413 charset-g2 t 249 charset-g2 t
414 charset-g3 t 250 charset-g3 t
415 mnemonic "MIME/Ltn-5" 251 mnemonic "MIME/Ltn-5"
416 )) 252 ))
417 253
418 (defun setup-latin5-environment () 254 (loop for ((charset codesys default-input nice-charset-1 nice-charset-2
419 "Set up multilingual environment (MULE) for European Latin-5 users." 255 supported-langs ;; a list if the doc string is replaced
420 (interactive) 256 ;; entirely
421 (set-language-environment "Latin-5")) 257 )
422 258 langenvs) in
423 (set-language-info-alist 259 '(
424 "Latin-5" '((charset ascii latin-iso8859-9) 260 ((latin-iso8859-1 iso-8859-1 "latin-1-prefix" "Latin-1" "ISO-8859-1"
425 (coding-system iso-8859-9) 261 " Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
426 (coding-priority iso-8859-9) 262 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.")
427 (input-method . "latin-5-prefix") 263 (("Danish" "da")
428 (documentation . "\ 264 ("Dutch" "nl" "TUTORIAL.nl")
429 These languages are supported with the Latin-5 (ISO-8859-9) character set.")) 265 ("Faeroese")
430 '("European")) 266 ("Finnish" "fi")
431 267 ("French" "fr" "TUTORIAL.fr" "Bonjour, ,Ag(Ba va?")
432 268 ("German" "de" "TUTORIAL.de" "\
433 (defun setup-german-environment ()
434 "Set up multilingual environment (MULE) for German users."
435 (interactive)
436 (set-language-environment "German"))
437
438 (set-language-info-alist
439 "German" '((tutorial . "TUTORIAL.de")
440 (charset ascii latin-iso8859-1)
441 (coding-system iso-8859-1)
442 (coding-priority iso-8859-1)
443 (input-method . "german-postfix")
444 (sample-text . "\
445 German (Deutsch Nord) Guten Tag 269 German (Deutsch Nord) Guten Tag
446 German (Deutsch S,A|(Bd) Gr,A|_(B Gott") 270 German (Deutsch S,A|(Bd) Gr,A|_(B Gott"
447 (documentation . "\ 271 "german-postfix")
448 This language environment is almost the same as Latin-1, 272 ("Icelandic" "is")
449 but default input method is set to \"german-postfix\".")) 273 ("Irish" "ga")
450 '("European")) 274 ("Italian" "it")
451 275 ("Norwegian" "no" "TUTORIAL.no")
452 (defun setup-slovenian-environment () 276 ("Portuguese" "pt" nil "Bem-vindo! Tudo bem?")
453 "Setup multilingual environment (MULE) for Slovenian." 277 ("Spanish" "es" "TUTORIAL.es" ",A!(BHola!")
454 (interactive) 278 ("Swedish" "sv")))
455 (set-language-environment "Slovenian")) 279 ((latin-iso8859-15 iso-8859-15 "latin-1-prefix" ;; #### FIXME
456 280 "Latin-9" "ISO-8859-15"
457 (set-language-info-alist 281 ("\
458 "Slovenian" '((charset . (ascii latin-iso8859-2)) 282 This language environment is a generic one for Latin-9 (ISO-8859-15)
459 (coding-system . (iso-8859-2)) 283 character set which supports the Euro sign and the following languages
460 (coding-priority . (iso-8859-2)) 284 (they use the Latin-1 character set by default):
461 (input-method . "latin-2-postfix") 285 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
462 (tutorial . "TUTORIAL.sl") 286 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
463 (sample-text . ",B.(Belimo vam uspe,B9(Ben dan!") 287 Each also has its own specific language environment."))
464 (documentation . t)) 288 ())
465 '("European")) 289 ((latin-iso8859-2 iso-8859-2 "latin-2-prefix" "Latin-2" "ISO-8859-2"
466 290 " Albanian, Czech, English, German, Hungarian, Polish, Romanian,
467 (provide 'slovenian) 291 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
292 and Swedish.")
293 (("Albanian" nil)
294 ("Croatian" ("hrvatski" "hr") "TUTORIAL.hr")
295 ("Czech" ("cs" "cz") "TUTORIAL.cs" "P,Bx(Bejeme v,Ba(Bm hezk,B}(B den!"
296 "latin-2-postfix")
297 ("Hungarian" ("hungarian" "hu"))
298 ("Polish" "po" "TUTORIAL.pl")
299 ("Romanian" "ro" "TUTORIAL.ro" "Bun,Bc(B ziua, bine a,B~(Bi venit!"
300 "latin-2-postfix")
301 ("Serbian" "sr")
302 ("Slovak" "sk" "TUTORIAL.sk" "Prajeme V,Ba(Bm pr,Bm(Bjemn,B}(B de,Br(B!"
303 ;; !!#### FSF "slovak"
304 "latin-2-postfix")
305 ("Slovenian" "sl" "TUTORIAL.sl" ",B.(Belimo vam uspe,B9(Ben dan!"
306 "latin-2-postfix")
307 ("Sorbian" nil)))
308 ((latin-iso8859-3 iso-8859-3 "latin-3-prefix" "Latin-3" "ISO-8859-3"
309 " Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician,
310 German, Italian, Maltese, Spanish, and Turkish.")
311 (("Afrikaans" "af")
312 ("Catalan" ("catalan" "ca"))
313 ("Esperanto")
314 ("Galician")
315 ("Maltese")))
316 ((latin-iso8859-4 iso-8859-4 "latin-4-prefix" "Latin-4" "ISO-8859-4"
317 " Danish, English, Estonian, Finnish, German, Greenlandic, Lappish,
318 Latvian, Lithuanian, and Norwegian.")
319 (("Estonian" "et")
320 ("Greenlandic")
321 ("Lappish")
322 ("Latvian" "lv")
323 ("Lithuanian" "li")))
324 ((latin-iso8859-5 iso-8859-9 "latin-5-prefix" "Latin-5" "ISO-8859-9")
325 (("Turkish" "tr"))))
326 do
327 (set-language-info-alist
328 nice-charset-1
329 `((charset ascii ,charset)
330 (coding-system ,codesys)
331 (coding-priority ,codesys)
332 (documentation . ,(if (listp supported-langs) (car supported-langs)
333 (format "\
334 This language environment is a generic one for %s (%s)
335 character set which supports the following languages (not all of them may
336 use this character set by default):
337 %s
338 Each also has its own specific language environment."
339 nice-charset-1 nice-charset-2
340 supported-langs))))
341 '("European"))
342 (loop for (name locale tutorial sample-text input-method) in langenvs
343 do
344 (set-language-info-alist
345 name
346 `((charset ascii ,charset)
347 (coding-system ,codesys)
348 (coding-priority ,codesys)
349 ,@(if locale `((locale . ,locale)))
350 ,@(if tutorial `((tutorial . ,tutorial)))
351 ,@(if sample-text `((sample-text . ,sample-text)))
352 (input-method . ,(or input-method default-input))
353 (documentation . ,(format "\
354 This language environment supports %s using the Latin-1 (ISO-8859-1)
355 character set. Languages supported by Latin-1 are Danish, Dutch, English,
356 Faeroese, Finnish, French, German, Icelandic, Irish, Italian, Norwegian,
357 Portuguese, Spanish, and Swedish. The various language environments for
358 these languages are similar to the Latin-1 environment, but typically have
359 their own locale specified (for subprocesses and for selection of the
360 correct language environment at startup), and may have their own tutorials
361 and/or a different input method."
362 name)))
363 '("European"))
364 ))
468 365
469 ;;; european.el ends here 366 ;;; european.el ends here