Mercurial > emacs
comparison lisp/international/mule-cmds.el @ 83269:48ba3f89c89f
Merged from miles@gnu.org--gnu-2005 (patch 37-38, 162-182)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-162
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-163
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-164
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-165
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-166
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-167
Tweak obsolete function/variable warning message
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-168
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-169
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-170
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-171
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-172
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-173
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-174
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-175
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-176
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-177
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-178
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-179
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-180
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-181
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-182
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-37
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-38
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-309
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Wed, 16 Mar 2005 16:06:15 +0000 |
parents | 9684495d72bc 10307e6c7baa |
children | 886073e54ccb |
comparison
equal
deleted
inserted
replaced
83268:7ea3d7198adc | 83269:48ba3f89c89f |
---|---|
2041 ;; uses. In most cases the first two letters are the same, so | 2041 ;; uses. In most cases the first two letters are the same, so |
2042 ;; most of the regexps in locale-language-names work. Japanese | 2042 ;; most of the regexps in locale-language-names work. Japanese |
2043 ;; and Chinese are exceptions, which are listed in the | 2043 ;; and Chinese are exceptions, which are listed in the |
2044 ;; non-standard section at the bottom of locale-language-names. | 2044 ;; non-standard section at the bottom of locale-language-names. |
2045 | 2045 |
2046 ; aa Afar | 2046 ("aa_DJ" . "Latin-1") ; Afar |
2047 ; ab Abkhazian | 2047 ("aa" . "UTF-8") |
2048 ;; ab Abkhazian | |
2048 ("af" . "Latin-1") ; Afrikaans | 2049 ("af" . "Latin-1") ; Afrikaans |
2049 ("am" . "Ethiopic") ; Amharic | 2050 ("am" "Ethiopic" utf-8) ; Amharic |
2051 ("an" . "Latin-9") ; Aragonese | |
2050 ; ar Arabic glibc uses 8859-6 | 2052 ; ar Arabic glibc uses 8859-6 |
2051 ; as Assamese | 2053 ; as Assamese |
2052 ; ay Aymara | 2054 ; ay Aymara |
2053 ; az Azerbaijani | 2055 ("az" . "UTF-8") ; Azerbaijani |
2054 ; ba Bashkir | 2056 ; ba Bashkir |
2055 ("be" . "Belarusian") ; Belarusian [Byelorussian until early 1990s] | 2057 ("be" "Belarusian" cp1251) ; Belarusian [Byelorussian until early 1990s] |
2056 ("bg" . "Bulgarian") ; Bulgarian | 2058 ("bg" "Bulgarian" cp1251) ; Bulgarian |
2057 ; bh Bihari | 2059 ; bh Bihari |
2058 ; bi Bislama | 2060 ; bi Bislama |
2059 ; bn Bengali, Bangla | 2061 ("bn" . "UTF-8") ; Bengali, Bangla |
2060 ("bo" . "Tibetan") | 2062 ("bo" . "Tibetan") |
2061 ("br" . "Latin-1") ; Breton | 2063 ("br" . "Latin-1") ; Breton |
2062 ("bs" . "Latin-2") ; Bosnian | 2064 ("bs" . "Latin-2") ; Bosnian |
2065 ("byn" . "UTF-8") ; Bilin; Blin | |
2063 ("ca" . "Latin-1") ; Catalan | 2066 ("ca" . "Latin-1") ; Catalan |
2064 ; co Corsican | 2067 ; co Corsican |
2065 ("cs" . "Czech") | 2068 ("cs" "Czech" iso-8859-2) |
2066 ("cy" . "Welsh") ; Welsh [glibc uses Latin-8. Did this change?] | 2069 ("cy" "Welsh" iso-8859-14) |
2067 ("da" . "Latin-1") ; Danish | 2070 ("da" . "Latin-1") ; Danish |
2068 ("de" . "German") | 2071 ("de" "German" iso-8859-1) |
2069 ; dz Bhutani | 2072 ; dz Bhutani |
2070 ("el" . "Greek") | 2073 ("el" "Greek" iso-8859-7) |
2071 ;; Users who specify "en" explicitly typically want Latin-1, not ASCII. | 2074 ;; Users who specify "en" explicitly typically want Latin-1, not ASCII. |
2072 ;; That's actually what the GNU locales define, modulo things like | 2075 ;; That's actually what the GNU locales define, modulo things like |
2073 ;; en_IN -- fx. | 2076 ;; en_IN -- fx. |
2077 ("en_IN" "English" utf-8) ; glibc uses utf-8 for English in India | |
2074 ("en" . "Latin-1") ; English | 2078 ("en" . "Latin-1") ; English |
2075 ("eo" . "Latin-3") ; Esperanto | 2079 ("eo" . "Latin-3") ; Esperanto |
2076 ("es" . "Spanish") | 2080 ("es" "Spanish" iso-8859-1) |
2077 ("et" . "Latin-4") ; Estonian | 2081 ("et" . "Latin-1") ; Estonian |
2078 ("eu" . "Latin-1") ; Basque | 2082 ("eu" . "Latin-1") ; Basque |
2079 ; fa Persian glibc uses utf-8 | 2083 ("fa" . "UTF-8") ; Persian |
2080 ("fi" . "Latin-1") ; Finnish | 2084 ("fi" . "Latin-1") ; Finnish |
2081 ; fj Fiji | 2085 ("fj" . "Latin-1") ; Fiji |
2082 ("fo" . "Latin-1") ; Faroese | 2086 ("fo" . "Latin-1") ; Faroese |
2083 ("fr" . "French") ; French | 2087 ("fr" "French" iso-8859-1) ; French |
2084 ("fy" . "Latin-1") ; Frisian | 2088 ("fy" . "Latin-1") ; Frisian |
2085 ("ga" . "Latin-1") ; Irish Gaelic (new orthography) | 2089 ("ga" . "Latin-1") ; Irish Gaelic (new orthography) |
2086 ("gd" . "Latin-1") ; Scots Gaelic | 2090 ("gd" . "Latin-9") ; Scots Gaelic |
2087 ("gl" . "Latin-1") ; Galician | 2091 ("gez" "Ethiopic" utf-8) ; Geez |
2092 ("gl" . "Latin-1") ; Gallegan; Galician | |
2088 ; gn Guarani | 2093 ; gn Guarani |
2089 ; gu Gujarati | 2094 ("gu" . "UTF-8") ; Gujarati |
2090 ("gv" . "Latin-8") ; Manx Gaelic glibc uses 8859-1 | 2095 ("gv" . "Latin-1") ; Manx Gaelic |
2091 ; ha Hausa | 2096 ; ha Hausa |
2092 ("he" . "Hebrew") | 2097 ("he" "Hebrew" iso-8859-8) |
2093 ("hi" . "Devanagari") ; Hindi glibc uses utf-8 | 2098 ("hi" "Devanagari" utf-8) ; Hindi |
2094 ("hr" . "Croatian") ; Croatian | 2099 ("hr" "Croatian" iso-8859-2) ; Croatian |
2095 ("hu" . "Latin-2") ; Hungarian | 2100 ("hu" . "Latin-2") ; Hungarian |
2096 ; hy Armenian | 2101 ; hy Armenian |
2097 ; ia Interlingua | 2102 ; ia Interlingua |
2098 ("id" . "Latin-1") ; Indonesian | 2103 ("id" . "Latin-1") ; Indonesian |
2099 ; ie Interlingue | 2104 ; ie Interlingue |
2100 ; ik Inupiak | 2105 ; ik Inupiak |
2101 ("is" . "Latin-1") ; Icelandic | 2106 ("is" . "Latin-1") ; Icelandic |
2102 ("it" . "Italian") ; Italian | 2107 ("it" "Italian" iso-8859-1) ; Italian |
2103 ; iu Inuktitut | 2108 ; iu Inuktitut |
2104 ("ja" . "Japanese") | 2109 ("iw" "Hebrew" iso-8859-8) |
2110 ("ja" "Japanese" euc-jp) | |
2105 ; jw Javanese | 2111 ; jw Javanese |
2106 ("ka" . "Georgian") ; Georgian | 2112 ("ka" "Georgian" georgian-ps) ; Georgian |
2107 ; kk Kazakh | 2113 ; kk Kazakh |
2108 ("kl" . "Latin-1") ; Greenlandic | 2114 ("kl" . "Latin-1") ; Greenlandic |
2109 ; km Cambodian | 2115 ; km Cambodian |
2110 ; kn Kannada | 2116 ("kn" "Kannada" utf-8) |
2111 ("ko" . "Korean") | 2117 ("ko" "Korean" euc-kr) |
2112 ; ks Kashmiri | 2118 ; ks Kashmiri |
2113 ; ku Kurdish | 2119 ; ku Kurdish |
2114 ("kw" . "Latin-1") ; Cornish | 2120 ("kw" . "Latin-1") ; Cornish |
2115 ; ky Kirghiz | 2121 ; ky Kirghiz |
2116 ("la" . "Latin-1") ; Latin | 2122 ("la" . "Latin-1") ; Latin |
2117 ("lb" . "Latin-1") ; Luxemburgish | 2123 ("lb" . "Latin-1") ; Luxemburgish |
2124 ("lg" . "Laint-6") ; Ganda | |
2118 ; ln Lingala | 2125 ; ln Lingala |
2119 ("lo" . "Lao") ; Laothian | 2126 ("lo" "Lao" utf-8) ; Laothian |
2120 ("lt" . "Lithuanian") | 2127 ("lt" "Lithuanian" iso-8859-13) |
2121 ("lv" . "Latvian") ; Latvian, Lettish | 2128 ("lv" . "Latvian") ; Latvian, Lettish |
2122 ; mg Malagasy | 2129 ; mg Malagasy |
2123 ("mi" . "Latin-7") ; Maori | 2130 ("mi" . "Latin-7") ; Maori |
2124 ("mk" . "Cyrillic-ISO") ; Macedonian | 2131 ("mk" "Cyrillic-ISO" iso-8859-5) ; Macedonian |
2125 ; ml Malayalam | 2132 ("ml" "Malayalam" utf-8) |
2126 ; mn Mongolian | 2133 ("mn" . "UTF-8") ; Mongolian |
2127 ; mo Moldavian | 2134 ; mo Moldavian |
2128 ("mr" . "Devanagari") ; Marathi glibc uses utf-8 | 2135 ("mr" "Devanagari" utf-8) ; Marathi |
2129 ("ms" . "Latin-1") ; Malay | 2136 ("ms" . "Latin-1") ; Malay |
2130 ("mt" . "Latin-3") ; Maltese | 2137 ("mt" . "Latin-3") ; Maltese |
2131 ; my Burmese | 2138 ; my Burmese |
2132 ; na Nauru | 2139 ; na Nauru |
2133 ("ne" . "Devanagari") ; Nepali | 2140 ("nb" . "Latin-1") ; Norwegian |
2134 ("nl" . "Dutch") | 2141 ("ne" "Devanagari" utf-8) ; Nepali |
2142 ("nl" "Dutch" iso-8859-1) | |
2135 ("no" . "Latin-1") ; Norwegian | 2143 ("no" . "Latin-1") ; Norwegian |
2136 ("oc" . "Latin-1") ; Occitan | 2144 ("oc" . "Latin-1") ; Occitan |
2137 ; om (Afan) Oromo | 2145 ("om_ET" . "UTF-8") ; (Afan) Oromo |
2146 ("om" . "Latin-1") ; (Afan) Oromo | |
2138 ; or Oriya | 2147 ; or Oriya |
2139 ; pa Punjabi | 2148 ("pa" . "UTF-8") ; Punjabi |
2140 ("pl" . "Latin-2") ; Polish | 2149 ("pl" . "Latin-2") ; Polish |
2141 ; ps Pashto, Pushto | 2150 ; ps Pashto, Pushto |
2142 ("pt" . "Latin-1") ; Portuguese | 2151 ("pt" . "Latin-1") ; Portuguese |
2143 ; qu Quechua | 2152 ; qu Quechua |
2144 ("rm" . "Latin-1") ; Rhaeto-Romanic | 2153 ("rm" . "Latin-1") ; Rhaeto-Romanic |
2145 ; rn Kirundi | 2154 ; rn Kirundi |
2146 ("ro" . "Romanian") | 2155 ("ro" "Romanian" iso-8859-2) |
2147 ("ru.*[_.]koi8" . "Russian") | 2156 ("ru_RU" "Russian" iso-8859-5) |
2148 ("ru" . "Cyrillic-ISO") ; Russian | 2157 ("ru_UA" "Russian" koi8-u) |
2149 ; rw Kinyarwanda | 2158 ; rw Kinyarwanda |
2150 ("sa" . "Devanagari") ; Sanskrit | 2159 ("sa" . "Devanagari") ; Sanskrit |
2151 ; sd Sindhi | 2160 ; sd Sindhi |
2152 ; se Northern Sami | 2161 ("se" . "UTF-8") ; Northern Sami |
2153 ; sg Sangho | 2162 ; sg Sangho |
2154 ("sh" . "Latin-2") ; Serbo-Croatian | 2163 ("sh" . "Latin-2") ; Serbo-Croatian |
2155 ; si Sinhalese | 2164 ; si Sinhalese |
2156 ("sk" . "Slovak") | 2165 ("sid" . "UTF-8") ; Sidamo |
2157 ("sl" . "Slovenian") | 2166 ("sk" "Slovak" iso-8859-2) |
2167 ("sl" "Slovenian" iso-8859-2) | |
2158 ; sm Samoan | 2168 ; sm Samoan |
2159 ; sn Shona | 2169 ; sn Shona |
2160 ; so Somali | 2170 ("so_ET" "UTF-8") ; Somali |
2171 ("so" "Latin-1") ; Somali | |
2161 ("sq" . "Latin-1") ; Albanian | 2172 ("sq" . "Latin-1") ; Albanian |
2173 ("sr_YU@cyrillic" . "Cyrillic-ISO") ; Serbian (Cyrillic alphabet) | |
2162 ("sr" . "Latin-2") ; Serbian (Latin alphabet) | 2174 ("sr" . "Latin-2") ; Serbian (Latin alphabet) |
2163 ("sr_YU@cyrillic" . "Cyrillic-ISO") ; per glibc | |
2164 ; ss Siswati | 2175 ; ss Siswati |
2165 ; st Sesotho | 2176 ("st" . "Latin-1") ; Sesotho |
2166 ; su Sundanese | 2177 ; su Sundanese |
2167 ("sv" . "Swedish") ; Swedish | 2178 ("sv" "Swedish" iso-8859-1) ; Swedish |
2168 ("sw" . "Latin-1") ; Swahili | 2179 ("sw" . "Latin-1") ; Swahili |
2169 ; ta Tamil glibc uses utf-8 | 2180 ("ta" "Tamil" utf-8) |
2170 ; te Telugu glibc uses utf-8 | 2181 ("te" . "UTF-8") ; Telugu |
2171 ("tg" . "Tajik") | 2182 ("tg" "Tajik" koi8-t) |
2172 ("th" . "Thai") | 2183 ("th" "Thai" tis-620) |
2173 ; ti Tigrinya | 2184 ("ti" "Ethiopic" utf-8) ; Tigrinya |
2185 ("tig_ER" . "UTF-8") ; Tigre | |
2174 ; tk Turkmen | 2186 ; tk Turkmen |
2175 ("tl" . "Latin-1") ; Tagalog | 2187 ("tl" . "Latin-1") ; Tagalog |
2176 ; tn Setswana | 2188 ; tn Setswana |
2177 ; to Tonga | 2189 ; to Tonga |
2178 ("tr" . "Turkish") | 2190 ("tr" "Turkish" iso-8859-9) |
2179 ; ts Tsonga | 2191 ; ts Tsonga |
2180 ; tt Tatar | 2192 ("tt" . "UTF-8") ; Tatar |
2181 ; tw Twi | 2193 ; tw Twi |
2182 ; ug Uighur | 2194 ; ug Uighur |
2183 ("uk" . "Ukrainian") ; Ukrainian | 2195 ("uk" "Ukrainian" koi8-u) |
2184 ; ur Urdu glibc uses utf-8 | 2196 ("ur" . "UTF-8") ; Urdu |
2197 ("uz_UZ@cyrillic" . "UTF-8"); Uzbek | |
2185 ("uz" . "Latin-1") ; Uzbek | 2198 ("uz" . "Latin-1") ; Uzbek |
2186 ("vi" . "Vietnamese") ; glibc uses utf-8 | 2199 ("vi" "Vietnamese" utf-8) |
2187 ; vo Volapuk | 2200 ; vo Volapuk |
2188 ("wa" . "Latin-1") ; Walloon | 2201 ("wa" . "Latin-1") ; Walloon |
2189 ; wo Wolof | 2202 ; wo Wolof |
2190 ; xh Xhosa | 2203 ("xh" . "Latin-1") ; Xhosa |
2191 ("yi" . "Windows-1255") ; Yiddish | 2204 ("yi" . "Windows-1255") ; Yiddish |
2192 ; yo Yoruba | 2205 ; yo Yoruba |
2193 ; za Zhuang | 2206 ; za Zhuang |
2194 | 2207 ("zh_HK" . "Chinese-Big5") |
2195 ; glibc: | 2208 ("zh_TW" . "Chinese-Big5") |
2209 ("zh_CN" . "Chinese-GB") | |
2210 ("zh" . "Chinese-GB") | |
2196 ; zh_CN.GB18030/GB18030 \ | 2211 ; zh_CN.GB18030/GB18030 \ |
2197 ; zh_CN.GBK/GBK \ | 2212 ; zh_CN.GBK/GBK \ |
2198 ; zh_HK/BIG5-HKSCS \ | 2213 ; zh_HK/BIG5-HKSCS \ |
2199 | 2214 ("zu" . "Latin-1") ; Zulu |
2200 ("zh.*[._]big5" . "Chinese-BIG5") | |
2201 ("zh.*[._]gbk" . nil) ; Solaris 2.7; has gbk-0 as well as GB 2312.1980-0 | |
2202 ("zh_tw" . "Chinese-CNS") ; glibc uses big5 | |
2203 ("zh_tw[._]euc-tw" . "Chinese-EUC-TW") | |
2204 ("zh" . "Chinese-GB") | |
2205 ; zu Zulu | |
2206 | 2215 |
2207 ;; ISO standard locales | 2216 ;; ISO standard locales |
2208 ("c$" . "ASCII") | 2217 ("c$" . "ASCII") |
2209 ("posix$" . "ASCII") | 2218 ("posix$" . "ASCII") |
2210 | 2219 |
2220 ("su" . "Latin-1") ; Finnish, e.g. Solaris 2.6 | 2229 ("su" . "Latin-1") ; Finnish, e.g. Solaris 2.6 |
2221 ("jp" . "Japanese") ; e.g. MS Windows | 2230 ("jp" . "Japanese") ; e.g. MS Windows |
2222 ("chs" . "Chinese-GB") ; MS Windows Chinese Simplified | 2231 ("chs" . "Chinese-GB") ; MS Windows Chinese Simplified |
2223 ("cht" . "Chinese-BIG5") ; MS Windows Chinese Traditional | 2232 ("cht" . "Chinese-BIG5") ; MS Windows Chinese Traditional |
2224 )) | 2233 )) |
2225 "List of pairs of locale regexps and language names. | 2234 "Alist of locale regexps vs the corresponding languages and coding systems. |
2226 The first element whose locale regexp matches the start of a downcased locale | 2235 Each element has these form: |
2227 specifies the language name corresponding to that locale. | 2236 \(LOCALE-REGEXP LANG-ENV CODING-SYSTEM) |
2228 If the language name is nil, there is no corresponding language environment.") | 2237 The first element whose LOCALE-REGEXP matches the start of a |
2238 downcased locale specifies the LANG-ENV \(language environtment) | |
2239 and CODING-SYSTEM corresponding to that locale. If there is no | |
2240 appropriate language environment, the element may have this form: | |
2241 \(LOCALE-REGEXP . LANG-ENV) | |
2242 In this case, LANG-ENV is one of generic language environments for an | |
2243 specific encoding such as \"Latin-1\" and \"UTF-8\".") | |
2229 | 2244 |
2230 (defconst locale-charset-language-names | 2245 (defconst locale-charset-language-names |
2231 (purecopy | 2246 (purecopy |
2232 '((".*8859[-_]?1\\>" . "Latin-1") | 2247 '((".*8859[-_]?1\\>" . "Latin-1") |
2233 (".*8859[-_]?2\\>" . "Latin-2") | 2248 (".*8859[-_]?2\\>" . "Latin-2") |
2241 ;; the currency, rather than the charset.) | 2256 ;; the currency, rather than the charset.) |
2242 (".*@euro\\>" . "Latin-9"))) | 2257 (".*@euro\\>" . "Latin-9"))) |
2243 "List of pairs of locale regexps and charset language names. | 2258 "List of pairs of locale regexps and charset language names. |
2244 The first element whose locale regexp matches the start of a downcased locale | 2259 The first element whose locale regexp matches the start of a downcased locale |
2245 specifies the language name whose charset corresponds to that locale. | 2260 specifies the language name whose charset corresponds to that locale. |
2246 This language name is used if its charsets disagree with the charsets of | 2261 This language name is used if the locale is not listed in |
2247 the language name that would otherwise be used for this locale.") | 2262 `locale-language-names'") |
2248 | 2263 |
2249 (defconst locale-preferred-coding-systems | 2264 (defconst locale-preferred-coding-systems |
2250 (purecopy | 2265 (purecopy |
2251 '(("ja.*[._]euc" . japanese-iso-8bit) | 2266 '((".*8859[-_]?1\\>" . iso-8859-1) |
2267 (".*8859[-_]?2\\>" . iso-8859-2) | |
2268 (".*8859[-_]?3\\>" . iso-8859-3) | |
2269 (".*8859[-_]?4\\>" . iso-8859-4) | |
2270 (".*8859[-_]?9\\>" . iso-8859-9) | |
2271 (".*8859[-_]?14\\>" . iso-8859-14) | |
2272 (".*8859[-_]?15\\>" . iso-8859-15) | |
2273 (".*utf\\(?:-?8\\)?" . utf-8) | |
2274 ;; utf-8@euro exists, so put this after utf-8. (@euro really | |
2275 ;; specifies the currency, rather than the charset.) | |
2276 (".*@euro" . iso-8859-15) | |
2277 ("koi8-?r" . koi8-r) | |
2278 ("koi8-?u" . koi8-u) | |
2279 ("tcvn" . tcvn) | |
2280 ("big5" . big5) | |
2281 ("euc-?tw" . euc-tw) | |
2282 ;; We don't support GBK, but as it is upper compatible with | |
2283 ;; GB-2312, we setup the default coding system to gb2312. | |
2284 ("gbk" . gb2312) | |
2285 ;; We don't support BIG5-HKSCS, but as it is upper compatible with | |
2286 ;; BIG5, we setup the default coding system to big5. | |
2287 ("big5hkscs" . big5) | |
2288 ("ja.*[._]euc" . japanese-iso-8bit) | |
2252 ("ja.*[._]jis7" . iso-2022-jp) | 2289 ("ja.*[._]jis7" . iso-2022-jp) |
2253 ("ja.*[._]pck" . japanese-shift-jis) | 2290 ("ja.*[._]pck" . japanese-shift-jis) |
2254 ("ja.*[._]sjis" . japanese-shift-jis) | 2291 ("ja.*[._]sjis" . japanese-shift-jis) |
2255 ("jpn" . japanese-shift-jis) ; MS-Windows uses this. | 2292 ("jpn" . japanese-shift-jis) ; MS-Windows uses this. |
2256 (".*[._]utf" . utf-8))) | 2293 )) |
2257 "List of pairs of locale regexps and preferred coding systems. | 2294 "List of pairs of locale regexps and preferred coding systems. |
2258 The first element whose locale regexp matches the start of a downcased locale | 2295 The first element whose locale regexp matches the start of a downcased locale |
2259 specifies the coding system to prefer when using that locale.") | 2296 specifies the coding system to prefer when using that locale. |
2297 This coding system is used if the locale specifies a specific charset.") | |
2260 | 2298 |
2261 (defun locale-name-match (key alist) | 2299 (defun locale-name-match (key alist) |
2262 "Search for KEY in ALIST, which should be a list of regexp-value pairs. | 2300 "Search for KEY in ALIST, which should be a list of regexp-value pairs. |
2263 Return the value corresponding to the first regexp that matches the | 2301 Return the value corresponding to the first regexp that matches the |
2264 start of KEY, or nil if there is no match." | 2302 start of KEY, or nil if there is no match." |
2460 (charset-language-name | 2498 (charset-language-name |
2461 (locale-name-match locale locale-charset-language-names)) | 2499 (locale-name-match locale locale-charset-language-names)) |
2462 (coding-system | 2500 (coding-system |
2463 (get-locale-coding-system locale))) | 2501 (get-locale-coding-system locale))) |
2464 | 2502 |
2465 ;; Give preference to charset-language-name over language-name. | 2503 (if (consp language-name) |
2466 (if (and charset-language-name | 2504 ;; locale-language-names specify both lang-env and coding. |
2467 (not | 2505 ;; But, what specified in locale-preferred-coding-systems |
2468 (equal (get-language-info language-name 'charset) | 2506 ;; has higher priority. |
2469 (get-language-info charset-language-name 'charset)))) | 2507 (setq coding-system (or coding-system |
2470 (setq language-name charset-language-name)) | 2508 (nth 1 language-name)) |
2509 language-name (car language-name)) | |
2510 ;; Otherwise, if locale is not listed in locale-language-names, | |
2511 ;; use what listed in locale-charset-language-names. | |
2512 (if (not language-name) | |
2513 (setq language-name charset-language-name))) | |
2471 | 2514 |
2472 (when language-name | 2515 (when language-name |
2473 | 2516 |
2474 ;; Set up for this character set. This is now the right way | 2517 ;; Set up for this character set. This is now the right way |
2475 ;; to do it for both unibyte and multibyte modes. | 2518 ;; to do it for both unibyte and multibyte modes. |
2476 (set-language-environment language-name) | 2519 (set-language-environment language-name) |
2477 | 2520 |
2478 (setq locale-coding-system | 2521 (setq locale-coding-system |
2479 (car (get-language-info language-name 'coding-priority)))) | 2522 (car (get-language-info language-name 'coding-priority)))) |
2480 | 2523 |
2481 (when coding-system | 2524 (when (and coding-system |
2525 (not (coding-system-equal coding-system | |
2526 locale-coding-system))) | |
2482 (prefer-coding-system coding-system) | 2527 (prefer-coding-system coding-system) |
2483 (setq locale-coding-system coding-system)))) | 2528 (setq locale-coding-system coding-system)))) |
2484 | 2529 |
2485 ;; On Windows, override locale-coding-system, | 2530 ;; On Windows, override locale-coding-system, |
2486 ;; keyboard-coding-system with system codepage. Note: | 2531 ;; keyboard-coding-system with system codepage. Note: |