comparison lisp/mule/european.el @ 398:74fd4e045ea6 r21-2-29

Import from CVS: tag r21-2-29
author cvs
date Mon, 13 Aug 2007 11:13:30 +0200
parents 4f79e16b1112
children 697ef44129c6
comparison
equal deleted inserted replaced
397:f4aeb21a5bad 398:74fd4e045ea6
1 ;;; european.el --- Support for European languages 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 6
25 25
26 ;;; Commentary: 26 ;;; Commentary:
27 27
28 ;; For Europeans, five character sets ISO8859-1,2,3,4,9 are supported. 28 ;; For Europeans, five character sets ISO8859-1,2,3,4,9 are supported.
29 29
30 ;; #### latin.el would be a better name for this file.
31
30 ;;; Code: 32 ;;; Code:
31 33
32 ;; For syntax of Latin-1 characters. 34 ;; For syntax of Latin-1 characters.
33 (loop for c from 64 to 127 ; from ',A@(B' to ',A(B' 35 (loop for c from 64 to 127 ; from ',A@(B' to ',A(B'
34 do (modify-syntax-entry (make-char 'latin-iso8859-1 c) "w")) 36 do (modify-syntax-entry (make-char 'latin-iso8859-1 c) "w"))
46 48
47 (modify-syntax-entry (make-char 'latin-iso8859-2 32) "w") ; no-break space 49 (modify-syntax-entry (make-char 'latin-iso8859-2 32) "w") ; no-break space
48 (modify-syntax-entry ?,BW(B ".") 50 (modify-syntax-entry ?,BW(B ".")
49 (modify-syntax-entry ?,Bw(B ".") 51 (modify-syntax-entry ?,Bw(B ".")
50 52
53 ;; For syntax of Latin-3
54 (loop for c in '(?,C!(B ?,C&(B ?,C)(B ?,C*(B ?,C+(B ?,C,(B ?,C/(B ?,C1(B ?,C5(B ?,C6(B ?,C:(B ?,C;(B ?,C<(B ?,C?(B)
55 do (modify-syntax-entry c "w"))
56
57 (loop for c from 64 to 126
58 do (modify-syntax-entry (make-char 'latin-iso8859-3 c) "w"))
59
60 (modify-syntax-entry (make-char 'latin-iso8859-3 32) "w") ; no-break space
61 (modify-syntax-entry ?,CW(B ".")
62 (modify-syntax-entry ?,Cw(B ".")
63
64 ;; For syntax of Latin-4
65 (loop for c in '(?,D!(B ?,D"(B ?,D#(B ?,D%(B ?,D&(B ?,D)(B ?,D*(B ?,D+(B ?,D,(B ?,D.(B ?,D1(B ?,D3(B ?,D5(B ?,D6(B ?,D9(B ?,D:(B ?,D;(B ?,D<(B ?,D=(B ?,D>(B ?,D?(B)
66 do (modify-syntax-entry c "w"))
67
68 (loop for c from 64 to 126
69 do (modify-syntax-entry (make-char 'latin-iso8859-4 c) "w"))
70
71 (modify-syntax-entry (make-char 'latin-iso8859-4 32) "w") ; no-break space
72 (modify-syntax-entry ?,DW(B ".")
73 (modify-syntax-entry ?,Dw(B ".")
74
75
51 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 76 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
52 ;;; EUROPEANS 77 ;;; EUROPEANS
53 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 78 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
54 79
55 ;; (define-prefix-command 'describe-european-environment-map)
56 ;; (define-key-after describe-language-environment-map [European]
57 ;; '("European" . describe-european-environment-map)
58 ;; t)
59
60 ;; (define-prefix-command 'setup-european-environment-map)
61 ;; (define-key-after setup-language-environment-map [European]
62 ;; '("European" . setup-european-environment-map)
63 ;; t)
64
65 ;; Setup for LANGAUGE which uses one-byte 8-bit CHARSET, one-byte
66 ;; 8-bit CODING-SYSTEM, and INPUT-METHOD.
67 (defun setup-8-bit-environment (language charset coding-system input-method)
68 (setup-english-environment)
69 (set-default-coding-systems coding-system)
70 ;; (setq coding-category-iso-8-1 coding-system
71 ;; coding-category-iso-8-2 coding-system)
72 (set-coding-category-system 'iso-8-1 coding-system)
73 (set-coding-category-system 'iso-8-2 coding-system)
74
75 ;; (if charset
76 ;; (let ((nonascii-offset (- (make-char charset) 128)))
77 ;; ;; Set up for insertion of characters in this character set
78 ;; ;; when codes 0200 - 0377 are typed in.
79 ;; (setq nonascii-insert-offset nonascii-offset)))
80
81 (if input-method
82 (setq default-input-method input-method))
83
84 ;; If this is a Latin-N character set, set up syntax for it in
85 ;; single-byte mode. We can't use require because the file
86 ;; must be eval'd each time in case we change from one Latin-N to another.
87 ;; (if (string-match "^Latin-\\([1-9]\\)$" language)
88 ;; (load (downcase language) nil t))
89 )
90 80
91 ;; Latin-1 (ISO-8859-1) 81 ;; Latin-1 (ISO-8859-1)
92 82
93 ;; (make-coding-system 83 ;; (make-coding-system
94 ;; 'iso-latin-1 2 ?1 84 ;; 'iso-latin-1 2 ?1
95 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-1, Compound Text Encoding)" 85 ;; "ISO 2022 based 8-bit encoding for Latin-1 (MIME:ISO-8859-1)"
96 ;; '((ascii t) (latin-iso8859-1 t) nil nil 86 ;; '(ascii latin-iso8859-1 nil nil
97 ;; nil ascii-eol ascii-cntl nil nil nil nil nil nil nil nil nil t)) 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)))
98 90
99 ;; (define-coding-system-alias 'iso-8859-1 'iso-latin-1) 91 ;; (define-coding-system-alias 'iso-8859-1 'iso-latin-1)
100 ;; (define-coding-system-alias 'latin-1 'iso-latin-1) 92 ;; (define-coding-system-alias 'latin-1 'iso-latin-1)
101 ;; (define-coding-system-alias 'ctext 'iso-latin-1) 93
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)))
100
101 ;; (define-coding-system-alias 'ctext 'compound-text)
102 102
103 (defun setup-latin1-environment () 103 (defun setup-latin1-environment ()
104 "Set up multilingual environment (MULE) for European Latin-1 users." 104 "Set up multilingual environment (MULE) for European Latin-1 users."
105 (interactive) 105 (interactive)
106 (setup-8-bit-environment "Latin-1" 'latin-iso8859-1 'iso-8859-1 106 (set-language-environment "Latin-1"))
107 "latin-1-prefix")) 107
108 108 (set-language-info-alist
109 (set-language-info-alist 109 "Latin-1" '((charset ascii latin-iso8859-1)
110 "Latin-1" '((setup-function . (setup-latin1-environment 110 (coding-system iso-8859-1)
111 . setup-european-environment-map)) 111 (coding-priority iso-8859-1)
112 (charset . (ascii latin-iso8859-1)) 112 (input-method . "latin-1-prefix")
113 (coding-system . (iso-8859-1))
114 (sample-text 113 (sample-text
115 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") 114 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
116 (documentation . ("\ 115 (documentation . "\
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\"."))
121 '("European"))
122
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")
128 (sample-text
129 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
130 (documentation . ("\
117 These languages are supported with the Latin-1 (ISO-8859-1) character set: 131 These languages are supported with the Latin-1 (ISO-8859-1) character set:
118 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, 132 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
119 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. 133 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
120 " . describe-european-environment-map)) 134 ")))
121 )) 135 '("European"))
122 136
123 (set-language-info-alist 137 (set-language-info-alist
124 "German" '((setup-function . (setup-latin1-environment 138 "Norwegian" '((charset ascii latin-iso8859-1)
125 . setup-european-environment-map)) 139 (coding-system iso-8859-1)
126 (charset . (ascii latin-iso8859-1)) 140 (coding-priority iso-8859-1)
127 (coding-system . (iso-8859-1)) 141 (tutorial . "TUTORIAL.no")
128 (tutorial . "TUTORIAL.de") 142 (sample-text
129 (sample-text 143 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
130 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") 144 (documentation . ("\
131 (documentation . ("\
132 These languages are supported with the Latin-1 (ISO-8859-1) character set: 145 These languages are supported with the Latin-1 (ISO-8859-1) character set:
133 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, 146 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
134 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. 147 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
135 " . describe-european-environment-map)) 148 ")))
136 )) 149 '("European"))
137 150
138 (set-language-info-alist
139 "French" '((setup-function . (setup-latin1-environment
140 . setup-european-environment-map))
141 (charset . (ascii latin-iso8859-1))
142 (coding-system . (iso-8859-1))
143 (tutorial . "TUTORIAL.fr")
144 (sample-text
145 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
146 (documentation . ("\
147 These languages are supported with the Latin-1 (ISO-8859-1) character set:
148 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
149 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
150 " . describe-european-environment-map))
151 ))
152
153 (set-language-info-alist
154 "Norwegian" '((setup-function . (setup-latin1-environment
155 . setup-european-environment-map))
156 (charset . (ascii latin-iso8859-1))
157 (coding-system . (iso-8859-1))
158 (tutorial . "TUTORIAL.no")
159 (sample-text
160 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
161 (documentation . ("\
162 These languages are supported with the Latin-1 (ISO-8859-1) character set:
163 Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,
164 Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.
165 " . describe-european-environment-map))
166 ))
167 151
168 ;; Latin-2 (ISO-8859-2) 152 ;; Latin-2 (ISO-8859-2)
169 153
170 ;; (make-coding-system 154 ;; (make-coding-system
171 ;; 'iso-latin-2 2 ?2 155 ;; 'iso-latin-2 2 ?2
172 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-2)" 156 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-2)"
173 ;; '((ascii t) (latin-iso8859-2 t) nil nil 157 ;; '(ascii latin-iso8859-2 nil nil
174 ;; nil ascii-eol ascii-cntl nil nil nil nil)) 158 ;; nil nil nil nil nil nil nil)
159 ;; '((safe-charsets ascii latin-iso8859-2)
160 ;; (mime-charset . iso-8859-2)))
175 161
176 ;; (define-coding-system-alias 'iso-8859-2 'iso-latin-2) 162 ;; (define-coding-system-alias 'iso-8859-2 'iso-latin-2)
177 ;; (define-coding-system-alias 'latin-2 'iso-latin-2) 163 ;; (define-coding-system-alias 'latin-2 'iso-latin-2)
178 164
179 (make-coding-system 165 (make-coding-system
186 )) 172 ))
187 173
188 (defun setup-latin2-environment () 174 (defun setup-latin2-environment ()
189 "Set up multilingual environment (MULE) for European Latin-2 users." 175 "Set up multilingual environment (MULE) for European Latin-2 users."
190 (interactive) 176 (interactive)
191 (setup-8-bit-environment "Latin-2" 'latin-iso8859-2 'iso-8859-2 177 (set-language-environment "Latin-2"))
192 "latin-2-prefix")) 178
193 179 (set-language-info-alist
194 (set-language-info-alist 180 "Latin-2" '((charset ascii latin-iso8859-2)
195 "Latin-2" '((setup-function . (setup-latin2-environment 181 (coding-system iso-8859-2)
196 . setup-european-environment-map)) 182 (coding-priority iso-8859-2)
197 (charset . (ascii latin-iso8859-2)) 183 (input-method . "latin-2-prefix")
198 (coding-system . (iso-8859-2)) 184 (documentation . "\
199 (documentation . ("\ 185 This language environment is a generic one for Latin-2 (ISO-8859-2)
200 These languages are supported with the Latin-2 (ISO-8859-2) character set: 186 character set which supports the following languages:
201 Albanian, Czech, English, German, Hungarian, Polish, Romanian, 187 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
202 Serbian, Croatian, Slovak, Slovene, and Swedish. 188 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
203 " . describe-european-environment-map)) 189 and Swedish."))
204 )) 190 '("European"))
205 191
206 (set-language-info-alist 192 (set-language-info-alist
207 "Croatian" '((setup-function . (setup-latin2-environment 193 "Croatian" '((charset ascii latin-iso8859-2)
208 . setup-european-environment-map)) 194 (coding-system iso-8859-2)
209 (charset . (ascii latin-iso8859-2)) 195 (coding-priority iso-8859-2)
210 (tutorial . "TUTORIAL.hr") 196 (tutorial . "TUTORIAL.hr")
211 (coding-system . (iso-8859-2)) 197 (documentation . "\
212 (documentation . ("\ 198 This language environment is a generic one for Latin-2 (ISO-8859-2)
213 These languages are supported with the Latin-2 (ISO-8859-2) character set: 199 character set which supports the following languages:
214 Albanian, Czech, English, German, Hungarian, Polish, Romanian, 200 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
215 Serbian, Croatian, Slovak, Slovene, and Swedish. 201 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
216 " . describe-european-environment-map)) 202 and Swedish."))
217 )) 203 '("European"))
218 204
219 (set-language-info-alist 205 (set-language-info-alist
220 "Polish" '((setup-function . (setup-latin2-environment 206 "Polish" '((charset ascii latin-iso8859-2)
221 . setup-european-environment-map)) 207 (coding-system iso-8859-2)
222 (charset . (ascii latin-iso8859-2)) 208 (coding-priority iso-8859-2)
223 (tutorial . "TUTORIAL.pl") 209 (tutorial . "TUTORIAL.pl")
224 (coding-system . (iso-8859-2)) 210 (documentation . "\
225 (documentation . ("\ 211 This language environment is a generic one for Latin-2 (ISO-8859-2)
226 These languages are supported with the Latin-2 (ISO-8859-2) character set: 212 character set which supports the following languages:
227 Albanian, Czech, English, German, Hungarian, Polish, Romanian, 213 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
228 Serbian, Croatian, Slovak, Slovene, and Swedish. 214 Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
229 " . describe-european-environment-map)) 215 and Swedish."))
230 )) 216 '("European"))
231 217
232 (set-language-info-alist 218 ;; Romanian support originally from romanian.el
233 "Romanian" '((setup-function . (setup-latin2-environment 219
234 . setup-european-environment-map)) 220 (defun setup-romanian-environment ()
235 (charset . (ascii latin-iso8859-2)) 221 "Setup multilingual environment (MULE) for Romanian."
222 (interactive)
223 (set-language-environment "Romanian"))
224
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")
236 (tutorial . "TUTORIAL.ro") 230 (tutorial . "TUTORIAL.ro")
237 (coding-system . (iso-8859-2)) 231 (sample-text . "Bun,Bc(B ziua, bine a,B~(Bi venit!")
238 (documentation . ("\ 232 (documentation . t))
239 These languages are supported with the Latin-2 (ISO-8859-2) character set: 233 '("European"))
240 Albanian, Czech, English, German, Hungarian, Polish, Romanian, 234
241 Serbian, Croatian, Slovak, Slovene, and Swedish. 235 (provide 'romanian)
242 " . describe-european-environment-map)) 236
243 )) 237 ;; Czech support originally from czech.el
238 ;; Author: Milan Zamazal <pdm@fi.muni.cz>
239 ;; Maintainer(for XEmacs): David Sauer <davids@penguin.cz>
240
241 (defun setup-czech-environment ()
242 "Set up multilingual environment (MULE) for czech users."
243 (interactive)
244 (set-language-environment "Czech"))
245
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,Bx(Bejeme v,Ba(Bm hezk,B}(B den!")
252 (documentation . t))
253 '("European"))
254
255 (provide 'czech)
256
244 257
245 ;; Latin-3 (ISO-8859-3) 258 ;; Latin-3 (ISO-8859-3)
246 259
247 ;; (make-coding-system 260 ;; (make-coding-system
248 ;; 'iso-latin-3 2 ?3 261 ;; 'iso-latin-3 2 ?3
249 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-3)" 262 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-3)"
250 ;; '((ascii t) (latin-iso8859-3 t) nil nil 263 ;; '(ascii latin-iso8859-3 nil nil
251 ;; nil ascii-eol ascii-cntl nil nil nil nil)) 264 ;; nil nil nil nil nil nil nil)
265 ;; '((safe-charsets ascii latin-iso8859-3)
266 ;; (mime-charset . iso-8859-3)))
252 267
253 ;; (define-coding-system-alias 'iso-8859-3 'iso-latin-3) 268 ;; (define-coding-system-alias 'iso-8859-3 'iso-latin-3)
254 ;; (define-coding-system-alias 'latin-3 'iso-latin-3) 269 ;; (define-coding-system-alias 'latin-3 'iso-latin-3)
255 270
256 (make-coding-system 271 (make-coding-system
263 )) 278 ))
264 279
265 (defun setup-latin3-environment () 280 (defun setup-latin3-environment ()
266 "Set up multilingual environment (MULE) for European Latin-3 users." 281 "Set up multilingual environment (MULE) for European Latin-3 users."
267 (interactive) 282 (interactive)
268 (setup-8-bit-environment "Latin-3" 'latin-iso8859-3 'iso-8859-3 283 (set-language-environment "Latin-3"))
269 "latin-3-prefix")) 284
270 285 (set-language-info-alist
271 (set-language-info-alist 286 "Latin-3" '((charset ascii latin-iso8859-3)
272 "Latin-3" '((setup-function . (setup-latin3-environment 287 (coding-system iso-8859-3)
273 . setup-european-environment-map)) 288 (coding-priority iso-8859-3)
274 (charset . (ascii latin-iso8859-3)) 289 (input-method . "latin-3-prefix")
275 (coding-system . (iso-8859-3)) 290 (documentation . "\
276 (documentation . ("\
277 These languages are supported with the Latin-3 (ISO-8859-3) character set: 291 These languages are supported with the Latin-3 (ISO-8859-3) character set:
278 Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician, 292 Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician,
279 German, Italian, Maltese, Spanish, and Turkish. 293 German, Italian, Maltese, Spanish, and Turkish."))
280 " . describe-european-environment-map)) 294 '("European"))
281 )) 295
282 296
283 ;; Latin-4 (ISO-8859-4) 297 ;; Latin-4 (ISO-8859-4)
284 298
285 ;; (make-coding-system 299 ;; (make-coding-system
286 ;; 'iso-latin-4 2 ?4 300 ;; 'iso-latin-4 2 ?4
287 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-4)" 301 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-4)"
288 ;; '((ascii t) (latin-iso8859-4 t) nil nil 302 ;; '(ascii latin-iso8859-4 nil nil
289 ;; nil ascii-eol ascii-cntl nil nil nil nil)) 303 ;; nil nil nil nil nil nil nil)
304 ;; '((safe-charsets ascii latin-iso8859-4)
305 ;; (mime-charset . iso-8895-4)))
290 306
291 ;; (define-coding-system-alias 'iso-8859-4 'iso-latin-4) 307 ;; (define-coding-system-alias 'iso-8859-4 'iso-latin-4)
292 ;; (define-coding-system-alias 'latin-4 'iso-latin-4) 308 ;; (define-coding-system-alias 'latin-4 'iso-latin-4)
293 309
294 (make-coding-system 310 (make-coding-system
301 )) 317 ))
302 318
303 (defun setup-latin4-environment () 319 (defun setup-latin4-environment ()
304 "Set up multilingual environment (MULE) for European Latin-4 users." 320 "Set up multilingual environment (MULE) for European Latin-4 users."
305 (interactive) 321 (interactive)
306 (setup-8-bit-environment "Latin-4" 'latin-iso8859-4 'iso-8859-4 322 (set-language-environment "Latin-4"))
307 "latin-4-prefix")) 323
308 324 (set-language-info-alist
309 (set-language-info-alist 325 "Latin-4" '((charset ascii latin-iso8859-4)
310 "Latin-4" '((setup-function . (setup-latin4-environment 326 (coding-system iso-8859-4)
311 . setup-european-environment-map)) 327 (coding-priority iso-8859-4)
312 (charset . (ascii latin-iso8859-4)) 328 (input-method . "latin-4-prefix")
313 (coding-system . (iso-8859-4)) 329 (documentation . "\
314 (documentation . ("\
315 These languages are supported with the Latin-4 (ISO-8859-4) character set: 330 These languages are supported with the Latin-4 (ISO-8859-4) character set:
316 Danish, English, Estonian, Finnish, German, Greenlandic, Lappish, 331 Danish, English, Estonian, Finnish, German, Greenlandic, Lappish,
317 Latvian, Lithuanian, and Norwegian. 332 Latvian, Lithuanian, and Norwegian."))
318 " . describe-european-environment-map)) 333 '("European"))
319 )) 334
320 335
321 ;; Latin-5 (ISO-8859-9) 336 ;; Latin-5 (ISO-8859-9)
322 337
323 ;; (make-coding-system 338 ;; (make-coding-system
324 ;; 'iso-latin-5 2 ?9 339 ;; 'iso-latin-5 2 ?9
325 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-9)" 340 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-9)"
326 ;; '((ascii t) (latin-iso8859-9 t) nil nil 341 ;; '(ascii latin-iso8859-9 nil nil
327 ;; nil ascii-eol ascii-cntl nil nil nil nil)) 342 ;; nil nil nil nil nil nil nil)
343 ;; '((safe-charsets ascii latin-iso8859-9)
344 ;; (mime-charset . iso-8859-9)))
328 345
329 ;; (define-coding-system-alias 'iso-8859-9 'iso-latin-5) 346 ;; (define-coding-system-alias 'iso-8859-9 'iso-latin-5)
330 ;; (define-coding-system-alias 'latin-5 'iso-latin-5) 347 ;; (define-coding-system-alias 'latin-5 'iso-latin-5)
331 348
332 (make-coding-system 349 (make-coding-system
339 )) 356 ))
340 357
341 (defun setup-latin5-environment () 358 (defun setup-latin5-environment ()
342 "Set up multilingual environment (MULE) for European Latin-5 users." 359 "Set up multilingual environment (MULE) for European Latin-5 users."
343 (interactive) 360 (interactive)
344 (setup-8-bit-environment "Latin-5" 'latin-iso8859-9 'iso-8859-5 361 (set-language-environment "Latin-5"))
345 "latin-5-prefix")) 362
346 363 (set-language-info-alist
347 (set-language-info-alist 364 "Latin-5" '((charset ascii latin-iso8859-9)
348 "Latin-5" '((setup-function . (setup-latin5-environment 365 (coding-system iso-8859-9)
349 . setup-european-environment-map)) 366 (coding-priority iso-8859-9)
350 (charset . (ascii latin-iso8859-9)) 367 (input-method . "latin-5-prefix")
351 (coding-system . (iso-8859-5)) 368 (documentation . "\
352 (documentation . ("\ 369 These languages are supported with the Latin-5 (ISO-8859-9) character set."))
353 These languages are supported with the Latin-5 (ISO-8859-9) character set. 370 '("European"))
354 " . describe-european-environment-map)) 371
355 )) 372
356 373 (defun setup-german-environment ()
357 ;; (defun setup-european-environment () 374 "Set up multilingual environment (MULE) for German users."
358 ;; "Setup multilingual environment (MULE) for European languages users. 375 (interactive)
359 ;; It actually reset MULE to the default status, and 376 (set-language-environment "German"))
360 ;; set quail-latin-1 as the default input method to be selected. 377
361 ;; See also the documentation of setup-english-environment." 378 (set-language-info-alist
362 ;; (setup-english-environment) 379 "German" '((tutorial . "TUTORIAL.de")
363 ;; (setq default-input-method '("European" . "quail-latin-1"))) 380 (charset ascii latin-iso8859-1)
364 381 (coding-system iso-8859-1)
365 ;; (defun describe-european-support () 382 (coding-priority iso-8859-1)
366 ;; "Describe how Emacs support European languages." 383 (input-method . "german-postfix")
367 ;; (interactive) 384 (sample-text . "\
368 ;; (describe-language-support-internal "European")) 385 German (Deutsch Nord) Guten Tag
369 386 German (Deutsch S,A|(Bd) Gr,A|_(B Gott")
370 ;; (set-language-info-alist 387 (documentation . "\
371 ;; "European" '((setup-function . setup-european-environment) 388 This language environment is almost the same as Latin-1,
372 ;; (describe-function . describe-european-support) 389 but default input method is set to \"german-postfix\"."))
373 ;; (charset . (ascii latin-iso8859-1 latin-iso8859-2 390 '("European"))
374 ;; latin-iso8859-3 latin-iso8859-4 latin-iso8859-9)) 391
375 ;; (coding-system . (iso-8859-1 iso-8859-2 iso-8859-3 392 (defun setup-slovenian-environment ()
376 ;; iso-8859-4 iso-8859-9)) 393 "Setup multilingual environment (MULE) for Slovenian."
377 ;; (sample-text 394 (interactive)
378 ;; . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") 395 (set-language-environment "Slovenian"))
379 ;; (documentation . "\ 396
380 ;; Almost all of European languages are supported by the character sets and 397 (set-language-info-alist
381 ;; coding systems listed below. 398 "Slovenian" '((charset . (ascii latin-iso8859-2))
382 ;; To input them, LEIM (Libraries for Emacs Input Methods) should have been 399 (coding-system . (iso-8859-2))
383 ;; installed.") 400 (coding-priority . (iso-8859-2))
384 ;; )) 401 (input-method . "latin-2-postfix")
402 (tutorial . "TUTORIAL.sl")
403 (sample-text . ",B.(Belimo vam uspe,B9(Ben dan!")
404 (documentation . t))
405 '("European"))
406
407 (provide 'slovenian)
385 408
386 ;;; european.el ends here 409 ;;; european.el ends here