Commit | Line | Data |
---|---|---|
8690e634 JK |
1 | #! /bin/sh |
2 | # Output a system dependent table of character encoding aliases. | |
3 | # | |
49e4877c | 4 | # Copyright (C) 2000-2004, 2006-2016 Free Software Foundation, Inc. |
8690e634 JK |
5 | # |
6 | # This program is free software; you can redistribute it and/or modify | |
7 | # it under the terms of the GNU General Public License as published by | |
8 | # the Free Software Foundation; either version 3, or (at your option) | |
9 | # any later version. | |
10 | # | |
11 | # This program is distributed in the hope that it will be useful, | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | # GNU General Public License for more details. | |
15 | # | |
16 | # You should have received a copy of the GNU General Public License along | |
17 | # with this program; if not, see <http://www.gnu.org/licenses/>. | |
18 | # | |
19 | # The table consists of lines of the form | |
20 | # ALIAS CANONICAL | |
21 | # | |
22 | # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". | |
23 | # ALIAS is compared in a case sensitive way. | |
24 | # | |
25 | # CANONICAL is the GNU canonical name for this character encoding. | |
26 | # It must be an encoding supported by libiconv. Support by GNU libc is | |
27 | # also desirable. CANONICAL is case insensitive. Usually an upper case | |
28 | # MIME charset name is preferred. | |
29 | # The current list of GNU canonical charset names is as follows. | |
30 | # | |
31 | # name MIME? used by which systems | |
32 | # (darwin = Mac OS X, woe32 = native Windows) | |
33 | # | |
34 | # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin | |
35 | # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin | |
36 | # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin | |
37 | # ISO-8859-3 Y glibc solaris cygwin | |
38 | # ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin | |
39 | # ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin | |
40 | # ISO-8859-6 Y glibc aix hpux solaris cygwin | |
41 | # ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin | |
42 | # ISO-8859-8 Y glibc aix hpux osf solaris cygwin | |
43 | # ISO-8859-9 Y glibc aix hpux irix osf solaris darwin cygwin | |
44 | # ISO-8859-13 glibc netbsd openbsd darwin cygwin | |
45 | # ISO-8859-14 glibc cygwin | |
46 | # ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin | |
47 | # KOI8-R Y glibc solaris freebsd netbsd openbsd darwin | |
48 | # KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin | |
49 | # KOI8-T glibc | |
50 | # CP437 dos | |
51 | # CP775 dos | |
52 | # CP850 aix osf dos | |
53 | # CP852 dos | |
54 | # CP855 dos | |
55 | # CP856 aix | |
56 | # CP857 dos | |
57 | # CP861 dos | |
58 | # CP862 dos | |
59 | # CP864 dos | |
60 | # CP865 dos | |
61 | # CP866 freebsd netbsd openbsd darwin dos | |
62 | # CP869 dos | |
63 | # CP874 woe32 dos | |
64 | # CP922 aix | |
65 | # CP932 aix cygwin woe32 dos | |
66 | # CP943 aix | |
67 | # CP949 osf darwin woe32 dos | |
68 | # CP950 woe32 dos | |
69 | # CP1046 aix | |
70 | # CP1124 aix | |
71 | # CP1125 dos | |
72 | # CP1129 aix | |
73 | # CP1131 darwin | |
74 | # CP1250 woe32 | |
75 | # CP1251 glibc solaris netbsd openbsd darwin cygwin woe32 | |
76 | # CP1252 aix woe32 | |
77 | # CP1253 woe32 | |
78 | # CP1254 woe32 | |
79 | # CP1255 glibc woe32 | |
80 | # CP1256 woe32 | |
81 | # CP1257 woe32 | |
82 | # GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin | |
83 | # EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin | |
84 | # EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin | |
85 | # EUC-TW glibc aix hpux irix osf solaris netbsd | |
86 | # BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin | |
87 | # BIG5-HKSCS glibc solaris darwin | |
88 | # GBK glibc aix osf solaris darwin cygwin woe32 dos | |
89 | # GB18030 glibc solaris netbsd darwin | |
90 | # SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin | |
91 | # JOHAB glibc solaris woe32 | |
92 | # TIS-620 glibc aix hpux osf solaris cygwin | |
93 | # VISCII Y glibc | |
94 | # TCVN5712-1 glibc | |
95 | # ARMSCII-8 glibc darwin | |
96 | # GEORGIAN-PS glibc cygwin | |
97 | # PT154 glibc | |
98 | # HP-ROMAN8 hpux | |
99 | # HP-ARABIC8 hpux | |
100 | # HP-GREEK8 hpux | |
101 | # HP-HEBREW8 hpux | |
102 | # HP-TURKISH8 hpux | |
103 | # HP-KANA8 hpux | |
104 | # DEC-KANJI osf | |
105 | # DEC-HANYU osf | |
106 | # UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin | |
107 | # | |
108 | # Note: Names which are not marked as being a MIME name should not be used in | |
109 | # Internet protocols for information interchange (mail, news, etc.). | |
110 | # | |
111 | # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications | |
112 | # must understand both names and treat them as equivalent. | |
113 | # | |
114 | # The first argument passed to this file is the canonical host specification, | |
115 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM | |
116 | # or | |
117 | # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM | |
118 | ||
119 | host="$1" | |
120 | os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` | |
121 | echo "# This file contains a table of character encoding aliases," | |
122 | echo "# suitable for operating system '${os}'." | |
123 | echo "# It was automatically generated from config.charset." | |
124 | # List of references, updated during installation: | |
125 | echo "# Packages using this file: " | |
126 | case "$os" in | |
127 | linux-gnulibc1*) | |
128 | # Linux libc5 doesn't have nl_langinfo(CODESET); therefore | |
129 | # localcharset.c falls back to using the full locale name | |
130 | # from the environment variables. | |
131 | echo "C ASCII" | |
132 | echo "POSIX ASCII" | |
133 | for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ | |
134 | en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ | |
135 | en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ | |
136 | es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ | |
137 | et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ | |
138 | fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ | |
139 | it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ | |
140 | sv_FI sv_SE; do | |
141 | echo "$l ISO-8859-1" | |
142 | echo "$l.iso-8859-1 ISO-8859-1" | |
143 | echo "$l.iso-8859-15 ISO-8859-15" | |
144 | echo "$l.iso-8859-15@euro ISO-8859-15" | |
145 | echo "$l@euro ISO-8859-15" | |
146 | echo "$l.cp-437 CP437" | |
147 | echo "$l.cp-850 CP850" | |
148 | echo "$l.cp-1252 CP1252" | |
149 | echo "$l.cp-1252@euro CP1252" | |
150 | #echo "$l.atari-st ATARI-ST" # not a commonly used encoding | |
151 | echo "$l.utf-8 UTF-8" | |
152 | echo "$l.utf-8@euro UTF-8" | |
153 | done | |
154 | for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ | |
155 | sl_SI sr sr_CS sr_YU; do | |
156 | echo "$l ISO-8859-2" | |
157 | echo "$l.iso-8859-2 ISO-8859-2" | |
158 | echo "$l.cp-852 CP852" | |
159 | echo "$l.cp-1250 CP1250" | |
160 | echo "$l.utf-8 UTF-8" | |
161 | done | |
162 | for l in mk mk_MK ru ru_RU; do | |
163 | echo "$l ISO-8859-5" | |
164 | echo "$l.iso-8859-5 ISO-8859-5" | |
165 | echo "$l.koi8-r KOI8-R" | |
166 | echo "$l.cp-866 CP866" | |
167 | echo "$l.cp-1251 CP1251" | |
168 | echo "$l.utf-8 UTF-8" | |
169 | done | |
170 | for l in ar ar_SA; do | |
171 | echo "$l ISO-8859-6" | |
172 | echo "$l.iso-8859-6 ISO-8859-6" | |
173 | echo "$l.cp-864 CP864" | |
174 | #echo "$l.cp-868 CP868" # not a commonly used encoding | |
175 | echo "$l.cp-1256 CP1256" | |
176 | echo "$l.utf-8 UTF-8" | |
177 | done | |
178 | for l in el el_GR gr gr_GR; do | |
179 | echo "$l ISO-8859-7" | |
180 | echo "$l.iso-8859-7 ISO-8859-7" | |
181 | echo "$l.cp-869 CP869" | |
182 | echo "$l.cp-1253 CP1253" | |
183 | echo "$l.cp-1253@euro CP1253" | |
184 | echo "$l.utf-8 UTF-8" | |
185 | echo "$l.utf-8@euro UTF-8" | |
186 | done | |
187 | for l in he he_IL iw iw_IL; do | |
188 | echo "$l ISO-8859-8" | |
189 | echo "$l.iso-8859-8 ISO-8859-8" | |
190 | echo "$l.cp-862 CP862" | |
191 | echo "$l.cp-1255 CP1255" | |
192 | echo "$l.utf-8 UTF-8" | |
193 | done | |
194 | for l in tr tr_TR; do | |
195 | echo "$l ISO-8859-9" | |
196 | echo "$l.iso-8859-9 ISO-8859-9" | |
197 | echo "$l.cp-857 CP857" | |
198 | echo "$l.cp-1254 CP1254" | |
199 | echo "$l.utf-8 UTF-8" | |
200 | done | |
201 | for l in lt lt_LT lv lv_LV; do | |
202 | #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name | |
203 | echo "$l ISO-8859-13" | |
204 | done | |
205 | for l in ru_UA uk uk_UA; do | |
206 | echo "$l KOI8-U" | |
207 | done | |
208 | for l in zh zh_CN; do | |
209 | #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name | |
210 | echo "$l GB2312" | |
211 | done | |
212 | for l in ja ja_JP ja_JP.EUC; do | |
213 | echo "$l EUC-JP" | |
214 | done | |
215 | for l in ko ko_KR; do | |
216 | echo "$l EUC-KR" | |
217 | done | |
218 | for l in th th_TH; do | |
219 | echo "$l TIS-620" | |
220 | done | |
221 | for l in fa fa_IR; do | |
222 | #echo "$l ISIRI-3342" # a broken encoding | |
223 | echo "$l.utf-8 UTF-8" | |
224 | done | |
225 | ;; | |
226 | linux* | *-gnu*) | |
227 | # With glibc-2.1 or newer, we don't need any canonicalization, | |
228 | # because glibc has iconv and both glibc and libiconv support all | |
229 | # GNU canonical names directly. Therefore, the Makefile does not | |
230 | # need to install the alias file at all. | |
231 | # The following applies only to glibc-2.0.x and older libcs. | |
232 | echo "ISO_646.IRV:1983 ASCII" | |
233 | ;; | |
234 | aix*) | |
235 | echo "ISO8859-1 ISO-8859-1" | |
236 | echo "ISO8859-2 ISO-8859-2" | |
237 | echo "ISO8859-5 ISO-8859-5" | |
238 | echo "ISO8859-6 ISO-8859-6" | |
239 | echo "ISO8859-7 ISO-8859-7" | |
240 | echo "ISO8859-8 ISO-8859-8" | |
241 | echo "ISO8859-9 ISO-8859-9" | |
242 | echo "ISO8859-15 ISO-8859-15" | |
243 | echo "IBM-850 CP850" | |
244 | echo "IBM-856 CP856" | |
245 | echo "IBM-921 ISO-8859-13" | |
246 | echo "IBM-922 CP922" | |
247 | echo "IBM-932 CP932" | |
248 | echo "IBM-943 CP943" | |
249 | echo "IBM-1046 CP1046" | |
250 | echo "IBM-1124 CP1124" | |
251 | echo "IBM-1129 CP1129" | |
252 | echo "IBM-1252 CP1252" | |
253 | echo "IBM-eucCN GB2312" | |
254 | echo "IBM-eucJP EUC-JP" | |
255 | echo "IBM-eucKR EUC-KR" | |
256 | echo "IBM-eucTW EUC-TW" | |
257 | echo "big5 BIG5" | |
258 | echo "GBK GBK" | |
259 | echo "TIS-620 TIS-620" | |
260 | echo "UTF-8 UTF-8" | |
261 | ;; | |
262 | hpux*) | |
263 | echo "iso88591 ISO-8859-1" | |
264 | echo "iso88592 ISO-8859-2" | |
265 | echo "iso88595 ISO-8859-5" | |
266 | echo "iso88596 ISO-8859-6" | |
267 | echo "iso88597 ISO-8859-7" | |
268 | echo "iso88598 ISO-8859-8" | |
269 | echo "iso88599 ISO-8859-9" | |
270 | echo "iso885915 ISO-8859-15" | |
271 | echo "roman8 HP-ROMAN8" | |
272 | echo "arabic8 HP-ARABIC8" | |
273 | echo "greek8 HP-GREEK8" | |
274 | echo "hebrew8 HP-HEBREW8" | |
275 | echo "turkish8 HP-TURKISH8" | |
276 | echo "kana8 HP-KANA8" | |
277 | echo "tis620 TIS-620" | |
278 | echo "big5 BIG5" | |
279 | echo "eucJP EUC-JP" | |
280 | echo "eucKR EUC-KR" | |
281 | echo "eucTW EUC-TW" | |
282 | echo "hp15CN GB2312" | |
283 | #echo "ccdc ?" # what is this? | |
284 | echo "SJIS SHIFT_JIS" | |
285 | echo "utf8 UTF-8" | |
286 | ;; | |
287 | irix*) | |
288 | echo "ISO8859-1 ISO-8859-1" | |
289 | echo "ISO8859-2 ISO-8859-2" | |
290 | echo "ISO8859-5 ISO-8859-5" | |
291 | echo "ISO8859-7 ISO-8859-7" | |
292 | echo "ISO8859-9 ISO-8859-9" | |
293 | echo "eucCN GB2312" | |
294 | echo "eucJP EUC-JP" | |
295 | echo "eucKR EUC-KR" | |
296 | echo "eucTW EUC-TW" | |
297 | ;; | |
298 | osf*) | |
299 | echo "ISO8859-1 ISO-8859-1" | |
300 | echo "ISO8859-2 ISO-8859-2" | |
301 | echo "ISO8859-4 ISO-8859-4" | |
302 | echo "ISO8859-5 ISO-8859-5" | |
303 | echo "ISO8859-7 ISO-8859-7" | |
304 | echo "ISO8859-8 ISO-8859-8" | |
305 | echo "ISO8859-9 ISO-8859-9" | |
306 | echo "ISO8859-15 ISO-8859-15" | |
307 | echo "cp850 CP850" | |
308 | echo "big5 BIG5" | |
309 | echo "dechanyu DEC-HANYU" | |
310 | echo "dechanzi GB2312" | |
311 | echo "deckanji DEC-KANJI" | |
312 | echo "deckorean EUC-KR" | |
313 | echo "eucJP EUC-JP" | |
314 | echo "eucKR EUC-KR" | |
315 | echo "eucTW EUC-TW" | |
316 | echo "GBK GBK" | |
317 | echo "KSC5601 CP949" | |
318 | echo "sdeckanji EUC-JP" | |
319 | echo "SJIS SHIFT_JIS" | |
320 | echo "TACTIS TIS-620" | |
321 | echo "UTF-8 UTF-8" | |
322 | ;; | |
323 | solaris*) | |
324 | echo "646 ASCII" | |
325 | echo "ISO8859-1 ISO-8859-1" | |
326 | echo "ISO8859-2 ISO-8859-2" | |
327 | echo "ISO8859-3 ISO-8859-3" | |
328 | echo "ISO8859-4 ISO-8859-4" | |
329 | echo "ISO8859-5 ISO-8859-5" | |
330 | echo "ISO8859-6 ISO-8859-6" | |
331 | echo "ISO8859-7 ISO-8859-7" | |
332 | echo "ISO8859-8 ISO-8859-8" | |
333 | echo "ISO8859-9 ISO-8859-9" | |
334 | echo "ISO8859-15 ISO-8859-15" | |
335 | echo "koi8-r KOI8-R" | |
336 | echo "ansi-1251 CP1251" | |
337 | echo "BIG5 BIG5" | |
338 | echo "Big5-HKSCS BIG5-HKSCS" | |
339 | echo "gb2312 GB2312" | |
340 | echo "GBK GBK" | |
341 | echo "GB18030 GB18030" | |
342 | echo "cns11643 EUC-TW" | |
343 | echo "5601 EUC-KR" | |
344 | echo "ko_KR.johap92 JOHAB" | |
345 | echo "eucJP EUC-JP" | |
346 | echo "PCK SHIFT_JIS" | |
347 | echo "TIS620.2533 TIS-620" | |
348 | #echo "sun_eu_greek ?" # what is this? | |
349 | echo "UTF-8 UTF-8" | |
350 | ;; | |
4a626d0a | 351 | freebsd*) |
8690e634 JK |
352 | # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore |
353 | # localcharset.c falls back to using the full locale name | |
354 | # from the environment variables. | |
8690e634 JK |
355 | echo "C ASCII" |
356 | echo "US-ASCII ASCII" | |
357 | for l in la_LN lt_LN; do | |
358 | echo "$l.ASCII ASCII" | |
359 | done | |
360 | for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ | |
361 | fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ | |
362 | lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do | |
363 | echo "$l.ISO_8859-1 ISO-8859-1" | |
364 | echo "$l.DIS_8859-15 ISO-8859-15" | |
365 | done | |
366 | for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do | |
367 | echo "$l.ISO_8859-2 ISO-8859-2" | |
368 | done | |
369 | for l in la_LN lt_LT; do | |
370 | echo "$l.ISO_8859-4 ISO-8859-4" | |
371 | done | |
372 | for l in ru_RU ru_SU; do | |
373 | echo "$l.KOI8-R KOI8-R" | |
374 | echo "$l.ISO_8859-5 ISO-8859-5" | |
375 | echo "$l.CP866 CP866" | |
376 | done | |
377 | echo "uk_UA.KOI8-U KOI8-U" | |
378 | echo "zh_TW.BIG5 BIG5" | |
379 | echo "zh_TW.Big5 BIG5" | |
380 | echo "zh_CN.EUC GB2312" | |
381 | echo "ja_JP.EUC EUC-JP" | |
382 | echo "ja_JP.SJIS SHIFT_JIS" | |
383 | echo "ja_JP.Shift_JIS SHIFT_JIS" | |
384 | echo "ko_KR.EUC EUC-KR" | |
385 | ;; | |
386 | netbsd*) | |
387 | echo "646 ASCII" | |
388 | echo "ISO8859-1 ISO-8859-1" | |
389 | echo "ISO8859-2 ISO-8859-2" | |
390 | echo "ISO8859-4 ISO-8859-4" | |
391 | echo "ISO8859-5 ISO-8859-5" | |
392 | echo "ISO8859-7 ISO-8859-7" | |
393 | echo "ISO8859-13 ISO-8859-13" | |
394 | echo "ISO8859-15 ISO-8859-15" | |
395 | echo "eucCN GB2312" | |
396 | echo "eucJP EUC-JP" | |
397 | echo "eucKR EUC-KR" | |
398 | echo "eucTW EUC-TW" | |
399 | echo "BIG5 BIG5" | |
400 | echo "SJIS SHIFT_JIS" | |
401 | ;; | |
402 | openbsd*) | |
403 | echo "646 ASCII" | |
404 | echo "ISO8859-1 ISO-8859-1" | |
405 | echo "ISO8859-2 ISO-8859-2" | |
406 | echo "ISO8859-4 ISO-8859-4" | |
407 | echo "ISO8859-5 ISO-8859-5" | |
408 | echo "ISO8859-7 ISO-8859-7" | |
409 | echo "ISO8859-13 ISO-8859-13" | |
410 | echo "ISO8859-15 ISO-8859-15" | |
411 | ;; | |
412 | darwin[56]*) | |
413 | # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore | |
414 | # localcharset.c falls back to using the full locale name | |
415 | # from the environment variables. | |
416 | echo "C ASCII" | |
417 | for l in en_AU en_CA en_GB en_US la_LN; do | |
418 | echo "$l.US-ASCII ASCII" | |
419 | done | |
420 | for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ | |
421 | fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ | |
422 | nl_NL no_NO pt_PT sv_SE; do | |
423 | echo "$l ISO-8859-1" | |
424 | echo "$l.ISO8859-1 ISO-8859-1" | |
425 | echo "$l.ISO8859-15 ISO-8859-15" | |
426 | done | |
427 | for l in la_LN; do | |
428 | echo "$l.ISO8859-1 ISO-8859-1" | |
429 | echo "$l.ISO8859-15 ISO-8859-15" | |
430 | done | |
431 | for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do | |
432 | echo "$l.ISO8859-2 ISO-8859-2" | |
433 | done | |
434 | for l in la_LN lt_LT; do | |
435 | echo "$l.ISO8859-4 ISO-8859-4" | |
436 | done | |
437 | for l in ru_RU; do | |
438 | echo "$l.KOI8-R KOI8-R" | |
439 | echo "$l.ISO8859-5 ISO-8859-5" | |
440 | echo "$l.CP866 CP866" | |
441 | done | |
442 | for l in bg_BG; do | |
443 | echo "$l.CP1251 CP1251" | |
444 | done | |
445 | echo "uk_UA.KOI8-U KOI8-U" | |
446 | echo "zh_TW.BIG5 BIG5" | |
447 | echo "zh_TW.Big5 BIG5" | |
448 | echo "zh_CN.EUC GB2312" | |
449 | echo "ja_JP.EUC EUC-JP" | |
450 | echo "ja_JP.SJIS SHIFT_JIS" | |
451 | echo "ko_KR.EUC EUC-KR" | |
452 | ;; | |
453 | darwin*) | |
454 | # Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is | |
455 | # useless: | |
456 | # - It returns the empty string when LANG is set to a locale of the | |
457 | # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 | |
458 | # LC_CTYPE file. | |
459 | # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by | |
460 | # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. | |
461 | # - The documentation says: | |
462 | # "... all code that calls BSD system routines should ensure | |
463 | # that the const *char parameters of these routines are in UTF-8 | |
464 | # encoding. All BSD system functions expect their string | |
465 | # parameters to be in UTF-8 encoding and nothing else." | |
466 | # It also says | |
467 | # "An additional caveat is that string parameters for files, | |
468 | # paths, and other file-system entities must be in canonical | |
469 | # UTF-8. In a canonical UTF-8 Unicode string, all decomposable | |
470 | # characters are decomposed ..." | |
471 | # but this is not true: You can pass non-decomposed UTF-8 strings | |
472 | # to file system functions, and it is the OS which will convert | |
473 | # them to decomposed UTF-8 before accessing the file system. | |
474 | # - The Apple Terminal application displays UTF-8 by default. | |
475 | # - However, other applications are free to use different encodings: | |
476 | # - xterm uses ISO-8859-1 by default. | |
477 | # - TextEdit uses MacRoman by default. | |
478 | # We prefer UTF-8 over decomposed UTF-8-MAC because one should | |
479 | # minimize the use of decomposed Unicode. Unfortunately, through the | |
480 | # Darwin file system, decomposed UTF-8 strings are leaked into user | |
481 | # space nevertheless. | |
482 | # Then there are also the locales with encodings other than US-ASCII | |
483 | # and UTF-8. These locales can be occasionally useful to users (e.g. | |
484 | # when grepping through ISO-8859-1 encoded text files), when all their | |
485 | # file names are in US-ASCII. | |
486 | echo "ISO8859-1 ISO-8859-1" | |
487 | echo "ISO8859-2 ISO-8859-2" | |
488 | echo "ISO8859-4 ISO-8859-4" | |
489 | echo "ISO8859-5 ISO-8859-5" | |
490 | echo "ISO8859-7 ISO-8859-7" | |
491 | echo "ISO8859-9 ISO-8859-9" | |
492 | echo "ISO8859-13 ISO-8859-13" | |
493 | echo "ISO8859-15 ISO-8859-15" | |
494 | echo "KOI8-R KOI8-R" | |
495 | echo "KOI8-U KOI8-U" | |
496 | echo "CP866 CP866" | |
497 | echo "CP949 CP949" | |
498 | echo "CP1131 CP1131" | |
499 | echo "CP1251 CP1251" | |
500 | echo "eucCN GB2312" | |
501 | echo "GB2312 GB2312" | |
502 | echo "eucJP EUC-JP" | |
503 | echo "eucKR EUC-KR" | |
504 | echo "Big5 BIG5" | |
505 | echo "Big5HKSCS BIG5-HKSCS" | |
506 | echo "GBK GBK" | |
507 | echo "GB18030 GB18030" | |
508 | echo "SJIS SHIFT_JIS" | |
509 | echo "ARMSCII-8 ARMSCII-8" | |
510 | echo "PT154 PT154" | |
511 | #echo "ISCII-DEV ?" | |
512 | echo "* UTF-8" | |
513 | ;; | |
514 | beos* | haiku*) | |
515 | # BeOS and Haiku have a single locale, and it has UTF-8 encoding. | |
516 | echo "* UTF-8" | |
517 | ;; | |
518 | msdosdjgpp*) | |
519 | # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore | |
520 | # localcharset.c falls back to using the full locale name | |
521 | # from the environment variables. | |
522 | echo "#" | |
523 | echo "# The encodings given here may not all be correct." | |
524 | echo "# If you find that the encoding given for your language and" | |
525 | echo "# country is not the one your DOS machine actually uses, just" | |
526 | echo "# correct it in this file, and send a mail to" | |
527 | echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>" | |
528 | echo "# and Bruno Haible <bruno@clisp.org>." | |
529 | echo "#" | |
530 | echo "C ASCII" | |
531 | # ISO-8859-1 languages | |
532 | echo "ca CP850" | |
533 | echo "ca_ES CP850" | |
534 | echo "da CP865" # not CP850 ?? | |
535 | echo "da_DK CP865" # not CP850 ?? | |
536 | echo "de CP850" | |
537 | echo "de_AT CP850" | |
538 | echo "de_CH CP850" | |
539 | echo "de_DE CP850" | |
540 | echo "en CP850" | |
541 | echo "en_AU CP850" # not CP437 ?? | |
542 | echo "en_CA CP850" | |
543 | echo "en_GB CP850" | |
544 | echo "en_NZ CP437" | |
545 | echo "en_US CP437" | |
546 | echo "en_ZA CP850" # not CP437 ?? | |
547 | echo "es CP850" | |
548 | echo "es_AR CP850" | |
549 | echo "es_BO CP850" | |
550 | echo "es_CL CP850" | |
551 | echo "es_CO CP850" | |
552 | echo "es_CR CP850" | |
553 | echo "es_CU CP850" | |
554 | echo "es_DO CP850" | |
555 | echo "es_EC CP850" | |
556 | echo "es_ES CP850" | |
557 | echo "es_GT CP850" | |
558 | echo "es_HN CP850" | |
559 | echo "es_MX CP850" | |
560 | echo "es_NI CP850" | |
561 | echo "es_PA CP850" | |
562 | echo "es_PY CP850" | |
563 | echo "es_PE CP850" | |
564 | echo "es_SV CP850" | |
565 | echo "es_UY CP850" | |
566 | echo "es_VE CP850" | |
567 | echo "et CP850" | |
568 | echo "et_EE CP850" | |
569 | echo "eu CP850" | |
570 | echo "eu_ES CP850" | |
571 | echo "fi CP850" | |
572 | echo "fi_FI CP850" | |
573 | echo "fr CP850" | |
574 | echo "fr_BE CP850" | |
575 | echo "fr_CA CP850" | |
576 | echo "fr_CH CP850" | |
577 | echo "fr_FR CP850" | |
578 | echo "ga CP850" | |
579 | echo "ga_IE CP850" | |
580 | echo "gd CP850" | |
581 | echo "gd_GB CP850" | |
582 | echo "gl CP850" | |
583 | echo "gl_ES CP850" | |
584 | echo "id CP850" # not CP437 ?? | |
585 | echo "id_ID CP850" # not CP437 ?? | |
586 | echo "is CP861" # not CP850 ?? | |
587 | echo "is_IS CP861" # not CP850 ?? | |
588 | echo "it CP850" | |
589 | echo "it_CH CP850" | |
590 | echo "it_IT CP850" | |
591 | echo "lt CP775" | |
592 | echo "lt_LT CP775" | |
593 | echo "lv CP775" | |
594 | echo "lv_LV CP775" | |
595 | echo "nb CP865" # not CP850 ?? | |
596 | echo "nb_NO CP865" # not CP850 ?? | |
597 | echo "nl CP850" | |
598 | echo "nl_BE CP850" | |
599 | echo "nl_NL CP850" | |
600 | echo "nn CP865" # not CP850 ?? | |
601 | echo "nn_NO CP865" # not CP850 ?? | |
602 | echo "no CP865" # not CP850 ?? | |
603 | echo "no_NO CP865" # not CP850 ?? | |
604 | echo "pt CP850" | |
605 | echo "pt_BR CP850" | |
606 | echo "pt_PT CP850" | |
607 | echo "sv CP850" | |
608 | echo "sv_SE CP850" | |
609 | # ISO-8859-2 languages | |
610 | echo "cs CP852" | |
611 | echo "cs_CZ CP852" | |
612 | echo "hr CP852" | |
613 | echo "hr_HR CP852" | |
614 | echo "hu CP852" | |
615 | echo "hu_HU CP852" | |
616 | echo "pl CP852" | |
617 | echo "pl_PL CP852" | |
618 | echo "ro CP852" | |
619 | echo "ro_RO CP852" | |
620 | echo "sk CP852" | |
621 | echo "sk_SK CP852" | |
622 | echo "sl CP852" | |
623 | echo "sl_SI CP852" | |
624 | echo "sq CP852" | |
625 | echo "sq_AL CP852" | |
626 | echo "sr CP852" # CP852 or CP866 or CP855 ?? | |
627 | echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? | |
628 | echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? | |
629 | # ISO-8859-3 languages | |
630 | echo "mt CP850" | |
631 | echo "mt_MT CP850" | |
632 | # ISO-8859-5 languages | |
633 | echo "be CP866" | |
634 | echo "be_BE CP866" | |
635 | echo "bg CP866" # not CP855 ?? | |
636 | echo "bg_BG CP866" # not CP855 ?? | |
637 | echo "mk CP866" # not CP855 ?? | |
638 | echo "mk_MK CP866" # not CP855 ?? | |
639 | echo "ru CP866" | |
640 | echo "ru_RU CP866" | |
641 | echo "uk CP1125" | |
642 | echo "uk_UA CP1125" | |
643 | # ISO-8859-6 languages | |
644 | echo "ar CP864" | |
645 | echo "ar_AE CP864" | |
646 | echo "ar_DZ CP864" | |
647 | echo "ar_EG CP864" | |
648 | echo "ar_IQ CP864" | |
649 | echo "ar_IR CP864" | |
650 | echo "ar_JO CP864" | |
651 | echo "ar_KW CP864" | |
652 | echo "ar_MA CP864" | |
653 | echo "ar_OM CP864" | |
654 | echo "ar_QA CP864" | |
655 | echo "ar_SA CP864" | |
656 | echo "ar_SY CP864" | |
657 | # ISO-8859-7 languages | |
658 | echo "el CP869" | |
659 | echo "el_GR CP869" | |
660 | # ISO-8859-8 languages | |
661 | echo "he CP862" | |
662 | echo "he_IL CP862" | |
663 | # ISO-8859-9 languages | |
664 | echo "tr CP857" | |
665 | echo "tr_TR CP857" | |
666 | # Japanese | |
667 | echo "ja CP932" | |
668 | echo "ja_JP CP932" | |
669 | # Chinese | |
670 | echo "zh_CN GBK" | |
671 | echo "zh_TW CP950" # not CP938 ?? | |
672 | # Korean | |
673 | echo "kr CP949" # not CP934 ?? | |
674 | echo "kr_KR CP949" # not CP934 ?? | |
675 | # Thai | |
676 | echo "th CP874" | |
677 | echo "th_TH CP874" | |
678 | # Other | |
679 | echo "eo CP850" | |
680 | echo "eo_EO CP850" | |
681 | ;; | |
682 | esac |