1 ;;; european.el --- European languages -*- coding: iso-2022-7bit; -*-
3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 1997 MORIOKA Tomohiko
7 ;; Keywords: multilingual, European
9 ;; This file is part of XEmacs.
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)
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.
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
28 ;; For Europeans, five character sets ISO8859-1,2,3,4,9 are supported.
30 ;; #### latin.el would be a better name for this file.
34 ;; For syntax of Latin-1 characters.
35 (loop for c from 64 to 127 ; from '
\e,A@
\e(B' to '
\e,A
\7f\e(B'
36 do (modify-syntax-entry (make-char 'latin-iso8859-1 c) "w"))
38 (modify-syntax-entry (make-char 'latin-iso8859-1 32) "w") ; no-break space
39 (modify-syntax-entry ?
\e,AW
\e(B "_")
40 (modify-syntax-entry ?
\e,Aw
\e(B "_")
42 ;; For syntax of Latin-2
43 (loop for c in '(?
\e,B!
\e(B ?
\e,B#
\e(B ?
\e,B%
\e(B ?
\e,B&
\e(B ?
\e,B)
\e(B ?
\e,B*
\e(B ?
\e,B+
\e(B ?
\e,B,
\e(B ?
\e,B.
\e(B ?
\e,B/
\e(B ?
\e,B1
\e(B ?
\e,B3
\e(B ?
\e,B5
\e(B ?
\e,B6
\e(B ?
\e,B9
\e(B ?
\e,B:
\e(B ?
\e,B;
\e(B ?
\e,B<
\e(B)
44 do (modify-syntax-entry c "w"))
46 (loop for c from 62 to 126
47 do (modify-syntax-entry (make-char 'latin-iso8859-2 c) "w"))
49 (modify-syntax-entry (make-char 'latin-iso8859-2 32) "w") ; no-break space
50 (modify-syntax-entry ?
\e,BW
\e(B ".")
51 (modify-syntax-entry ?
\e,Bw
\e(B ".")
53 ;; For syntax of Latin-3
54 (loop for c in '(?
\e,C!
\e(B ?
\e,C&
\e(B ?
\e,C)
\e(B ?
\e,C*
\e(B ?
\e,C+
\e(B ?
\e,C,
\e(B ?
\e,C/
\e(B ?
\e,C1
\e(B ?
\e,C5
\e(B ?
\e,C6
\e(B ?
\e,C:
\e(B ?
\e,C;
\e(B ?
\e,C<
\e(B ?
\e,C?
\e(B)
55 do (modify-syntax-entry c "w"))
57 (loop for c from 64 to 126
58 do (modify-syntax-entry (make-char 'latin-iso8859-3 c) "w"))
60 (modify-syntax-entry (make-char 'latin-iso8859-3 32) "w") ; no-break space
61 (modify-syntax-entry ?
\e,CW
\e(B ".")
62 (modify-syntax-entry ?
\e,Cw
\e(B ".")
64 ;; For syntax of Latin-4
65 (loop for c in '(?
\e,D!
\e(B ?
\e,D"
\e(B ?
\e,D#
\e(B ?
\e,D%
\e(B ?
\e,D&
\e(B ?
\e,D)
\e(B ?
\e,D*
\e(B ?
\e,D+
\e(B ?
\e,D,
\e(B ?
\e,D.
\e(B ?
\e,D1
\e(B ?
\e,D3
\e(B ?
\e,D5
\e(B ?
\e,D6
\e(B ?
\e,D9
\e(B ?
\e,D:
\e(B ?
\e,D;
\e(B ?
\e,D<
\e(B ?
\e,D=
\e(B ?
\e,D>
\e(B ?
\e,D?
\e(B)
66 do (modify-syntax-entry c "w"))
68 (loop for c from 64 to 126
69 do (modify-syntax-entry (make-char 'latin-iso8859-4 c) "w"))
71 (modify-syntax-entry (make-char 'latin-iso8859-4 32) "w") ; no-break space
72 (modify-syntax-entry ?
\e,DW
\e(B ".")
73 (modify-syntax-entry ?
\e,Dw
\e(B ".")
76 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
78 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
81 ;; Latin-1 (ISO-8859-1)
83 ;; (make-coding-system
85 ;; "ISO 2022 based 8-bit encoding for Latin-1 (MIME:ISO-8859-1)"
86 ;; '(ascii latin-iso8859-1 nil nil
87 ;; nil nil nil nil nil nil nil nil nil nil nil nil t)
88 ;; '((safe-charsets ascii latin-iso8859-1)
89 ;; (mime-charset . iso-8859-1)))
91 ;; (define-coding-system-alias 'iso-8859-1 'iso-latin-1)
92 ;; (define-coding-system-alias 'latin-1 'iso-latin-1)
94 ;; (make-coding-system
95 ;; 'compound-text 2 ?1
96 ;; "ISO 2022 based encoding used in inter client communication of X"
97 ;; '((ascii t) (latin-iso8859-1 t) nil nil
98 ;; nil ascii-eol ascii-cntl nil nil nil nil nil nil nil nil nil t)
99 ;; '((safe-charsets . t)))
101 ;; (define-coding-system-alias 'ctext 'compound-text)
103 (defun setup-latin1-environment ()
104 "Set up multilingual environment (MULE) for European Latin-1 users."
106 (set-language-environment "Latin-1"))
108 (set-language-info-alist
109 "Latin-1" '((charset ascii latin-iso8859-1)
110 (coding-system iso-8859-1)
111 (coding-priority iso-8859-1)
112 (input-method . "latin-1-prefix")
114 . "Hello, Hej, Tere, Hei, Bonjour, Gr
\e,A|_
\e(B Gott, Ciao,
\e,A!
\e(BHola!")
116 This language environment is a generic one for Latin-1 (ISO-8859-1)
117 character set which supports the following languages:
118 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
119 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
120 We also have a German specific language environment \"German\"."))
123 (set-language-info-alist
124 "French" '((charset ascii latin-iso8859-1)
125 (coding-system iso-8859-1)
126 (coding-priority iso-8859-1)
127 (tutorial . "TUTORIAL.fr")
129 . "Hello, Hej, Tere, Hei, Bonjour, Gr
\e,A|_
\e(B Gott, Ciao,
\e,A!
\e(BHola!")
131 These languages are supported with the Latin-1 (ISO-8859-1) character set:
132 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
133 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
137 (set-language-info-alist
138 "Norwegian" '((charset ascii latin-iso8859-1)
139 (coding-system iso-8859-1)
140 (coding-priority iso-8859-1)
141 (tutorial . "TUTORIAL.no")
143 . "Hello, Hej, Tere, Hei, Bonjour, Gr
\e,A|_
\e(B Gott, Ciao,
\e,A!
\e(BHola!")
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.
152 ;; Latin-2 (ISO-8859-2)
154 ;; (make-coding-system
156 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-2)"
157 ;; '(ascii latin-iso8859-2 nil nil
158 ;; nil nil nil nil nil nil nil)
159 ;; '((safe-charsets ascii latin-iso8859-2)
160 ;; (mime-charset . iso-8859-2)))
162 ;; (define-coding-system-alias 'iso-8859-2 'iso-latin-2)
163 ;; (define-coding-system-alias 'latin-2 'iso-latin-2)
166 'iso-8859-2 'iso2022 "MIME ISO-8859-2"
168 charset-g1 latin-iso8859-2
171 mnemonic "MIME/Ltn-2"
174 (defun setup-latin2-environment ()
175 "Set up multilingual environment (MULE) for European Latin-2 users."
177 (set-language-environment "Latin-2"))
179 (set-language-info-alist
180 "Latin-2" '((charset ascii latin-iso8859-2)
181 (coding-system iso-8859-2)
182 (coding-priority iso-8859-2)
183 (input-method . "latin-2-prefix")
185 This language environment is a generic one for Latin-2 (ISO-8859-2)
186 character set which supports the following languages:
187 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
188 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
192 (set-language-info-alist
193 "Croatian" '((charset ascii latin-iso8859-2)
194 (coding-system iso-8859-2)
195 (coding-priority iso-8859-2)
196 (tutorial . "TUTORIAL.hr")
198 This language environment is a generic one for Latin-2 (ISO-8859-2)
199 character set which supports the following languages:
200 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
201 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
205 (set-language-info-alist
206 "Polish" '((charset ascii latin-iso8859-2)
207 (coding-system iso-8859-2)
208 (coding-priority iso-8859-2)
209 (tutorial . "TUTORIAL.pl")
211 This language environment is a generic one for Latin-2 (ISO-8859-2)
212 character set which supports the following languages:
213 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
214 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
218 ;; Romanian support originally from romanian.el
220 (defun setup-romanian-environment ()
221 "Setup multilingual environment (MULE) for Romanian."
223 (set-language-environment "Romanian"))
225 (set-language-info-alist
226 "Romanian" '((charset ascii latin-iso8859-2)
227 (coding-system iso-8859-2)
228 (coding-priority iso-8859-2)
229 (input-method . "latin-2-postfix")
230 (tutorial . "TUTORIAL.ro")
231 (sample-text . "Bun
\e,Bc
\e(B ziua, bine a
\e,B~
\e(Bi venit!")
237 ;; Czech support originally from czech.el
238 ;; Author: Milan Zamazal <pdm@fi.muni.cz>
239 ;; Maintainer(for XEmacs): David Sauer <davids@penguin.cz>
241 (defun setup-czech-environment ()
242 "Set up multilingual environment (MULE) for czech users."
244 (set-language-environment "Czech"))
246 (set-language-info-alist
247 "Czech" '((charset ascii latin-iso8859-2)
248 (coding-system iso-8859-2)
249 (coding-priority iso-8859-2)
250 (tutorial . "TUTORIAL.cs")
251 (sample-text . "P
\e,Bx
\e(Bejeme v
\e,Ba
\e(Bm hezk
\e,B}
\e(B den!")
258 ;; Latin-3 (ISO-8859-3)
260 ;; (make-coding-system
262 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-3)"
263 ;; '(ascii latin-iso8859-3 nil nil
264 ;; nil nil nil nil nil nil nil)
265 ;; '((safe-charsets ascii latin-iso8859-3)
266 ;; (mime-charset . iso-8859-3)))
268 ;; (define-coding-system-alias 'iso-8859-3 'iso-latin-3)
269 ;; (define-coding-system-alias 'latin-3 'iso-latin-3)
272 'iso-8859-3 'iso2022 "MIME ISO-8859-3"
274 charset-g1 latin-iso8859-3
277 mnemonic "MIME/Ltn-3"
280 (defun setup-latin3-environment ()
281 "Set up multilingual environment (MULE) for European Latin-3 users."
283 (set-language-environment "Latin-3"))
285 (set-language-info-alist
286 "Latin-3" '((charset ascii latin-iso8859-3)
287 (coding-system iso-8859-3)
288 (coding-priority iso-8859-3)
289 (input-method . "latin-3-prefix")
291 These languages are supported with the Latin-3 (ISO-8859-3) character set:
292 Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician,
293 German, Italian, Maltese, Spanish, and Turkish."))
297 ;; Latin-4 (ISO-8859-4)
299 ;; (make-coding-system
301 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-4)"
302 ;; '(ascii latin-iso8859-4 nil nil
303 ;; nil nil nil nil nil nil nil)
304 ;; '((safe-charsets ascii latin-iso8859-4)
305 ;; (mime-charset . iso-8895-4)))
307 ;; (define-coding-system-alias 'iso-8859-4 'iso-latin-4)
308 ;; (define-coding-system-alias 'latin-4 'iso-latin-4)
311 'iso-8859-4 'iso2022 "MIME ISO-8859-4"
313 charset-g1 latin-iso8859-4
316 mnemonic "MIME/Ltn-4"
319 (defun setup-latin4-environment ()
320 "Set up multilingual environment (MULE) for European Latin-4 users."
322 (set-language-environment "Latin-4"))
324 (set-language-info-alist
325 "Latin-4" '((charset ascii latin-iso8859-4)
326 (coding-system iso-8859-4)
327 (coding-priority iso-8859-4)
328 (input-method . "latin-4-prefix")
330 These languages are supported with the Latin-4 (ISO-8859-4) character set:
331 Danish, English, Estonian, Finnish, German, Greenlandic, Lappish,
332 Latvian, Lithuanian, and Norwegian."))
336 ;; Latin-5 (ISO-8859-9)
338 ;; (make-coding-system
340 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-9)"
341 ;; '(ascii latin-iso8859-9 nil nil
342 ;; nil nil nil nil nil nil nil)
343 ;; '((safe-charsets ascii latin-iso8859-9)
344 ;; (mime-charset . iso-8859-9)))
346 ;; (define-coding-system-alias 'iso-8859-9 'iso-latin-5)
347 ;; (define-coding-system-alias 'latin-5 'iso-latin-5)
350 'iso-8859-9 'iso2022 "MIME ISO-8859-9"
352 charset-g1 latin-iso8859-9
355 mnemonic "MIME/Ltn-5"
358 (defun setup-latin5-environment ()
359 "Set up multilingual environment (MULE) for European Latin-5 users."
361 (set-language-environment "Latin-5"))
363 (set-language-info-alist
364 "Latin-5" '((charset ascii latin-iso8859-9)
365 (coding-system iso-8859-9)
366 (coding-priority iso-8859-9)
367 (input-method . "latin-5-prefix")
369 These languages are supported with the Latin-5 (ISO-8859-9) character set."))
373 (defun setup-german-environment ()
374 "Set up multilingual environment (MULE) for German users."
376 (set-language-environment "German"))
378 (set-language-info-alist
379 "German" '((tutorial . "TUTORIAL.de")
380 (charset ascii latin-iso8859-1)
381 (coding-system iso-8859-1)
382 (coding-priority iso-8859-1)
383 (input-method . "german-postfix")
385 German (Deutsch Nord) Guten Tag
386 German (Deutsch S
\e,A|
\e(Bd) Gr
\e,A|_
\e(B Gott")
388 This language environment is almost the same as Latin-1,
389 but default input method is set to \"german-postfix\"."))
392 (defun setup-slovenian-environment ()
393 "Setup multilingual environment (MULE) for Slovenian."
395 (set-language-environment "Slovenian"))
397 (set-language-info-alist
398 "Slovenian" '((charset . (ascii latin-iso8859-2))
399 (coding-system . (iso-8859-2))
400 (coding-priority . (iso-8859-2))
401 (input-method . "latin-2-postfix")
402 (tutorial . "TUTORIAL.sl")
403 (sample-text . "
\e,B.
\e(Belimo vam uspe
\e,B9
\e(Ben dan!")
409 ;;; european.el ends here