comparison lisp/language/european.el @ 17993:73869115ae0a

Most of setup-LANGUAGE-environment functions are moved form LANGUAGE.el to LANG-util.el. These functions now at first call setup-english-environment to reset various values to the defaults.
author Kenichi Handa <handa@m17n.org>
date Wed, 28 May 1997 03:39:03 +0000
parents 084d922fcd78
children d6b58197bd69
comparison
equal deleted inserted replaced
17992:191bef5a0922 17993:73869115ae0a
26 26
27 ;; For Europeans, five character sets ISO8859-1,2,3,4,9 are supported. 27 ;; For Europeans, five character sets ISO8859-1,2,3,4,9 are supported.
28 28
29 ;;; Code: 29 ;;; Code:
30 30
31 (define-prefix-command 'describe-european-support-map)
32 (define-key-after describe-language-support-map [European]
33 '("European" . describe-european-support-map)
34 t)
35
36 (define-prefix-command 'setup-european-environment-map)
37 (define-key-after setup-language-environment-map [European]
38 '("European" . setup-european-environment-map)
39 t)
40
41 ;; Setup for a langauge which uses one-byte 8-bit CHARSET, one-byte
42 ;; 8-bit CODING-SYSTEM, and INPUT-METHOD.
43 (defun setup-8-bit-environment (charset coding-system input-method)
44 (setup-english-environment)
45 (setq-default buffer-file-coding-system coding-system)
46 (setq coding-category-iso-8-1 coding-system
47 coding-category-iso-8-2 coding-system)
48 (set-terminal-coding-system-internal coding-system)
49 (set-keyboard-coding-system-internal coding-system)
50 (setq sendmail-coding-system nil
51 rmail-file-coding-system coding-system)
52
53 (if charset
54 (let ((nonascii-offset (make-char charset)))
55 (setq nonascii-insert-offset nonascii-offset
56 set-case-syntax-offset nonascii-offset)))
57
58 (if input-method
59 (setq default-input-method input-method)))
60
61 ;; Latin1 (ISO-8859-1)
62
31 (make-coding-system 63 (make-coding-system
32 'iso-8859-1 2 ?X 64 'iso-8859-1 2 ?X
33 "Coding-system used in X as Compound Text Encoding." 65 "MIME ISO-8859-1 Compound Text Encoding."
34 '((ascii t) (latin-iso8859-1 t) nil nil 66 '((ascii t) (latin-iso8859-1 t) nil nil
35 nil ascii-eol ascii-cntl)) 67 nil ascii-eol ascii-cntl))
36 68
37 ;; CTEXT is an alias for ISO-8859-1 69 ;; CTEXT is an alias for ISO-8859-1
38 (define-coding-system-alias 'iso-8859-1 'ctext) 70 (define-coding-system-alias 'iso-8859-1 'ctext)
39 71
72 (register-input-method "Latin1"
73 '("quail-latin-1" quail-use-package "quail/latin"))
74
75 (defun setup-latin1-environment ()
76 "Setup multilingual environment (MULE) for European Latin1 users."
77 (interactive)
78 (setup-8-bit-environment 'latin-iso8859-1 'iso-8859-1
79 '("Latin1" . "quail-latin-1")))
80
81 (set-language-info-alist
82 "Latin1" '((setup-function . (setup-latin1-environment
83 . setup-european-environment-map))
84 (charset . (ascii latin-iso8859-1))
85 (coding-system . (iso-8859-1))
86 (sample-text
87 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!")
88 (documentation . ("\
89 The following languages is supported by Latin1 (ISO-8859-1) character set.
90 " . describe-european-support-map))
91 ))
92
93 ;; Latin2 (ISO-8859-2)
94
40 (make-coding-system 95 (make-coding-system
41 'iso-8859-2 2 ?2 "MIME ISO-8859-2" 96 'iso-8859-2 2 ?2 "MIME ISO-8859-2"
42 '((ascii t) (latin-iso8859-2 t) nil nil 97 '((ascii t) (latin-iso8859-2 t) nil nil
43 nil ascii-eol ascii-cntl nil nil nil nil)) 98 nil ascii-eol ascii-cntl nil nil nil nil))
44 99
100 (register-input-method "Latin2"
101 '("quail-latin-2" quail-use-package "quail/latin"))
102
103 (defun setup-latin2-environment ()
104 "Setup multilingual environment (MULE) for European Latin2 users."
105 (interactive)
106 (setup-8-bit-environment 'latin-iso8859-2 'iso-8859-2
107 '("Latin2" . "quail-latin-2")))
108
109 (set-language-info-alist
110 "Latin2" '((setup-function . (setup-latin2-environment
111 . setup-european-environment-map))
112 (charset . (ascii latin-iso8859-2))
113 (coding-system . (iso-8859-2))
114 (documentation . ("\
115 The following languages is supported by Latin2 (ISO-8859-2) character set.
116 " . describe-european-support-map))
117 ))
118
119 ;; Latin3 (ISO-8859-3)
120
45 (make-coding-system 121 (make-coding-system
46 'iso-8859-3 2 ?3 "MIME ISO-8859-3" 122 'iso-8859-3 2 ?3 "MIME ISO-8859-3"
47 '((ascii t) (latin-iso8859-3 t) nil nil 123 '((ascii t) (latin-iso8859-3 t) nil nil
48 nil ascii-eol ascii-cntl nil nil nil nil)) 124 nil ascii-eol ascii-cntl nil nil nil nil))
49 125
126 (register-input-method "Latin3"
127 '("quail-latin-3" quail-use-package "quail/latin"))
128
129 (defun setup-latin3-environment ()
130 "Setup multilingual environment (MULE) for European Latin3 users."
131 (interactive)
132 (setup-8-bit-environment 'latin-iso8859-3 'iso-8859-3
133 '("Latin3" . "quail-latin-3")))
134
135 (set-language-info-alist
136 "Latin3" '((setup-function . (setup-latin3-environment
137 . setup-european-environment-map))
138 (charset . (ascii latin-iso8859-3))
139 (coding-system . (iso-8859-3))
140 (documentation . ("\
141 The following languages is supported by Latin3 (ISO-8859-3) character set.
142 " . describe-european-support-map))
143 ))
144
145 ;; Latin4 (ISO-8859-4)
146
50 (make-coding-system 147 (make-coding-system
51 'iso-8859-4 2 ?4 "MIME ISO-8859-4" 148 'iso-8859-4 2 ?4 "MIME ISO-8859-4"
52 '((ascii t) (latin-iso8859-4 t) nil nil 149 '((ascii t) (latin-iso8859-4 t) nil nil
53 nil ascii-eol ascii-cntl nil nil nil nil)) 150 nil ascii-eol ascii-cntl nil nil nil nil))
54 151
152 (register-input-method "European"
153 '("quail-latin-4" quail-use-package "quail/latin"))
154
155 (defun setup-latin4-environment ()
156 "Setup multilingual environment (MULE) for European Latin4 users."
157 (interactive)
158 (setup-8-bit-environment 'latin-iso8859-4 'iso-8859-4
159 '("Latin4" . "quail-latin-4")))
160
161 (set-language-info-alist
162 "Latin4" '((setup-function . (setup-latin4-environment
163 . setup-european-environment-map))
164 (charset . (ascii latin-iso8859-1))
165 (coding-system . (iso-8859-4))
166 (documentation . ("\
167 The following languages is supported by Latin4 (ISO-8859-4) character set.
168 " . describe-european-support-map))
169 ))
170
171 ;; Latin4 (ISO-8859-9)
172
55 (make-coding-system 173 (make-coding-system
56 'iso-8859-9 2 ?9 "MIME ISO-8859-9" 174 'iso-8859-9 2 ?9 "MIME ISO-8859-9"
57 '((ascii t) (latin-iso8859-9 t) nil nil 175 '((ascii t) (latin-iso8859-9 t) nil nil
58 nil ascii-eol ascii-cntl nil nil nil nil)) 176 nil ascii-eol ascii-cntl nil nil nil nil))
59 177
60 (register-input-method "European" 178 (register-input-method "European"
61 '("quail-latin-1" quail-use-package "quail/latin"))
62 (register-input-method "European"
63 '("quail-latin-2" quail-use-package "quail/latin"))
64 (register-input-method "European"
65 '("quail-latin-3" quail-use-package "quail/latin"))
66 (register-input-method "European"
67 '("quail-latin-4" quail-use-package "quail/latin"))
68 (register-input-method "European"
69 '("quail-latin-5" quail-use-package "quail/latin")) 179 '("quail-latin-5" quail-use-package "quail/latin"))
70 180
71 (defun setup-european-environment () 181 (defun setup-latin5-environment ()
72 "Setup multilingual environment (MULE) for European languages users. 182 "Setup multilingual environment (MULE) for European Latin5 users."
73 It actually reset MULE to the default status, and 183 (interactive)
74 set quail-latin-1 as the default input method to be selected. 184 (setup-8-bit-environment 'latin-iso8859-9 'iso-8859-9
75 See also the documentation of setup-english-environment." 185 '("Latin5" . "quail-latin-5")))
76 (setup-english-environment) 186
77 (setq default-input-method '("European" . "quail-latin-1"))) 187 (set-language-info-alist
78 188 "Latin5" '((setup-function . (setup-latin5-environment
79 (set-language-info-alist 189 . setup-european-environment-map))
80 "European" '((setup-function . setup-european-environment) 190 (charset . (ascii latin-iso8859-9))
81 (charset . (ascii latin-iso8859-1 latin-iso8859-2 191 (coding-system . (iso-8859-9))
82 latin-iso8859-3 latin-iso8859-4 latin-iso8859-9)) 192 (documentation . ("\
83 (coding-system . (iso-8859-1 iso-8859-2 iso-8859-3 193 The following languages is supported by Latin5 (ISO-8859-9) character set.
84 iso-8859-4 iso-8859-9)) 194 " . describe-european-support-map))
85 (sample-text 195 ))
86 . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") 196
87 (documentation . ("\
88 Almost all of European languages are supported by the character sets and
89 coding systems listed below.
90 To input them, LEIM (Libraries for Emacs Input Methods) should have been
91 installed."))
92 ))
93
94 (let ((languages '("French" "German" "Spanish" "Italian" 197 (let ((languages '("French" "German" "Spanish" "Italian"
95 ;; We have to list much more European languages here. 198 ;; We have to list much more European languages here.
96 )) 199 ))
97 (val '("quail-latin-1" quail-use-package "quail/latin"))) 200 (val '("quail-latin-1" quail-use-package "quail/latin")))
98 (while languages 201 (while languages