2
# Output a system dependent table of character encoding aliases.
4
# Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc.
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)
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.
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
21
# The table consists of lines of the form
24
# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
25
# ALIAS is compared in a case sensitive way.
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.
33
# name MIME? used by which systems
34
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin
35
# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
36
# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
37
# ISO-8859-3 Y glibc solaris
38
# ISO-8859-4 Y osf solaris freebsd netbsd darwin
39
# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
40
# ISO-8859-6 Y glibc aix hpux solaris
41
# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin
42
# ISO-8859-8 Y glibc aix hpux osf solaris
43
# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin
44
# ISO-8859-13 glibc netbsd darwin
46
# ISO-8859-15 glibc aix osf solaris freebsd darwin
47
# KOI8-R Y glibc solaris freebsd netbsd darwin
48
# KOI8-U Y glibc freebsd netbsd darwin
61
# CP866 freebsd netbsd darwin dos
74
# CP1251 glibc solaris netbsd darwin woe32
81
# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin
82
# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin
83
# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin
84
# EUC-TW glibc aix hpux irix osf solaris netbsd
85
# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin
86
# BIG5-HKSCS glibc solaris
87
# GBK glibc aix osf solaris woe32 dos
88
# GB18030 glibc solaris netbsd
89
# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
90
# JOHAB glibc solaris woe32
91
# TIS-620 glibc aix hpux osf solaris
103
# UTF-8 Y glibc aix hpux osf solaris netbsd darwin
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.).
108
# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
109
# must understand both names and treat them as equivalent.
111
# The first argument passed to this file is the canonical host specification,
112
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
114
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
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: "
125
# Linux libc5 doesn't have nl_langinfo(CODESET); therefore
126
# localcharset.c falls back to using the full locale name
127
# from the environment variables.
130
for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
131
en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
132
en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
133
es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
134
et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
135
fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
136
it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
139
echo "$l.iso-8859-1 ISO-8859-1"
140
echo "$l.iso-8859-15 ISO-8859-15"
141
echo "$l.iso-8859-15@euro ISO-8859-15"
142
echo "$l@euro ISO-8859-15"
143
echo "$l.cp-437 CP437"
144
echo "$l.cp-850 CP850"
145
echo "$l.cp-1252 CP1252"
146
echo "$l.cp-1252@euro CP1252"
147
#echo "$l.atari-st ATARI-ST" # not a commonly used encoding
148
echo "$l.utf-8 UTF-8"
149
echo "$l.utf-8@euro UTF-8"
151
for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
152
sl_SI sr sr_CS sr_YU; do
154
echo "$l.iso-8859-2 ISO-8859-2"
155
echo "$l.cp-852 CP852"
156
echo "$l.cp-1250 CP1250"
157
echo "$l.utf-8 UTF-8"
159
for l in mk mk_MK ru ru_RU; do
161
echo "$l.iso-8859-5 ISO-8859-5"
162
echo "$l.koi8-r KOI8-R"
163
echo "$l.cp-866 CP866"
164
echo "$l.cp-1251 CP1251"
165
echo "$l.utf-8 UTF-8"
167
for l in ar ar_SA; do
169
echo "$l.iso-8859-6 ISO-8859-6"
170
echo "$l.cp-864 CP864"
171
#echo "$l.cp-868 CP868" # not a commonly used encoding
172
echo "$l.cp-1256 CP1256"
173
echo "$l.utf-8 UTF-8"
175
for l in el el_GR gr gr_GR; do
177
echo "$l.iso-8859-7 ISO-8859-7"
178
echo "$l.cp-869 CP869"
179
echo "$l.cp-1253 CP1253"
180
echo "$l.cp-1253@euro CP1253"
181
echo "$l.utf-8 UTF-8"
182
echo "$l.utf-8@euro UTF-8"
184
for l in he he_IL iw iw_IL; do
186
echo "$l.iso-8859-8 ISO-8859-8"
187
echo "$l.cp-862 CP862"
188
echo "$l.cp-1255 CP1255"
189
echo "$l.utf-8 UTF-8"
191
for l in tr tr_TR; do
193
echo "$l.iso-8859-9 ISO-8859-9"
194
echo "$l.cp-857 CP857"
195
echo "$l.cp-1254 CP1254"
196
echo "$l.utf-8 UTF-8"
198
for l in lt lt_LT lv lv_LV; do
199
#echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
200
echo "$l ISO-8859-13"
202
for l in ru_UA uk uk_UA; do
205
for l in zh zh_CN; do
206
#echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
209
for l in ja ja_JP ja_JP.EUC; do
212
for l in ko ko_KR; do
215
for l in th th_TH; do
218
for l in fa fa_IR; do
219
#echo "$l ISIRI-3342" # a broken encoding
220
echo "$l.utf-8 UTF-8"
224
# With glibc-2.1 or newer, we don't need any canonicalization,
225
# because glibc has iconv and both glibc and libiconv support all
226
# GNU canonical names directly. Therefore, the Makefile does not
227
# need to install the alias file at all.
228
# The following applies only to glibc-2.0.x and older libcs.
229
echo "ISO_646.IRV:1983 ASCII"
232
echo "ISO8859-1 ISO-8859-1"
233
echo "ISO8859-2 ISO-8859-2"
234
echo "ISO8859-5 ISO-8859-5"
235
echo "ISO8859-6 ISO-8859-6"
236
echo "ISO8859-7 ISO-8859-7"
237
echo "ISO8859-8 ISO-8859-8"
238
echo "ISO8859-9 ISO-8859-9"
239
echo "ISO8859-15 ISO-8859-15"
242
echo "IBM-921 ISO-8859-13"
246
echo "IBM-1046 CP1046"
247
echo "IBM-1124 CP1124"
248
echo "IBM-1129 CP1129"
249
echo "IBM-1252 CP1252"
250
echo "IBM-eucCN GB2312"
251
echo "IBM-eucJP EUC-JP"
252
echo "IBM-eucKR EUC-KR"
253
echo "IBM-eucTW EUC-TW"
256
echo "TIS-620 TIS-620"
260
echo "iso88591 ISO-8859-1"
261
echo "iso88592 ISO-8859-2"
262
echo "iso88595 ISO-8859-5"
263
echo "iso88596 ISO-8859-6"
264
echo "iso88597 ISO-8859-7"
265
echo "iso88598 ISO-8859-8"
266
echo "iso88599 ISO-8859-9"
267
echo "iso885915 ISO-8859-15"
268
echo "roman8 HP-ROMAN8"
269
echo "arabic8 HP-ARABIC8"
270
echo "greek8 HP-GREEK8"
271
echo "hebrew8 HP-HEBREW8"
272
echo "turkish8 HP-TURKISH8"
273
echo "kana8 HP-KANA8"
274
echo "tis620 TIS-620"
280
#echo "ccdc ?" # what is this?
281
echo "SJIS SHIFT_JIS"
285
echo "ISO8859-1 ISO-8859-1"
286
echo "ISO8859-2 ISO-8859-2"
287
echo "ISO8859-5 ISO-8859-5"
288
echo "ISO8859-7 ISO-8859-7"
289
echo "ISO8859-9 ISO-8859-9"
296
echo "ISO8859-1 ISO-8859-1"
297
echo "ISO8859-2 ISO-8859-2"
298
echo "ISO8859-4 ISO-8859-4"
299
echo "ISO8859-5 ISO-8859-5"
300
echo "ISO8859-7 ISO-8859-7"
301
echo "ISO8859-8 ISO-8859-8"
302
echo "ISO8859-9 ISO-8859-9"
303
echo "ISO8859-15 ISO-8859-15"
306
echo "dechanyu DEC-HANYU"
307
echo "dechanzi GB2312"
308
echo "deckanji DEC-KANJI"
309
echo "deckorean EUC-KR"
315
echo "sdeckanji EUC-JP"
316
echo "SJIS SHIFT_JIS"
317
echo "TACTIS TIS-620"
322
echo "ISO8859-1 ISO-8859-1"
323
echo "ISO8859-2 ISO-8859-2"
324
echo "ISO8859-3 ISO-8859-3"
325
echo "ISO8859-4 ISO-8859-4"
326
echo "ISO8859-5 ISO-8859-5"
327
echo "ISO8859-6 ISO-8859-6"
328
echo "ISO8859-7 ISO-8859-7"
329
echo "ISO8859-8 ISO-8859-8"
330
echo "ISO8859-9 ISO-8859-9"
331
echo "ISO8859-15 ISO-8859-15"
333
echo "ansi-1251 CP1251"
335
echo "Big5-HKSCS BIG5-HKSCS"
338
echo "GB18030 GB18030"
339
echo "cns11643 EUC-TW"
341
echo "ko_KR.johap92 JOHAB"
344
echo "TIS620.2533 TIS-620"
345
#echo "sun_eu_greek ?" # what is this?
349
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
350
# localcharset.c falls back to using the full locale name
351
# from the environment variables.
352
# Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
353
# reuse FreeBSD's locale data for OS/2.
355
echo "US-ASCII ASCII"
356
for l in la_LN lt_LN; do
357
echo "$l.ASCII ASCII"
359
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
360
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
361
lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
362
echo "$l.ISO_8859-1 ISO-8859-1"
363
echo "$l.DIS_8859-15 ISO-8859-15"
365
for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
366
echo "$l.ISO_8859-2 ISO-8859-2"
368
for l in la_LN lt_LT; do
369
echo "$l.ISO_8859-4 ISO-8859-4"
371
for l in ru_RU ru_SU; do
372
echo "$l.KOI8-R KOI8-R"
373
echo "$l.ISO_8859-5 ISO-8859-5"
374
echo "$l.CP866 CP866"
376
echo "uk_UA.KOI8-U KOI8-U"
377
echo "zh_TW.BIG5 BIG5"
378
echo "zh_TW.Big5 BIG5"
379
echo "zh_CN.EUC GB2312"
380
echo "ja_JP.EUC EUC-JP"
381
echo "ja_JP.SJIS SHIFT_JIS"
382
echo "ja_JP.Shift_JIS SHIFT_JIS"
383
echo "ko_KR.EUC EUC-KR"
387
echo "ISO8859-1 ISO-8859-1"
388
echo "ISO8859-2 ISO-8859-2"
389
echo "ISO8859-4 ISO-8859-4"
390
echo "ISO8859-5 ISO-8859-5"
391
echo "ISO8859-7 ISO-8859-7"
392
echo "ISO8859-13 ISO-8859-13"
393
echo "ISO8859-15 ISO-8859-15"
399
echo "SJIS SHIFT_JIS"
402
# Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
403
# localcharset.c falls back to using the full locale name
404
# from the environment variables.
406
for l in en_AU en_CA en_GB en_US la_LN; do
407
echo "$l.US-ASCII ASCII"
409
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
410
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
411
nl_NL no_NO pt_PT sv_SE; do
413
echo "$l.ISO8859-1 ISO-8859-1"
414
echo "$l.ISO8859-15 ISO-8859-15"
417
echo "$l.ISO8859-1 ISO-8859-1"
418
echo "$l.ISO8859-15 ISO-8859-15"
420
for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
421
echo "$l.ISO8859-2 ISO-8859-2"
423
for l in la_LN lt_LT; do
424
echo "$l.ISO8859-4 ISO-8859-4"
427
echo "$l.KOI8-R KOI8-R"
428
echo "$l.ISO8859-5 ISO-8859-5"
429
echo "$l.CP866 CP866"
432
echo "$l.CP1251 CP1251"
434
echo "uk_UA.KOI8-U KOI8-U"
435
echo "zh_TW.BIG5 BIG5"
436
echo "zh_TW.Big5 BIG5"
437
echo "zh_CN.EUC GB2312"
438
echo "ja_JP.EUC EUC-JP"
439
echo "ja_JP.SJIS SHIFT_JIS"
440
echo "ko_KR.EUC EUC-KR"
443
# Darwin 7.5 has nl_langinfo(CODESET), but it is useless:
444
# - It returns the empty string when LANG is set to a locale of the
445
# form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
447
# - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
448
# the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
449
# - The documentation says:
450
# "... all code that calls BSD system routines should ensure
451
# that the const *char parameters of these routines are in UTF-8
452
# encoding. All BSD system functions expect their string
453
# parameters to be in UTF-8 encoding and nothing else."
455
# "An additional caveat is that string parameters for files,
456
# paths, and other file-system entities must be in canonical
457
# UTF-8. In a canonical UTF-8 Unicode string, all decomposable
458
# characters are decomposed ..."
459
# but this is not true: You can pass non-decomposed UTF-8 strings
460
# to file system functions, and it is the OS which will convert
461
# them to decomposed UTF-8 before accessing the file system.
462
# - The Apple Terminal application displays UTF-8 by default.
463
# - However, other applications are free to use different encodings:
464
# - xterm uses ISO-8859-1 by default.
465
# - TextEdit uses MacRoman by default.
466
# We prefer UTF-8 over decomposed UTF-8-MAC because one should
467
# minimize the use of decomposed Unicode. Unfortunately, through the
468
# Darwin file system, decomposed UTF-8 strings are leaked into user
469
# space nevertheless.
473
# BeOS has a single locale, and it has UTF-8 encoding.
477
# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
478
# localcharset.c falls back to using the full locale name
479
# from the environment variables.
481
echo "# The encodings given here may not all be correct."
482
echo "# If you find that the encoding given for your language and"
483
echo "# country is not the one your DOS machine actually uses, just"
484
echo "# correct it in this file, and send a mail to"
485
echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
486
echo "# and Bruno Haible <bruno@clisp.org>."
489
# ISO-8859-1 languages
492
echo "da CP865" # not CP850 ??
493
echo "da_DK CP865" # not CP850 ??
499
echo "en_AU CP850" # not CP437 ??
504
echo "en_ZA CP850" # not CP437 ??
542
echo "id CP850" # not CP437 ??
543
echo "id_ID CP850" # not CP437 ??
544
echo "is CP861" # not CP850 ??
545
echo "is_IS CP861" # not CP850 ??
553
echo "nb CP865" # not CP850 ??
554
echo "nb_NO CP865" # not CP850 ??
558
echo "nn CP865" # not CP850 ??
559
echo "nn_NO CP865" # not CP850 ??
560
echo "no CP865" # not CP850 ??
561
echo "no_NO CP865" # not CP850 ??
567
# ISO-8859-2 languages
584
echo "sr CP852" # CP852 or CP866 or CP855 ??
585
echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
586
echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
587
# ISO-8859-3 languages
590
# ISO-8859-5 languages
593
echo "bg CP866" # not CP855 ??
594
echo "bg_BG CP866" # not CP855 ??
595
echo "mk CP866" # not CP855 ??
596
echo "mk_MK CP866" # not CP855 ??
601
# ISO-8859-6 languages
615
# ISO-8859-7 languages
618
# ISO-8859-8 languages
621
# ISO-8859-9 languages
629
echo "zh_TW CP950" # not CP938 ??
631
echo "kr CP949" # not CP934 ??
632
echo "kr_KR CP949" # not CP934 ??