comparison man/mule.texi @ 26140:068f7ad41d40

Describe new functions and variables for locales.
author Paul Eggert <eggert@twinsun.com>
date Sat, 23 Oct 1999 08:26:16 +0000
parents ac7e9e5e2ccb
children 949ca235ee9e
comparison
equal deleted inserted replaced
26139:ca31ffbed318 26140:068f7ad41d40
7 @cindex international scripts 7 @cindex international scripts
8 @cindex multibyte characters 8 @cindex multibyte characters
9 @cindex encoding of characters 9 @cindex encoding of characters
10 10
11 @cindex Chinese 11 @cindex Chinese
12 @cindex Cyrillic
12 @cindex Devanagari 13 @cindex Devanagari
13 @cindex Hindi 14 @cindex Hindi
14 @cindex Marathi 15 @cindex Marathi
15 @cindex Ethiopian 16 @cindex Ethiopic
16 @cindex Greek 17 @cindex Greek
18 @cindex Hebrew
17 @cindex IPA 19 @cindex IPA
18 @cindex Japanese 20 @cindex Japanese
19 @cindex Korean 21 @cindex Korean
20 @cindex Lao 22 @cindex Lao
21 @cindex Russian
22 @cindex Thai 23 @cindex Thai
23 @cindex Tibetan 24 @cindex Tibetan
24 @cindex Vietnamese 25 @cindex Vietnamese
25 Emacs supports a wide variety of international character sets, 26 Emacs supports a wide variety of international character sets,
26 including European variants of the Latin alphabet, as well as Chinese, 27 including European variants of the Latin alphabet, as well as Chinese,
27 Devanagari (Hindi and Marathi), Ethiopian, Greek, IPA, Japanese, Korean, 28 Cyrillic, Devanagari (Hindi and Marathi), Ethiopic, Greek, Hebrew, IPA,
28 Lao, Russian, Thai, Tibetan, and Vietnamese scripts. These features 29 Japanese, Korean, Lao, Thai, Tibetan, and Vietnamese scripts. These features
29 have been merged from the modified version of Emacs known as MULE (for 30 have been merged from the modified version of Emacs known as MULE (for
30 ``MULti-lingual Enhancement to GNU Emacs'') 31 ``MULti-lingual Enhancement to GNU Emacs'')
31 32
32 @menu 33 @menu
33 * International Intro:: Basic concepts of multibyte characters. 34 * International Intro:: Basic concepts of multibyte characters.
145 incoming mail, netnews, and any other text you read into Emacs. It may 146 incoming mail, netnews, and any other text you read into Emacs. It may
146 also specify the default coding system to use when you create a file. 147 also specify the default coding system to use when you create a file.
147 Each language environment also specifies a default input method. 148 Each language environment also specifies a default input method.
148 149
149 @findex set-language-environment 150 @findex set-language-environment
150 The way to select a language environment is with the command @kbd{M-x 151 @vindex current-language-environment
152 To select a language environment, customize the option
153 @code{current-language-environment} or use the command @kbd{M-x
151 set-language-environment}. It makes no difference which buffer is 154 set-language-environment}. It makes no difference which buffer is
152 current when you use this command, because the effects apply globally to 155 current when you use this command, because the effects apply globally to
153 the Emacs session. The supported language environments include: 156 the Emacs session. The supported language environments include:
154 157
155 @quotation 158 @quotation
156 Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-Alternativnyj, 159 Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ALT, Cyrillic-ISO,
157 Cyrillic-ISO, Cyrillic-KOI8, Devanagari, English, Ethiopic, Greek, 160 Cyrillic-KOI8, Czech, Devanagari, English, Ethiopic, German, Greek,
158 Hebrew, Japanese, Korean, Lao, Latin-1, Latin-2, Latin-3, Latin-4, 161 Hebrew, IPA, Japanese, Korean, Lao, Latin-1, Latin-2, Latin-3,
159 Latin-5, Thai, Tibetan, and Vietnamese. 162 Latin-4, Latin-5, Latin-8, Latin-9, Romanian, Slovak, Slovenian, Thai,
163 Tibetan, Turkish, and Vietnamese.
160 @end quotation 164 @end quotation
161 165
166 @findex set-locale-environment
167 @vindex locale-language-names
168 @vindex locale-charset-language-names
162 Some operating systems let you specify the language you are using by 169 Some operating systems let you specify the language you are using by
163 setting locale environment variables. Emacs handles one common special 170 setting the locale environment variables @env{LC_ALL}, @env{LC_CTYPE},
164 case of this: if your locale name for character types contains the 171 and @env{LANG}; the first of these which is nonempty specifies your
165 string @samp{8859-@var{n}}, Emacs automatically selects the 172 locale. Emacs handles this during startup by invoking the
166 corresponding language environment. 173 @code{set-locale-environment} function, which matches your locale
174 against entries in the value of the variable
175 @code{locale-language-names} and selects the corresponding language
176 environment if a match is found. But if your locale also matches an
177 entry in the variable @code{locale-charset-language-names}, this entry
178 is preferred if its character set disagrees. For example, suppose the
179 locale @samp{en_GB.ISO8859-15} matches @code{"Latin-1"} in
180 @code{locale-language-names} and @code{"Latin-9"} in
181 @code{locale-charset-language-names}; since these two language
182 environments' character sets disagree, Emacs uses @code{"Latin-9"}.
183
184 @findex set-locale-environment
185 @vindex locale-preferred-coding-systems
186 The @code{set-locale-environment} function normally uses the preferred
187 coding system established by the language environment to decode system
188 messages. But if your locale matches an entry in the variable
189 @code{locale-preferred-coding-systems}, Emacs uses the corresponding
190 coding system instead. For example, if the locale @samp{ja_JP.PCK}
191 matches @code{japanese-shift-jis} in
192 @code{locale-preferred-coding-systems}, Emacs uses that encoding even
193 though it might normally use @code{japanese-iso-8bit}.
194
195 The environment chosen from the locale when Emacs starts is
196 overidden by any explicit use of the command
197 @code{set-language-environment} or customization of
198 @code{current-language-environment} in your init file.
167 199
168 @kindex C-h L 200 @kindex C-h L
169 @findex describe-language-environment 201 @findex describe-language-environment
170 To display information about the effects of a certain language 202 To display information about the effects of a certain language
171 environment @var{lang-env}, use the command @kbd{C-h L @var{lang-env} 203 environment @var{lang-env}, use the command @kbd{C-h L @var{lang-env}
748 differently) under the new coding system. If you try to save one of 780 differently) under the new coding system. If you try to save one of
749 these buffers under the visited file name, saving may use the wrong file 781 these buffers under the visited file name, saving may use the wrong file
750 name, or it may get an error. If such a problem happens, use @kbd{C-x 782 name, or it may get an error. If such a problem happens, use @kbd{C-x
751 C-w} to specify a new file name for that buffer. 783 C-w} to specify a new file name for that buffer.
752 784
785 @vindex locale-coding-system
786 The variable @code{locale-coding-system} specifies a coding system to
787 use when encoding and decoding system strings such as system error
788 messages and @code{format-time-string} formats and time stamps. This
789 coding system should be compatible with the underlying system's coding
790 system, which is normally specified by the first environment variable in
791 the list @env{LC_ALL}, @env{LC_CTYPE}, @env{LANG} whose value is
792 nonempty.
793
753 @node Fontsets 794 @node Fontsets
754 @section Fontsets 795 @section Fontsets
755 @cindex fontsets 796 @cindex fontsets
756 797
757 A font for X Windows typically defines shapes for one alphabet or 798 A font for X Windows typically defines shapes for one alphabet or