- initial import of revision 374 from cnc
[apt.git] / intl / config.charset
1 #! /bin/sh
2 # Output a system dependent table of character encoding aliases.
3 #
4 #   Copyright (C) 2000-2002 Free Software Foundation, Inc.
5 #
6 #   This program is free software; you can redistribute it and/or modify it
7 #   under the terms of the GNU Library General Public License as published
8 #   by the Free Software Foundation; either version 2, 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 GNU
14 #   Library General Public License for more details.
15 #
16 #   You should have received a copy of the GNU Library General Public
17 #   License along with this program; if not, write to the Free Software
18 #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19 #   USA.
20 #
21 # The table consists of lines of the form
22 #    ALIAS  CANONICAL
23 #
24 # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
25 # ALIAS is compared in a case sensitive way.
26 #
27 # CANONICAL is the GNU canonical name for this character encoding.
28 # It must be an encoding supported by libiconv. Support by GNU libc is
29 # also desirable. CANONICAL is case insensitive. Usually an upper case
30 # MIME charset name is preferred.
31 # The current list of GNU canonical charset names is as follows.
32 #
33 #       name                         used by which systems         a MIME name?
34 #   ASCII, ANSI_X3.4-1968     glibc solaris freebsd
35 #   ISO-8859-1                glibc aix hpux irix osf solaris freebsd   yes
36 #   ISO-8859-2                glibc aix hpux irix osf solaris freebsd   yes
37 #   ISO-8859-3                glibc solaris                             yes
38 #   ISO-8859-4                osf solaris freebsd                       yes
39 #   ISO-8859-5                glibc aix hpux irix osf solaris freebsd   yes
40 #   ISO-8859-6                glibc aix hpux solaris                    yes
41 #   ISO-8859-7                glibc aix hpux irix osf solaris           yes
42 #   ISO-8859-8                glibc aix hpux osf solaris                yes
43 #   ISO-8859-9                glibc aix hpux irix osf solaris           yes
44 #   ISO-8859-13               glibc
45 #   ISO-8859-14               glibc
46 #   ISO-8859-15               glibc aix osf solaris freebsd
47 #   KOI8-R                    glibc solaris freebsd                     yes
48 #   KOI8-U                    glibc freebsd                             yes
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 dos
62 #   CP869                     dos
63 #   CP874                     woe32 dos
64 #   CP922                     aix
65 #   CP932                     aix woe32 dos
66 #   CP943                     aix
67 #   CP949                     osf woe32 dos
68 #   CP950                     woe32 dos
69 #   CP1046                    aix
70 #   CP1124                    aix
71 #   CP1125                    dos
72 #   CP1129                    aix
73 #   CP1250                    woe32
74 #   CP1251                    glibc woe32
75 #   CP1252                    aix woe32
76 #   CP1253                    woe32
77 #   CP1254                    woe32
78 #   CP1255                    glibc woe32
79 #   CP1256                    woe32
80 #   CP1257                    woe32
81 #   GB2312                    glibc aix hpux irix solaris freebsd       yes
82 #   EUC-JP                    glibc aix hpux irix osf solaris freebsd   yes
83 #   EUC-KR                    glibc aix hpux irix osf solaris freebsd   yes
84 #   EUC-TW                    glibc aix hpux irix osf solaris
85 #   BIG5                      glibc aix hpux osf solaris freebsd        yes
86 #   BIG5-HKSCS                glibc solaris
87 #   GBK                       glibc aix osf solaris woe32 dos
88 #   GB18030                   glibc solaris
89 #   SHIFT_JIS                 hpux osf solaris freebsd                  yes
90 #   JOHAB                     glibc solaris woe32
91 #   TIS-620                   glibc aix hpux osf solaris
92 #   VISCII                    glibc                                     yes
93 #   TCVN5712-1                glibc
94 #   GEORGIAN-PS               glibc
95 #   HP-ROMAN8                 hpux
96 #   HP-ARABIC8                hpux
97 #   HP-GREEK8                 hpux
98 #   HP-HEBREW8                hpux
99 #   HP-TURKISH8               hpux
100 #   HP-KANA8                  hpux
101 #   DEC-KANJI                 osf
102 #   DEC-HANYU                 osf
103 #   UTF-8                     glibc aix hpux osf solaris                yes
104 #
105 # Note: Names which are not marked as being a MIME name should not be used in
106 # Internet protocols for information interchange (mail, news, etc.).
107 #
108 # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
109 # must understand both names and treat them as equivalent.
110 #
111 # The first argument passed to this file is the canonical host specification,
112 #    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
113 # or
114 #    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
115
116 host="$1"
117 os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
118 echo "# This file contains a table of character encoding aliases,"
119 echo "# suitable for operating system '${os}'."
120 echo "# It was automatically generated from config.charset."
121 # List of references, updated during installation:
122 echo "# Packages using this file: "
123 case "$os" in
124     linux* | *-gnu*)
125         # With glibc-2.1 or newer, we don't need any canonicalization,
126         # because glibc has iconv and both glibc and libiconv support all
127         # GNU canonical names directly. Therefore, the Makefile does not
128         # need to install the alias file at all.
129         # The following applies only to glibc-2.0.x and older libcs.
130         echo "ISO_646.IRV:1983 ASCII"
131         ;;
132     aix*)
133         echo "ISO8859-1 ISO-8859-1"
134         echo "ISO8859-2 ISO-8859-2"
135         echo "ISO8859-5 ISO-8859-5"
136         echo "ISO8859-6 ISO-8859-6"
137         echo "ISO8859-7 ISO-8859-7"
138         echo "ISO8859-8 ISO-8859-8"
139         echo "ISO8859-9 ISO-8859-9"
140         echo "ISO8859-15 ISO-8859-15"
141         echo "IBM-850 CP850"
142         echo "IBM-856 CP856"
143         echo "IBM-921 ISO-8859-13"
144         echo "IBM-922 CP922"
145         echo "IBM-932 CP932"
146         echo "IBM-943 CP943"
147         echo "IBM-1046 CP1046"
148         echo "IBM-1124 CP1124"
149         echo "IBM-1129 CP1129"
150         echo "IBM-1252 CP1252"
151         echo "IBM-eucCN GB2312"
152         echo "IBM-eucJP EUC-JP"
153         echo "IBM-eucKR EUC-KR"
154         echo "IBM-eucTW EUC-TW"
155         echo "big5 BIG5"
156         echo "GBK GBK"
157         echo "TIS-620 TIS-620"
158         echo "UTF-8 UTF-8"
159         ;;
160     hpux*)
161         echo "iso88591 ISO-8859-1"
162         echo "iso88592 ISO-8859-2"
163         echo "iso88595 ISO-8859-5"
164         echo "iso88596 ISO-8859-6"
165         echo "iso88597 ISO-8859-7"
166         echo "iso88598 ISO-8859-8"
167         echo "iso88599 ISO-8859-9"
168         echo "iso885915 ISO-8859-15"
169         echo "roman8 HP-ROMAN8"
170         echo "arabic8 HP-ARABIC8"
171         echo "greek8 HP-GREEK8"
172         echo "hebrew8 HP-HEBREW8"
173         echo "turkish8 HP-TURKISH8"
174         echo "kana8 HP-KANA8"
175         echo "tis620 TIS-620"
176         echo "big5 BIG5"
177         echo "eucJP EUC-JP"
178         echo "eucKR EUC-KR"
179         echo "eucTW EUC-TW"
180         echo "hp15CN GB2312"
181         #echo "ccdc ?" # what is this?
182         echo "SJIS SHIFT_JIS"
183         echo "utf8 UTF-8"
184         ;;
185     irix*)
186         echo "ISO8859-1 ISO-8859-1"
187         echo "ISO8859-2 ISO-8859-2"
188         echo "ISO8859-5 ISO-8859-5"
189         echo "ISO8859-7 ISO-8859-7"
190         echo "ISO8859-9 ISO-8859-9"
191         echo "eucCN GB2312"
192         echo "eucJP EUC-JP"
193         echo "eucKR EUC-KR"
194         echo "eucTW EUC-TW"
195         ;;
196     osf*)
197         echo "ISO8859-1 ISO-8859-1"
198         echo "ISO8859-2 ISO-8859-2"
199         echo "ISO8859-4 ISO-8859-4"
200         echo "ISO8859-5 ISO-8859-5"
201         echo "ISO8859-7 ISO-8859-7"
202         echo "ISO8859-8 ISO-8859-8"
203         echo "ISO8859-9 ISO-8859-9"
204         echo "ISO8859-15 ISO-8859-15"
205         echo "cp850 CP850"
206         echo "big5 BIG5"
207         echo "dechanyu DEC-HANYU"
208         echo "dechanzi GB2312"
209         echo "deckanji DEC-KANJI"
210         echo "deckorean EUC-KR"
211         echo "eucJP EUC-JP"
212         echo "eucKR EUC-KR"
213         echo "eucTW EUC-TW"
214         echo "GBK GBK"
215         echo "KSC5601 CP949"
216         echo "sdeckanji EUC-JP"
217         echo "SJIS SHIFT_JIS"
218         echo "TACTIS TIS-620"
219         echo "UTF-8 UTF-8"
220         ;;
221     solaris*)
222         echo "646 ASCII"
223         echo "ISO8859-1 ISO-8859-1"
224         echo "ISO8859-2 ISO-8859-2"
225         echo "ISO8859-3 ISO-8859-3"
226         echo "ISO8859-4 ISO-8859-4"
227         echo "ISO8859-5 ISO-8859-5"
228         echo "ISO8859-6 ISO-8859-6"
229         echo "ISO8859-7 ISO-8859-7"
230         echo "ISO8859-8 ISO-8859-8"
231         echo "ISO8859-9 ISO-8859-9"
232         echo "ISO8859-15 ISO-8859-15"
233         echo "koi8-r KOI8-R"
234         echo "BIG5 BIG5"
235         echo "Big5-HKSCS BIG5-HKSCS"
236         echo "gb2312 GB2312"
237         echo "GBK GBK"
238         echo "GB18030 GB18030"
239         echo "cns11643 EUC-TW"
240         echo "5601 EUC-KR"
241         echo "ko_KR.johap92 JOHAB"
242         echo "eucJP EUC-JP"
243         echo "PCK SHIFT_JIS"
244         echo "TIS620.2533 TIS-620"
245         #echo "sun_eu_greek ?" # what is this?
246         echo "UTF-8 UTF-8"
247         ;;
248     freebsd* | os2*)
249         # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
250         # localcharset.c falls back to using the full locale name
251         # from the environment variables.
252         # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
253         # reuse FreeBSD's locale data for OS/2.
254         echo "C ASCII"
255         echo "US-ASCII ASCII"
256         for l in la_LN lt_LN; do
257           echo "$l.ASCII ASCII"
258         done
259         for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
260                  fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
261                  lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
262           echo "$l.ISO_8859-1 ISO-8859-1"
263           echo "$l.DIS_8859-15 ISO-8859-15"
264         done
265         for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
266           echo "$l.ISO_8859-2 ISO-8859-2"
267         done
268         for l in la_LN lt_LT; do
269           echo "$l.ISO_8859-4 ISO-8859-4"
270         done
271         for l in ru_RU ru_SU; do
272           echo "$l.KOI8-R KOI8-R"
273           echo "$l.ISO_8859-5 ISO-8859-5"
274           echo "$l.CP866 CP866"
275         done
276         echo "uk_UA.KOI8-U KOI8-U"
277         echo "zh_TW.BIG5 BIG5"
278         echo "zh_TW.Big5 BIG5"
279         echo "zh_CN.EUC GB2312"
280         echo "ja_JP.EUC EUC-JP"
281         echo "ja_JP.SJIS SHIFT_JIS"
282         echo "ja_JP.Shift_JIS SHIFT_JIS"
283         echo "ko_KR.EUC EUC-KR"
284         ;;
285     netbsd*)
286         echo "646 ASCII"
287         echo "ISO8859-1 ISO-8859-1"
288         echo "ISO8859-2 ISO-8859-2"
289         echo "ISO8859-4 ISO-8859-4"
290         echo "ISO8859-5 ISO-8859-5"
291         echo "ISO8859-15 ISO-8859-15"
292         echo "eucCN GB2312"
293         echo "eucJP EUC-JP"
294         echo "eucKR EUC-KR"
295         echo "eucTW EUC-TW"
296         echo "BIG5 BIG5"
297         echo "SJIS SHIFT_JIS"
298         ;;
299     beos*)
300         # BeOS has a single locale, and it has UTF-8 encoding.
301         echo "* UTF-8"
302         ;;
303     msdosdjgpp*)
304         # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
305         # localcharset.c falls back to using the full locale name
306         # from the environment variables.
307         echo "#"
308         echo "# The encodings given here may not all be correct."
309         echo "# If you find that the encoding given for your language and"
310         echo "# country is not the one your DOS machine actually uses, just"
311         echo "# correct it in this file, and send a mail to"
312         echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
313         echo "# and Bruno Haible <bruno@clisp.org>."
314         echo "#"
315         echo "C ASCII"
316         # ISO-8859-1 languages
317         echo "ca CP850"
318         echo "ca_ES CP850"
319         echo "da CP865"    # not CP850 ??
320         echo "da_DK CP865" # not CP850 ??
321         echo "de CP850"
322         echo "de_AT CP850"
323         echo "de_CH CP850"
324         echo "de_DE CP850"
325         echo "en CP850"
326         echo "en_AU CP850" # not CP437 ??
327         echo "en_CA CP850"
328         echo "en_GB CP850"
329         echo "en_NZ CP437"
330         echo "en_US CP437"
331         echo "en_ZA CP850" # not CP437 ??
332         echo "es CP850"
333         echo "es_AR CP850"
334         echo "es_BO CP850"
335         echo "es_CL CP850"
336         echo "es_CO CP850"
337         echo "es_CR CP850"
338         echo "es_CU CP850"
339         echo "es_DO CP850"
340         echo "es_EC CP850"
341         echo "es_ES CP850"
342         echo "es_GT CP850"
343         echo "es_HN CP850"
344         echo "es_MX CP850"
345         echo "es_NI CP850"
346         echo "es_PA CP850"
347         echo "es_PY CP850"
348         echo "es_PE CP850"
349         echo "es_SV CP850"
350         echo "es_UY CP850"
351         echo "es_VE CP850"
352         echo "et CP850"
353         echo "et_EE CP850"
354         echo "eu CP850"
355         echo "eu_ES CP850"
356         echo "fi CP850"
357         echo "fi_FI CP850"
358         echo "fr CP850"
359         echo "fr_BE CP850"
360         echo "fr_CA CP850"
361         echo "fr_CH CP850"
362         echo "fr_FR CP850"
363         echo "ga CP850"
364         echo "ga_IE CP850"
365         echo "gd CP850"
366         echo "gd_GB CP850"
367         echo "gl CP850"
368         echo "gl_ES CP850"
369         echo "id CP850"    # not CP437 ??
370         echo "id_ID CP850" # not CP437 ??
371         echo "is CP861"    # not CP850 ??
372         echo "is_IS CP861" # not CP850 ??
373         echo "it CP850"
374         echo "it_CH CP850"
375         echo "it_IT CP850"
376         echo "lt CP775"
377         echo "lt_LT CP775"
378         echo "lv CP775"
379         echo "lv_LV CP775"
380         echo "nb CP865"    # not CP850 ??
381         echo "nb_NO CP865" # not CP850 ??
382         echo "nl CP850"
383         echo "nl_BE CP850"
384         echo "nl_NL CP850"
385         echo "nn CP865"    # not CP850 ??
386         echo "nn_NO CP865" # not CP850 ??
387         echo "no CP865"    # not CP850 ??
388         echo "no_NO CP865" # not CP850 ??
389         echo "pt CP850"
390         echo "pt_BR CP850"
391         echo "pt_PT CP850"
392         echo "sv CP850"
393         echo "sv_SE CP850"
394         # ISO-8859-2 languages
395         echo "cs CP852"
396         echo "cs_CZ CP852"
397         echo "hr CP852"
398         echo "hr_HR CP852"
399         echo "hu CP852"
400         echo "hu_HU CP852"
401         echo "pl CP852"
402         echo "pl_PL CP852"
403         echo "ro CP852"
404         echo "ro_RO CP852"
405         echo "sk CP852"
406         echo "sk_SK CP852"
407         echo "sl CP852"
408         echo "sl_SI CP852"
409         echo "sq CP852"
410         echo "sq_AL CP852"
411         echo "sr CP852"    # CP852 or CP866 or CP855 ??
412         echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
413         # ISO-8859-3 languages
414         echo "mt CP850"
415         echo "mt_MT CP850"
416         # ISO-8859-5 languages
417         echo "be CP866"
418         echo "be_BE CP866"
419         echo "bg CP866"    # not CP855 ??
420         echo "bg_BG CP866" # not CP855 ??
421         echo "mk CP866"    # not CP855 ??
422         echo "mk_MK CP866" # not CP855 ??
423         echo "ru CP866"
424         echo "ru_RU CP866"
425         echo "uk CP1125"
426         echo "uk_UA CP1125"
427         # ISO-8859-6 languages
428         echo "ar CP864"
429         echo "ar_AE CP864"
430         echo "ar_DZ CP864"
431         echo "ar_EG CP864"
432         echo "ar_IQ CP864"
433         echo "ar_IR CP864"
434         echo "ar_JO CP864"
435         echo "ar_KW CP864"
436         echo "ar_MA CP864"
437         echo "ar_OM CP864"
438         echo "ar_QA CP864"
439         echo "ar_SA CP864"
440         echo "ar_SY CP864"
441         # ISO-8859-7 languages
442         echo "el CP869"
443         echo "el_GR CP869"
444         # ISO-8859-8 languages
445         echo "he CP862"
446         echo "he_IL CP862"
447         # ISO-8859-9 languages
448         echo "tr CP857"
449         echo "tr_TR CP857"
450         # Japanese
451         echo "ja CP932"
452         echo "ja_JP CP932"
453         # Chinese
454         echo "zh_CN GBK"
455         echo "zh_TW CP950" # not CP938 ??
456         # Korean
457         echo "kr CP949"    # not CP934 ??
458         echo "kr_KR CP949" # not CP934 ??
459         # Thai
460         echo "th CP874"
461         echo "th_TH CP874"
462         # Other
463         echo "eo CP850"
464         echo "eo_EO CP850"
465         ;;
466 esac