2
# Output a system dependent table of character encoding aliases.
4
# Copyright (C) 2000-2004, 2006-2011 Free Software Foundation, Inc.
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)
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.
16
# You should have received a copy of the GNU General Public License along
17
# with this program; if not, write to the Free Software Foundation,
18
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
# The table consists of lines of the form
23
# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
24
# ALIAS is compared in a case sensitive way.
26
# CANONICAL is the GNU canonical name for this character encoding.
27
# It must be an encoding supported by libiconv. Support by GNU libc is
28
# also desirable. CANONICAL is case insensitive. Usually an upper case
29
# MIME charset name is preferred.
30
# The current list of GNU canonical charset names is as follows.
32
# name MIME? used by which systems
33
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin
34
# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
35
# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
36
# ISO-8859-3 Y glibc solaris cygwin
37
# ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin
38
# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
39
# ISO-8859-6 Y glibc aix hpux solaris cygwin
40
# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin
41
# ISO-8859-8 Y glibc aix hpux osf solaris cygwin
42
# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin cygwin
43
# ISO-8859-13 glibc netbsd openbsd darwin cygwin
44
# ISO-8859-14 glibc cygwin
45
# ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin
46
# KOI8-R Y glibc solaris freebsd netbsd openbsd darwin
47
# KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin
60
# CP866 freebsd netbsd openbsd darwin dos
64
# CP932 aix cygwin woe32 dos
66
# CP949 osf darwin woe32 dos
74
# CP1251 glibc solaris netbsd openbsd darwin cygwin 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 cygwin
84
# EUC-TW glibc aix hpux irix osf solaris netbsd
85
# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin
86
# BIG5-HKSCS glibc solaris darwin
87
# GBK glibc aix osf solaris darwin cygwin woe32 dos
88
# GB18030 glibc solaris netbsd darwin
89
# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
90
# JOHAB glibc solaris woe32
91
# TIS-620 glibc aix hpux osf solaris cygwin
94
# ARMSCII-8 glibc darwin
95
# GEORGIAN-PS glibc cygwin
105
# UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin
107
# Note: Names which are not marked as being a MIME name should not be used in
108
# Internet protocols for information interchange (mail, news, etc.).
110
# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
111
# must understand both names and treat them as equivalent.
113
# The first argument passed to this file is the canonical host specification,
114
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
116
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
119
os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
120
echo "# This file contains a table of character encoding aliases,"
121
echo "# suitable for operating system '${os}'."
122
echo "# It was automatically generated from config.charset."
123
# List of references, updated during installation:
124
echo "# Packages using this file: "
127
# Linux libc5 doesn't have nl_langinfo(CODESET); therefore
128
# localcharset.c falls back to using the full locale name
129
# from the environment variables.
132
for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
133
en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
134
en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
135
es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
136
et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
137
fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
138
it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
141
echo "$l.iso-8859-1 ISO-8859-1"
142
echo "$l.iso-8859-15 ISO-8859-15"
143
echo "$l.iso-8859-15@euro ISO-8859-15"
144
echo "$l@euro ISO-8859-15"
145
echo "$l.cp-437 CP437"
146
echo "$l.cp-850 CP850"
147
echo "$l.cp-1252 CP1252"
148
echo "$l.cp-1252@euro CP1252"
149
#echo "$l.atari-st ATARI-ST" # not a commonly used encoding
150
echo "$l.utf-8 UTF-8"
151
echo "$l.utf-8@euro UTF-8"
153
for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
154
sl_SI sr sr_CS sr_YU; do
156
echo "$l.iso-8859-2 ISO-8859-2"
157
echo "$l.cp-852 CP852"
158
echo "$l.cp-1250 CP1250"
159
echo "$l.utf-8 UTF-8"
161
for l in mk mk_MK ru ru_RU; do
163
echo "$l.iso-8859-5 ISO-8859-5"
164
echo "$l.koi8-r KOI8-R"
165
echo "$l.cp-866 CP866"
166
echo "$l.cp-1251 CP1251"
167
echo "$l.utf-8 UTF-8"
169
for l in ar ar_SA; do
171
echo "$l.iso-8859-6 ISO-8859-6"
172
echo "$l.cp-864 CP864"
173
#echo "$l.cp-868 CP868" # not a commonly used encoding
174
echo "$l.cp-1256 CP1256"
175
echo "$l.utf-8 UTF-8"
177
for l in el el_GR gr gr_GR; do
179
echo "$l.iso-8859-7 ISO-8859-7"
180
echo "$l.cp-869 CP869"
181
echo "$l.cp-1253 CP1253"
182
echo "$l.cp-1253@euro CP1253"
183
echo "$l.utf-8 UTF-8"
184
echo "$l.utf-8@euro UTF-8"
186
for l in he he_IL iw iw_IL; do
188
echo "$l.iso-8859-8 ISO-8859-8"
189
echo "$l.cp-862 CP862"
190
echo "$l.cp-1255 CP1255"
191
echo "$l.utf-8 UTF-8"
193
for l in tr tr_TR; do
195
echo "$l.iso-8859-9 ISO-8859-9"
196
echo "$l.cp-857 CP857"
197
echo "$l.cp-1254 CP1254"
198
echo "$l.utf-8 UTF-8"
200
for l in lt lt_LT lv lv_LV; do
201
#echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
202
echo "$l ISO-8859-13"
204
for l in ru_UA uk uk_UA; do
207
for l in zh zh_CN; do
208
#echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
211
for l in ja ja_JP ja_JP.EUC; do
214
for l in ko ko_KR; do
217
for l in th th_TH; do
220
for l in fa fa_IR; do
221
#echo "$l ISIRI-3342" # a broken encoding
222
echo "$l.utf-8 UTF-8"
226
# With glibc-2.1 or newer, we don't need any canonicalization,
227
# because glibc has iconv and both glibc and libiconv support all
228
# GNU canonical names directly. Therefore, the Makefile does not
229
# need to install the alias file at all.
230
# The following applies only to glibc-2.0.x and older libcs.
231
echo "ISO_646.IRV:1983 ASCII"
234
echo "ISO8859-1 ISO-8859-1"
235
echo "ISO8859-2 ISO-8859-2"
236
echo "ISO8859-5 ISO-8859-5"
237
echo "ISO8859-6 ISO-8859-6"
238
echo "ISO8859-7 ISO-8859-7"
239
echo "ISO8859-8 ISO-8859-8"
240
echo "ISO8859-9 ISO-8859-9"
241
echo "ISO8859-15 ISO-8859-15"
244
echo "IBM-921 ISO-8859-13"
248
echo "IBM-1046 CP1046"
249
echo "IBM-1124 CP1124"
250
echo "IBM-1129 CP1129"
251
echo "IBM-1252 CP1252"
252
echo "IBM-eucCN GB2312"
253
echo "IBM-eucJP EUC-JP"
254
echo "IBM-eucKR EUC-KR"
255
echo "IBM-eucTW EUC-TW"
258
echo "TIS-620 TIS-620"
262
echo "iso88591 ISO-8859-1"
263
echo "iso88592 ISO-8859-2"
264
echo "iso88595 ISO-8859-5"
265
echo "iso88596 ISO-8859-6"
266
echo "iso88597 ISO-8859-7"
267
echo "iso88598 ISO-8859-8"
268
echo "iso88599 ISO-8859-9"
269
echo "iso885915 ISO-8859-15"
270
echo "roman8 HP-ROMAN8"
271
echo "arabic8 HP-ARABIC8"
272
echo "greek8 HP-GREEK8"
273
echo "hebrew8 HP-HEBREW8"
274
echo "turkish8 HP-TURKISH8"
275
echo "kana8 HP-KANA8"
276
echo "tis620 TIS-620"
282
#echo "ccdc ?" # what is this?
283
echo "SJIS SHIFT_JIS"
287
echo "ISO8859-1 ISO-8859-1"
288
echo "ISO8859-2 ISO-8859-2"
289
echo "ISO8859-5 ISO-8859-5"
290
echo "ISO8859-7 ISO-8859-7"
291
echo "ISO8859-9 ISO-8859-9"
298
echo "ISO8859-1 ISO-8859-1"
299
echo "ISO8859-2 ISO-8859-2"
300
echo "ISO8859-4 ISO-8859-4"
301
echo "ISO8859-5 ISO-8859-5"
302
echo "ISO8859-7 ISO-8859-7"
303
echo "ISO8859-8 ISO-8859-8"
304
echo "ISO8859-9 ISO-8859-9"
305
echo "ISO8859-15 ISO-8859-15"
308
echo "dechanyu DEC-HANYU"
309
echo "dechanzi GB2312"
310
echo "deckanji DEC-KANJI"
311
echo "deckorean EUC-KR"
317
echo "sdeckanji EUC-JP"
318
echo "SJIS SHIFT_JIS"
319
echo "TACTIS TIS-620"
324
echo "ISO8859-1 ISO-8859-1"
325
echo "ISO8859-2 ISO-8859-2"
326
echo "ISO8859-3 ISO-8859-3"
327
echo "ISO8859-4 ISO-8859-4"
328
echo "ISO8859-5 ISO-8859-5"
329
echo "ISO8859-6 ISO-8859-6"
330
echo "ISO8859-7 ISO-8859-7"
331
echo "ISO8859-8 ISO-8859-8"
332
echo "ISO8859-9 ISO-8859-9"
333
echo "ISO8859-15 ISO-8859-15"
335
echo "ansi-1251 CP1251"
337
echo "Big5-HKSCS BIG5-HKSCS"
340
echo "GB18030 GB18030"
341
echo "cns11643 EUC-TW"
343
echo "ko_KR.johap92 JOHAB"
346
echo "TIS620.2533 TIS-620"
347
#echo "sun_eu_greek ?" # what is this?
351
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
352
# localcharset.c falls back to using the full locale name
353
# from the environment variables.
354
# Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
355
# reuse FreeBSD's locale data for OS/2.
357
echo "US-ASCII ASCII"
358
for l in la_LN lt_LN; do
359
echo "$l.ASCII ASCII"
361
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
362
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
363
lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
364
echo "$l.ISO_8859-1 ISO-8859-1"
365
echo "$l.DIS_8859-15 ISO-8859-15"
367
for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
368
echo "$l.ISO_8859-2 ISO-8859-2"
370
for l in la_LN lt_LT; do
371
echo "$l.ISO_8859-4 ISO-8859-4"
373
for l in ru_RU ru_SU; do
374
echo "$l.KOI8-R KOI8-R"
375
echo "$l.ISO_8859-5 ISO-8859-5"
376
echo "$l.CP866 CP866"
378
echo "uk_UA.KOI8-U KOI8-U"
379
echo "zh_TW.BIG5 BIG5"
380
echo "zh_TW.Big5 BIG5"
381
echo "zh_CN.EUC GB2312"
382
echo "ja_JP.EUC EUC-JP"
383
echo "ja_JP.SJIS SHIFT_JIS"
384
echo "ja_JP.Shift_JIS SHIFT_JIS"
385
echo "ko_KR.EUC EUC-KR"
389
echo "ISO8859-1 ISO-8859-1"
390
echo "ISO8859-2 ISO-8859-2"
391
echo "ISO8859-4 ISO-8859-4"
392
echo "ISO8859-5 ISO-8859-5"
393
echo "ISO8859-7 ISO-8859-7"
394
echo "ISO8859-13 ISO-8859-13"
395
echo "ISO8859-15 ISO-8859-15"
401
echo "SJIS SHIFT_JIS"
405
echo "ISO8859-1 ISO-8859-1"
406
echo "ISO8859-2 ISO-8859-2"
407
echo "ISO8859-4 ISO-8859-4"
408
echo "ISO8859-5 ISO-8859-5"
409
echo "ISO8859-7 ISO-8859-7"
410
echo "ISO8859-13 ISO-8859-13"
411
echo "ISO8859-15 ISO-8859-15"
414
# Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
415
# localcharset.c falls back to using the full locale name
416
# from the environment variables.
418
for l in en_AU en_CA en_GB en_US la_LN; do
419
echo "$l.US-ASCII ASCII"
421
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
422
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
423
nl_NL no_NO pt_PT sv_SE; do
425
echo "$l.ISO8859-1 ISO-8859-1"
426
echo "$l.ISO8859-15 ISO-8859-15"
429
echo "$l.ISO8859-1 ISO-8859-1"
430
echo "$l.ISO8859-15 ISO-8859-15"
432
for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
433
echo "$l.ISO8859-2 ISO-8859-2"
435
for l in la_LN lt_LT; do
436
echo "$l.ISO8859-4 ISO-8859-4"
439
echo "$l.KOI8-R KOI8-R"
440
echo "$l.ISO8859-5 ISO-8859-5"
441
echo "$l.CP866 CP866"
444
echo "$l.CP1251 CP1251"
446
echo "uk_UA.KOI8-U KOI8-U"
447
echo "zh_TW.BIG5 BIG5"
448
echo "zh_TW.Big5 BIG5"
449
echo "zh_CN.EUC GB2312"
450
echo "ja_JP.EUC EUC-JP"
451
echo "ja_JP.SJIS SHIFT_JIS"
452
echo "ko_KR.EUC EUC-KR"
455
# Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is
457
# - It returns the empty string when LANG is set to a locale of the
458
# form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
460
# - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
461
# the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
462
# - The documentation says:
463
# "... all code that calls BSD system routines should ensure
464
# that the const *char parameters of these routines are in UTF-8
465
# encoding. All BSD system functions expect their string
466
# parameters to be in UTF-8 encoding and nothing else."
468
# "An additional caveat is that string parameters for files,
469
# paths, and other file-system entities must be in canonical
470
# UTF-8. In a canonical UTF-8 Unicode string, all decomposable
471
# characters are decomposed ..."
472
# but this is not true: You can pass non-decomposed UTF-8 strings
473
# to file system functions, and it is the OS which will convert
474
# them to decomposed UTF-8 before accessing the file system.
475
# - The Apple Terminal application displays UTF-8 by default.
476
# - However, other applications are free to use different encodings:
477
# - xterm uses ISO-8859-1 by default.
478
# - TextEdit uses MacRoman by default.
479
# We prefer UTF-8 over decomposed UTF-8-MAC because one should
480
# minimize the use of decomposed Unicode. Unfortunately, through the
481
# Darwin file system, decomposed UTF-8 strings are leaked into user
482
# space nevertheless.
483
# Then there are also the locales with encodings other than US-ASCII
484
# and UTF-8. These locales can be occasionally useful to users (e.g.
485
# when grepping through ISO-8859-1 encoded text files), when all their
486
# file names are in US-ASCII.
487
echo "ISO8859-1 ISO-8859-1"
488
echo "ISO8859-2 ISO-8859-2"
489
echo "ISO8859-4 ISO-8859-4"
490
echo "ISO8859-5 ISO-8859-5"
491
echo "ISO8859-7 ISO-8859-7"
492
echo "ISO8859-9 ISO-8859-9"
493
echo "ISO8859-13 ISO-8859-13"
494
echo "ISO8859-15 ISO-8859-15"
506
echo "Big5HKSCS BIG5-HKSCS"
508
echo "GB18030 GB18030"
509
echo "SJIS SHIFT_JIS"
510
echo "ARMSCII-8 ARMSCII-8"
516
# BeOS and Haiku have a single locale, and it has UTF-8 encoding.
520
# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
521
# localcharset.c falls back to using the full locale name
522
# from the environment variables.
524
echo "# The encodings given here may not all be correct."
525
echo "# If you find that the encoding given for your language and"
526
echo "# country is not the one your DOS machine actually uses, just"
527
echo "# correct it in this file, and send a mail to"
528
echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
529
echo "# and Bruno Haible <bruno@clisp.org>."
532
# ISO-8859-1 languages
535
echo "da CP865" # not CP850 ??
536
echo "da_DK CP865" # not CP850 ??
542
echo "en_AU CP850" # not CP437 ??
547
echo "en_ZA CP850" # not CP437 ??
585
echo "id CP850" # not CP437 ??
586
echo "id_ID CP850" # not CP437 ??
587
echo "is CP861" # not CP850 ??
588
echo "is_IS CP861" # not CP850 ??
596
echo "nb CP865" # not CP850 ??
597
echo "nb_NO CP865" # not CP850 ??
601
echo "nn CP865" # not CP850 ??
602
echo "nn_NO CP865" # not CP850 ??
603
echo "no CP865" # not CP850 ??
604
echo "no_NO CP865" # not CP850 ??
610
# ISO-8859-2 languages
627
echo "sr CP852" # CP852 or CP866 or CP855 ??
628
echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
629
echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
630
# ISO-8859-3 languages
633
# ISO-8859-5 languages
636
echo "bg CP866" # not CP855 ??
637
echo "bg_BG CP866" # not CP855 ??
638
echo "mk CP866" # not CP855 ??
639
echo "mk_MK CP866" # not CP855 ??
644
# ISO-8859-6 languages
658
# ISO-8859-7 languages
661
# ISO-8859-8 languages
664
# ISO-8859-9 languages
672
echo "zh_TW CP950" # not CP938 ??
674
echo "kr CP949" # not CP934 ??
675
echo "kr_KR CP949" # not CP934 ??